Section 1
//SoundEffect (General.SoundEffect)
package General {
import flash.events.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
public class SoundEffect extends EventDispatcher {
public var lastTime:int;
public var channels:Array;
public var fx:Boolean;// = true
public var loop:Boolean;
public var retrigger:int;
public var handle:String;
public var cl:Class;
public var pausedVolume:Number;// = 1
public var limit:int;
public var pausePos:uint;// = 0
public function SoundEffect(_arg1:String, _arg2:ApplicationDomain, _arg3:int, _arg4:int, _arg5:Boolean=false){
handle = _arg1;
if (_arg2 != null){
cl = Class(_arg2.getDefinition(handle));
};
retrigger = _arg3;
limit = _arg4;
loop = _arg5;
channels = new Array();
lastTime = -1000;
}
public function stop():void{
var _local1:SoundChannel;
for each (_local1 in channels) {
_local1.stop();
};
channels = new Array();
}
public function pause():void{
if (channels.length <= 0){
return;
};
pausedVolume = volume;
while (channels.length > 0) {
pausePos = SoundChannel(channels[0]).position;
SoundChannel(channels[0]).stop();
channels.shift();
};
}
public function play(_arg1:Boolean=false, _arg2:Number=1):void{
var _local3:Sound;
var _local4:SoundChannel;
if (((((getTimer() - lastTime) > retrigger)) && ((channels.length < limit)))){
lastTime = getTimer();
_local3 = new cl();
if (((!(_arg1)) && (!(loop)))){
_local4 = _local3.play(0, 0, new SoundTransform(_arg2));
} else {
_local4 = _local3.play(0, 1000, new SoundTransform(_arg2));
};
if (_local4 == null){
return;
};
_local4.addEventListener(Event.SOUND_COMPLETE, instanceComplete);
channels.push(_local4);
};
}
public function setVol(_arg1:Number):void{
var _local2:SoundChannel;
for each (_local2 in channels) {
_local2.soundTransform = new SoundTransform(_arg1);
};
}
public function get volume():Number{
if (channels[0]){
return (channels[0].soundTransform.volume);
};
return (0);
}
public function get playing():Boolean{
if (channels.length > 0){
return (true);
};
return (false);
}
public function set volume(_arg1:Number):void{
var _local2:SoundChannel;
for each (_local2 in channels) {
_local2.soundTransform = new SoundTransform(_arg1);
};
}
public function instanceComplete(_arg1:Event):void{
var _local2:int;
while (_local2 < channels.length) {
if (channels[_local2] == _arg1.currentTarget){
dispatchEvent(new Event("instanceComplete"));
Util.ArrayRemoveItem(_arg1.currentTarget, channels);
return;
};
_local2++;
};
}
public function unpause():void{
var _local2:SoundChannel;
if (pausePos == 0){
return;
};
var _local1:Sound = new cl();
if (!loop){
_local2 = _local1.play(pausePos, 0, new SoundTransform(pausedVolume));
} else {
_local2 = _local1.play(pausePos, 1000, new SoundTransform(pausedVolume));
};
if (_local2 == null){
return;
};
_local2.addEventListener(Event.SOUND_COMPLETE, instanceComplete);
channels.push(_local2);
pausePos = 0;
pausedVolume = 1;
}
}
}//package General
Section 2
//SoundEffectEmbeded (General.SoundEffectEmbeded)
package General {
public class SoundEffectEmbeded extends SoundEffect {
public function SoundEffectEmbeded(_arg1:String, _arg2:Class, _arg3:int, _arg4:int, _arg5:Boolean=false){
super(_arg1, null, _arg3, _arg4, _arg5);
cl = _arg2;
}
}
}//package General
Section 3
//Util (General.Util)
package General {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
public class Util {
public static function PerpVec(_arg1:Point):Point{
var _local2:Point = new Point(-(_arg1.y), _arg1.x);
return (_local2);
}
public static function Rand(_arg1:Number):Number{
return ((Math.random() * _arg1));
}
public static function Dist(_arg1, _arg2):Number{
return (new Point((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)).length);
}
public static function formatTimeHMS(_arg1:uint):String{
var _local2:int = int((_arg1 / ((1000 * 60) * 60)));
_arg1 = (_arg1 - (((_local2 * 1000) * 60) * 60));
var _local3 = "00";
if ((((_local2 > 0)) && ((_local2 < 10)))){
_local3 = ("0" + _local2);
} else {
if (_local2 >= 10){
_local3 = _local2.toString();
};
};
var _local4:int = int((_arg1 / (1000 * 60)));
_arg1 = (_arg1 - ((_local4 * 1000) * 60));
var _local5 = "00";
if ((((_local4 > 0)) && ((_local4 < 10)))){
_local5 = ("0" + _local4);
} else {
if (_local4 >= 10){
_local5 = _local4.toString();
};
};
var _local6:int = int((_arg1 / 1000));
var _local7 = "00";
if ((((_local6 > 0)) && ((_local6 < 10)))){
_local7 = ("0" + _local6);
} else {
if (_local6 >= 10){
_local7 = _local6.toString();
};
};
var _local8:String = ((((_local3 + ":") + _local5) + ":") + _local7);
return (_local8);
}
public static function RayCircleIntersect(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Number):Boolean{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Point = new Point();
_local9.x = (_arg2.x - _arg1.x);
_local9.y = (_arg2.y - _arg1.y);
_local5 = ((_local9.x * _local9.x) + (_local9.y * _local9.y));
_local6 = (2 * ((_local9.x * (_arg1.x - _arg3.x)) + (_local9.y * (_arg1.y - _arg3.y))));
_local7 = ((_arg3.x * _arg3.x) + (_arg3.y * _arg3.y));
_local7 = (_local7 + ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y)));
_local7 = (_local7 - (2 * ((_arg3.x * _arg1.x) + (_arg3.y * _arg1.y))));
_local7 = (_local7 - (_arg4 * _arg4));
_local8 = ((_local6 * _local6) - ((4 * _local5) * _local7));
if (_local8 < 0){
return (false);
};
return (true);
}
public static function DotProduct(_arg1:Point, _arg2:Point):Number{
return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)));
}
public static function ArrayRemoveItem(_arg1, _arg2:Array):Array{
var _local3:int;
while (_local3 < _arg2.length) {
if (_arg2[_local3] == _arg1){
if (_local3 == (_arg2.length - 1)){
_arg2.pop();
} else {
_arg2[_local3] = _arg2.pop();
_local3--;
};
};
_local3++;
};
return (_arg2);
}
public static function DistP(_arg1, _arg2):Point{
return (new Point((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)));
}
public static function VectorProjection(_arg1:Point, _arg2:Point):Point{
var _local3:Number = ((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y));
var _local4:Point = new Point();
_local4.x = ((_local3 / ((_arg2.x * _arg2.x) + (_arg2.y * _arg2.y))) * _arg2.x);
_local4.y = ((_local3 / ((_arg2.x * _arg2.x) + (_arg2.y * _arg2.y))) * _arg2.y);
return (_local4);
}
public static function CommaFormat(_arg1:Number):String{
var _local2:String = _arg1.toString();
var _local3:int = _local2.indexOf(".");
if (_local3 == -1){
_local3 = _local2.length;
};
while ((_local3 = (_local3 - 3)) > 0) {
_local2 = ((_local2.substring(0, _local3) + ",") + _local2.substr(_local3));
};
return (_local2);
}
public static function duplicateDisplayObject(_arg1:DisplayObject, _arg2:Boolean=false):DisplayObject{
var _local5:Rectangle;
var _local3:Class = Object(_arg1).constructor;
var _local4:DisplayObject = new (_local3);
_local4.transform = _arg1.transform;
_local4.filters = _arg1.filters;
_local4.cacheAsBitmap = _arg1.cacheAsBitmap;
_local4.opaqueBackground = _arg1.opaqueBackground;
if (_arg1.scale9Grid){
_local5 = _arg1.scale9Grid;
_local4.scale9Grid = _local5;
};
if (((_arg2) && (_arg1.parent))){
_arg1.parent.addChild(_local4);
};
return (_local4);
}
public static function VectorSubtract(_arg1:Point, _arg2:Point):Point{
return (new Point((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)));
}
public static function formatTimeMS(_arg1:uint):String{
var _local2:int = int((_arg1 / (1000 * 60)));
_arg1 = (_arg1 - ((_local2 * 1000) * 60));
var _local3 = "00";
if ((((_local2 > 0)) && ((_local2 < 10)))){
_local3 = ("0" + _local2);
} else {
if (_local2 >= 10){
_local3 = _local2.toString();
};
};
var _local4:int = int((_arg1 / 1000));
var _local5 = "00";
if ((((_local4 > 0)) && ((_local4 < 10)))){
_local5 = ("0" + _local4);
} else {
if (_local4 >= 10){
_local5 = _local4.toString();
};
};
var _local6:String = ((_local3 + ":") + _local5);
return (_local6);
}
public static function ClosestXYObj(_arg1, _arg2:Array){
var _local4:*;
var _local5:*;
var _local3:int = int.MAX_VALUE;
for each (_local5 in _arg2) {
if (Dist(_arg1, _local5) < _local3){
_local3 = Dist(_arg1, _local5);
_local4 = _local5;
};
};
return (_local4);
}
public static function VectorRotate(_arg1:Point, _arg2:Number):Point{
var _local3:Matrix = new Matrix();
_local3.rotate((_arg2 * (Math.PI / 180)));
return (_local3.transformPoint(_arg1));
}
public static function RandAdj(_arg1:Number):Number{
return ((Rand(_arg1) - (_arg1 / 2)));
}
public static function ButtonReg(_arg1, _arg2:Function):void{
_arg1.useHandCursor = true;
_arg1.addEventListener(MouseEvent.CLICK, _arg2, false, 0, true);
}
public static function Normalize(_arg1:Point):Point{
var _local2:Point = new Point();
if (_arg1.length != 0){
_local2.x = (_arg1.x / _arg1.length);
_local2.y = (_arg1.y / _arg1.length);
};
return (_local2);
}
public static function formatTimeHMSms(_arg1:uint):String{
var _local2:int = int((_arg1 / ((1000 * 60) * 60)));
_arg1 = (_arg1 - (((_local2 * 1000) * 60) * 60));
var _local3 = "00";
if ((((_local2 > 0)) && ((_local2 < 10)))){
_local3 = ("0" + _local2);
} else {
if (_local2 >= 10){
_local3 = _local2.toString();
};
};
var _local4:int = int((_arg1 / (1000 * 60)));
_arg1 = (_arg1 - ((_local4 * 1000) * 60));
var _local5 = "00";
if ((((_local4 > 0)) && ((_local4 < 10)))){
_local5 = ("0" + _local4);
} else {
if (_local4 >= 10){
_local5 = _local4.toString();
};
};
var _local6:int = int((_arg1 / 1000));
_arg1 = (_arg1 - (_local6 * 1000));
var _local7 = "00";
if ((((_local6 > 0)) && ((_local6 < 10)))){
_local7 = ("0" + _local6);
} else {
if (_local6 >= 10){
_local7 = _local6.toString();
};
};
var _local8:int = int((_arg1 / 10));
var _local9 = "00";
if ((((_local8 > 0)) && ((_local8 < 10)))){
_local9 = ("0" + _local8);
} else {
if (_local8 >= 10){
_local9 = _local8.toString();
};
};
var _local10:String = ((((((_local3 + ":") + _local5) + ":") + _local7) + ":") + _local9);
return (_local10);
}
public static function VectorMult(_arg1:Point, _arg2:Number):Point{
_arg1.x = (_arg1.x * _arg2);
_arg1.y = (_arg1.y * _arg2);
return (_arg1);
}
public static function VectorToAngle(_arg1:Point):Number{
var _local2:Number = (Math.atan((_arg1.y / _arg1.x)) * (180 / Math.PI));
if (_arg1.x < 0){
_local2 = (_local2 + 180);
};
return (_local2);
}
public static function ArrayAddNoDup(_arg1, _arg2:Array):Array{
var _local3:*;
for each (_local3 in _arg2) {
if (_local3 == _arg1){
return (_arg2);
};
};
_arg2.push(_arg1);
return (_arg2);
}
public static function formatTimeMSms(_arg1:uint):String{
var _local2:int = int((_arg1 / (1000 * 60)));
_arg1 = (_arg1 - ((_local2 * 1000) * 60));
var _local3 = "00";
if ((((_local2 > 0)) && ((_local2 < 10)))){
_local3 = ("0" + _local2);
} else {
if (_local2 >= 10){
_local3 = _local2.toString();
};
};
var _local4:int = int((_arg1 / 1000));
_arg1 = (_arg1 - (_local4 * 1000));
var _local5 = "00";
if ((((_local4 > 0)) && ((_local4 < 10)))){
_local5 = ("0" + _local4);
} else {
if (_local4 >= 10){
_local5 = _local4.toString();
};
};
var _local6:int = int((_arg1 / 10));
var _local7 = "00";
if ((((_local6 > 0)) && ((_local6 < 10)))){
_local7 = ("0" + _local6);
} else {
if (_local6 >= 10){
_local7 = _local6.toString();
};
};
var _local8:String = ((((_local3 + ":") + _local5) + ":") + _local7);
return (_local8);
}
public static function getTimeMS_ms(_arg1:String):int{
var _local2:String = _arg1.split(":")[0];
var _local3:String = _arg1.split(":")[1];
var _local4:int = ((parseInt(_local2) * 60) * 1000);
var _local5:int = (parseInt(_local3) * 1000);
return ((_local4 + _local5));
}
public static function VectorAdd(_arg1:Point, _arg2:Point):Point{
return (new Point((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)));
}
}
}//package General
Section 4
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.4.1.10084";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 5
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.1.10084";
}
}//package mx.core
Section 6
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.4.1.10084";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.left = _arg1;
this.top = _arg2;
this.right = _arg3;
this.bottom = _arg4;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 7
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.4.1.10084";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 8
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "3.4.1.10084";
public function FlexMovieClip(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 9
//FlexSprite (mx.core.FlexSprite)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexSprite extends Sprite {
mx_internal static const VERSION:String = "3.4.1.10084";
public function FlexSprite(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 10
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.1.10084";
}
}//package mx.core
Section 11
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 12
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 13
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 14
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 15
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.4.1.10084";
public function MovieClipAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 16
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 17
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.4.1.10084";
}
}//package mx.core
Section 18
//SpriteAsset (mx.core.SpriteAsset)
package mx.core {
public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.4.1.10084";
public function SpriteAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 19
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.4.1.10084";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 20
//FlxAnim (org.flixel.data.FlxAnim)
package org.flixel.data {
public class FlxAnim {
public var delay:Number;
public var frames:Array;
public var looped:Boolean;
public var name:String;
public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){
name = _arg1;
delay = 0;
if (_arg3 > 0){
delay = (1 / _arg3);
};
frames = _arg2;
looped = _arg4;
}
}
}//package org.flixel.data
Section 21
//FlxConsole (org.flixel.data.FlxConsole)
package org.flixel.data {
import org.flixel.*;
import flash.display.*;
import flash.text.*;
public class FlxConsole extends Sprite {
protected const MAX_CONSOLE_LINES:uint = 0x0100;
protected var _lines:Array;
protected var _text:TextField;
public var mtrUpdate:FlxMonitor;
public var mtrTotal:FlxMonitor;
protected var _Y:Number;
protected var _console:Sprite;
public var mtrRender:FlxMonitor;
protected var _curFPS:uint;
protected var _extraDisplay:TextField;
protected var _bx:int;
protected var _by:int;
protected var _YT:Number;
protected var _byt:int;
protected var _fpsDisplay:TextField;
public function FlxConsole(_arg1:uint, _arg2:uint, _arg3:uint){
visible = false;
x = (_arg1 * _arg3);
_by = (_arg2 * _arg3);
_byt = (_by - (FlxG.height * _arg3));
_YT = (_Y = (y = _byt));
var _local4:Bitmap = new Bitmap(new BitmapData((FlxG.width * _arg3), (FlxG.height * _arg3), true, 2130706432));
addChild(_local4);
mtrUpdate = new FlxMonitor(8);
mtrRender = new FlxMonitor(8);
mtrTotal = new FlxMonitor(8);
_text = new TextField();
_text.width = _local4.width;
_text.height = _local4.height;
_text.multiline = true;
_text.wordWrap = true;
_text.embedFonts = true;
_text.selectable = false;
_text.antiAliasType = AntiAliasType.NORMAL;
_text.gridFitType = GridFitType.PIXEL;
_text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF);
addChild(_text);
_fpsDisplay = new TextField();
_fpsDisplay.width = 100;
_fpsDisplay.x = (_local4.width - 100);
_fpsDisplay.height = 20;
_fpsDisplay.multiline = true;
_fpsDisplay.wordWrap = true;
_fpsDisplay.embedFonts = true;
_fpsDisplay.selectable = false;
_fpsDisplay.antiAliasType = AntiAliasType.NORMAL;
_fpsDisplay.gridFitType = GridFitType.PIXEL;
_fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right");
addChild(_fpsDisplay);
_extraDisplay = new TextField();
_extraDisplay.width = 100;
_extraDisplay.x = (_local4.width - 100);
_extraDisplay.height = 64;
_extraDisplay.y = 20;
_extraDisplay.alpha = 0.5;
_extraDisplay.multiline = true;
_extraDisplay.wordWrap = true;
_extraDisplay.embedFonts = true;
_extraDisplay.selectable = false;
_extraDisplay.antiAliasType = AntiAliasType.NORMAL;
_extraDisplay.gridFitType = GridFitType.PIXEL;
_extraDisplay.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, true, null, null, null, null, "right");
addChild(_extraDisplay);
_lines = new Array();
}
public function log(_arg1:String):void{
var _local2:String;
var _local3:uint;
if (_arg1 == null){
_arg1 = "NULL";
};
trace(_arg1);
_lines.push(_arg1);
if (_lines.length > MAX_CONSOLE_LINES){
_lines.shift();
_local2 = "";
_local3 = 0;
while (_local3 < _lines.length) {
_local2 = (_local2 + (_lines[_local3] + "\n"));
_local3++;
};
_text.text = _local2;
} else {
_text.appendText((_arg1 + "\n"));
};
_text.scrollV = _text.height;
}
public function update():void{
var _local1:Number = mtrTotal.average();
_fpsDisplay.text = (uint((1000 / _local1)) + " fps");
var _local2:uint = mtrUpdate.average();
var _local3:uint = mtrRender.average();
var _local4:uint = (_local2 + _local3);
var _local5:uint = uint(_local1);
_extraDisplay.text = (((((((((_local2 + "ms update\n") + _local3) + "ms render\n") + _local4) + "ms flixel\n") + (_local5 - _local4)) + "ms flash\n") + _local5) + "ms total");
if (_Y < _YT){
_Y = (_Y + ((FlxG.height * 10) * FlxG.dt));
} else {
if (_Y > _YT){
_Y = (_Y - ((FlxG.height * 10) * FlxG.dt));
};
};
if (_Y > _by){
_Y = _by;
} else {
if (_Y < _byt){
_Y = _byt;
visible = false;
};
};
y = Math.floor(_Y);
}
public function toggle():void{
if (_YT == _by){
_YT = _byt;
} else {
_YT = _by;
visible = true;
};
}
}
}//package org.flixel.data
Section 22
//FlxFade (org.flixel.data.FlxFade)
package org.flixel.data {
import org.flixel.*;
public class FlxFade extends FlxSprite {
protected var _delay:Number;
protected var _complete:Function;
public function FlxFade(){
createGraphic(FlxG.width, FlxG.height, 0, true);
scrollFactor.x = 0;
scrollFactor.y = 0;
exists = false;
solid = false;
fixed = true;
}
override public function update():void{
alpha = (alpha + (FlxG.dt / _delay));
if (alpha >= 1){
alpha = 1;
if (_complete != null){
_complete();
};
};
}
public function start(_arg1:uint=4278190080, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (((!(_arg4)) && (exists))){
return;
};
fill(_arg1);
_delay = _arg2;
_complete = _arg3;
alpha = 0;
exists = true;
}
public function stop():void{
exists = false;
}
}
}//package org.flixel.data
Section 23
//FlxFlash (org.flixel.data.FlxFlash)
package org.flixel.data {
import org.flixel.*;
public class FlxFlash extends FlxSprite {
protected var _delay:Number;
protected var _complete:Function;
public function FlxFlash(){
createGraphic(FlxG.width, FlxG.height, 0, true);
scrollFactor.x = 0;
scrollFactor.y = 0;
exists = false;
solid = false;
fixed = true;
}
override public function update():void{
alpha = (alpha - (FlxG.dt / _delay));
if (alpha <= 0){
exists = false;
if (_complete != null){
_complete();
};
};
}
public function start(_arg1:uint=4294967295, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{
if (((!(_arg4)) && (exists))){
return;
};
fill(_arg1);
_delay = _arg2;
_complete = _arg3;
alpha = 1;
exists = true;
}
public function stop():void{
exists = false;
}
}
}//package org.flixel.data
Section 24
//FlxKeyboard (org.flixel.data.FlxKeyboard)
package org.flixel.data {
import flash.events.*;
public class FlxKeyboard {
protected const _t:uint = 0x0100;
public var RIGHT:Boolean;
public var LEFT:Boolean;
public var FOUR:Boolean;
public var TWO:Boolean;
public var CONTROL:Boolean;
public var A:Boolean;
public var B:Boolean;
public var C:Boolean;
public var D:Boolean;
public var E:Boolean;
public var ONE:Boolean;
public var G:Boolean;
public var H:Boolean;
public var I:Boolean;
public var J:Boolean;
public var K:Boolean;
public var F:Boolean;
public var N:Boolean;
public var O:Boolean;
public var Q:Boolean;
public var R:Boolean;
public var S:Boolean;
public var T:Boolean;
public var U:Boolean;
public var MINUS:Boolean;
public var Y:Boolean;
public var L:Boolean;
public var Z:Boolean;
public var QUOTE:Boolean;
public var V:Boolean;
public var X:Boolean;
public var P:Boolean;
public var SHIFT:Boolean;
public var SLASH:Boolean;
public var BACKSPACE:Boolean;
public var EIGHT:Boolean;
public var W:Boolean;
public var M:Boolean;
public var THREE:Boolean;
public var ESCAPE:Boolean;
public var SEMICOLON:Boolean;
public var CAPSLOCK:Boolean;
protected var _lookup:Object;
public var PLUS:Boolean;
protected var _map:Array;
public var ZERO:Boolean;
public var DOWN:Boolean;
public var F1:Boolean;
public var F2:Boolean;
public var F3:Boolean;
public var F4:Boolean;
public var F5:Boolean;
public var F6:Boolean;
public var F7:Boolean;
public var NINE:Boolean;
public var F9:Boolean;
public var ALT:Boolean;
public var F8:Boolean;
public var DELETE:Boolean;
public var LBRACKET:Boolean;
public var UP:Boolean;
public var ENTER:Boolean;
public var FIVE:Boolean;
public var SIX:Boolean;
public var COMMA:Boolean;
public var PERIOD:Boolean;
public var BACKSLASH:Boolean;
public var F10:Boolean;
public var F11:Boolean;
public var F12:Boolean;
public var SEVEN:Boolean;
public var SPACE:Boolean;
public var RBRACKET:Boolean;
public function FlxKeyboard(){
var _local1:uint;
_lookup = new Object();
_map = new Array(_t);
_local1 = 65;
while (_local1 <= 90) {
addKey(String.fromCharCode(_local1), _local1);
_local1++;
};
_local1 = 48;
var _temp1 = _local1;
_local1 = (_local1 + 1);
addKey("ZERO", _temp1);
var _temp2 = _local1;
_local1 = (_local1 + 1);
addKey("ONE", _temp2);
var _temp3 = _local1;
_local1 = (_local1 + 1);
addKey("TWO", _temp3);
var _temp4 = _local1;
_local1 = (_local1 + 1);
addKey("THREE", _temp4);
var _temp5 = _local1;
_local1 = (_local1 + 1);
addKey("FOUR", _temp5);
var _temp6 = _local1;
_local1 = (_local1 + 1);
addKey("FIVE", _temp6);
var _temp7 = _local1;
_local1 = (_local1 + 1);
addKey("SIX", _temp7);
var _temp8 = _local1;
_local1 = (_local1 + 1);
addKey("SEVEN", _temp8);
var _temp9 = _local1;
_local1 = (_local1 + 1);
addKey("EIGHT", _temp9);
var _temp10 = _local1;
_local1 = (_local1 + 1);
addKey("NINE", _temp10);
_local1 = 1;
while (_local1 <= 12) {
addKey(("F" + _local1), (111 + _local1));
_local1++;
};
addKey("ESCAPE", 27);
addKey("MINUS", 189);
addKey("PLUS", 187);
addKey("DELETE", 46);
addKey("BACKSPACE", 8);
addKey("LBRACKET", 219);
addKey("RBRACKET", 221);
addKey("BACKSLASH", 220);
addKey("CAPSLOCK", 20);
addKey("SEMICOLON", 186);
addKey("QUOTE", 222);
addKey("ENTER", 13);
addKey("SHIFT", 16);
addKey("COMMA", 188);
addKey("PERIOD", 190);
addKey("SLASH", 191);
addKey("CONTROL", 17);
addKey("ALT", 18);
addKey("SPACE", 32);
addKey("UP", 38);
addKey("DOWN", 40);
addKey("LEFT", 37);
addKey("RIGHT", 39);
}
public function handleKeyUp(_arg1:KeyboardEvent):void{
var _local2:Object = _map[_arg1.keyCode];
if (_local2 == null){
return;
};
if (_local2.current > 0){
_local2.current = -1;
} else {
_local2.current = 0;
};
this[_local2.name] = false;
}
public function pressed(_arg1:String):Boolean{
return (this[_arg1]);
}
public function justReleased(_arg1:String):Boolean{
return ((_map[_lookup[_arg1]].current == -1));
}
public function handleKeyDown(_arg1:KeyboardEvent):void{
var _local2:Object = _map[_arg1.keyCode];
if (_local2 == null){
return;
};
if (_local2.current > 0){
_local2.current = 1;
} else {
_local2.current = 2;
};
this[_local2.name] = true;
}
public function reset():void{
var _local2:Object;
var _local1:uint;
while (_local1 < _t) {
if (_map[_local1] == null){
} else {
_local2 = _map[_local1];
this[_local2.name] = false;
_local2.current = 0;
_local2.last = 0;
};
_local1++;
};
}
public function groupJustPressed(_arg1:Array):Boolean{
var _local2:String;
for each (_local2 in _arg1) {
if (justPressed(_local2)){
return (true);
};
};
return (false);
}
public function groupPressed(_arg1:Array):Boolean{
var _local2:String;
for each (_local2 in _arg1) {
if (pressed(_local2)){
return (true);
};
};
return (false);
}
public function justPressed(_arg1:String):Boolean{
return ((_map[_lookup[_arg1]].current == 2));
}
public function update():void{
var _local2:Object;
var _local1:uint;
while (_local1 < _t) {
if (_map[_local1] == null){
} else {
_local2 = _map[_local1];
if ((((_local2.last == -1)) && ((_local2.current == -1)))){
_local2.current = 0;
} else {
if ((((_local2.last == 2)) && ((_local2.current == 2)))){
_local2.current = 1;
};
};
_local2.last = _local2.current;
};
_local1++;
};
}
protected function addKey(_arg1:String, _arg2:uint):void{
_lookup[_arg1] = _arg2;
_map[_arg2] = {name:_arg1, current:0, last:0};
}
}
}//package org.flixel.data
Section 25
//FlxKong (org.flixel.data.FlxKong)
package org.flixel.data {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class FlxKong extends Sprite {
public var API;
public function FlxKong(){
API = null;
}
public function init():void{
var _local1:Object = LoaderInfo(root.loaderInfo).parameters;
var _local2:String = ((_local1.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf"));
var _local3:URLRequest = new URLRequest(_local2);
var _local4:Loader = new Loader();
_local4.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded);
_local4.load(_local3);
this.addChild(_local4);
}
protected function APILoaded(_arg1:Event):void{
API = _arg1.target.content;
API.services.connect();
}
}
}//package org.flixel.data
Section 26
//FlxList (org.flixel.data.FlxList)
package org.flixel.data {
import org.flixel.*;
public class FlxList {
public var next:FlxList;
public var object:FlxObject;
public function FlxList(){
object = null;
next = null;
}
}
}//package org.flixel.data
Section 27
//FlxMouse (org.flixel.data.FlxMouse)
package org.flixel.data {
import flash.events.*;
import org.flixel.*;
public class FlxMouse {
protected var ImgDefaultCursor:Class;
protected var _out:Boolean;
public var cursor:FlxSprite;
public var screenY:int;
protected var _last:int;
public var x:int;
public var y:int;
protected var _current:int;
public var screenX:int;
public function FlxMouse(){
ImgDefaultCursor = FlxMouse_ImgDefaultCursor;
super();
x = 0;
y = 0;
screenX = 0;
screenY = 0;
_current = 0;
_last = 0;
cursor = null;
_out = false;
}
public function hide():void{
if (cursor != null){
cursor.visible = false;
_out = false;
};
}
public function update(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number):void{
screenX = _arg1;
screenY = _arg2;
x = (screenX - FlxU.floor(_arg3));
y = (screenY - FlxU.floor(_arg4));
if (cursor != null){
cursor.x = x;
cursor.y = y;
};
if ((((_last == -1)) && ((_current == -1)))){
_current = 0;
} else {
if ((((_last == 2)) && ((_current == 2)))){
_current = 1;
};
};
_last = _current;
}
public function reset():void{
_current = 0;
_last = 0;
}
public function justReleased():Boolean{
return ((_current == -1));
}
public function handleMouseOver(_arg1:MouseEvent):void{
if (cursor != null){
cursor.visible = _out;
};
}
public function handleMouseDown(_arg1:MouseEvent):void{
if (_current > 0){
_current = 1;
} else {
_current = 2;
};
}
public function pressed():Boolean{
return ((_current > 0));
}
public function justPressed():Boolean{
return ((_current == 2));
}
public function load(_arg1:Class, _arg2:int=0, _arg3:int=0):void{
if (_arg1 == null){
_arg1 = ImgDefaultCursor;
};
cursor = new FlxSprite(screenX, screenY, _arg1);
cursor.offset.x = _arg2;
cursor.offset.y = _arg3;
}
public function handleMouseUp(_arg1:MouseEvent):void{
if (_current > 0){
_current = -1;
} else {
_current = 0;
};
}
public function handleMouseOut(_arg1:MouseEvent):void{
if (cursor != null){
_out = cursor.visible;
cursor.visible = false;
};
}
public function show(_arg1:Class=null, _arg2:int=0, _arg3:int=0):void{
_out = true;
if (_arg1 != null){
load(_arg1, _arg2, _arg3);
} else {
if (cursor != null){
cursor.visible = true;
} else {
load(null);
};
};
}
public function unload():void{
if (cursor != null){
if (cursor.visible){
load(null);
} else {
cursor = null;
};
};
}
}
}//package org.flixel.data
Section 28
//FlxMouse_ImgDefaultCursor (org.flixel.data.FlxMouse_ImgDefaultCursor)
package org.flixel.data {
import mx.core.*;
public class FlxMouse_ImgDefaultCursor extends BitmapAsset {
}
}//package org.flixel.data
Section 29
//FlxPanel (org.flixel.data.FlxPanel)
package org.flixel.data {
import org.flixel.*;
import flash.ui.*;
public class FlxPanel extends FlxObject {
protected var _close:FlxButton;
protected var _digg:FlxButton;
protected var _gameTitle:String;
protected var _closed:Boolean;
protected var _payPalID:String;
protected var _donate:FlxButton;
private var ImgClose:Class;
protected var _topBar:FlxSprite;
protected var _ty:Number;
protected var _caption:FlxText;
protected var _initialized:Boolean;
protected var _twitter:FlxButton;
protected var _delicious:FlxButton;
protected var _stumble:FlxButton;
private var ImgDelicious:Class;
private var ImgTwitter:Class;
protected var _mainBar:FlxSprite;
protected var _gameURL:String;
private var ImgStumble:Class;
private var ImgReddit:Class;
private var ImgDigg:Class;
protected var _bottomBar:FlxSprite;
protected var _payPalAmount:Number;
protected var _s:Number;
private var ImgDonate:Class;
protected var _reddit:FlxButton;
public function FlxPanel(){
ImgDonate = FlxPanel_ImgDonate;
ImgStumble = FlxPanel_ImgStumble;
ImgDigg = FlxPanel_ImgDigg;
ImgReddit = FlxPanel_ImgReddit;
ImgDelicious = FlxPanel_ImgDelicious;
ImgTwitter = FlxPanel_ImgTwitter;
ImgClose = FlxPanel_ImgClose;
super();
y = -21;
_ty = y;
_closed = false;
_initialized = false;
_topBar = new FlxSprite();
_topBar.createGraphic(FlxG.width, 1, 2147483647);
_topBar.scrollFactor.x = 0;
_topBar.scrollFactor.y = 0;
_mainBar = new FlxSprite();
_mainBar.createGraphic(FlxG.width, 19, 2130706432);
_mainBar.scrollFactor.x = 0;
_mainBar.scrollFactor.y = 0;
_bottomBar = new FlxSprite();
_bottomBar.createGraphic(FlxG.width, 1, 2147483647);
_bottomBar.scrollFactor.x = 0;
_bottomBar.scrollFactor.y = 0;
_donate = new FlxButton(3, 0, onDonate);
_donate.loadGraphic(new FlxSprite(0, 0, ImgDonate));
_donate.scrollFactor.x = 0;
_donate.scrollFactor.y = 0;
_stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, onStumble);
_stumble.loadGraphic(new FlxSprite(0, 0, ImgStumble));
_stumble.scrollFactor.x = 0;
_stumble.scrollFactor.y = 0;
_digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, onDigg);
_digg.loadGraphic(new FlxSprite(0, 0, ImgDigg));
_digg.scrollFactor.x = 0;
_digg.scrollFactor.y = 0;
_reddit = new FlxButton(((FlxG.width / 2) - 6), 0, onReddit);
_reddit.loadGraphic(new FlxSprite(0, 0, ImgReddit));
_reddit.scrollFactor.x = 0;
_reddit.scrollFactor.y = 0;
_delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, onDelicious);
_delicious.loadGraphic(new FlxSprite(0, 0, ImgDelicious));
_delicious.scrollFactor.x = 0;
_delicious.scrollFactor.y = 0;
_twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, onTwitter);
_twitter.loadGraphic(new FlxSprite(0, 0, ImgTwitter));
_twitter.scrollFactor.x = 0;
_twitter.scrollFactor.y = 0;
_caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), "");
_caption.alignment = "right";
_caption.scrollFactor.x = 0;
_caption.scrollFactor.y = 0;
_close = new FlxButton((FlxG.width - 16), 0, onClose);
_close.loadGraphic(new FlxSprite(0, 0, ImgClose));
_close.scrollFactor.x = 0;
_close.scrollFactor.y = 0;
hide();
visible = false;
_s = 50;
}
public function onDelicious():void{
FlxU.openURL(((("http://delicious.com/save?v=5&noui&jump=close&url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onTwitter():void{
FlxU.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL))));
}
public function setup(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{
_payPalID = _arg1;
if (_payPalID.length <= 0){
_donate.visible = false;
};
_payPalAmount = _arg2;
_gameTitle = _arg3;
_gameURL = _arg4;
_caption.text = _arg5;
_initialized = true;
}
public function onStumble():void{
FlxU.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL)));
}
override public function render():void{
if (!_initialized){
return;
};
if (_topBar.visible){
_topBar.render();
};
if (_mainBar.visible){
_mainBar.render();
};
if (_bottomBar.visible){
_bottomBar.render();
};
if (_donate.visible){
_donate.render();
};
if (_stumble.visible){
_stumble.render();
};
if (_digg.visible){
_digg.render();
};
if (_reddit.visible){
_reddit.render();
};
if (_delicious.visible){
_delicious.render();
};
if (_twitter.visible){
_twitter.render();
};
if (_caption.visible){
_caption.render();
};
if (_close.visible){
_close.render();
};
}
public function onDigg():void{
FlxU.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle)));
}
public function onReddit():void{
FlxU.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL)));
}
public function onDonate():void{
FlxU.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")¤cy_code=USD&amount=") + _payPalAmount));
}
override public function update():void{
if (!_initialized){
return;
};
if (_ty != y){
if (y < _ty){
y = (y + (FlxG.dt * _s));
if (y > _ty){
y = _ty;
};
} else {
y = (y - (FlxG.dt * _s));
if (y < _ty){
y = _ty;
};
};
_topBar.y = y;
_mainBar.y = (y + 1);
_bottomBar.y = (y + 20);
_donate.reset(_donate.x, (y + 4));
_stumble.reset(_stumble.x, (y + 4));
_digg.reset(_digg.x, (y + 4));
_reddit.reset(_reddit.x, (y + 4));
_delicious.reset(_delicious.x, (y + 5));
_twitter.reset(_twitter.x, (y + 4));
_caption.reset(_caption.x, (y + 4));
_close.reset(_close.x, (y + 4));
};
if ((((y <= -21)) || ((y >= FlxG.height)))){
visible = false;
} else {
visible = true;
};
if (visible){
if (_donate.active){
_donate.update();
};
if (_stumble.active){
_stumble.update();
};
if (_digg.active){
_digg.update();
};
if (_reddit.active){
_reddit.update();
};
if (_delicious.active){
_delicious.update();
};
if (_twitter.active){
_twitter.update();
};
if (_caption.active){
_caption.update();
};
if (_close.active){
_close.update();
};
};
}
public function show(_arg1:Boolean=true):void{
if (_closed){
return;
};
if (!_initialized){
FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor.");
return;
};
if (_arg1){
y = -21;
_ty = -1;
} else {
y = FlxG.height;
_ty = (FlxG.height - 20);
};
_donate.reset(_donate.x, (y + 4));
_stumble.reset(_stumble.x, (y + 4));
_digg.reset(_digg.x, (y + 4));
_reddit.reset(_reddit.x, (y + 4));
_delicious.reset(_delicious.x, (y + 5));
_twitter.reset(_twitter.x, (y + 4));
_caption.reset(_caption.x, (y + 4));
_close.reset(_close.x, (y + 4));
if (!FlxG.mouse.cursor.visible){
Mouse.show();
};
visible = true;
}
public function onClose():void{
_closed = true;
hide();
}
public function hide():void{
if (y < 0){
_ty = -21;
} else {
_ty = FlxG.height;
};
Mouse.hide();
}
}
}//package org.flixel.data
Section 30
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgClose extends BitmapAsset {
}
}//package org.flixel.data
Section 31
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDelicious extends BitmapAsset {
}
}//package org.flixel.data
Section 32
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDigg extends BitmapAsset {
}
}//package org.flixel.data
Section 33
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgDonate extends BitmapAsset {
}
}//package org.flixel.data
Section 34
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgReddit extends BitmapAsset {
}
}//package org.flixel.data
Section 35
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgStumble extends BitmapAsset {
}
}//package org.flixel.data
Section 36
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter)
package org.flixel.data {
import mx.core.*;
public class FlxPanel_ImgTwitter extends BitmapAsset {
}
}//package org.flixel.data
Section 37
//FlxPause (org.flixel.data.FlxPause)
package org.flixel.data {
import org.flixel.*;
public class FlxPause extends FlxGroup {
private var ImgKeyP:Class;
private var ImgKey0:Class;
private var ImgKeyPlus:Class;
private var ImgKeyMinus:Class;
public function FlxPause(){
var _local2:uint;
ImgKeyMinus = FlxPause_ImgKeyMinus;
ImgKeyPlus = FlxPause_ImgKeyPlus;
ImgKey0 = FlxPause_ImgKey0;
ImgKeyP = FlxPause_ImgKeyP;
super();
scrollFactor.x = 0;
scrollFactor.y = 0;
var _local1:uint = 80;
_local2 = 92;
x = ((FlxG.width - _local1) / 2);
y = ((FlxG.height - _local2) / 2);
add(new FlxSprite().createGraphic(_local1, _local2, 2852126720, true), true);
(add(new FlxText(0, 0, _local1, "this game is"), true) as FlxText).alignment = "center";
add(new FlxText(0, 10, _local1, "PAUSED").setFormat(null, 16, 0xFFFFFF, "center"), true);
add(new FlxSprite(4, 36, ImgKeyP), true);
add(new FlxText(16, 36, (_local1 - 16), "Pause Game"), true);
add(new FlxSprite(4, 50, ImgKey0), true);
add(new FlxText(16, 50, (_local1 - 16), "Mute Sound"), true);
add(new FlxSprite(4, 64, ImgKeyMinus), true);
add(new FlxText(16, 64, (_local1 - 16), "Sound Down"), true);
add(new FlxSprite(4, 78, ImgKeyPlus), true);
add(new FlxText(16, 78, (_local1 - 16), "Sound Up"), true);
}
}
}//package org.flixel.data
Section 38
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKey0 extends BitmapAsset {
}
}//package org.flixel.data
Section 39
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyMinus extends BitmapAsset {
}
}//package org.flixel.data
Section 40
//FlxPause_ImgKeyP (org.flixel.data.FlxPause_ImgKeyP)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyP extends BitmapAsset {
}
}//package org.flixel.data
Section 41
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus)
package org.flixel.data {
import mx.core.*;
public class FlxPause_ImgKeyPlus extends BitmapAsset {
}
}//package org.flixel.data
Section 42
//FlxQuake (org.flixel.data.FlxQuake)
package org.flixel.data {
import org.flixel.*;
public class FlxQuake {
public var y:int;
protected var _timer:Number;
protected var _intensity:Number;
public var x:int;
protected var _zoom:uint;
public function FlxQuake(_arg1:uint){
_zoom = _arg1;
start(0);
}
public function update():void{
if (_timer > 0){
_timer = (_timer - FlxG.dt);
if (_timer <= 0){
_timer = 0;
x = 0;
y = 0;
} else {
x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom);
y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom);
};
};
}
public function start(_arg1:Number=0.05, _arg2:Number=0.5):void{
stop();
_intensity = _arg1;
_timer = _arg2;
}
public function stop():void{
x = 0;
y = 0;
_intensity = 0;
_timer = 0;
}
}
}//package org.flixel.data
Section 43
//FlxButton (org.flixel.FlxButton)
package org.flixel {
import flash.events.*;
public class FlxButton extends FlxGroup {
protected var _offT:FlxText;
protected var _initialized:Boolean;
protected var _onT:FlxText;
public var callbackArg:String;
protected var _pressed:Boolean;
protected var _callback:Function;
protected var _off:FlxSprite;
protected var _onToggle:Boolean;
protected var _sf:FlxPoint;
protected var _on:FlxSprite;
public function FlxButton(_arg1:int, _arg2:int, _arg3:Function, _arg4:int=100, _arg5:int=20, _arg6:String=""){
callbackArg = _arg6;
x = _arg1;
y = _arg2;
width = _arg4;
height = _arg5;
_off = new FlxSprite().createGraphic(width, height, 4286545791);
_off.solid = false;
add(_off, true);
_on = new FlxSprite().createGraphic(width, height, 4294967295);
_on.solid = false;
add(_on, true);
_offT = null;
_onT = null;
_callback = _arg3;
_onToggle = false;
_pressed = false;
_initialized = false;
_sf = null;
}
override public function destroy():void{
if (FlxG.stage != null){
FlxG.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
};
}
public function set on(_arg1:Boolean):void{
_onToggle = _arg1;
}
override public function update():void{
if (!_initialized){
if (FlxG.stage != null){
FlxG.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
_initialized = true;
};
};
super.update();
visibility(false);
if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
if (!FlxG.mouse.pressed()){
_pressed = false;
} else {
if (!_pressed){
_pressed = true;
};
};
visibility(!(_pressed));
};
if (_onToggle){
visibility(_off.visible);
};
}
protected function onMouseUp(_arg1:MouseEvent):void{
if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){
return;
};
if (overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){
_callback(callbackArg);
};
}
protected function visibility(_arg1:Boolean):void{
if (_arg1){
_off.visible = false;
if (_offT != null){
_offT.visible = false;
};
_on.visible = true;
if (_onT != null){
_onT.visible = true;
};
} else {
_on.visible = false;
if (_onT != null){
_onT.visible = false;
};
_off.visible = true;
if (_offT != null){
_offT.visible = true;
};
};
}
public function get on():Boolean{
return (_onToggle);
}
public function loadGraphic(_arg1:FlxSprite, _arg2:FlxSprite=null):FlxButton{
_off = (replace(_off, _arg1) as FlxSprite);
if (_arg2 == null){
if (_on != _off){
remove(_on);
};
_on = _off;
} else {
_on = (replace(_on, _arg2) as FlxSprite);
};
_on.solid = (_off.solid = false);
_off.scrollFactor = scrollFactor;
_on.scrollFactor = scrollFactor;
width = _off.width;
height = _off.height;
refreshHulls();
return (this);
}
public function loadText(_arg1:FlxText, _arg2:FlxText=null):FlxButton{
if (_arg1 != null){
if (_offT == null){
_offT = _arg1;
add(_offT);
} else {
_offT = (replace(_offT, _arg1) as FlxText);
};
};
if (_arg2 == null){
_onT = _offT;
} else {
if (_onT == null){
_onT = _arg2;
add(_onT);
} else {
_onT = (replace(_onT, _arg2) as FlxText);
};
};
_offT.scrollFactor = scrollFactor;
_onT.scrollFactor = scrollFactor;
return (this);
}
}
}//package org.flixel
Section 44
//FlxEmitter (org.flixel.FlxEmitter)
package org.flixel {
public class FlxEmitter extends FlxGroup {
public var maxRotation:Number;
public var delay:Number;
public var quantity:uint;
protected var _timer:Number;
public var gravity:Number;
public var particleDrag:FlxPoint;
public var maxParticleSpeed:FlxPoint;
public var on:Boolean;
protected var _explode:Boolean;
protected var _particle:uint;
public var minParticleSpeed:FlxPoint;
public var minRotation:Number;
protected var _counter:uint;
public function FlxEmitter(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
width = 0;
height = 0;
minParticleSpeed = new FlxPoint(-100, -100);
maxParticleSpeed = new FlxPoint(100, 100);
minRotation = -360;
maxRotation = 360;
gravity = 400;
particleDrag = new FlxPoint();
delay = 0;
quantity = 0;
_counter = 0;
_explode = true;
exists = false;
on = false;
}
public function setRotation(_arg1:Number=0, _arg2:Number=0):void{
minRotation = _arg1;
maxRotation = _arg2;
}
override public function update():void{
super.update();
updateEmitter();
}
public function setYSpeed(_arg1:Number=0, _arg2:Number=0):void{
minParticleSpeed.y = _arg1;
maxParticleSpeed.y = _arg2;
}
public function stop(_arg1:Number=3):void{
_explode = true;
delay = _arg1;
if (delay < 0){
delay = -(_arg1);
};
on = false;
}
public function setSize(_arg1:uint, _arg2:uint):void{
width = _arg1;
height = _arg2;
}
public function at(_arg1:FlxObject):void{
x = (_arg1.x + _arg1.origin.x);
y = (_arg1.y + _arg1.origin.y);
}
override protected function updateMembers():void{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (((((!((_local1 == null))) && (_local1.exists))) && (_local1.active))){
_local1.update();
};
_local3++;
};
}
public function start(_arg1:Boolean=true, _arg2:Number=0, _arg3:uint=0):void{
if (members.length <= 0){
FlxG.log("WARNING: there are no sprites loaded in your emitter.\nAdd some to FlxEmitter.members or use FlxEmitter.createSprites().");
return;
};
_explode = _arg1;
if (!_explode){
_counter = 0;
};
if (!exists){
_particle = 0;
};
exists = true;
visible = true;
active = true;
dead = false;
on = true;
_timer = 0;
if (quantity == 0){
quantity = _arg3;
};
if (_arg2 != 0){
delay = _arg2;
};
if (delay < 0){
delay = -(delay);
};
if (delay == 0){
if (_arg1){
delay = 3;
} else {
delay = 0.1;
};
};
}
protected function updateEmitter():void{
var _local1:uint;
var _local2:uint;
if (_explode){
_timer = (_timer + FlxG.dt);
if ((((delay > 0)) && ((_timer > delay)))){
kill();
return;
};
if (on){
on = false;
_local2 = members.length;
if (quantity > 0){
_local2 = quantity;
};
_local2 = (_local2 + _particle);
_local1 = _particle;
while (_local1 < _local2) {
emitParticle();
_local1++;
};
};
return;
};
if (!on){
return;
};
_timer = (_timer + FlxG.dt);
while ((((_timer > delay)) && ((((quantity <= 0)) || ((_counter < quantity)))))) {
_timer = (_timer - delay);
emitParticle();
};
}
override public function kill():void{
super.kill();
on = false;
}
public function setXSpeed(_arg1:Number=0, _arg2:Number=0):void{
minParticleSpeed.x = _arg1;
maxParticleSpeed.x = _arg2;
}
public function createSprites(_arg1:Class, _arg2:uint=50, _arg3:uint=16, _arg4:Boolean=true, _arg5:Number=0):FlxEmitter{
var _local6:uint;
var _local7:FlxSprite;
var _local9:Number;
var _local10:Number;
members = new Array();
var _local8:uint = 1;
if (_arg4){
_local7 = new FlxSprite(0, 0, _arg1);
_local8 = (_local7.width / _local7.height);
};
var _local11:uint;
while (_local11 < _arg2) {
_local7 = new FlxSprite();
if (_arg4){
_local6 = (FlxU.random() * _local8);
if (_arg3 > 0){
_local7.loadRotatedGraphic(_arg1, _arg3, _local6);
} else {
_local7.loadGraphic(_arg1, true);
_local7.frame = _local6;
};
} else {
if (_arg3 > 0){
_local7.loadRotatedGraphic(_arg1, _arg3);
} else {
_local7.loadGraphic(_arg1);
};
};
if (_arg5 > 0){
_local9 = _local7.width;
_local10 = _local7.height;
_local7.width = (_local7.width * _arg5);
_local7.height = (_local7.height * _arg5);
_local7.offset.x = ((_local9 - _local7.width) / 2);
_local7.offset.y = ((_local10 - _local7.height) / 2);
_local7.solid = true;
} else {
_local7.solid = false;
};
_local7.exists = false;
_local7.scrollFactor = scrollFactor;
add(_local7);
_local11++;
};
return (this);
}
public function emitParticle():void{
var _local1:FlxSprite;
_counter++;
_local1 = (members[_particle] as FlxSprite);
_local1.visible = true;
_local1.exists = true;
_local1.active = true;
_local1.x = ((x - (_local1.width >> 1)) + (FlxU.random() * width));
_local1.y = ((y - (_local1.height >> 1)) + (FlxU.random() * height));
_local1.velocity.x = minParticleSpeed.x;
if (minParticleSpeed.x != maxParticleSpeed.x){
_local1.velocity.x = (_local1.velocity.x + (FlxU.random() * (maxParticleSpeed.x - minParticleSpeed.x)));
};
_local1.velocity.y = minParticleSpeed.y;
if (minParticleSpeed.y != maxParticleSpeed.y){
_local1.velocity.y = (_local1.velocity.y + (FlxU.random() * (maxParticleSpeed.y - minParticleSpeed.y)));
};
_local1.acceleration.y = gravity;
_local1.angularVelocity = minRotation;
if (minRotation != maxRotation){
_local1.angularVelocity = (_local1.angularVelocity + (FlxU.random() * (maxRotation - minRotation)));
};
if (_local1.angularVelocity != 0){
_local1.angle = ((FlxU.random() * 360) - 180);
};
_local1.drag.x = particleDrag.x;
_local1.drag.y = particleDrag.y;
_local1.visible = true;
_particle++;
if (_particle >= members.length){
_particle = 0;
};
_local1.onEmit();
}
}
}//package org.flixel
Section 45
//FlxG (org.flixel.FlxG)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxG {
public static var panel:FlxPanel;
protected static var _mute:Boolean;
public static var kong:FlxKong;
public static var scores:Array;
public static var music:FlxSound;
public static var height:uint;
protected static var _volume:Number;
public static var buffer:BitmapData;
public static var sounds:Array;
public static var debug:Boolean;
public static var LIBRARY_MINOR_VERSION:uint = 35;
public static var LIBRARY_MAJOR_VERSION:uint = 2;
public static var levels:Array;
public static var maxElapsed:Number;
public static var fade:FlxFade;
public static var timeScale:Number;
protected static var _cache:Object;
public static var level:int;
public static var elapsed:Number;
public static var dt:Number = 0.016;
public static var score:int;
public static var save:int;
public static var saves:Array;
protected static var _scrollTarget:Point;
public static var mouse:FlxMouse;
public static var followTarget:FlxObject;
public static var followLead:Point;
public static var LIBRARY_NAME:String = "flixel";
protected static var _showBounds:Boolean;
public static var width:uint;
public static var followLerp:Number;
protected static var _game:FlxGame;
public static var scroll:Point;
public static var quake:FlxQuake;
public static var followMin:Point;
public static var flash:FlxFlash;
public static var followMax:Point;
public static var keys:FlxKeyboard;
protected static var _pause:Boolean;
public static function get stage():Stage{
if (((!((_game._state == null))) && (!((_game._state.parent == null))))){
return (_game._state.parent.stage);
};
return (null);
}
public static function get showBounds():Boolean{
return (_showBounds);
}
protected static function changeSounds():void{
var _local1:FlxSound;
if (((!((music == null))) && (music.active))){
music.updateTransform();
};
var _local2:uint = sounds.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (sounds[_local3] as FlxSound);
if (((!((_local1 == null))) && (_local1.active))){
_local1.updateTransform();
};
_local3++;
};
}
public static function get mute():Boolean{
return (_mute);
}
public static function get volume():Number{
return (_volume);
}
static function doFollow():void{
if (followTarget != null){
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
if (((!((followLead == null))) && ((followTarget is FlxSprite)))){
_scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x));
_scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y));
};
scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.dt));
scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.dt));
if (followMin != null){
if (scroll.x > followMin.x){
scroll.x = followMin.x;
};
if (scroll.y > followMin.y){
scroll.y = followMin.y;
};
};
if (followMax != null){
if (scroll.x < followMax.x){
scroll.x = followMax.x;
};
if (scroll.y < followMax.y){
scroll.y = followMax.y;
};
};
};
}
public static function getMuteValue():uint{
if (_mute){
return (0);
};
return (1);
}
public static function set showBounds(_arg1:Boolean):void{
var _local2:Boolean = _showBounds;
_showBounds = _arg1;
if (_showBounds != _local2){
FlxObject._refreshBounds = true;
};
}
public static function addBitmap(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null):BitmapData{
var _local8:uint;
var _local9:String;
var _local10:BitmapData;
var _local11:Matrix;
var _local5:Boolean;
var _local6:String = _arg4;
if (_local6 == null){
_local6 = String(_arg1);
if (((((_arg3) && (!((_cache[_local6] == undefined))))) && (!((_cache[_local6] == null))))){
_local8 = 0;
do {
var _temp1 = _local8;
_local8 = (_local8 + 1);
_local9 = (_local6 + _temp1);
} while (((!((_cache[_local9] == undefined))) && (!((_cache[_local9] == null)))));
_local6 = _local9;
};
};
if (!checkBitmapCache(_local6)){
_cache[_local6] = new (_arg1).bitmapData;
if (_arg2){
_local5 = true;
};
};
var _local7:BitmapData = _cache[_local6];
if (((((!(_local5)) && (_arg2))) && ((_local7.width == new (_arg1).bitmapData.width)))){
_local5 = true;
};
if (_local5){
_local10 = new BitmapData((_local7.width << 1), _local7.height, true, 0);
_local10.draw(_local7);
_local11 = new Matrix();
_local11.scale(-1, 1);
_local11.translate(_local10.width, 0);
_local10.draw(_local7, _local11);
_local7 = _local10;
};
return (_local7);
}
public static function set state(_arg1:FlxState):void{
_game.switchState(_arg1);
}
public static function set mute(_arg1:Boolean):void{
_mute = _arg1;
changeSounds();
}
public static function play(_arg1:Class, _arg2:Number=1, _arg3:Boolean=false):FlxSound{
var _local4:uint = sounds.length;
var _local5:uint;
while (_local5 < _local4) {
if (!(sounds[_local5] as FlxSound).active){
break;
};
_local5++;
};
if (sounds[_local5] == null){
sounds[_local5] = new FlxSound();
};
var _local6:FlxSound = sounds[_local5];
_local6.loadEmbedded(_arg1, _arg3);
_local6.volume = _arg2;
_local6.play();
return (_local6);
}
public static function set volume(_arg1:Number):void{
_volume = _arg1;
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
changeSounds();
}
static function setGameData(_arg1:FlxGame, _arg2:uint, _arg3:uint, _arg4:uint):void{
_game = _arg1;
_cache = new Object();
width = _arg2;
height = _arg3;
_mute = false;
_volume = 0.5;
sounds = new Array();
mouse = new FlxMouse();
keys = new FlxKeyboard();
scroll = null;
_scrollTarget = null;
unfollow();
FlxG.levels = new Array();
FlxG.scores = new Array();
level = 0;
score = 0;
FlxU.seed = NaN;
kong = null;
pause = false;
timeScale = 1;
framerate = 60;
frameratePaused = 10;
maxElapsed = 0.0666666;
FlxG.elapsed = 0;
_showBounds = false;
FlxObject._refreshBounds = false;
panel = new FlxPanel();
quake = new FlxQuake(_arg4);
flash = new FlxFlash();
fade = new FlxFade();
FlxU.setWorldBounds(0, 0, FlxG.width, FlxG.height);
}
public static function playMusic(_arg1:Class, _arg2:Number=1):void{
if (music == null){
music = new FlxSound();
} else {
if (music.active){
music.stop();
};
};
music.loadEmbedded(_arg1, true);
music.volume = _arg2;
music.survive = true;
music.play();
}
public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean=false, _arg5:String=null):BitmapData{
var _local7:uint;
var _local8:String;
var _local6:String = _arg5;
if (_local6 == null){
_local6 = ((((_arg1 + "x") + _arg2) + ":") + _arg3);
if (((((_arg4) && (!((_cache[_local6] == undefined))))) && (!((_cache[_local6] == null))))){
_local7 = 0;
do {
var _temp1 = _local7;
_local7 = (_local7 + 1);
_local8 = (_local6 + _temp1);
} while (((!((_cache[_local8] == undefined))) && (!((_cache[_local8] == null)))));
_local6 = _local8;
};
};
if (!checkBitmapCache(_local6)){
_cache[_local6] = new BitmapData(_arg1, _arg2, true, _arg3);
};
return (_cache[_local6]);
}
public static function get frameratePaused():uint{
return (_game._frameratePaused);
}
public static function log(_arg1:Object):void{
if (((!((_game == null))) && (!((_game._console == null))))){
_game._console.log(((_arg1)==null) ? "ERROR: null object" : _arg1.toString());
};
}
public static function checkBitmapCache(_arg1:String):Boolean{
return (((!((_cache[_arg1] == undefined))) && (!((_cache[_arg1] == null)))));
}
static function updateSounds():void{
var _local1:FlxSound;
if (((!((music == null))) && (music.active))){
music.update();
};
var _local2:uint = sounds.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (sounds[_local3] as FlxSound);
if (((!((_local1 == null))) && (_local1.active))){
_local1.update();
};
_local3++;
};
}
static function updateInput():void{
keys.update();
mouse.update(state.mouseX, state.mouseY, scroll.x, scroll.y);
}
public static function stream(_arg1:String, _arg2:Number=1, _arg3:Boolean=false):FlxSound{
var _local4:uint = sounds.length;
var _local5:uint;
while (_local5 < _local4) {
if (!(sounds[_local5] as FlxSound).active){
break;
};
_local5++;
};
if (sounds[_local5] == null){
sounds[_local5] = new FlxSound();
};
var _local6:FlxSound = sounds[_local5];
_local6.loadStream(_arg1, _arg3);
_local6.volume = _arg2;
_local6.play();
return (_local6);
}
static function unfollow():void{
followTarget = null;
followLead = null;
followLerp = 1;
followMin = null;
followMax = null;
if (scroll == null){
scroll = new Point();
} else {
scroll.x = (scroll.y = 0);
};
if (_scrollTarget == null){
_scrollTarget = new Point();
} else {
_scrollTarget.x = (_scrollTarget.y = 0);
};
}
public static function get state():FlxState{
return (_game._state);
}
protected static function playSounds():void{
var _local1:FlxSound;
if (((!((music == null))) && (music.active))){
music.play();
};
var _local2:uint = sounds.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (sounds[_local3] as FlxSound);
if (((!((_local1 == null))) && (_local1.active))){
_local1.play();
};
_local3++;
};
}
public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{
followLead = new Point(_arg1, _arg2);
}
public static function set framerate(_arg1:uint):void{
_game._framerate = _arg1;
if (((!(_game._paused)) && (!((_game.stage == null))))){
_game.stage.frameRate = _arg1;
};
}
public static function set frameratePaused(_arg1:uint):void{
_game._frameratePaused = _arg1;
if (((_game._paused) && (!((_game.stage == null))))){
_game.stage.frameRate = _arg1;
};
}
public static function follow(_arg1:FlxObject, _arg2:Number=1):void{
followTarget = _arg1;
followLerp = _arg2;
_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1));
_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1));
scroll.x = _scrollTarget.x;
scroll.y = _scrollTarget.y;
doFollow();
}
public static function resetInput():void{
keys.reset();
mouse.reset();
}
public static function get framerate():uint{
return (_game._framerate);
}
public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0, _arg5:Boolean=true):void{
followMin = new Point(-(_arg1), -(_arg2));
followMax = new Point((-(_arg3) + width), (-(_arg4) + height));
if (followMax.x > followMin.x){
followMax.x = followMin.x;
};
if (followMax.y > followMin.y){
followMax.y = followMin.y;
};
if (_arg5){
FlxU.setWorldBounds(_arg1, _arg2, (_arg3 - _arg1), (_arg4 - _arg2));
};
doFollow();
}
protected static function pauseSounds():void{
var _local1:FlxSound;
if (((!((music == null))) && (music.active))){
music.pause();
};
var _local2:uint = sounds.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (sounds[_local3] as FlxSound);
if (((!((_local1 == null))) && (_local1.active))){
_local1.pause();
};
_local3++;
};
}
static function destroySounds(_arg1:Boolean=false):void{
var _local2:FlxSound;
if (sounds == null){
return;
};
if (((!((music == null))) && (((_arg1) || (!(music.survive)))))){
music.destroy();
};
var _local3:uint = sounds.length;
var _local4:uint;
while (_local4 < _local3) {
_local2 = (sounds[_local4] as FlxSound);
if (((!((_local2 == null))) && (((_arg1) || (!(_local2.survive)))))){
_local2.destroy();
};
_local4++;
};
}
public static function set pause(_arg1:Boolean):void{
var _local2:Boolean = _pause;
_pause = _arg1;
if (_pause != _local2){
if (_pause){
_game.pauseGame();
pauseSounds();
} else {
_game.unpauseGame();
playSounds();
};
};
}
public static function get pause():Boolean{
return (_pause);
}
}
}//package org.flixel
Section 46
//FlxGame (org.flixel.FlxGame)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FlxGame extends Sprite {
protected var SndFlixel:Class;
public var accumulator:Number;// = 0
var _screen:Sprite;
var _state:FlxState;
protected var SndBeep:Class;
var _console:FlxConsole;
var _gameXOffset:int;
var _frameratePaused:uint;
var _created:Boolean;
var _zoom:uint;
var _elapsed:Number;
var _total:uint;
var _soundTrayBars:Array;
var _iState:Class;
protected var junk:String;// = "FlxGame_junk"
var _zeroPoint:Point;
var _paused:Boolean;
public var useDefaultHotKeys:Boolean;
var _framerate:uint;
var _gameYOffset:int;
var _buffer:Bitmap;
var _soundTray:Sprite;
var _frame:Class;
public var pause:FlxGroup;
var _soundTrayTimer:Number;
public static var fpsState:int = 0;
public static var dtState:int = 0;
public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2){
SndBeep = FlxGame_SndBeep;
SndFlixel = FlxGame_SndFlixel;
super();
Mouse.hide();
_zoom = _arg4;
FlxState.bgColor = 4278190080;
FlxG.setGameData(this, _arg1, _arg2, _arg4);
_elapsed = 0;
_total = 0;
pause = new FlxPause();
_state = null;
_iState = _arg3;
_zeroPoint = new Point();
useDefaultHotKeys = true;
_frame = null;
_gameXOffset = 0;
_gameYOffset = 0;
_paused = false;
_created = false;
addEventListener(Event.ENTER_FRAME, create);
}
function pauseGame():void{
if (((!((x == 0))) || (!((y == 0))))){
x = 0;
y = 0;
};
Mouse.show();
_paused = true;
stage.frameRate = _frameratePaused;
}
function unpauseGame():void{
if (!FlxG.panel.visible){
Mouse.hide();
};
FlxG.resetInput();
_paused = false;
stage.frameRate = _framerate;
}
protected function onFocus(_arg1:Event=null):void{
if (FlxG.pause){
FlxG.pause = false;
};
}
protected function onKeyUp(_arg1:KeyboardEvent):void{
var _local2:int;
var _local3:String;
if ((((_arg1.keyCode == 192)) || ((_arg1.keyCode == 220)))){
_console.toggle();
return;
};
if (useDefaultHotKeys){
_local2 = _arg1.keyCode;
_local3 = String.fromCharCode(_arg1.charCode);
switch (_local2){
case 48:
case 96:
FlxG.mute = !(FlxG.mute);
showSoundTray();
return;
case 109:
case 189:
FlxG.mute = false;
FlxG.volume = (FlxG.volume - 0.1);
showSoundTray();
return;
case 107:
case 187:
FlxG.mute = false;
FlxG.volume = (FlxG.volume + 0.1);
showSoundTray();
return;
case 80:
FlxG.pause = !(FlxG.pause);
default:
break;
};
};
FlxG.keys.handleKeyUp(_arg1);
}
public function switchState(_arg1:FlxState):void{
FlxG.panel.hide();
FlxG.unfollow();
FlxG.resetInput();
FlxG.destroySounds();
FlxG.flash.stop();
FlxG.fade.stop();
FlxG.quake.stop();
_screen.x = 0;
_screen.y = 0;
_screen.addChild(_arg1);
if (_state != null){
_state.destroy();
_screen.swapChildren(_arg1, _state);
_screen.removeChild(_state);
};
_state = _arg1;
_state.scaleX = (_state.scaleY = _zoom);
_state.create();
}
protected function update(_arg1:Event):void{
var _local3:uint;
var _local4:FlxSave;
var _local2:uint = getTimer();
var _local5:uint = (_local2 - _total);
_elapsed = (_local5 / 1000);
_console.mtrTotal.add(_local5);
_total = _local2;
FlxG.elapsed = _elapsed;
if (FlxG.elapsed > FlxG.maxElapsed){
FlxG.elapsed = FlxG.maxElapsed;
};
FlxG.elapsed = (FlxG.elapsed * FlxG.timeScale);
if (_soundTray != null){
if (_soundTrayTimer > 0){
_soundTrayTimer = (_soundTrayTimer - _elapsed);
} else {
if (_soundTray.y > -(_soundTray.height)){
_soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2));
if (_soundTray.y <= -(_soundTray.height)){
_soundTray.visible = false;
_local4 = new FlxSave();
if (_local4.bind("flixel")){
if (_local4.data.sound == null){
_local4.data.sound = new Object();
};
_local4.data.mute = FlxG.mute;
_local4.data.volume = FlxG.volume;
_local4.forceSave();
};
};
};
};
};
accumulator = (accumulator + FlxG.elapsed);
while (accumulator > FlxG.dt) {
accumulator = (accumulator - FlxG.dt);
FlxG.panel.update();
if (_console.visible){
_console.update();
};
FlxObject._refreshBounds = false;
FlxG.updateInput();
FlxG.updateSounds();
if (_paused){
pause.update();
} else {
FlxG.doFollow();
_state.update();
if (FlxG.flash.exists){
FlxG.flash.update();
};
if (FlxG.fade.exists){
FlxG.fade.update();
};
FlxG.quake.update();
_screen.x = FlxG.quake.x;
_screen.y = FlxG.quake.y;
};
};
var _local6:uint = getTimer();
_console.mtrUpdate.add((_local6 - _local2));
FlxG.buffer.lock();
_state.preProcess();
_state.render();
if (FlxG.flash.exists){
FlxG.flash.render();
};
if (FlxG.fade.exists){
FlxG.fade.render();
};
if (FlxG.panel.visible){
FlxG.panel.render();
};
if (FlxG.mouse.cursor != null){
if (FlxG.mouse.cursor.active){
FlxG.mouse.cursor.update();
};
if (FlxG.mouse.cursor.visible){
FlxG.mouse.cursor.render();
};
};
_state.postProcess();
if (_paused){
pause.render();
};
FlxG.buffer.unlock();
_console.mtrRender.add((getTimer() - _local6));
}
protected function addFrame(_arg1:Class, _arg2:uint, _arg3:uint):FlxGame{
_frame = _arg1;
_gameXOffset = _arg2;
_gameYOffset = _arg3;
return (this);
}
public function showSoundTray(_arg1:Boolean=false):void{
if (!_arg1){
FlxG.play(SndBeep);
};
_soundTrayTimer = 1;
_soundTray.y = (_gameYOffset * _zoom);
_soundTray.visible = true;
var _local2:uint = Math.round((FlxG.volume * 10));
if (FlxG.mute){
_local2 = 0;
};
var _local3:uint;
while (_local3 < _soundTrayBars.length) {
if (_local3 < _local2){
_soundTrayBars[_local3].alpha = 1;
} else {
_soundTrayBars[_local3].alpha = 0.5;
};
_local3++;
};
}
function create(_arg1:Event):void{
var _local2:uint;
var _local3:FlxSave;
var _local10:Bitmap;
if (root == null){
return;
};
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = _framerate;
_screen = new Sprite();
addChild(_screen);
var _local4:Bitmap = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor));
_local4.x = _gameXOffset;
_local4.y = _gameYOffset;
_local4.scaleX = (_local4.scaleY = _zoom);
_screen.addChild(_local4);
FlxG.buffer = _local4.bitmapData;
_console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom);
addChild(_console);
var _local5:String = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION);
if (FlxG.debug){
_local5 = (_local5 + " [debug]");
} else {
_local5 = (_local5 + " [release]");
};
var _local6 = "";
_local2 = 0;
while (_local2 < (_local5.length + 32)) {
_local6 = (_local6 + "-");
_local2++;
};
FlxG.log(_local5);
FlxG.log(_local6);
stage.addEventListener(KeyboardEvent.KEY_DOWN, FlxG.keys.handleKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, FlxG.mouse.handleMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, FlxG.mouse.handleMouseUp);
stage.addEventListener(MouseEvent.MOUSE_OUT, FlxG.mouse.handleMouseOut);
stage.addEventListener(MouseEvent.MOUSE_OVER, FlxG.mouse.handleMouseOver);
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.addEventListener(Event.ACTIVATE, onFocus);
_soundTray = new Sprite();
_soundTray.visible = false;
_soundTray.scaleX = 2;
_soundTray.scaleY = 2;
_local4 = new Bitmap(new BitmapData(80, 30, true, 2130706432));
_soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((_local4.width / 2) * _soundTray.scaleX));
_soundTray.addChild(_local4);
var _local7:TextField = new TextField();
_local7.width = _local4.width;
_local7.height = _local4.height;
_local7.multiline = true;
_local7.wordWrap = true;
_local7.selectable = false;
_local7.embedFonts = true;
_local7.antiAliasType = AntiAliasType.NORMAL;
_local7.gridFitType = GridFitType.PIXEL;
_local7.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center");
_soundTray.addChild(_local7);
_local7.text = "VOLUME";
_local7.y = 16;
var _local8:uint = 10;
var _local9:uint = 14;
_soundTrayBars = new Array();
_local2 = 0;
while (_local2 < 10) {
_local4 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF));
_local4.x = _local8;
_local4.y = _local9;
_soundTrayBars.push(_soundTray.addChild(_local4));
_local8 = (_local8 + 6);
_local9--;
_local2++;
};
addChild(_soundTray);
if (_frame != null){
_local10 = new _frame();
_local10.scaleX = _zoom;
_local10.scaleY = _zoom;
addChild(_local10);
};
_local3 = new FlxSave();
if (((_local3.bind("flixel")) && (!((_local3.data.sound == null))))){
if (_local3.data.volume != null){
FlxG.volume = _local3.data.volume;
};
if (_local3.data.mute != null){
FlxG.mute = _local3.data.mute;
};
showSoundTray(true);
};
switchState(new _iState());
FlxState.screen.unsafeBind(FlxG.buffer);
removeEventListener(Event.ENTER_FRAME, create);
addEventListener(Event.ENTER_FRAME, update);
}
protected function onFocusLost(_arg1:Event=null):void{
FlxG.pause = true;
}
}
}//package org.flixel
Section 47
//FlxGame_junk (org.flixel.FlxGame_junk)
package org.flixel {
import mx.core.*;
public class FlxGame_junk extends FontAsset {
}
}//package org.flixel
Section 48
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep)
package org.flixel {
import mx.core.*;
public class FlxGame_SndBeep extends SoundAsset {
}
}//package org.flixel
Section 49
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel)
package org.flixel {
import mx.core.*;
public class FlxGame_SndFlixel extends SoundAsset {
}
}//package org.flixel
Section 50
//FlxGroup (org.flixel.FlxGroup)
package org.flixel {
public class FlxGroup extends FlxObject {
public var members:Array;
protected var _first:Boolean;
protected var _last:FlxPoint;
public function FlxGroup(){
_group = true;
solid = false;
members = new Array();
_last = new FlxPoint();
_first = true;
}
public function getFirstExtant():FlxObject{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (((!((_local1 == null))) && (_local1.exists))){
return (_local1);
};
_local3++;
};
return (null);
}
override public function destroy():void{
destroyMembers();
super.destroy();
}
public function getFirstAlive():FlxObject{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (((((!((_local1 == null))) && (_local1.exists))) && (!(_local1.dead)))){
return (_local1);
};
_local3++;
};
return (null);
}
public function remove(_arg1:FlxObject, _arg2:Boolean=false):FlxObject{
var _local3:int = members.indexOf(_arg1);
if ((((_local3 < 0)) || ((_local3 >= members.length)))){
return (null);
};
if (_arg2){
members.splice(_local3, 1);
} else {
members[_local3] = null;
};
return (_arg1);
}
override public function update():void{
saveOldPosition();
updateMotion();
updateMembers();
updateFlickering();
}
public function resetFirstAvail(_arg1:Number=0, _arg2:Number=0):Boolean{
var _local3:FlxObject = getFirstAvail();
if (_local3 == null){
return (false);
};
_local3.reset(_arg1, _arg2);
return (true);
}
override public function reset(_arg1:Number, _arg2:Number):void{
var _local3:Number;
var _local4:Number;
var _local6:FlxObject;
saveOldPosition();
super.reset(_arg1, _arg2);
var _local5:Boolean;
if (((!((x == _last.x))) || (!((y == _last.y))))){
_local5 = true;
_local3 = (x - _last.x);
_local4 = (y - _last.y);
};
var _local7:uint = members.length;
var _local8:uint;
while (_local8 < _local7) {
_local6 = (members[_local8] as FlxObject);
if (((!((_local6 == null))) && (_local6.exists))){
if (_local5){
if (_local6._group){
_local6.reset((_local6.x + _local3), (_local6.y + _local4));
} else {
_local6.x = (_local6.x + _local3);
_local6.y = (_local6.y + _local4);
if (solid){
_local6.colHullX.width = (_local6.colHullX.width + ((_local3)>0) ? _local3 : -(_local3));
if (_local3 < 0){
_local6.colHullX.x = (_local6.colHullX.x + _local3);
};
_local6.colHullY.x = x;
_local6.colHullY.height = (_local6.colHullY.height + ((_local4)>0) ? _local4 : -(_local4));
if (_local4 < 0){
_local6.colHullY.y = (_local6.colHullY.y + _local4);
};
_local6.colVector.x = (_local6.colVector.x + _local3);
_local6.colVector.y = (_local6.colVector.y + _local4);
};
};
};
};
_local8++;
};
}
protected function updateMembers():void{
var _local1:Number;
var _local2:Number;
var _local4:FlxObject;
var _local3:Boolean;
if (((!((x == _last.x))) || (!((y == _last.y))))){
_local3 = true;
_local1 = (x - _last.x);
_local2 = (y - _last.y);
};
var _local5:uint = members.length;
var _local6:uint;
while (_local6 < _local5) {
_local4 = (members[_local6] as FlxObject);
if (((!((_local4 == null))) && (_local4.exists))){
if (_local3){
if (_local4._group){
_local4.reset((_local4.x + _local1), (_local4.y + _local2));
} else {
_local4.x = (_local4.x + _local1);
_local4.y = (_local4.y + _local2);
};
};
if (_local4.active){
_local4.update();
};
if (((_local3) && (_local4.solid))){
_local4.colHullX.width = (_local4.colHullX.width + ((_local1)>0) ? _local1 : -(_local1));
if (_local1 < 0){
_local4.colHullX.x = (_local4.colHullX.x + _local1);
};
_local4.colHullY.x = x;
_local4.colHullY.height = (_local4.colHullY.height + ((_local2)>0) ? _local2 : -(_local2));
if (_local2 < 0){
_local4.colHullY.y = (_local4.colHullY.y + _local2);
};
_local4.colVector.x = (_local4.colVector.x + _local1);
_local4.colVector.y = (_local4.colVector.y + _local2);
};
};
_local6++;
};
}
public function countDead():int{
var _local1:FlxObject;
var _local2 = -1;
var _local3:uint = members.length;
var _local4:uint;
while (_local4 < _local3) {
_local1 = (members[_local4] as FlxObject);
if (_local1 != null){
if (_local2 < 0){
_local2 = 0;
};
if (_local1.dead){
_local2++;
};
};
_local4++;
};
return (_local2);
}
public function getFirstAvail():FlxObject{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (((!((_local1 == null))) && (!(_local1.exists)))){
return (_local1);
};
_local3++;
};
return (null);
}
override public function render():void{
renderMembers();
}
public function countLiving():int{
var _local1:FlxObject;
var _local2 = -1;
var _local3:uint = members.length;
var _local4:uint;
while (_local4 < _local3) {
_local1 = (members[_local4] as FlxObject);
if (_local1 != null){
if (_local2 < 0){
_local2 = 0;
};
if (((_local1.exists) && (!(_local1.dead)))){
_local2++;
};
};
_local4++;
};
return (_local2);
}
public function countOnScreen():int{
var _local1:FlxObject;
var _local2 = -1;
var _local3:uint = members.length;
var _local4:uint;
while (_local4 < _local3) {
_local1 = (members[_local4] as FlxObject);
if (_local1 != null){
if (_local2 < 0){
_local2 = 0;
};
if (_local1.onScreen()){
_local2++;
};
};
_local4++;
};
return (_local2);
}
protected function killMembers():void{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (_local1 != null){
_local1.kill();
};
_local3++;
};
}
public function getClosestMember(_arg1:FlxObject):FlxObject{
var _local3:FlxObject;
var _local4:FlxObject;
var _local2:Number = Number.POSITIVE_INFINITY;
for each (_local4 in members) {
_flashPoint.x = (_arg1.x - _local4.x);
_flashPoint.y = (_arg1.y - _local4.y);
if (_flashPoint.length < _local2){
_local3 = _local4;
_local2 = _flashPoint.length;
};
};
return (_local3);
}
override public function kill():void{
killMembers();
super.kill();
}
public function getFirstNull():int{
var _local1:uint = members.length;
var _local2:uint;
while (_local2 < _local1) {
if (members[_local2] == null){
return (_local2);
};
_local2++;
};
return (-1);
}
protected function renderMembers():void{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (((((!((_local1 == null))) && (_local1.exists))) && (_local1.visible))){
_local1.render();
};
_local3++;
};
}
public function add(_arg1:FlxObject, _arg2:Boolean=false):FlxObject{
members.push(_arg1);
if (_arg2){
_arg1.scrollFactor = scrollFactor;
};
return (_arg1);
}
protected function saveOldPosition():void{
if (_first){
_first = false;
_last.x = 0;
_last.y = 0;
return;
};
_last.x = x;
_last.y = y;
}
public function replace(_arg1:FlxObject, _arg2:FlxObject):FlxObject{
var _local3:int = members.indexOf(_arg1);
if ((((_local3 < 0)) || ((_local3 >= members.length)))){
return (null);
};
members[_local3] = _arg2;
return (_arg2);
}
public function getRandom():FlxObject{
var _local1:uint;
var _local2:FlxObject;
var _local3:uint = members.length;
var _local4:uint = uint((FlxU.random() * _local3));
while ((((_local2 == null)) && ((_local1 < members.length)))) {
++_local4;
_local2 = (members[(_local4 % _local3)] as FlxObject);
_local1++;
};
return (_local2);
}
public function getFirstDead():FlxObject{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (((!((_local1 == null))) && (_local1.dead))){
return (_local1);
};
_local3++;
};
return (null);
}
protected function destroyMembers():void{
var _local1:FlxObject;
var _local2:uint = members.length;
var _local3:uint;
while (_local3 < _local2) {
_local1 = (members[_local3] as FlxObject);
if (_local1 != null){
_local1.destroy();
};
_local3++;
};
members.length = 0;
}
}
}//package org.flixel
Section 51
//FlxMonitor (org.flixel.FlxMonitor)
package org.flixel {
public class FlxMonitor {
protected var _size:uint;
protected var _itr:uint;
protected var _data:Array;
public function FlxMonitor(_arg1:uint, _arg2:Number=0){
_size = _arg1;
if (_size <= 0){
_size = 1;
};
_itr = 0;
_data = new Array(_size);
var _local3:uint;
while (_local3 < _size) {
_data[_local3] = _arg2;
_local3++;
};
}
public function add(_arg1:Number):void{
var _local2 = _itr++;
_data[_local2] = _arg1;
if (_itr >= _size){
_itr = 0;
};
}
public function average():Number{
var _local1:Number = 0;
var _local2:uint;
while (_local2 < _size) {
_local1 = (_local1 + _data[_local2]);
_local2++;
};
return ((_local1 / _size));
}
}
}//package org.flixel
Section 52
//FlxObject (org.flixel.FlxObject)
package org.flixel {
import flash.geom.*;
public class FlxObject extends FlxRect {
public var acceleration:FlxPoint;
public var angularAcceleration:Number;
public var active:Boolean;
public var collideBottom:Boolean;
var _group:Boolean;
protected var _point:FlxPoint;
public var colHullX:FlxRect;
protected var _flickerTimer:Number;
public var colHullY:FlxRect;
protected var _flashPoint:Point;
public var colOffsets:Array;
protected var _solid:Boolean;
public var origin:FlxPoint;
public var drag:FlxPoint;
public var angularDrag:Number;
public var collideTop:Boolean;
protected var _flicker:Boolean;
protected var _rect:FlxRect;
public var moves:Boolean;
public var angle:Number;
public var exists:Boolean;
public var velocity:FlxPoint;
public var maxAngular:Number;
public var angularVelocity:Number;
public var maxVelocity:FlxPoint;
public var maxThrust:Number;
public var dead:Boolean;
public var collideLeft:Boolean;
public var thrust:Number;
public var onFloor:Boolean;
public var health:Number;
protected var _fixed:Boolean;
public var visible:Boolean;
public var colVector:FlxPoint;
public var scrollFactor:FlxPoint;
public var collideRight:Boolean;
protected static const _pZero:FlxPoint = new FlxPoint();
static var _refreshBounds:Boolean;
public function FlxObject(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
super(_arg1, _arg2, _arg3, _arg4);
exists = true;
active = true;
visible = true;
_solid = true;
_fixed = false;
moves = true;
collideLeft = true;
collideRight = true;
collideTop = true;
collideBottom = true;
origin = new FlxPoint();
velocity = new FlxPoint();
acceleration = new FlxPoint();
drag = new FlxPoint();
maxVelocity = new FlxPoint(10000, 10000);
angle = 0;
angularVelocity = 0;
angularAcceleration = 0;
angularDrag = 0;
maxAngular = 10000;
thrust = 0;
scrollFactor = new FlxPoint(1, 1);
_flicker = false;
_flickerTimer = -1;
health = 1;
dead = false;
_point = new FlxPoint();
_rect = new FlxRect();
_flashPoint = new Point();
colHullX = new FlxRect();
colHullY = new FlxRect();
colVector = new FlxPoint();
colOffsets = new Array(new FlxPoint());
_group = false;
}
public function getScreenXY(_arg1:FlxPoint=null):FlxPoint{
if (_arg1 == null){
_arg1 = new FlxPoint();
};
_arg1.x = (FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x)));
_arg1.y = (FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y)));
return (_arg1);
}
public function onScreen():Boolean{
getScreenXY(_point);
if (((((((((_point.x + width) < 0)) || ((_point.x > FlxG.width)))) || (((_point.y + height) < 0)))) || ((_point.y > FlxG.height)))){
return (false);
};
return (true);
}
public function kill():void{
exists = false;
dead = true;
}
protected function updateFlickering():void{
if (flickering()){
if (_flickerTimer > 0){
_flickerTimer = (_flickerTimer - FlxG.dt);
if (_flickerTimer == 0){
_flickerTimer = -1;
};
};
if (_flickerTimer < 0){
flicker(-1);
} else {
_flicker = !(_flicker);
visible = !(_flicker);
};
};
}
public function render():void{
}
public function hitBottom(_arg1:FlxObject, _arg2:Number):void{
onFloor = true;
if (!fixed){
velocity.y = _arg2;
};
}
public function get fixed():Boolean{
return (_fixed);
}
public function overlaps(_arg1:FlxObject):Boolean{
var _local10:FlxSprite;
var _local11:FlxSprite;
getScreenXY(_point);
var _local2:Number = _point.x;
var _local3:Number = _point.y;
var _local4:Number = width;
var _local5:Number = height;
if ((this is FlxSprite)){
_local10 = (this as FlxSprite);
_local4 = _local10.frameWidth;
_local5 = _local10.frameHeight;
};
_arg1.getScreenXY(_point);
var _local6:Number = _point.x;
var _local7:Number = _point.y;
var _local8:Number = _arg1.width;
var _local9:Number = _arg1.height;
if ((_arg1 is FlxSprite)){
_local11 = (_arg1 as FlxSprite);
_local8 = _local11.frameWidth;
_local9 = _local11.frameHeight;
};
if ((((((((_local6 <= (_local2 - _local8))) || ((_local6 >= (_local2 + _local4))))) || ((_local7 <= (_local3 - _local9))))) || ((_local7 >= (_local3 + _local5))))){
return (false);
};
return (true);
}
public function preCollide(_arg1:FlxObject):void{
}
public function get solid():Boolean{
return (_solid);
}
public function hurt(_arg1:Number):void{
if ((health = (health - _arg1)) <= 0){
kill();
};
}
public function refreshHulls():void{
colHullX.x = x;
colHullX.y = y;
colHullX.width = width;
colHullX.height = height;
colHullY.x = x;
colHullY.y = y;
colHullY.width = width;
colHullY.height = height;
}
public function hitLeft(_arg1:FlxObject, _arg2:Number):void{
if (!fixed){
velocity.x = _arg2;
};
}
public function collide(_arg1:FlxObject=null):Boolean{
return (FlxU.collide(this, ((_arg1)==null) ? this : _arg1));
}
public function reset(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
exists = true;
dead = false;
}
public function update():void{
updateMotion();
updateFlickering();
}
public function hitTop(_arg1:FlxObject, _arg2:Number):void{
if (!fixed){
velocity.y = _arg2;
};
}
public function set solid(_arg1:Boolean):void{
_solid = _arg1;
}
protected function updateMotion():void{
var _local1:Number;
var _local2:FlxPoint;
var _local5:FlxPoint;
var _local6:Number;
if (!moves){
return;
};
if (_solid){
refreshHulls();
};
onFloor = false;
_local1 = ((FlxU.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular) - angularVelocity) / 2);
angularVelocity = (angularVelocity + _local1);
angle = (angle + (angularVelocity * FlxG.dt));
angularVelocity = (angularVelocity + _local1);
if (thrust != 0){
_local2 = FlxU.rotatePoint(-(thrust), 0, 0, 0, angle);
_local5 = FlxU.rotatePoint(-(maxThrust), 0, 0, 0, angle);
_local6 = ((_local5.x)>0) ? _local5.x : -(_local5.x);
if (_local6 > ((_local5.y)>0) ? _local5.y : -(_local5.y)){
_local5.y = _local6;
} else {
_local6 = ((_local5.y)>0) ? _local5.y : -(_local5.y);
};
maxVelocity.x = (maxVelocity.y = ((_local6)>0) ? _local6 : -(_local6));
} else {
_local2 = _pZero;
};
_local1 = ((FlxU.computeVelocity(velocity.x, (acceleration.x + _local2.x), drag.x, maxVelocity.x) - velocity.x) / 2);
velocity.x = (velocity.x + _local1);
var _local3:Number = (velocity.x * FlxG.dt);
velocity.x = (velocity.x + _local1);
_local1 = ((FlxU.computeVelocity(velocity.y, (acceleration.y + _local2.y), drag.y, maxVelocity.y) - velocity.y) / 2);
velocity.y = (velocity.y + _local1);
var _local4:Number = (velocity.y * FlxG.dt);
velocity.y = (velocity.y + _local1);
x = (x + _local3);
y = (y + _local4);
if (!_solid){
return;
};
colVector.x = _local3;
colVector.y = _local4;
colHullX.width = (colHullX.width + ((colVector.x)>0) ? colVector.x : -(colVector.x));
if (colVector.x < 0){
colHullX.x = (colHullX.x + colVector.x);
};
colHullY.x = x;
colHullY.height = (colHullY.height + ((colVector.y)>0) ? colVector.y : -(colVector.y));
if (colVector.y < 0){
colHullY.y = (colHullY.y + colVector.y);
};
}
public function getBoundingColor():uint{
if (solid){
if (fixed){
return (2130768421);
};
return (2147418130);
//unresolved jump
};
return (2130743529);
}
public function set fixed(_arg1:Boolean):void{
_fixed = _arg1;
}
public function flickering():Boolean{
return ((_flickerTimer >= 0));
}
public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
_arg1 = (_arg1 + FlxU.floor(FlxG.scroll.x));
_arg2 = (_arg2 + FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if ((((((((_arg1 <= _point.x)) || ((_arg1 >= (_point.x + width))))) || ((_arg2 <= _point.y)))) || ((_arg2 >= (_point.y + height))))){
return (false);
};
return (true);
}
public function hitRight(_arg1:FlxObject, _arg2:Number):void{
if (!fixed){
velocity.x = _arg2;
};
}
public function destroy():void{
}
public function flicker(_arg1:Number=1):void{
_flickerTimer = _arg1;
if (_flickerTimer < 0){
_flicker = false;
visible = true;
};
}
}
}//package org.flixel
Section 53
//FlxPoint (org.flixel.FlxPoint)
package org.flixel {
public class FlxPoint {
public var x:Number;
public var y:Number;
public function FlxPoint(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function toString():String{
return (FlxU.getClassName(this, true));
}
}
}//package org.flixel
Section 54
//FlxPreloader (org.flixel.FlxPreloader)
package org.flixel {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
public class FlxPreloader extends MovieClip {
protected var _height:uint;
protected var _width:uint;
protected var ImgLogoLight:Class;
protected var _logo:Bitmap;
protected var _text:TextField;
protected var _min:uint;
protected var _buffer:Sprite;
public var className:String;
public var myURL:String;
protected var _bmpBar:Bitmap;
protected var ImgLogo:Class;
protected var _init:Boolean;
protected var ImgLogoCorners:Class;
protected var _logoGlow:Bitmap;
public var minDisplayTime:Number;
public function FlxPreloader(){
var tmp:Bitmap;
var re:RegExp;
var fmt:TextFormat;
var txt:TextField;
ImgLogo = FlxPreloader_ImgLogo;
ImgLogoCorners = FlxPreloader_ImgLogoCorners;
ImgLogoLight = FlxPreloader_ImgLogoLight;
super();
minDisplayTime = 0;
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
try {
throw (new Error("Setting global debug flag..."));
} catch(e:Error) {
re = /\[.*:[0-9]+\]/;
FlxG.debug = re.test(e.getStackTrace());
};
if (((((!(FlxG.debug)) && (!((myURL == null))))) && ((root.loaderInfo.url.indexOf(myURL) < 0)))){
tmp = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 4294967295));
addChild(tmp);
fmt = new TextFormat();
fmt.color = 0;
fmt.size = 16;
fmt.align = "center";
fmt.bold = true;
fmt.font = "system";
txt = new TextField();
txt.width = (tmp.width - 16);
txt.height = (tmp.height - 16);
txt.y = 8;
txt.multiline = true;
txt.wordWrap = true;
txt.embedFonts = true;
txt.defaultTextFormat = fmt;
txt.text = (("Hi there! It looks like somebody copied this game without my permission. Just click anywhere, or copy-paste this URL into your browser.\n\n" + myURL) + "\n\nto play the game at my site. Thanks, and have fun!");
addChild(txt);
txt.addEventListener(MouseEvent.CLICK, goToMyURL);
tmp.addEventListener(MouseEvent.CLICK, goToMyURL);
return;
};
_init = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
protected function update(_arg1:Number):void{
_bmpBar.scaleX = (_arg1 * (_width - 8));
_text.text = (((((("FLX v" + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION) + " ") + FlxU.floor((_arg1 * 100))) + "%");
_text.setTextFormat(_text.defaultTextFormat);
if (_arg1 < 0.1){
_logoGlow.alpha = 0;
_logo.alpha = 0;
} else {
if (_arg1 < 0.15){
_logoGlow.alpha = FlxU.random(false);
_logo.alpha = 0;
} else {
if (_arg1 < 0.2){
_logoGlow.alpha = 0;
_logo.alpha = 0;
} else {
if (_arg1 < 0.25){
_logoGlow.alpha = 0;
_logo.alpha = FlxU.random(false);
} else {
if (_arg1 < 0.7){
_logoGlow.alpha = ((_arg1 - 0.45) / 0.45);
_logo.alpha = 1;
} else {
if ((((_arg1 > 0.8)) && ((_arg1 < 0.9)))){
_logoGlow.alpha = (1 - ((_arg1 - 0.8) / 0.1));
_logo.alpha = 0;
} else {
if (_arg1 > 0.9){
_buffer.alpha = (1 - ((_arg1 - 0.9) / 0.1));
};
};
};
};
};
};
};
}
private function goToMyURL(_arg1:MouseEvent=null):void{
navigateToURL(new URLRequest(("http://" + myURL)));
}
private function onEnterFrame(_arg1:Event):void{
var _local2:int;
var _local4:Class;
var _local5:Object;
var _local6:Number;
if (!_init){
if ((((stage.stageWidth <= 0)) || ((stage.stageHeight <= 0)))){
return;
};
create();
_init = true;
};
graphics.clear();
var _local3:uint = getTimer();
if ((((framesLoaded >= totalFrames)) && ((_local3 > _min)))){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
nextFrame();
_local4 = Class(getDefinitionByName(className));
if (_local4){
_local5 = new (_local4);
addChild((_local5 as DisplayObject));
};
removeChild(_buffer);
} else {
_local6 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
if ((((_min > 0)) && ((_local6 > (_local3 / _min))))){
_local6 = (_local3 / _min);
};
update(_local6);
};
}
protected function create():void{
var _local3:uint;
_min = 0;
if (!FlxG.debug){
_min = (minDisplayTime * 1000);
};
_buffer = new Sprite();
_buffer.scaleX = 2;
_buffer.scaleY = 2;
addChild(_buffer);
_width = (stage.stageWidth / _buffer.scaleX);
_height = (stage.stageHeight / _buffer.scaleY);
_buffer.addChild(new Bitmap(new BitmapData(_width, _height, false, 13406)));
var _local1:Bitmap = new ImgLogoLight();
_local1.smoothing = true;
_local1.width = (_local1.height = _height);
_local1.x = ((_width - _local1.width) / 2);
_buffer.addChild(_local1);
_bmpBar = new Bitmap(new BitmapData(1, 7, false, 6253311));
_bmpBar.x = 4;
_bmpBar.y = (_height - 11);
_buffer.addChild(_bmpBar);
_text = new TextField();
_text.defaultTextFormat = new TextFormat("system", 8, 6253311);
_text.embedFonts = true;
_text.selectable = false;
_text.multiline = false;
_text.x = 2;
_text.y = (_bmpBar.y - 11);
_text.width = 80;
_buffer.addChild(_text);
_logo = new ImgLogo();
_logo.scaleX = (_logo.scaleY = (_height / 8));
_logo.x = ((_width - _logo.width) / 2);
_logo.y = ((_height - _logo.height) / 2);
_buffer.addChild(_logo);
_logoGlow = new ImgLogo();
_logoGlow.smoothing = true;
_logoGlow.blendMode = "screen";
_logoGlow.scaleX = (_logoGlow.scaleY = (_height / 8));
_logoGlow.x = ((_width - _logoGlow.width) / 2);
_logoGlow.y = ((_height - _logoGlow.height) / 2);
_buffer.addChild(_logoGlow);
_local1 = new ImgLogoCorners();
_local1.smoothing = true;
_local1.width = _width;
_local1.height = _height;
_buffer.addChild(_local1);
_local1 = new Bitmap(new BitmapData(_width, _height, false, 0xFFFFFF));
var _local2:uint;
while (_local2 < _height) {
_local3 = 0;
while (_local3 < _width) {
_local1.bitmapData.setPixel(_local3, _local2, 0);
_local3++;
};
_local2 = (_local2 + 2);
};
_local1.blendMode = "overlay";
_local1.alpha = 0.25;
_buffer.addChild(_local1);
}
}
}//package org.flixel
Section 55
//FlxPreloader_ImgLogo (org.flixel.FlxPreloader_ImgLogo)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogo extends BitmapAsset {
}
}//package org.flixel
Section 56
//FlxPreloader_ImgLogoCorners (org.flixel.FlxPreloader_ImgLogoCorners)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogoCorners extends BitmapAsset {
}
}//package org.flixel
Section 57
//FlxPreloader_ImgLogoLight (org.flixel.FlxPreloader_ImgLogoLight)
package org.flixel {
import mx.core.*;
public class FlxPreloader_ImgLogoLight extends BitmapAsset {
}
}//package org.flixel
Section 58
//FlxQuadTree (org.flixel.FlxQuadTree)
package org.flixel {
import org.flixel.data.*;
public class FlxQuadTree extends FlxRect {
protected var _sw:FlxQuadTree;
protected var _mx:Number;
protected var _my:Number;
protected var _ne:FlxQuadTree;
protected var _hh:Number;
protected var _headA:FlxList;
protected var _headB:FlxList;
protected var _canSubdivide:Boolean;
protected var _l:Number;
protected var _hw:Number;
protected var _nw:FlxQuadTree;
protected var _se:FlxQuadTree;
protected var _tailA:FlxList;
protected var _r:Number;
protected var _t:Number;
protected var _tailB:FlxList;
protected var _b:Number;
public static const A_LIST:uint = 0;
public static const B_LIST:uint = 1;
protected static var _ot:Number;
protected static var _or:Number;
protected static var _o:FlxObject;
protected static var _ob:Number;
protected static var _min:uint;
protected static var _oc:Function;
protected static var _ol:Number;
protected static var _oa:uint;
public function FlxQuadTree(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:FlxQuadTree=null){
var _local6:FlxList;
var _local7:FlxList;
super(_arg1, _arg2, _arg3, _arg4);
_headA = (_tailA = new FlxList());
_headB = (_tailB = new FlxList());
if (_arg5 != null){
if (_arg5._headA.object != null){
_local6 = _arg5._headA;
while (_local6 != null) {
if (_tailA.object != null){
_local7 = _tailA;
_tailA = new FlxList();
_local7.next = _tailA;
};
_tailA.object = _local6.object;
_local6 = _local6.next;
};
};
if (_arg5._headB.object != null){
_local6 = _arg5._headB;
while (_local6 != null) {
if (_tailB.object != null){
_local7 = _tailB;
_tailB = new FlxList();
_local7.next = _tailB;
};
_tailB.object = _local6.object;
_local6 = _local6.next;
};
};
} else {
_min = ((width + height) / (2 * FlxU.quadTreeDivisions));
};
_canSubdivide = (((width > _min)) || ((height > _min)));
_nw = null;
_ne = null;
_se = null;
_sw = null;
_l = x;
_r = (x + width);
_hw = (width / 2);
_mx = (_l + _hw);
_t = y;
_b = (y + height);
_hh = (height / 2);
_my = (_t + _hh);
}
protected function addObject():void{
if (((!(_canSubdivide)) || ((((((((_l >= _ol)) && ((_r <= _or)))) && ((_t >= _ot)))) && ((_b <= _ob)))))){
addToList();
return;
};
if ((((_ol > _l)) && ((_or < _mx)))){
if ((((_ot > _t)) && ((_ob < _my)))){
if (_nw == null){
_nw = new FlxQuadTree(_l, _t, _hw, _hh, this);
};
_nw.addObject();
return;
};
if ((((_ot > _my)) && ((_ob < _b)))){
if (_sw == null){
_sw = new FlxQuadTree(_l, _my, _hw, _hh, this);
};
_sw.addObject();
return;
};
};
if ((((_ol > _mx)) && ((_or < _r)))){
if ((((_ot > _t)) && ((_ob < _my)))){
if (_ne == null){
_ne = new FlxQuadTree(_mx, _t, _hw, _hh, this);
};
_ne.addObject();
return;
};
if ((((_ot > _my)) && ((_ob < _b)))){
if (_se == null){
_se = new FlxQuadTree(_mx, _my, _hw, _hh, this);
};
_se.addObject();
return;
};
};
if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _t)))) && ((_ot < _my)))){
if (_nw == null){
_nw = new FlxQuadTree(_l, _t, _hw, _hh, this);
};
_nw.addObject();
};
if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _t)))) && ((_ot < _my)))){
if (_ne == null){
_ne = new FlxQuadTree(_mx, _t, _hw, _hh, this);
};
_ne.addObject();
};
if ((((((((_or > _mx)) && ((_ol < _r)))) && ((_ob > _my)))) && ((_ot < _b)))){
if (_se == null){
_se = new FlxQuadTree(_mx, _my, _hw, _hh, this);
};
_se.addObject();
};
if ((((((((_or > _l)) && ((_ol < _mx)))) && ((_ob > _my)))) && ((_ot < _b)))){
if (_sw == null){
_sw = new FlxQuadTree(_l, _my, _hw, _hh, this);
};
_sw.addObject();
};
}
protected function addToList():void{
var _local1:FlxList;
if (_oa == A_LIST){
if (_tailA.object != null){
_local1 = _tailA;
_tailA = new FlxList();
_local1.next = _tailA;
};
_tailA.object = _o;
} else {
if (_tailB.object != null){
_local1 = _tailB;
_tailB = new FlxList();
_local1.next = _tailB;
};
_tailB.object = _o;
};
if (!_canSubdivide){
return;
};
if (_nw != null){
_nw.addToList();
};
if (_ne != null){
_ne.addToList();
};
if (_se != null){
_se.addToList();
};
if (_sw != null){
_sw.addToList();
};
}
public function overlap(_arg1:Boolean=true, _arg2:Function=null):Boolean{
var _local4:FlxList;
_oc = _arg2;
var _local3:Boolean;
if (_arg1){
_oa = B_LIST;
if (_headA.object != null){
_local4 = _headA;
while (_local4 != null) {
_o = _local4.object;
if (((((_o.exists) && (_o.solid))) && (overlapNode()))){
_local3 = true;
};
_local4 = _local4.next;
};
};
_oa = A_LIST;
if (_headB.object != null){
_local4 = _headB;
while (_local4 != null) {
_o = _local4.object;
if (((_o.exists) && (_o.solid))){
if (((!((_nw == null))) && (_nw.overlapNode()))){
_local3 = true;
};
if (((!((_ne == null))) && (_ne.overlapNode()))){
_local3 = true;
};
if (((!((_se == null))) && (_se.overlapNode()))){
_local3 = true;
};
if (((!((_sw == null))) && (_sw.overlapNode()))){
_local3 = true;
};
};
_local4 = _local4.next;
};
};
} else {
if (_headA.object != null){
_local4 = _headA;
while (_local4 != null) {
_o = _local4.object;
if (((((_o.exists) && (_o.solid))) && (overlapNode(_local4.next)))){
_local3 = true;
};
_local4 = _local4.next;
};
};
};
if (((!((_nw == null))) && (_nw.overlap(_arg1, _oc)))){
_local3 = true;
};
if (((!((_ne == null))) && (_ne.overlap(_arg1, _oc)))){
_local3 = true;
};
if (((!((_se == null))) && (_se.overlap(_arg1, _oc)))){
_local3 = true;
};
if (((!((_sw == null))) && (_sw.overlap(_arg1, _oc)))){
_local3 = true;
};
return (_local3);
}
public function add(_arg1:FlxObject, _arg2:uint):void{
var _local3:FlxObject;
var _local4:Array;
var _local5:uint;
var _local6:uint;
_oa = _arg2;
if (_arg1._group){
_local4 = (_arg1 as FlxGroup).members;
_local5 = _local4.length;
_local6 = 0;
while (_local6 < _local5) {
_local3 = (_local4[_local6] as FlxObject);
if (((!((_local3 == null))) && (_local3.exists))){
if (_local3._group){
add(_local3, _arg2);
} else {
if (_local3.solid){
_o = _local3;
_ol = _o.x;
_ot = _o.y;
_or = (_o.x + _o.width);
_ob = (_o.y + _o.height);
addObject();
};
};
};
_local6++;
};
};
if (_arg1.solid){
_o = _arg1;
_ol = _o.x;
_ot = _o.y;
_or = (_o.x + _o.width);
_ob = (_o.y + _o.height);
addObject();
};
}
protected function overlapNode(_arg1:FlxList=null):Boolean{
var _local3:FlxObject;
var _local2:Boolean;
var _local4:FlxList = _arg1;
if (_local4 == null){
if (_oa == A_LIST){
_local4 = _headA;
} else {
_local4 = _headB;
};
};
if (_local4.object != null){
while (_local4 != null) {
_local3 = _local4.object;
if ((((((((((((((((((_o === _local3)) || (!(_local3.exists)))) || (!(_o.exists)))) || (!(_local3.solid)))) || (!(_o.solid)))) || (((_o.x + _o.width) < (_local3.x + FlxU.roundingError))))) || (((_o.x + FlxU.roundingError) > (_local3.x + _local3.width))))) || (((_o.y + _o.height) < (_local3.y + FlxU.roundingError))))) || (((_o.y + FlxU.roundingError) > (_local3.y + _local3.height))))){
_local4 = _local4.next;
} else {
if (_oc == null){
_o.kill();
_local3.kill();
_local2 = true;
} else {
if (_oc(_o, _local3)){
_local2 = true;
};
};
_local4 = _local4.next;
};
};
};
return (_local2);
}
}
}//package org.flixel
Section 59
//FlxRect (org.flixel.FlxRect)
package org.flixel {
public class FlxRect extends FlxPoint {
public var width:Number;
public var height:Number;
public function FlxRect(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
super(_arg1, _arg2);
width = _arg3;
height = _arg4;
}
public function get bottom():Number{
return ((y + height));
}
public function get top():Number{
return (y);
}
public function get left():Number{
return (x);
}
public function get right():Number{
return ((x + width));
}
}
}//package org.flixel
Section 60
//FlxSave (org.flixel.FlxSave)
package org.flixel {
import flash.net.*;
public class FlxSave {
protected var _so:SharedObject;
public var data:Object;
public var name:String;
public function FlxSave(){
name = null;
_so = null;
data = null;
}
public function read(_arg1:String):Object{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.read().");
return (null);
};
return (data[_arg1]);
}
public function forceSave(_arg1:uint=0):Boolean{
var MinFileSize = _arg1;
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.forceSave().");
return (false);
};
var status:Object;
try {
status = _so.flush(MinFileSize);
} catch(e:Error) {
FlxG.log("WARNING: There was a problem flushing\nthe shared object data from FlxSave.");
return (false);
};
return ((status == SharedObjectFlushStatus.FLUSHED));
}
public function bind(_arg1:String):Boolean{
var Name = _arg1;
name = null;
_so = null;
data = null;
name = Name;
try {
_so = SharedObject.getLocal(name);
} catch(e:Error) {
FlxG.log("WARNING: There was a problem binding to\nthe shared object data from FlxSave.");
name = null;
_so = null;
data = null;
return (false);
};
data = _so.data;
return (true);
}
public function erase(_arg1:uint=0):Boolean{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.erase().");
return (false);
};
_so.clear();
return (forceSave(_arg1));
}
public function write(_arg1:String, _arg2:Object, _arg3:uint=0):Boolean{
if (_so == null){
FlxG.log("WARNING: You must call FlxSave.bind()\nbefore calling FlxSave.write().");
return (false);
};
data[_arg1] = _arg2;
return (forceSave(_arg3));
}
}
}//package org.flixel
Section 61
//FlxSound (org.flixel.FlxSound)
package org.flixel {
import flash.events.*;
import flash.media.*;
import flash.net.*;
public class FlxSound extends FlxObject {
public var name:String;
protected var _position:Number;
protected var _fadeOutTotal:Number;
protected var _fadeOutTimer:Number;
protected var _sound:Sound;
protected var _pauseOnFadeOut:Boolean;
protected var _volumeAdjust:Number;
public var playing:Boolean;
protected var _radius:Number;
protected var _volume:Number;
protected var _point2:FlxPoint;
protected var _fadeInTimer:Number;
public var artist:String;
protected var _channel:SoundChannel;
protected var _fadeInTotal:Number;
protected var _looped:Boolean;
protected var _pan:Boolean;
protected var _transform:SoundTransform;
protected var _init:Boolean;
public var survive:Boolean;
protected var _core:FlxObject;
public function FlxSound(){
_point2 = new FlxPoint();
_transform = new SoundTransform();
init();
fixed = true;
}
public function loadStream(_arg1:String, _arg2:Boolean=false):FlxSound{
stop();
init();
_sound = new Sound();
_sound.addEventListener(Event.ID3, gotID3);
_sound.load(new URLRequest(_arg1));
_looped = _arg2;
updateTransform();
active = true;
return (this);
}
public function stop():void{
_position = 0;
if (_channel != null){
_channel.stop();
stopped();
};
}
public function loadEmbedded(_arg1:Class, _arg2:Boolean=false):FlxSound{
stop();
init();
_sound = new (_arg1);
_looped = _arg2;
updateTransform();
active = true;
return (this);
}
public function get volume():Number{
return (_volume);
}
function updateTransform():void{
_transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust);
if (_channel != null){
_channel.soundTransform = _transform;
};
}
public function fadeOut(_arg1:Number, _arg2:Boolean=false):void{
_pauseOnFadeOut = _arg2;
_fadeInTimer = 0;
_fadeOutTimer = _arg1;
_fadeOutTotal = _fadeOutTimer;
}
public function play():void{
if (_position < 0){
return;
};
if (_looped){
if (_position == 0){
if (_channel == null){
_channel = _sound.play(0, 9999, _transform);
};
if (_channel == null){
active = false;
};
} else {
_channel = _sound.play(_position, 0, _transform);
if (_channel == null){
active = false;
} else {
_channel.addEventListener(Event.SOUND_COMPLETE, looped);
};
};
} else {
if (_position == 0){
if (_channel == null){
_channel = _sound.play(0, 0, _transform);
if (_channel == null){
active = false;
} else {
_channel.addEventListener(Event.SOUND_COMPLETE, stopped);
};
};
} else {
_channel = _sound.play(_position, 0, _transform);
if (_channel == null){
active = false;
};
};
};
playing = !((_channel == null));
_position = 0;
}
public function set volume(_arg1:Number):void{
_volume = _arg1;
if (_volume < 0){
_volume = 0;
} else {
if (_volume > 1){
_volume = 1;
};
};
updateTransform();
}
protected function init():void{
_transform.pan = 0;
_sound = null;
_position = 0;
_volume = 1;
_volumeAdjust = 1;
_looped = false;
_core = null;
_radius = 0;
_pan = false;
_fadeOutTimer = 0;
_fadeOutTotal = 0;
_pauseOnFadeOut = false;
_fadeInTimer = 0;
_fadeInTotal = 0;
active = false;
visible = false;
solid = false;
playing = false;
name = null;
artist = null;
}
protected function looped(_arg1:Event=null):void{
if (_channel == null){
return;
};
_channel.removeEventListener(Event.SOUND_COMPLETE, looped);
_channel = null;
play();
}
protected function updateSound():void{
var _local3:FlxPoint;
var _local4:FlxPoint;
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_position != 0){
return;
};
var _local1:Number = 1;
var _local2:Number = 1;
if (_core != null){
_local3 = new FlxPoint();
_local4 = new FlxPoint();
_core.getScreenXY(_local3);
getScreenXY(_local4);
_local5 = (_local3.x - _local4.x);
_local6 = (_local3.y - _local4.y);
_local1 = ((_radius - Math.sqrt(((_local5 * _local5) + (_local6 * _local6)))) / _radius);
if (_local1 < 0){
_local1 = 0;
};
if (_local1 > 1){
_local1 = 1;
};
if (_pan){
_local7 = (-(_local5) / _radius);
if (_local7 < -1){
_local7 = -1;
} else {
if (_local7 > 1){
_local7 = 1;
};
};
_transform.pan = _local7;
};
};
if (_fadeOutTimer > 0){
_fadeOutTimer = (_fadeOutTimer - FlxG.dt);
if (_fadeOutTimer <= 0){
if (_pauseOnFadeOut){
pause();
} else {
stop();
};
};
_local2 = (_fadeOutTimer / _fadeOutTotal);
if (_local2 < 0){
_local2 = 0;
};
} else {
if (_fadeInTimer > 0){
_fadeInTimer = (_fadeInTimer - FlxG.dt);
_local2 = (_fadeInTimer / _fadeInTotal);
if (_local2 < 0){
_local2 = 0;
};
_local2 = (1 - _local2);
};
};
_volumeAdjust = (_local1 * _local2);
updateTransform();
}
public function fadeIn(_arg1:Number):void{
_fadeOutTimer = 0;
_fadeInTimer = _arg1;
_fadeInTotal = _fadeInTimer;
play();
}
override public function update():void{
super.update();
updateSound();
}
protected function stopped(_arg1:Event=null):void{
if (!_looped){
_channel.removeEventListener(Event.SOUND_COMPLETE, stopped);
} else {
_channel.removeEventListener(Event.SOUND_COMPLETE, looped);
};
_channel = null;
active = false;
playing = false;
}
protected function gotID3(_arg1:Event=null):void{
FlxG.log("got ID3 info!");
if (_sound.id3.songName.length > 0){
name = _sound.id3.songName;
};
if (_sound.id3.artist.length > 0){
artist = _sound.id3.artist;
};
_sound.removeEventListener(Event.ID3, gotID3);
}
public function pause():void{
if (_channel == null){
_position = -1;
return;
};
_position = _channel.position;
_channel.stop();
if (_looped){
while (_position >= _sound.length) {
_position = (_position - _sound.length);
};
};
_channel = null;
playing = false;
}
override public function destroy():void{
if (active){
stop();
};
}
public function proximity(_arg1:Number, _arg2:Number, _arg3:FlxObject, _arg4:Number, _arg5:Boolean=true):FlxSound{
x = _arg1;
y = _arg2;
_core = _arg3;
_radius = _arg4;
_pan = _arg5;
return (this);
}
}
}//package org.flixel
Section 62
//FlxSprite (org.flixel.FlxSprite)
package org.flixel {
import flash.display.*;
import flash.geom.*;
import org.flixel.data.*;
public class FlxSprite extends FlxObject {
protected var _mtx:Matrix;
protected var _caf:uint;
public var finished:Boolean;
protected var _animations:Array;
protected var _ct:ColorTransform;
public var offset:FlxPoint;
protected var _callback:Function;
protected var _curAnim:FlxAnim;
protected var _framePixels:BitmapData;
protected var _flipped:uint;
public var scale:FlxPoint;
protected var _pixels:BitmapData;
protected var _bakedRotation:Number;
public var blend:String;
public var frameWidth:uint;
protected var _flashRect2:Rectangle;
protected var _bbb:BitmapData;
protected var _alpha:Number;
protected var _flashPointZero:Point;
protected var _curFrame:uint;
public var frameHeight:uint;
protected var _flashRect:Rectangle;
protected var _frameTimer:Number;
protected var _facing:uint;
public var antialiasing:Boolean;
protected var _color:uint;
public static const LEFT:uint = 0;
public static const DOWN:uint = 3;
public static const UP:uint = 2;
public static const RIGHT:uint = 1;
public function FlxSprite(_arg1:Number=0, _arg2:Number=0, _arg3:Class=null){
x = _arg1;
y = _arg2;
_flashRect = new Rectangle();
_flashRect2 = new Rectangle();
_flashPointZero = new Point();
offset = new FlxPoint();
scale = new FlxPoint(1, 1);
_alpha = 1;
_color = 0xFFFFFF;
blend = null;
antialiasing = false;
finished = false;
_facing = RIGHT;
_animations = new Array();
_flipped = 0;
_curAnim = null;
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
_mtx = new Matrix();
_callback = null;
if (_arg3 == null){
createGraphic(8, 8);
} else {
loadGraphic(_arg3);
};
}
override public function set fixed(_arg1:Boolean):void{
var _local2:Boolean = _fixed;
_fixed = _arg1;
if (((!((_local2 == _fixed))) && (FlxG.showBounds))){
calcFrame();
};
}
protected function renderSprite():void{
if (_refreshBounds){
calcFrame();
};
getScreenXY(_point);
_flashPoint.x = _point.x;
_flashPoint.y = _point.y;
if ((((((((((angle == 0)) || ((_bakedRotation > 0)))) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){
FlxG.buffer.copyPixels(_framePixels, _flashRect, _flashPoint, null, null, true);
return;
};
_mtx.identity();
_mtx.translate(-(origin.x), -(origin.y));
_mtx.scale(scale.x, scale.y);
if (angle != 0){
_mtx.rotate(((Math.PI * 2) * (angle / 360)));
};
_mtx.translate((_point.x + origin.x), (_point.y + origin.y));
FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing);
}
public function fill(_arg1:uint):void{
_pixels.fillRect(_flashRect2, _arg1);
if (_pixels != _framePixels){
calcFrame();
};
}
public function get color():uint{
return (_color);
}
override public function getScreenXY(_arg1:FlxPoint=null):FlxPoint{
if (_arg1 == null){
_arg1 = new FlxPoint();
};
_arg1.x = ((FlxU.floor((x + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.x * scrollFactor.x))) - offset.x);
_arg1.y = ((FlxU.floor((y + FlxU.roundingError)) + FlxU.floor((FlxG.scroll.y * scrollFactor.y))) - offset.y);
return (_arg1);
}
public function get frame():uint{
return (_caf);
}
override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{
_arg1 = (_arg1 - FlxU.floor(FlxG.scroll.x));
_arg2 = (_arg2 - FlxU.floor(FlxG.scroll.y));
getScreenXY(_point);
if (_arg3){
return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _point.x), (_arg2 - _point.y))));
};
if ((((((((_arg1 <= (_point.x + colOffsets[0].x))) || ((_arg1 >= ((_point.x + width) + colOffsets[0].x))))) || ((_arg2 <= (_point.y + colOffsets[0].y))))) || ((_arg2 >= ((_point.y + height) + colOffsets[0].y))))){
return (false);
};
return (true);
}
override public function render():void{
renderSprite();
}
protected function drawBounds():void{
var _local1:uint = getBoundingColor();
_bbb.fillRect(_flashRect, 0);
var _local2:uint = _flashRect.width;
var _local3:uint = _flashRect.height;
_flashRect.width = width;
_flashRect.height = height;
_flashRect.x = int(offset.x);
_flashRect.y = int(offset.y);
_bbb.fillRect(_flashRect, _local1);
_flashRect.width = (_flashRect.width - 2);
_flashRect.height = (_flashRect.height - 2);
_flashRect.x++;
_flashRect.y++;
_bbb.fillRect(_flashRect, 0);
_flashRect.width = _local2;
_flashRect.height = _local3;
_flashRect.x = (_flashRect.y = 0);
_framePixels.copyPixels(_bbb, _flashRect, _flashPointZero, null, null, true);
}
protected function calcFrame():void{
var _local1:uint = (_caf * frameWidth);
var _local2:uint;
var _local3:uint = (_flipped) ? _flipped : _pixels.width;
if (_local1 >= _local3){
_local2 = (uint((_local1 / _local3)) * frameHeight);
_local1 = (_local1 % _local3);
};
if (((_flipped) && ((_facing == LEFT)))){
_local1 = (((_flipped << 1) - _local1) - frameWidth);
};
_flashRect.x = _local1;
_flashRect.y = _local2;
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
_flashRect.x = (_flashRect.y = 0);
if (_ct != null){
_framePixels.colorTransform(_flashRect, _ct);
};
if (FlxG.showBounds){
drawBounds();
};
if (_callback != null){
_callback(_curAnim.name, _curFrame, _caf);
};
}
function unsafeBind(_arg1:BitmapData):void{
_pixels = (_framePixels = _arg1);
}
public function loadGraphic(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:Boolean=false):FlxSprite{
_bakedRotation = 0;
_pixels = FlxG.addBitmap(_arg1, _arg3, _arg6);
if (_arg3){
_flipped = (_pixels.width >> 1);
} else {
_flipped = 0;
};
if (_arg4 == 0){
if (_arg2){
_arg4 = _pixels.height;
} else {
if (_flipped > 0){
_arg4 = (_pixels.width / 2);
} else {
_arg4 = _pixels.width;
};
};
};
width = (frameWidth = _arg4);
if (_arg5 == 0){
if (_arg2){
_arg5 = width;
} else {
_arg5 = _pixels.height;
};
};
height = (frameHeight = _arg5);
resetHelpers();
return (this);
}
public function get pixels():BitmapData{
return (_pixels);
}
public function set facing(_arg1:uint):void{
var _local2 = !((_facing == _arg1));
_facing = _arg1;
if (_local2){
calcFrame();
};
}
protected function resetHelpers():void{
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = frameWidth;
_flashRect.height = frameHeight;
_flashRect2.x = 0;
_flashRect2.y = 0;
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){
_framePixels = new BitmapData(width, height);
};
if ((((((_bbb == null)) || (!((_bbb.width == width))))) || (!((_bbb.height == height))))){
_bbb = new BitmapData(width, height);
};
origin.x = (frameWidth / 2);
origin.y = (frameHeight / 2);
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
if (FlxG.showBounds){
drawBounds();
};
_caf = 0;
refreshHulls();
}
public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{
_animations.push(new FlxAnim(_arg1, _arg2, _arg3, _arg4));
}
public function set alpha(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
};
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg1 == _alpha){
return;
};
_alpha = _arg1;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
protected function updateAnimation():void{
var _local1:uint;
var _local2:int;
if (_bakedRotation){
_local1 = _caf;
_local2 = (angle % 360);
if (_local2 < 0){
_local2 = (_local2 + 360);
};
_caf = (_local2 / _bakedRotation);
if (_local1 != _caf){
calcFrame();
};
return;
};
if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){
_frameTimer = (_frameTimer + FlxG.dt);
if (_frameTimer > _curAnim.delay){
_frameTimer = (_frameTimer - _curAnim.delay);
if (_curFrame == (_curAnim.frames.length - 1)){
if (_curAnim.looped){
_curFrame = 0;
};
finished = true;
} else {
_curFrame++;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
};
};
}
public function draw(_arg1:FlxSprite, _arg2:int=0, _arg3:int=0):void{
var _local4:BitmapData = _arg1._framePixels;
if ((((((((((_arg1.angle == 0)) || ((_arg1._bakedRotation > 0)))) && ((_arg1.scale.x == 1)))) && ((_arg1.scale.y == 1)))) && ((_arg1.blend == null)))){
_flashPoint.x = _arg2;
_flashPoint.y = _arg3;
_flashRect2.width = _local4.width;
_flashRect2.height = _local4.height;
_pixels.copyPixels(_local4, _flashRect2, _flashPoint, null, null, true);
_flashRect2.width = _pixels.width;
_flashRect2.height = _pixels.height;
calcFrame();
return;
};
_mtx.identity();
_mtx.translate(-(_arg1.origin.x), -(_arg1.origin.y));
_mtx.scale(_arg1.scale.x, _arg1.scale.y);
if (_arg1.angle != 0){
_mtx.rotate(((Math.PI * 2) * (_arg1.angle / 360)));
};
_mtx.translate((_arg2 + _arg1.origin.x), (_arg3 + _arg1.origin.y));
_pixels.draw(_local4, _mtx, null, _arg1.blend, null, _arg1.antialiasing);
calcFrame();
}
public function loadRotatedGraphic(_arg1:Class, _arg2:uint=16, _arg3:int=-1, _arg4:Boolean=false, _arg5:Boolean=false):FlxSprite{
var _local12:BitmapData;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:Number;
var _local19:uint;
var _local20:uint;
var _local21:uint;
var _local22:uint;
var _local6:uint = Math.sqrt(_arg2);
var _local7:BitmapData = FlxG.addBitmap(_arg1);
if (_arg3 >= 0){
_local12 = _local7;
_local7 = new BitmapData(_local12.height, _local12.height);
_local13 = (_arg3 * _local7.width);
_local14 = 0;
_local15 = _local12.width;
if (_local13 >= _local15){
_local14 = (uint((_local13 / _local15)) * _local7.height);
_local13 = (_local13 % _local15);
};
_flashRect.x = _local13;
_flashRect.y = _local14;
_flashRect.width = _local7.width;
_flashRect.height = _local7.height;
_local7.copyPixels(_local12, _flashRect, _flashPointZero);
};
var _local8:uint = _local7.width;
if (_local7.height > _local8){
_local8 = _local7.height;
};
if (_arg5){
_local8 = (_local8 * 1.5);
};
var _local9:uint = FlxU.ceil((_arg2 / _local6));
width = (_local8 * _local9);
height = (_local8 * _local6);
var _local10:String = ((((((String(_arg1) + ":") + _arg3) + ":") + width) + "x") + height);
var _local11:Boolean = FlxG.checkBitmapCache(_local10);
_pixels = FlxG.createBitmap(width, height, 0, true, _local10);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
_bakedRotation = (360 / _arg2);
if (!_local11){
_local18 = 0;
_local19 = (_local7.width / 2);
_local20 = (_local7.height / 2);
_local21 = (_local8 / 2);
_local22 = (_local8 / 2);
_local16 = 0;
while (_local16 < _local6) {
_local17 = 0;
while (_local17 < _local9) {
_mtx.identity();
_mtx.translate(-(_local19), -(_local20));
_mtx.rotate(((Math.PI * 2) * (_local18 / 360)));
_mtx.translate(((_local8 * _local17) + _local21), _local22);
_local18 = (_local18 + _bakedRotation);
_pixels.draw(_local7, _mtx, null, null, null, _arg4);
_local17++;
};
_local22 = (_local22 + _local8);
_local16++;
};
};
frameWidth = (frameHeight = (width = (height = _local8)));
resetHelpers();
return (this);
}
override public function update():void{
updateMotion();
updateAnimation();
updateFlickering();
}
public function set color(_arg1:uint):void{
_arg1 = (_arg1 & 0xFFFFFF);
if (_color == _arg1){
return;
};
_color = _arg1;
if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){
_ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha);
} else {
_ct = null;
};
calcFrame();
}
public function onEmit():void{
}
public function createGraphic(_arg1:uint, _arg2:uint, _arg3:uint=4294967295, _arg4:Boolean=false, _arg5:String=null):FlxSprite{
_bakedRotation = 0;
_pixels = FlxG.createBitmap(_arg1, _arg2, _arg3, _arg4, _arg5);
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
return (this);
}
override public function set solid(_arg1:Boolean):void{
var _local2:Boolean = _solid;
_solid = _arg1;
if (((!((_local2 == _solid))) && (FlxG.showBounds))){
calcFrame();
};
}
public function addAnimationCallback(_arg1:Function):void{
_callback = _arg1;
}
public function set pixels(_arg1:BitmapData):void{
_pixels = _arg1;
width = (frameWidth = _pixels.width);
height = (frameHeight = _pixels.height);
resetHelpers();
}
public function get alpha():Number{
return (_alpha);
}
public function get facing():uint{
return (_facing);
}
public function set frame(_arg1:uint):void{
_curAnim = null;
_caf = _arg1;
calcFrame();
}
public function play(_arg1:String, _arg2:Boolean=false):void{
if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){
return;
};
_curFrame = 0;
_caf = 0;
_frameTimer = 0;
var _local3:uint = _animations.length;
var _local4:uint;
while (_local4 < _local3) {
if (_animations[_local4].name == _arg1){
_curAnim = _animations[_local4];
if (_curAnim.delay <= 0){
finished = true;
} else {
finished = false;
};
_caf = _curAnim.frames[_curFrame];
calcFrame();
return;
};
_local4++;
};
}
public function randomFrame():void{
_curAnim = null;
_caf = int((FlxU.random() * (_pixels.width / frameWidth)));
calcFrame();
}
}
}//package org.flixel
Section 63
//FlxState (org.flixel.FlxState)
package org.flixel {
import flash.display.*;
public class FlxState extends Sprite {
public var defaultGroup:FlxGroup;
public static var screen:FlxSprite;
public static var bgColor:uint;
public function FlxState(){
defaultGroup = new FlxGroup();
if (screen == null){
screen = new FlxSprite();
screen.createGraphic(FlxG.width, FlxG.height, 0, true);
screen.origin.x = (screen.origin.y = 0);
screen.antialiasing = true;
screen.exists = false;
screen.solid = false;
screen.fixed = true;
};
}
public function add(_arg1:FlxObject):FlxObject{
return (defaultGroup.add(_arg1));
}
public function preProcess():void{
screen.fill(bgColor);
}
public function collide():void{
FlxU.collide(defaultGroup, defaultGroup);
}
public function render():void{
defaultGroup.render();
}
public function update():void{
defaultGroup.update();
}
public function destroy():void{
defaultGroup.destroy();
}
public function create():void{
}
public function postProcess():void{
}
}
}//package org.flixel
Section 64
//FlxText (org.flixel.FlxText)
package org.flixel {
import flash.display.*;
import flash.text.*;
public class FlxText extends FlxSprite {
protected var _tf:TextField;
protected var _regen:Boolean;
protected var _shadow:uint;
public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:String=null, _arg5:Boolean=true){
super(_arg1, _arg2);
createGraphic(_arg3, 1, 0);
if (_arg4 == null){
_arg4 = "";
};
_tf = new TextField();
_tf.width = _arg3;
_tf.embedFonts = _arg5;
_tf.selectable = false;
_tf.sharpness = 100;
_tf.multiline = true;
_tf.wordWrap = true;
_tf.text = _arg4;
var _local6:TextFormat = new TextFormat("system", 8, 0xFFFFFF);
_tf.defaultTextFormat = _local6;
_tf.setTextFormat(_local6);
if (_arg4.length <= 0){
_tf.height = 1;
} else {
_tf.height = 10;
};
_regen = true;
_shadow = 0;
solid = false;
calcFrame();
}
public function get shadow():uint{
return (_shadow);
}
public function get size():Number{
return ((_tf.defaultTextFormat.size as Number));
}
override public function get color():uint{
return ((_tf.defaultTextFormat.color as uint));
}
override public function set color(_arg1:uint):void{
var _local2:TextFormat = dtfCopy();
_local2.color = _arg1;
_tf.defaultTextFormat = _local2;
_tf.setTextFormat(_local2);
_regen = true;
calcFrame();
}
public function set shadow(_arg1:uint):void{
_shadow = _arg1;
calcFrame();
}
public function set size(_arg1:Number):void{
var _local2:TextFormat = dtfCopy();
_local2.size = _arg1;
_tf.defaultTextFormat = _local2;
_tf.setTextFormat(_local2);
_regen = true;
calcFrame();
}
public function get alignment():String{
return (_tf.defaultTextFormat.align);
}
protected function dtfCopy():TextFormat{
var _local1:TextFormat = _tf.defaultTextFormat;
return (new TextFormat(_local1.font, _local1.size, _local1.color, _local1.bold, _local1.italic, _local1.underline, _local1.url, _local1.target, _local1.align));
}
public function get text():String{
return (_tf.text);
}
public function get font():String{
return (_tf.defaultTextFormat.font);
}
public function set alignment(_arg1:String):void{
var _local2:TextFormat = dtfCopy();
_local2.align = _arg1;
_tf.defaultTextFormat = _local2;
_tf.setTextFormat(_local2);
calcFrame();
}
public function set font(_arg1:String):void{
var _local2:TextFormat = dtfCopy();
_local2.font = _arg1;
_tf.defaultTextFormat = _local2;
_tf.setTextFormat(_local2);
_regen = true;
calcFrame();
}
override protected function calcFrame():void{
var _local1:uint;
var _local2:uint;
var _local3:TextFormat;
var _local4:TextFormat;
if (_regen){
_local1 = _tf.numLines;
height = 0;
_local2 = 0;
while (_local2 < _local1) {
height = (height + _tf.getLineMetrics(_local2).height);
_local2++;
};
height = (height + 4);
_pixels = new BitmapData(width, height, true, 0);
_bbb = new BitmapData(width, height, true, 0);
frameHeight = height;
_tf.height = (height * 1.2);
_flashRect.x = 0;
_flashRect.y = 0;
_flashRect.width = width;
_flashRect.height = height;
_regen = false;
} else {
_pixels.fillRect(_flashRect, 0);
};
if (((((!((_tf == null))) && (!((_tf.text == null))))) && ((_tf.text.length > 0)))){
_local3 = _tf.defaultTextFormat;
_local4 = _local3;
_mtx.identity();
if ((((_local3.align == "center")) && ((_tf.numLines == 1)))){
_local4 = new TextFormat(_local3.font, _local3.size, _local3.color, null, null, null, null, null, "left");
_tf.setTextFormat(_local4);
_mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0);
};
if (_shadow > 0){
_tf.setTextFormat(new TextFormat(_local4.font, _local4.size, _shadow, null, null, null, null, null, _local4.align));
_mtx.translate(1, 1);
_pixels.draw(_tf, _mtx, _ct);
_mtx.translate(-1, -1);
_tf.setTextFormat(new TextFormat(_local4.font, _local4.size, _local4.color, null, null, null, null, null, _local4.align));
};
_pixels.draw(_tf, _mtx, _ct);
_tf.setTextFormat(new TextFormat(_local3.font, _local3.size, _local3.color, null, null, null, null, null, _local3.align));
};
if ((((((_framePixels == null)) || (!((_framePixels.width == _pixels.width))))) || (!((_framePixels.height == _pixels.height))))){
_framePixels = new BitmapData(_pixels.width, _pixels.height, true, 0);
};
_framePixels.copyPixels(_pixels, _flashRect, _flashPointZero);
if (FlxG.showBounds){
drawBounds();
};
if (solid){
refreshHulls();
};
}
public function setFormat(_arg1:String=null, _arg2:Number=8, _arg3:uint=0xFFFFFF, _arg4:String=null, _arg5:uint=0):FlxText{
if (_arg1 == null){
_arg1 = "";
};
var _local6:TextFormat = dtfCopy();
_local6.font = _arg1;
_local6.size = _arg2;
_local6.color = _arg3;
_local6.align = _arg4;
_tf.defaultTextFormat = _local6;
_tf.setTextFormat(_local6);
_shadow = _arg5;
_regen = true;
calcFrame();
return (this);
}
public function set text(_arg1:String):void{
var _local2:String = _tf.text;
_tf.text = _arg1;
if (_tf.text != _local2){
_regen = true;
calcFrame();
};
}
}
}//package org.flixel
Section 65
//FlxTilemap (org.flixel.FlxTilemap)
package org.flixel {
import flash.geom.*;
import flash.display.*;
public class FlxTilemap extends FlxObject {
protected var _bbKey:String;
protected var _screenRows:uint;
protected var _data:Array;
protected var _block:FlxObject;
protected var _rects:Array;
protected var _tileHeight:uint;
public var totalTiles:uint;
protected var _screenCols:uint;
public var auto:uint;
public var collideIndex:uint;
protected var _tileWidth:uint;
public var widthInTiles:uint;
public var heightInTiles:uint;
protected var _pixels:BitmapData;
protected var _callbacks:Array;
protected var _bbPixels:BitmapData;
public var drawIndex:uint;
public var startingIndex:uint;
protected var _flashRect:Rectangle;
public static const ALT:uint = 2;
public static const AUTO:uint = 1;
public static const OFF:uint = 0;
public static var ImgAutoAlt:Class = FlxTilemap_ImgAutoAlt;
public static var ImgAuto:Class = FlxTilemap_ImgAuto;
public function FlxTilemap(){
auto = OFF;
collideIndex = 1;
startingIndex = 0;
drawIndex = 1;
widthInTiles = 0;
heightInTiles = 0;
totalTiles = 0;
_data = null;
_tileWidth = 0;
_tileHeight = 0;
_rects = null;
_pixels = null;
_block = new FlxObject();
_block.width = (_block.height = 0);
_block.fixed = true;
_callbacks = new Array();
fixed = true;
}
override public function overlaps(_arg1:FlxObject):Boolean{
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:Array = new Array();
var _local7:uint = Math.floor(((_arg1.x - x) / _tileWidth));
var _local8:uint = Math.floor(((_arg1.y - y) / _tileHeight));
var _local9:uint = (Math.ceil((_arg1.width / _tileWidth)) + 1);
var _local10:uint = (Math.ceil((_arg1.height / _tileHeight)) + 1);
var _local11:uint;
while (_local11 < _local10) {
if (_local11 >= heightInTiles){
break;
};
_local3 = (((_local8 + _local11) * widthInTiles) + _local7);
_local2 = 0;
while (_local2 < _local9) {
if (_local2 >= widthInTiles){
break;
};
_local5 = (_data[(_local3 + _local2)] as uint);
if (_local5 >= collideIndex){
_local6.push({x:(x + ((_local7 + _local2) * _tileWidth)), y:(y + ((_local8 + _local11) * _tileHeight)), data:_local5});
};
_local2++;
};
_local11++;
};
var _local12:uint = _local6.length;
var _local13:Boolean;
_local4 = 0;
while (_local4 < _local12) {
_block.x = _local6[_local4].x;
_block.y = _local6[_local4].y;
if (_block.overlaps(_arg1)){
return (true);
};
_local4++;
};
return (false);
}
public function loadMap(_arg1:String, _arg2:Class, _arg3:uint=0, _arg4:uint=0):FlxTilemap{
var _local5:uint;
var _local6:Array;
var _local9:uint;
var _local7:Array = _arg1.split("\n");
heightInTiles = _local7.length;
_data = new Array();
var _local8:uint;
while (_local8 < heightInTiles) {
_local6 = _local7[_local8].split(",");
if (_local6.length <= 1){
heightInTiles--;
} else {
if (widthInTiles == 0){
widthInTiles = _local6.length;
};
_local5 = 0;
while (_local5 < widthInTiles) {
_data.push(uint(_local6[_local5]));
_local5++;
};
};
_local8++;
};
totalTiles = (widthInTiles * heightInTiles);
if (auto > OFF){
collideIndex = (startingIndex = (drawIndex = 1));
_local9 = 0;
while (_local9 < totalTiles) {
autoTile(_local9);
_local9++;
};
};
_pixels = FlxG.addBitmap(_arg2);
_tileWidth = _arg3;
if (_tileWidth == 0){
_tileWidth = _pixels.height;
};
_tileHeight = _arg4;
if (_tileHeight == 0){
_tileHeight = _tileWidth;
};
_block.width = _tileWidth;
_block.height = _tileHeight;
width = (widthInTiles * _tileWidth);
height = (heightInTiles * _tileHeight);
_rects = new Array(totalTiles);
_local9 = 0;
while (_local9 < totalTiles) {
updateTile(_local9);
_local9++;
};
_screenRows = (Math.ceil((FlxG.height / _tileHeight)) + 1);
if (_screenRows > heightInTiles){
_screenRows = heightInTiles;
};
_screenCols = (Math.ceil((FlxG.width / _tileWidth)) + 1);
if (_screenCols > widthInTiles){
_screenCols = widthInTiles;
};
_bbKey = String(_arg2);
generateBoundingTiles();
refreshHulls();
return (this);
}
protected function updateTile(_arg1:uint):void{
if (_data[_arg1] < drawIndex){
_rects[_arg1] = null;
return;
};
var _local2:uint = ((_data[_arg1] - startingIndex) * _tileWidth);
var _local3:uint;
if (_local2 >= _pixels.width){
_local3 = (uint((_local2 / _pixels.width)) * _tileHeight);
_local2 = (_local2 % _pixels.width);
};
_rects[_arg1] = new Rectangle(_local2, _local3, _tileWidth, _tileHeight);
}
override public function preCollide(_arg1:FlxObject):void{
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:int = FlxU.floor(((_arg1.x - x) / _tileWidth));
var _local7:int = FlxU.floor(((_arg1.y - y) / _tileHeight));
var _local8:uint = ((_local6 + FlxU.ceil((_arg1.width / _tileWidth))) + 1);
var _local9:uint = ((_local7 + FlxU.ceil((_arg1.height / _tileHeight))) + 1);
if (_local6 < 0){
_local6 = 0;
};
if (_local7 < 0){
_local7 = 0;
};
if (_local8 > widthInTiles){
_local8 = widthInTiles;
};
if (_local9 > heightInTiles){
_local9 = heightInTiles;
};
_local4 = (_local7 * widthInTiles);
_local2 = _local7;
while (_local2 < _local9) {
_local3 = _local6;
while (_local3 < _local8) {
if ((_data[(_local4 + _local3)] as uint) >= collideIndex){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local10 = _temp1;
colOffsets[_local10] = new FlxPoint((x + (_local3 * _tileWidth)), (y + (_local2 * _tileHeight)));
};
_local3++;
};
_local4 = (_local4 + widthInTiles);
_local2++;
};
if (colOffsets.length != _local5){
colOffsets.length = _local5;
};
}
override public function render():void{
renderTilemap();
}
public function getTile(_arg1:uint, _arg2:uint):uint{
return (getTileByIndex(((_arg2 * widthInTiles) + _arg1)));
}
public function ray(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:FlxPoint, _arg6:Number=1):Boolean{
var _local16:uint;
var _local17:uint;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local7:Number = _tileWidth;
if (_tileHeight < _tileWidth){
_local7 = _tileHeight;
};
_local7 = (_local7 / _arg6);
var _local8:Number = (_arg3 - _arg1);
var _local9:Number = (_arg4 - _arg2);
var _local10:Number = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
var _local11:uint = Math.ceil((_local10 / _local7));
var _local12:Number = (_local8 / _local11);
var _local13:Number = (_local9 / _local11);
var _local14:Number = (_arg1 - _local12);
var _local15:Number = (_arg2 - _local13);
var _local18:uint;
while (_local18 < _local11) {
_local14 = (_local14 + _local12);
_local15 = (_local15 + _local13);
if ((((((((_local14 < 0)) || ((_local14 > width)))) || ((_local15 < 0)))) || ((_local15 > height)))){
} else {
_local16 = (_local14 / _tileWidth);
_local17 = (_local15 / _tileHeight);
if ((_data[((_local17 * widthInTiles) + _local16)] as uint) >= collideIndex){
_local16 = (_local16 * _tileWidth);
_local17 = (_local17 * _tileHeight);
_local19 = 0;
_local20 = 0;
_local22 = (_local14 - _local12);
_local23 = (_local15 - _local13);
_local21 = _local16;
if (_local8 < 0){
_local21 = (_local21 + _tileWidth);
};
_local19 = _local21;
_local20 = (_local23 + (_local13 * ((_local21 - _local22) / _local12)));
if ((((_local20 > _local17)) && ((_local20 < (_local17 + _tileHeight))))){
if (_arg5 == null){
_arg5 = new FlxPoint();
};
_arg5.x = _local19;
_arg5.y = _local20;
return (true);
};
_local21 = _local17;
if (_local9 < 0){
_local21 = (_local21 + _tileHeight);
};
_local19 = (_local22 + (_local12 * ((_local21 - _local23) / _local13)));
_local20 = _local21;
if ((((_local19 > _local16)) && ((_local19 < (_local16 + _tileWidth))))){
if (_arg5 == null){
_arg5 = new FlxPoint();
};
_arg5.x = _local19;
_arg5.y = _local20;
return (true);
};
return (false);
};
};
_local18++;
};
return (false);
}
override public function refreshHulls():void{
colHullX.x = 0;
colHullX.y = 0;
colHullX.width = _tileWidth;
colHullX.height = _tileHeight;
colHullY.x = 0;
colHullY.y = 0;
colHullY.width = _tileWidth;
colHullY.height = _tileHeight;
}
public function setTile(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean=true):Boolean{
if ((((_arg1 >= widthInTiles)) || ((_arg2 >= heightInTiles)))){
return (false);
};
return (setTileByIndex(((_arg2 * widthInTiles) + _arg1), _arg3, _arg4));
}
public function follow(_arg1:int=0):void{
FlxG.followBounds((x + (_arg1 * _tileWidth)), (y + (_arg1 * _tileHeight)), (width - (_arg1 * _tileWidth)), (height - (_arg1 * _tileHeight)));
}
public function setCallback(_arg1:uint, _arg2:Function, _arg3:uint=1):void{
FlxG.log("FlxTilemap.setCallback() has been temporarily deprecated, sorry!");
if (_arg3 <= 0){
return;
};
var _local4:uint = _arg1;
while (_local4 < (_arg1 + _arg3)) {
_callbacks[_local4] = _arg2;
_local4++;
};
}
protected function generateBoundingTiles():void{
var _local4:Boolean;
var _local5:BitmapData;
var _local6:BitmapData;
var _local7:uint;
var _local8:uint;
var _local9:uint;
if ((((_bbKey == null)) || ((_bbKey.length <= 0)))){
return;
};
var _local1:uint = getBoundingColor();
var _local2:String = ((_bbKey + ":BBTILES") + _local1);
var _local3:Boolean = FlxG.checkBitmapCache(_local2);
_bbPixels = FlxG.createBitmap(_pixels.width, _pixels.height, 0, true, _local2);
if (!_local3){
_flashRect = new Rectangle();
_flashRect.width = _pixels.width;
_flashRect.height = _pixels.height;
_flashPoint.x = 0;
_flashPoint.y = 0;
_bbPixels.copyPixels(_pixels, _flashRect, _flashPoint);
_flashRect.width = _tileWidth;
_flashRect.height = _tileHeight;
_local4 = _solid;
_solid = false;
_local1 = getBoundingColor();
_local2 = (((("BBTILESTAMP" + _tileWidth) + "X") + _tileHeight) + _local1);
_local3 = FlxG.checkBitmapCache(_local2);
_local5 = FlxG.createBitmap(_tileWidth, _tileHeight, 0, true, _local2);
if (!_local3){
_local5.fillRect(_flashRect, _local1);
_flashRect.x = (_flashRect.y = 1);
_flashRect.width = (_flashRect.width - 2);
_flashRect.height = (_flashRect.height - 2);
_local5.fillRect(_flashRect, 0);
_flashRect.x = (_flashRect.y = 0);
_flashRect.width = _tileWidth;
_flashRect.height = _tileHeight;
};
_solid = _local4;
_local1 = getBoundingColor();
_local2 = (((("BBTILESTAMP" + _tileWidth) + "X") + _tileHeight) + _local1);
_local3 = FlxG.checkBitmapCache(_local2);
_local6 = FlxG.createBitmap(_tileWidth, _tileHeight, 0, true, _local2);
if (!_local3){
_local6.fillRect(_flashRect, _local1);
_flashRect.x = (_flashRect.y = 1);
_flashRect.width = (_flashRect.width - 2);
_flashRect.height = (_flashRect.height - 2);
_local6.fillRect(_flashRect, 0);
_flashRect.x = (_flashRect.y = 0);
_flashRect.width = _tileWidth;
_flashRect.height = _tileHeight;
};
_local9 = 0;
_local7 = 0;
while (_local7 < _bbPixels.height) {
_local8 = 0;
while (_local8 < _bbPixels.width) {
_flashPoint.x = _local8;
_flashPoint.y = _local7;
var _temp1 = _local9;
_local9 = (_local9 + 1);
if (_temp1 < collideIndex){
_bbPixels.copyPixels(_local5, _flashRect, _flashPoint, null, null, true);
} else {
_bbPixels.copyPixels(_local6, _flashRect, _flashPoint, null, null, true);
};
_local8 = (_local8 + _tileWidth);
};
_local7 = (_local7 + _tileHeight);
};
};
}
override public function set solid(_arg1:Boolean):void{
var _local2:Boolean = _solid;
_solid = _arg1;
if (_local2 != _solid){
generateBoundingTiles();
};
}
override public function set fixed(_arg1:Boolean):void{
var _local2:Boolean = _fixed;
_fixed = _arg1;
if (_local2 != _fixed){
generateBoundingTiles();
};
}
public function setTileByIndex(_arg1:uint, _arg2:uint, _arg3:Boolean=true):Boolean{
var _local5:uint;
if (_arg1 >= _data.length){
return (false);
};
var _local4:Boolean;
_data[_arg1] = _arg2;
if (!_arg3){
return (_local4);
};
if (auto == OFF){
updateTile(_arg1);
return (_local4);
};
var _local6:int = (int((_arg1 / widthInTiles)) - 1);
var _local7:int = (_local6 + 3);
var _local8:int = ((_arg1 % widthInTiles) - 1);
var _local9:int = (_local8 + 3);
while (_local6 < _local7) {
_local8 = (_local9 - 3);
while (_local8 < _local9) {
if ((((((((_local6 >= 0)) && ((_local6 < heightInTiles)))) && ((_local8 >= 0)))) && ((_local8 < widthInTiles)))){
_local5 = ((_local6 * widthInTiles) + _local8);
autoTile(_local5);
updateTile(_local5);
};
_local8++;
};
_local6++;
};
return (_local4);
}
public function getTileByIndex(_arg1:uint):uint{
return ((_data[_arg1] as uint));
}
protected function renderTilemap():void{
var _local1:BitmapData;
var _local6:uint;
var _local7:uint;
if (FlxG.showBounds){
_local1 = _bbPixels;
} else {
_local1 = _pixels;
};
getScreenXY(_point);
_flashPoint.x = _point.x;
_flashPoint.y = _point.y;
var _local2:int = Math.floor((-(_flashPoint.x) / _tileWidth));
var _local3:int = Math.floor((-(_flashPoint.y) / _tileHeight));
if (_local2 < 0){
_local2 = 0;
};
if (_local2 > (widthInTiles - _screenCols)){
_local2 = (widthInTiles - _screenCols);
};
if (_local3 < 0){
_local3 = 0;
};
if (_local3 > (heightInTiles - _screenRows)){
_local3 = (heightInTiles - _screenRows);
};
var _local4:int = ((_local3 * widthInTiles) + _local2);
_flashPoint.x = (_flashPoint.x + (_local2 * _tileWidth));
_flashPoint.y = (_flashPoint.y + (_local3 * _tileHeight));
var _local5:int = _flashPoint.x;
var _local8:uint;
while (_local8 < _screenRows) {
_local7 = _local4;
_local6 = 0;
while (_local6 < _screenCols) {
var _temp1 = _local7;
_local7 = (_local7 + 1);
_flashRect = (_rects[_temp1] as Rectangle);
if (_flashRect != null){
FlxG.buffer.copyPixels(_local1, _flashRect, _flashPoint, null, null, true);
};
_flashPoint.x = (_flashPoint.x + _tileWidth);
_local6++;
};
_local4 = (_local4 + widthInTiles);
_flashPoint.x = _local5;
_flashPoint.y = (_flashPoint.y + _tileHeight);
_local8++;
};
}
protected function autoTile(_arg1:uint):void{
if (_data[_arg1] == 0){
return;
};
_data[_arg1] = 0;
if (((((_arg1 - widthInTiles) < 0)) || ((_data[(_arg1 - widthInTiles)] > 0)))){
_data[_arg1] = (_data[_arg1] + 1);
};
if (((((_arg1 % widthInTiles) >= (widthInTiles - 1))) || ((_data[(_arg1 + 1)] > 0)))){
_data[_arg1] = (_data[_arg1] + 2);
};
if (((((_arg1 + widthInTiles) >= totalTiles)) || ((_data[(_arg1 + widthInTiles)] > 0)))){
_data[_arg1] = (_data[_arg1] + 4);
};
if (((((_arg1 % widthInTiles) <= 0)) || ((_data[(_arg1 - 1)] > 0)))){
_data[_arg1] = (_data[_arg1] + 8);
};
if ((((auto == ALT)) && ((_data[_arg1] == 15)))){
if (((((((_arg1 % widthInTiles) > 0)) && (((_arg1 + widthInTiles) < totalTiles)))) && ((_data[((_arg1 + widthInTiles) - 1)] <= 0)))){
_data[_arg1] = 1;
};
if (((((((_arg1 % widthInTiles) > 0)) && (((_arg1 - widthInTiles) >= 0)))) && ((_data[((_arg1 - widthInTiles) - 1)] <= 0)))){
_data[_arg1] = 2;
};
if (((((((_arg1 % widthInTiles) < widthInTiles)) && (((_arg1 - widthInTiles) >= 0)))) && ((_data[((_arg1 - widthInTiles) + 1)] <= 0)))){
_data[_arg1] = 4;
};
if (((((((_arg1 % widthInTiles) < widthInTiles)) && (((_arg1 + widthInTiles) < totalTiles)))) && ((_data[((_arg1 + widthInTiles) + 1)] <= 0)))){
_data[_arg1] = 8;
};
};
_data[_arg1] = (_data[_arg1] + 1);
}
public static function arrayToCSV(_arg1:Array, _arg2:int):String{
var _local3:uint;
var _local4:uint;
var _local5:String;
var _local6:int = (_arg1.length / _arg2);
_local3 = 0;
while (_local3 < _local6) {
_local4 = 0;
while (_local4 < _arg2) {
if (_local4 == 0){
if (_local3 == 0){
_local5 = (_local5 + _arg1[0]);
} else {
_local5 = (_local5 + ("\n" + _arg1[(_local3 * _arg2)]));
};
} else {
_local5 = (_local5 + (", " + _arg1[((_local3 * _arg2) + _local4)]));
};
_local4++;
};
_local3++;
};
return (_local5);
}
public static function pngToCSV(_arg1:Class, _arg2:Boolean=false, _arg3:uint=1):String{
var _local4:Bitmap;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:String;
var _local12:Bitmap;
var _local13:Matrix;
if (_arg3 <= 1){
_local4 = new (_arg1);
} else {
_local12 = new (_arg1);
_local4 = new Bitmap(new BitmapData((_local12.width * _arg3), (_local12.height * _arg3)));
_local13 = new Matrix();
_local13.scale(_arg3, _arg3);
_local4.bitmapData.draw(_local12, _local13);
};
var _local5:BitmapData = _local4.bitmapData;
var _local10:uint = _local4.width;
var _local11:uint = _local4.height;
_local6 = 0;
while (_local6 < _local11) {
_local7 = 0;
while (_local7 < _local10) {
_local8 = _local5.getPixel(_local7, _local6);
if (((((_arg2) && ((_local8 > 0)))) || (((!(_arg2)) && ((_local8 == 0)))))){
_local8 = 1;
} else {
_local8 = 0;
};
if (_local7 == 0){
if (_local6 == 0){
_local9 = (_local9 + _local8);
} else {
_local9 = (_local9 + ("\n" + _local8));
};
} else {
_local9 = (_local9 + (", " + _local8));
};
_local7++;
};
_local6++;
};
return (_local9);
}
}
}//package org.flixel
Section 66
//FlxTilemap_ImgAuto (org.flixel.FlxTilemap_ImgAuto)
package org.flixel {
import mx.core.*;
public class FlxTilemap_ImgAuto extends BitmapAsset {
}
}//package org.flixel
Section 67
//FlxTilemap_ImgAutoAlt (org.flixel.FlxTilemap_ImgAutoAlt)
package org.flixel {
import mx.core.*;
public class FlxTilemap_ImgAutoAlt extends BitmapAsset {
}
}//package org.flixel
Section 68
//FlxU (org.flixel.FlxU)
package org.flixel {
import flash.net.*;
import flash.utils.*;
public class FlxU {
protected static var _originalSeed:Number;
public static var quadTree:FlxQuadTree;
protected static var _seed:Number;
static var roundingError:Number = 1E-7;
public static var quadTreeBounds:FlxRect;
public static var quadTreeDivisions:uint = 3;
public static function random(_arg1:Boolean=true):Number{
var _local2:Number;
if (((_arg1) && (!(isNaN(_seed))))){
_local2 = randomize(_seed);
_seed = mutate(_seed, _local2);
return (_local2);
};
return (Math.random());
}
public static function mutate(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 + _arg2);
if (_arg1 > 1){
_arg1 = (_arg1 - int(_arg1));
};
return (_arg1);
}
public static function overlap(_arg1:FlxObject, _arg2:FlxObject, _arg3:Function=null):Boolean{
if ((((((((_arg1 == null)) || (!(_arg1.exists)))) || ((_arg2 == null)))) || (!(_arg2.exists)))){
return (false);
};
quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height);
quadTree.add(_arg1, FlxQuadTree.A_LIST);
if (_arg1 === _arg2){
return (quadTree.overlap(false, _arg3));
};
quadTree.add(_arg2, FlxQuadTree.B_LIST);
return (quadTree.overlap(true, _arg3));
}
public static function openURL(_arg1:String):void{
navigateToURL(new URLRequest(_arg1), "_blank");
}
public static function endProfile(_arg1:uint, _arg2:String="Profiler", _arg3:Boolean=true):uint{
var _local4:uint = getTimer();
if (_arg3){
FlxG.log((((_arg2 + ": ") + ((_local4 - _arg1) / 1000)) + "s"));
};
return (_local4);
}
public static function getClass(_arg1:String):Class{
return ((getDefinitionByName(_arg1) as Class));
}
public static function floor(_arg1:Number):Number{
var _local2:Number = int(_arg1);
return (((_arg1)>0) ? _local2 : ((_local2)!=_arg1) ? (_local2 - 1) : _local2);
}
public static function solveYCollision(_arg1:FlxObject, _arg2:FlxObject):Boolean{
var _local5:Number;
var _local7:Boolean;
var _local14:uint;
var _local15:uint;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local3:Number = _arg1.colVector.y;
var _local4:Number = _arg2.colVector.y;
if (_local3 == _local4){
return (false);
};
_arg1.preCollide(_arg2);
_arg2.preCollide(_arg1);
var _local6:Boolean;
var _local8 = (_local3 == 0);
var _local9 = (_local3 < 0);
var _local10 = (_local3 > 0);
var _local11 = (_local4 == 0);
var _local12 = (_local4 < 0);
var _local13 = (_local4 > 0);
var _local16:FlxRect = _arg1.colHullY;
var _local17:FlxRect = _arg2.colHullY;
var _local18:Array = _arg1.colOffsets;
var _local19:Array = _arg2.colOffsets;
var _local20:uint = _local18.length;
var _local21:uint = _local19.length;
_local7 = ((((((((((_local8) && (_local12))) || (((_local10) && (_local11))))) || (((_local10) && (_local12))))) || (((((_local9) && (_local12))) && ((((_local3)>0) ? _local3 : -(_local3) < ((_local4)>0) ? _local4 : -(_local4))))))) || (((((_local10) && (_local13))) && ((((_local3)>0) ? _local3 : -(_local3) > ((_local4)>0) ? _local4 : -(_local4))))));
if ((_local7) ? ((!(_arg1.collideBottom)) || (!(_arg2.collideTop))) : ((!(_arg1.collideTop)) || (!(_arg2.collideBottom)))){
return (false);
};
_local14 = 0;
while (_local14 < _local20) {
_local22 = _local18[_local14].x;
_local23 = _local18[_local14].y;
_local16.x = (_local16.x + _local22);
_local16.y = (_local16.y + _local23);
_local15 = 0;
while (_local15 < _local21) {
_local24 = _local19[_local15].x;
_local25 = _local19[_local15].y;
_local17.x = (_local17.x + _local24);
_local17.y = (_local17.y + _local25);
if (((((((((_local16.x + _local16.width) < (_local17.x + roundingError))) || (((_local16.x + roundingError) > (_local17.x + _local17.width))))) || (((_local16.y + _local16.height) < (_local17.y + roundingError))))) || (((_local16.y + roundingError) > (_local17.y + _local17.height))))){
_local17.x = (_local17.x - _local24);
_local17.y = (_local17.y - _local25);
} else {
if (_local7){
if (_local9){
_local26 = (_local16.y + _arg1.colHullX.height);
} else {
_local26 = (_local16.y + _local16.height);
};
if (_local12){
_local27 = _local17.y;
} else {
_local27 = ((_local17.y + _local17.height) - _arg2.colHullX.height);
};
} else {
if (_local12){
_local26 = (-(_local17.y) - _arg2.colHullX.height);
} else {
_local26 = (-(_local17.y) - _local17.height);
};
if (_local9){
_local27 = -(_local16.y);
} else {
_local27 = ((-(_local16.y) - _local16.height) + _arg1.colHullX.height);
};
};
_local5 = (_local26 - _local27);
if ((((((_local5 == 0)) || (((!(_arg1.fixed)) && ((((_local5)>0) ? _local5 : -(_local5) > (_local16.height * 0.8))))))) || (((!(_arg2.fixed)) && ((((_local5)>0) ? _local5 : -(_local5) > (_local17.height * 0.8))))))){
_local17.x = (_local17.x - _local24);
_local17.y = (_local17.y - _local25);
} else {
_local6 = true;
_local28 = _arg2.velocity.y;
_local29 = _arg1.velocity.y;
if (((!(_arg1.fixed)) && (_arg2.fixed))){
if (_arg1._group){
_arg1.reset(_arg1.x, (_arg1.y - _local5));
} else {
_arg1.y = (_arg1.y - _local5);
};
} else {
if (((_arg1.fixed) && (!(_arg2.fixed)))){
if (_arg2._group){
_arg2.reset(_arg2.x, (_arg2.y + _local5));
} else {
_arg2.y = (_arg2.y + _local5);
};
} else {
if (((!(_arg1.fixed)) && (!(_arg2.fixed)))){
_local5 = (_local5 / 2);
if (_arg1._group){
_arg1.reset(_arg1.x, (_arg1.y - _local5));
} else {
_arg1.y = (_arg1.y - _local5);
};
if (_arg2._group){
_arg2.reset(_arg2.x, (_arg2.y + _local5));
} else {
_arg2.y = (_arg2.y + _local5);
};
_local28 = (_local28 / 2);
_local29 = (_local29 / 2);
};
};
};
if (_local7){
_arg1.hitBottom(_arg2, _local28);
_arg2.hitTop(_arg1, _local29);
} else {
_arg1.hitTop(_arg2, _local28);
_arg2.hitBottom(_arg1, _local29);
};
if (((!(_arg1.fixed)) && (!((_local5 == 0))))){
if (_local7){
_local16.y = (_local16.y - _local5);
if (((_arg2.fixed) && (_arg2.moves))){
_local28 = _arg2.colVector.x;
_arg1.x = (_arg1.x + _local28);
_local16.x = (_local16.x + _local28);
_arg1.colHullX.x = (_arg1.colHullX.x + _local28);
};
} else {
_local16.y = (_local16.y - _local5);
_local16.height = (_local16.height + _local5);
};
};
if (((!(_arg2.fixed)) && (!((_local5 == 0))))){
if (_local7){
_local17.y = (_local17.y + _local5);
_local17.height = (_local17.height - _local5);
} else {
_local17.height = (_local17.height + _local5);
if (((_arg1.fixed) && (_arg1.moves))){
_local29 = _arg1.colVector.x;
_arg2.x = (_arg2.x + _local29);
_local17.x = (_local17.x + _local29);
_arg2.colHullX.x = (_arg2.colHullX.x + _local29);
};
};
};
_local17.x = (_local17.x - _local24);
_local17.y = (_local17.y - _local25);
};
};
_local15++;
};
_local16.x = (_local16.x - _local22);
_local16.y = (_local16.y - _local23);
_local14++;
};
return (_local6);
}
public static function ceil(_arg1:Number):Number{
var _local2:Number = int(_arg1);
return (((_arg1)>0) ? ((_local2)!=_arg1) ? (_local2 + 1) : _local2 : _local2);
}
public static function getAngle(_arg1:Number, _arg2:Number):Number{
return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI));
}
public static function setWorldBounds(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:uint=3):void{
if (quadTreeBounds == null){
quadTreeBounds = new FlxRect();
};
quadTreeBounds.x = _arg1;
quadTreeBounds.y = _arg2;
if (_arg3 > 0){
quadTreeBounds.width = _arg3;
};
if (_arg4 > 0){
quadTreeBounds.height = _arg4;
};
if (_arg5 > 0){
quadTreeDivisions = _arg5;
};
}
public static function startProfile():uint{
return (getTimer());
}
public static function set seed(_arg1:Number):void{
_seed = _arg1;
_originalSeed = _seed;
}
public static function getClassName(_arg1:Object, _arg2:Boolean=false):String{
var _local3:String = getQualifiedClassName(_arg1);
_local3 = _local3.replace("::", ".");
if (_arg2){
_local3 = _local3.substr((_local3.lastIndexOf(".") + 1));
};
return (_local3);
}
public static function randomize(_arg1:Number):Number{
return ((((69621 * int((_arg1 * 2147483647))) % 2147483647) / 2147483647));
}
public static function abs(_arg1:Number):Number{
return (((_arg1)>0) ? _arg1 : -(_arg1));
}
public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:FlxPoint=null):FlxPoint{
if (_arg6 == null){
_arg6 = new FlxPoint();
};
var _local7:Number = ((-(_arg5) / 180) * Math.PI);
var _local8:Number = (_arg1 - _arg3);
var _local9:Number = (_arg4 - _arg2);
_arg6.x = ((_arg3 + (Math.cos(_local7) * _local8)) - (Math.sin(_local7) * _local9));
_arg6.y = (_arg4 - ((Math.sin(_local7) * _local8) + (Math.cos(_local7) * _local9)));
return (_arg6);
}
public static function get seed():Number{
return (_originalSeed);
}
public static function solveXCollision(_arg1:FlxObject, _arg2:FlxObject):Boolean{
var _local5:Boolean;
var _local6:Boolean;
var _local7:Number;
var _local9:Boolean;
var _local16:uint;
var _local17:uint;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local3:Number = _arg1.colVector.x;
var _local4:Number = _arg2.colVector.x;
if (_local3 == _local4){
return (false);
};
_arg1.preCollide(_arg2);
_arg2.preCollide(_arg1);
var _local8:Boolean;
var _local10 = (_local3 == 0);
var _local11 = (_local3 < 0);
var _local12 = (_local3 > 0);
var _local13 = (_local4 == 0);
var _local14 = (_local4 < 0);
var _local15 = (_local4 > 0);
var _local18:FlxRect = _arg1.colHullX;
var _local19:FlxRect = _arg2.colHullX;
var _local20:Array = _arg1.colOffsets;
var _local21:Array = _arg2.colOffsets;
var _local22:uint = _local20.length;
var _local23:uint = _local21.length;
_local9 = ((((((((((_local10) && (_local14))) || (((_local12) && (_local13))))) || (((_local12) && (_local14))))) || (((((_local11) && (_local14))) && ((((_local3)>0) ? _local3 : -(_local3) < ((_local4)>0) ? _local4 : -(_local4))))))) || (((((_local12) && (_local15))) && ((((_local3)>0) ? _local3 : -(_local3) > ((_local4)>0) ? _local4 : -(_local4))))));
if ((_local9) ? ((!(_arg1.collideRight)) || (!(_arg2.collideLeft))) : ((!(_arg1.collideLeft)) || (!(_arg2.collideRight)))){
return (false);
};
_local16 = 0;
while (_local16 < _local22) {
_local24 = _local20[_local16].x;
_local25 = _local20[_local16].y;
_local18.x = (_local18.x + _local24);
_local18.y = (_local18.y + _local25);
_local17 = 0;
while (_local17 < _local23) {
_local26 = _local21[_local17].x;
_local27 = _local21[_local17].y;
_local19.x = (_local19.x + _local26);
_local19.y = (_local19.y + _local27);
if (((((((((_local18.x + _local18.width) < (_local19.x + roundingError))) || (((_local18.x + roundingError) > (_local19.x + _local19.width))))) || (((_local18.y + _local18.height) < (_local19.y + roundingError))))) || (((_local18.y + roundingError) > (_local19.y + _local19.height))))){
_local19.x = (_local19.x - _local26);
_local19.y = (_local19.y - _local27);
} else {
if (_local9){
if (_local11){
_local28 = (_local18.x + _arg1.colHullY.width);
} else {
_local28 = (_local18.x + _local18.width);
};
if (_local14){
_local29 = _local19.x;
} else {
_local29 = ((_local19.x + _local19.width) - _arg2.colHullY.width);
};
} else {
if (_local14){
_local28 = (-(_local19.x) - _arg2.colHullY.width);
} else {
_local28 = (-(_local19.x) - _local19.width);
};
if (_local11){
_local29 = -(_local18.x);
} else {
_local29 = ((-(_local18.x) - _local18.width) + _arg1.colHullY.width);
};
};
_local7 = (_local28 - _local29);
if ((((((_local7 == 0)) || (((!(_arg1.fixed)) && ((((_local7)>0) ? _local7 : -(_local7) > (_local18.width * 0.8))))))) || (((!(_arg2.fixed)) && ((((_local7)>0) ? _local7 : -(_local7) > (_local19.width * 0.8))))))){
_local19.x = (_local19.x - _local26);
_local19.y = (_local19.y - _local27);
} else {
_local8 = true;
_local30 = _arg2.velocity.x;
_local31 = _arg1.velocity.x;
if (((!(_arg1.fixed)) && (_arg2.fixed))){
if (_arg1._group){
_arg1.reset((_arg1.x - _local7), _arg1.y);
} else {
_arg1.x = (_arg1.x - _local7);
};
} else {
if (((_arg1.fixed) && (!(_arg2.fixed)))){
if (_arg2._group){
_arg2.reset((_arg2.x + _local7), _arg2.y);
} else {
_arg2.x = (_arg2.x + _local7);
};
} else {
if (((!(_arg1.fixed)) && (!(_arg2.fixed)))){
_local7 = (_local7 / 2);
if (_arg1._group){
_arg1.reset((_arg1.x - _local7), _arg1.y);
} else {
_arg1.x = (_arg1.x - _local7);
};
if (_arg2._group){
_arg2.reset((_arg2.x + _local7), _arg2.y);
} else {
_arg2.x = (_arg2.x + _local7);
};
_local30 = (_local30 / 2);
_local31 = (_local31 / 2);
};
};
};
if (_local9){
_arg1.hitRight(_arg2, _local30);
_arg2.hitLeft(_arg1, _local31);
} else {
_arg1.hitLeft(_arg2, _local30);
_arg2.hitRight(_arg1, _local31);
};
if (((!(_arg1.fixed)) && (!((_local7 == 0))))){
if (_local9){
_local18.width = (_local18.width - _local7);
} else {
_local18.x = (_local18.x - _local7);
_local18.width = (_local18.width + _local7);
};
_arg1.colHullY.x = (_arg1.colHullY.x - _local7);
};
if (((!(_arg2.fixed)) && (!((_local7 == 0))))){
if (_local9){
_local19.x = (_local19.x + _local7);
_local19.width = (_local19.width - _local7);
} else {
_local19.width = (_local19.width + _local7);
};
_arg2.colHullY.x = (_arg2.colHullY.x + _local7);
};
_local19.x = (_local19.x - _local26);
_local19.y = (_local19.y - _local27);
};
};
_local17++;
};
_local18.x = (_local18.x - _local24);
_local18.y = (_local18.y - _local25);
_local16++;
};
return (_local8);
}
public static function computeVelocity(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10000):Number{
var _local5:Number;
if (_arg2 != 0){
_arg1 = (_arg1 + (_arg2 * FlxG.dt));
} else {
if (_arg3 != 0){
_local5 = (_arg3 * FlxG.dt);
if ((_arg1 - _local5) > 0){
_arg1 = (_arg1 - _local5);
} else {
if ((_arg1 + _local5) < 0){
_arg1 = (_arg1 + _local5);
} else {
_arg1 = 0;
};
};
};
};
if (((!((_arg1 == 0))) && (!((_arg4 == 10000))))){
if (_arg1 > _arg4){
_arg1 = _arg4;
} else {
if (_arg1 < -(_arg4)){
_arg1 = -(_arg4);
};
};
};
return (_arg1);
}
public static function collide(_arg1:FlxObject, _arg2:FlxObject):Boolean{
if ((((((((_arg1 == null)) || (!(_arg1.exists)))) || ((_arg2 == null)))) || (!(_arg2.exists)))){
return (false);
};
quadTree = new FlxQuadTree(quadTreeBounds.x, quadTreeBounds.y, quadTreeBounds.width, quadTreeBounds.height);
quadTree.add(_arg1, FlxQuadTree.A_LIST);
var _local3 = (_arg1 === _arg2);
if (!_local3){
quadTree.add(_arg2, FlxQuadTree.B_LIST);
};
var _local4:Boolean = quadTree.overlap(!(_local3), solveXCollision);
var _local5:Boolean = quadTree.overlap(!(_local3), solveYCollision);
return (((_local4) || (_local5)));
}
}
}//package org.flixel
Section 69
//Log (SWFStats.Log)
package SWFStats {
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
import flash.external.*;
public final class Log {
private static const PingR:Timer = new Timer(30000);
private static const PingF:Timer = new Timer(60000);
public static var GUID:String = "";
private static var Plays:int = 0;
public static var Enabled:Boolean = false;
private static var FirstPing:Boolean = true;
private static var Request:LogRequest = new LogRequest();
private static var Pings:int = 0;
private static var HighestGoal:int = 0;
public static var SourceUrl:String;
public static var SWFID:int = 0;
private static function Clean(_arg1:String):String{
return (escape(_arg1.replace("/", "\\").replace("~", "-")));
}
private static function SaveCookie(_arg1:String, _arg2:int):void{
var _local3:SharedObject = SharedObject.getLocal("swfstats");
_local3.data[_arg1] = _arg2.toString();
_local3.flush();
}
public static function View(_arg1:int=0, _arg2:String="", _arg3:String=""):void{
if (SWFID > 0){
return;
};
SWFID = _arg1;
GUID = _arg2;
Enabled = true;
if ((((SWFID == 0)) || ((GUID == "")))){
Enabled = false;
return;
};
if (((((!((_arg3.indexOf("http://") == 0))) && (!((Security.sandboxType == "localWithNetwork"))))) && (!((Security.sandboxType == "localTrusted"))))){
Enabled = false;
return;
};
SourceUrl = GetUrl(_arg3);
if ((((SourceUrl == null)) || ((SourceUrl == "")))){
Enabled = false;
return;
};
Security.allowDomain("http://tracker.swfstats.com/");
Security.allowInsecureDomain("http://tracker.swfstats.com/");
Security.loadPolicyFile("http://tracker.swfstats.com/crossdomain.xml");
Security.allowDomain("http://utils.swfstats.com/");
Security.allowInsecureDomain("http://utils.swfstats.com/");
Security.loadPolicyFile("http://utils.swfstats.com/crossdomain.xml");
var _local4:int = GetCookie("views");
_local4++;
SaveCookie("views", _local4);
Send(("v/" + _local4));
PingF.addEventListener(TimerEvent.TIMER, PingServer);
PingF.start();
}
public static function LevelCounterMetric(_arg1:String, _arg2):void{
if (!Enabled){
return;
};
Send(((("lc/" + Clean(_arg1)) + "/") + Clean(_arg2)));
}
public static function Play():void{
if (!Enabled){
return;
};
Plays++;
Send(("p/" + Plays));
}
private static function Send(_arg1:String):void{
Request.Queue(_arg1);
if (Request.Ready){
Request.Send();
Request = new LogRequest();
};
}
private static function GetUrl(_arg1:String):String{
var url:String;
var defaulturl = _arg1;
if (ExternalInterface.available){
try {
url = String(ExternalInterface.call("window.location.href.toString"));
} catch(s:Error) {
url = defaulturl;
};
} else {
if (defaulturl.indexOf("http://") == 0){
url = defaulturl;
};
};
if ((((((url == null)) || ((url == "")))) || ((url == "null")))){
if ((((Security.sandboxType == "localWithNetwork")) || ((Security.sandboxType == "localTrusted")))){
url = "http://local-testing/";
} else {
url = null;
};
};
return (url);
}
public static function LevelRangedMetric(_arg1:String, _arg2, _arg3:int):void{
if (!Enabled){
return;
};
Send(((((("lr/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3));
}
private static function GetCookie(_arg1:String):int{
var _local2:SharedObject = SharedObject.getLocal("swfstats");
if (_local2.data[_arg1] == undefined){
return (0);
};
return (int(_local2.data[_arg1]));
}
public static function Goal(_arg1:int, _arg2:String):void{
}
private static function PingServer(... _args):void{
if (!Enabled){
return;
};
Pings++;
Send(((("t/" + (FirstPing) ? "y" : "n") + "/") + Pings));
if (FirstPing){
PingF.stop();
PingR.addEventListener(TimerEvent.TIMER, PingServer);
PingR.start();
FirstPing = false;
};
}
public static function LevelAverageMetric(_arg1:String, _arg2, _arg3:int):void{
if (!Enabled){
return;
};
Send(((((("la/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3));
}
public static function CustomMetric(_arg1:String, _arg2:String=null):void{
if (!Enabled){
return;
};
if (_arg2 == null){
_arg2 = "";
};
Send(((("c/" + Clean(_arg1)) + "/") + Clean(_arg2)));
}
}
}//package SWFStats
Section 70
//LogRequest (SWFStats.LogRequest)
package SWFStats {
import flash.events.*;
import flash.net.*;
public final class LogRequest {
public var Ready:Boolean;// = false
private var Pieces:int;
private var Retries:int;// = 0
private var Data:String;// = ""
private function SecurityErrorHandler(_arg1:SecurityErrorEvent):void{
this.Retry();
}
private function Retry():void{
this.Retries++;
if (this.Retries == 3){
Log.Enabled = false;
} else {
if (Log.Enabled){
this.Send();
};
};
}
private function StatusChange(_arg1:HTTPStatusEvent):void{
}
public function Send():void{
var _local1:URLLoader = new URLLoader();
_local1.addEventListener(IOErrorEvent.IO_ERROR, this.IOErrorHandler);
_local1.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.StatusChange);
_local1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityErrorHandler);
_local1.load(new URLRequest((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z")));
}
public function Queue(_arg1:String):void{
this.Pieces++;
this.Data = (this.Data + (((this.Data == "")) ? "" : "~" + _arg1));
if ((((this.Pieces == 8)) || ((this.Data.length > 300)))){
this.Ready = true;
};
}
private function IOErrorHandler(_arg1:IOErrorEvent):void{
this.Retry();
}
}
}//package SWFStats
Section 71
//BloodParticle (BloodParticle)
package {
import org.flixel.*;
public class BloodParticle extends FlxSprite {
public function BloodParticle(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map["bloodPart"]);
solid = true;
width = (height = 4);
this.colOffsets[0].y = -3;
}
}
}//package
Section 72
//Camera (Camera)
package {
import org.flixel.*;
import flash.geom.*;
import General.*;
public class Camera extends FlxSprite {
public var lookAng:Number;// = 0
public function Camera(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, null);
loadGraphic(Resources.map[("cameraPan" + LvlManager.bonus)], true, false, 10, 10, false);
addAnimation("0", [0]);
addAnimation("20", [1]);
addAnimation("40", [2]);
addAnimation("60", [3]);
addAnimation("80", [4]);
addAnimation("100", [5]);
addAnimation("120", [6]);
addAnimation("140", [7]);
addAnimation("160", [8]);
}
override public function update():void{
var _local2:int;
var _local3:int;
super.update();
var _local1:TestSprite = ZeroLevel(FlxG.state).myOgmo;
if (_local1){
_local2 = Util.VectorToAngle(new Point((_local1.x - x), (_local1.y - y)));
lookAng = (lookAng + ((_local2 - lookAng) * 0.05));
_local3 = (Math.floor((lookAng / 20)) * 20);
if ((((_local3 <= 160)) && ((_local3 >= 0)))){
play(_local3.toString());
};
};
}
}
}//package
Section 73
//Candy (Candy)
package {
import org.flixel.*;
public class Candy extends FlxSprite {
public var candyPlace:FlxSound;
public var candyPick:FlxSound;
public function Candy(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map[("candyPink" + LvlManager.bonus)], true, false, 10, 10, false);
addAnimation("place", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], 24, false);
play("place");
fixed = true;
solid = false;
candyPlace = new FlxSound();
candyPlace.loadEmbedded(Resources.map["candyPlace"]);
candyPlace.play();
candyPick = new FlxSound();
candyPick.loadEmbedded(Resources.map["candyPick"]);
}
override public function kill():void{
super.kill();
}
}
}//package
Section 74
//DustParticle (DustParticle)
package {
import org.flixel.*;
public class DustParticle extends FlxSprite {
public function DustParticle(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["particleSmoke"], true, false, 3, 3);
addAnimation("normal", [0, 1, 2, 3, 4, 5], 10, false);
}
public function resetAnim():void{
_caf = 0;
_curFrame = 0;
calcFrame();
play("normal", true);
}
override public function update():void{
if (finished){
visible = false;
};
velocity.x = (velocity.x * 0.99);
velocity.y = (velocity.y * 0.99);
super.update();
}
override public function onEmit():void{
super.onEmit();
velocity.x = (velocity.y = 0);
velocity.x = ((FlxU.random() * 20) - 10);
velocity.y = ((FlxU.random() * 20) - 10);
acceleration.x = (acceleration.y = 0);
}
}
}//package
Section 75
//EnemyCrusher (EnemyCrusher)
package {
import org.flixel.*;
public class EnemyCrusher extends FlxSprite {
public var retractTimer:int;// = 0
public var startPoint:FlxPoint;
public var hitTimer:int;// = 2000
public var endPoint:FlxPoint;
public var readyToTrigger:Boolean;// = true
public function EnemyCrusher(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["enemy_crusher"], true, false, 10, 30);
addAnimation("dropSpark", [0, 1], 24, false);
addAnimation("drop", [2, 3, 4, 5], 24, true);
addAnimation("idle", [6], 24, true);
addAnimation("upSpark", [7, 8, 9, 10, 11], 24, false);
addAnimation("reset", [12, 13, 14], 24, true);
play("idle");
offset.y = 10;
height = 20;
refreshHulls();
fixed = true;
}
public function setPath(_arg1:FlxPoint, _arg2:FlxPoint):void{
startPoint = _arg1;
startPoint.y = (startPoint.y + offset.y);
endPoint = _arg2;
endPoint.y = (endPoint.y + offset.y);
x = startPoint.x;
y = startPoint.y;
readyToTrigger = true;
}
override public function update():void{
if (readyToTrigger){
hitTimer = (hitTimer - (FlxG.dt * 1000));
if (hitTimer <= 0){
readyToTrigger = false;
play("dropSpark");
};
} else {
if ((((_curAnim.name == "dropSpark")) && (finished))){
play("drop");
} else {
if (_curAnim.name == "drop"){
acceleration.y = 750;
if (onFloor){
play("idle");
retractTimer = 2000;
acceleration.y = 0;
velocity.y = 0;
x = endPoint.x;
y = endPoint.y;
};
} else {
if (_curAnim.name == "idle"){
retractTimer = (retractTimer - (FlxG.dt * 1000));
if (retractTimer <= 0){
play("upSpark");
};
} else {
if (_curAnim.name == "upSpark"){
velocity.y = -75;
if (y < startPoint.y){
play("idle");
readyToTrigger = true;
velocity.x = (velocity.y = 0);
x = startPoint.x;
y = startPoint.y;
hitTimer = 2000;
};
};
};
};
};
};
super.update();
}
}
}//package
Section 76
//EnemyFlyer (EnemyFlyer)
package {
import org.flixel.*;
public class EnemyFlyer extends FlxSprite {
public var maxSpeed:Number;// = 50
public var curSpeed:Number;// = 50
public var nodes:Array;
public function EnemyFlyer(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, null);
loadGraphic(Resources.map["enemy_flyer"], true, false, 10, 13);
addAnimation("move", [0, 1, 2, 3, 4, 5], 30, true);
play("move", true);
colOffsets[0].y = -4;
offset.y = 4;
nodes = [];
fixed = true;
}
override public function hitLeft(_arg1:FlxObject, _arg2:Number):void{
}
override public function hitRight(_arg1:FlxObject, _arg2:Number):void{
}
public function addNode(_arg1:FlxPoint):void{
nodes.push(_arg1);
}
override public function update():void{
if (((nodes) && ((nodes.length > 0)))){
_flashPoint.x = (x - nodes[0].x);
_flashPoint.y = (y - nodes[0].y);
if (_flashPoint.length < 4){
nextNode();
} else {
if (_flashPoint.length < 20){
if (curSpeed > 20){
curSpeed = (curSpeed * 0.96);
};
} else {
curSpeed = (curSpeed + ((maxSpeed - curSpeed) * 0.06));
};
};
_flashPoint.normalize(curSpeed);
velocity.x = -(_flashPoint.x);
velocity.y = -(_flashPoint.y);
};
if ((velocity.x * scale.x) > 0){
scale.x = (scale.x * -1);
};
super.update();
}
public function nextNode():void{
nodes.push(nodes.shift());
}
override public function hitTop(_arg1:FlxObject, _arg2:Number):void{
}
override public function hitBottom(_arg1:FlxObject, _arg2:Number):void{
}
}
}//package
Section 77
//EnemyLauncher (EnemyLauncher)
package {
import org.flixel.*;
public class EnemyLauncher extends FlxSprite {
public var jumpd:Boolean;// = false
public function EnemyLauncher(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["enemy_launcher"], true, false, 30, 10);
addAnimation("jump", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 24, false);
play("jump");
solid = true;
acceleration.y = 500;
}
override public function update():void{
if (((((onFloor) && ((_curFrame == 12)))) && (!(jumpd)))){
velocity.y = -150;
if (((FlxU.random() * 100) - 50) > 0){
velocity.x = 50;
} else {
velocity.x = -50;
};
jumpd = true;
onFloor = false;
};
if (((jumpd) && (onFloor))){
velocity.x = 0;
jumpd = false;
_curFrame = 0;
_caf = this._animations[0].frames[_curFrame];
calcFrame();
play("jump", true);
};
super.update();
}
}
}//package
Section 78
//EnemyWalker (EnemyWalker)
package {
import org.flixel.*;
public class EnemyWalker extends FlxSprite {
public var maxSpeed:Number;// = 15
public var curSpeed:Number;// = 15
public var nodes:Array;
public function EnemyWalker(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["enemy_walker"], true, false, 10, 10);
addAnimation("walk", [0, 1, 2, 3, 4, 5, 6, 7], 24, true);
play("walk");
nodes = [];
fixed = true;
}
override public function hitLeft(_arg1:FlxObject, _arg2:Number):void{
}
override public function hitRight(_arg1:FlxObject, _arg2:Number):void{
}
public function addNode(_arg1:FlxPoint):void{
nodes.push(_arg1);
}
override public function update():void{
if (((nodes) && ((nodes.length > 0)))){
_flashPoint.x = (x - nodes[0].x);
_flashPoint.y = 0;
if (_flashPoint.length < 6){
nextNode();
} else {
if (_flashPoint.length < 20){
if (curSpeed > 20){
curSpeed = (curSpeed * 0.96);
};
} else {
curSpeed = (curSpeed + ((maxSpeed - curSpeed) * 0.06));
};
};
curSpeed = maxSpeed;
_flashPoint.normalize(curSpeed);
velocity.x = -(_flashPoint.x);
};
if ((velocity.x * scale.x) > 0){
scale.x = (scale.x * -1);
};
super.update();
}
public function nextNode():void{
nodes.push(nodes.shift());
}
override public function hitTop(_arg1:FlxObject, _arg2:Number):void{
}
override public function hitBottom(_arg1:FlxObject, _arg2:Number):void{
}
}
}//package
Section 79
//FixedGrapple (FixedGrapple)
package {
public class FixedGrapple extends GrapplePoint {
public function FixedGrapple(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map[("grapple_point" + LvlManager.bonus)]);
}
}
}//package
Section 80
//FloatingGrapple (FloatingGrapple)
package {
public class FloatingGrapple extends GrapplePoint {
public function FloatingGrapple(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map["grapple_floater"]);
fixed = true;
}
}
}//package
Section 81
//G055_Animation (G055_Animation)
package {
import org.flixel.*;
public class G055_Animation {
public function G055_Animation(_arg1:FlxSprite){
_arg1.addAnimation("idle", [1], 5, true);
_arg1.addAnimation("run", [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], 24, true);
_arg1.addAnimation("grapple", [7, 8, 9, 10, 11, 12], 24, true);
_arg1.addAnimation("grappleSwing", [32, 33, 34, 35, 36, 37], 24, true);
_arg1.addAnimation("grappleUp", [27, 28, 29, 30, 31], 24, true);
_arg1.addAnimation("wallSlide", [80], 30, true);
_arg1.addAnimation("spikeDeath", [91, 92, 93, 94, 95], 24, false);
_arg1.addAnimation("respawn", [96, 97, 98, 99, 100, 101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 104, 105, 106, 107, 108, 109], 24, false);
_arg1.addAnimation("unspawn", [109, 108, 107, 106, 105, 104, 103, 102, 102, 102, 102, 102, 102, 102, 102, 101, 100, 99, 98, 97, 96], 24, false);
_arg1.addAnimation("pressDown", [39, 40, 41, 42, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 46, 46, 47, 47, 39], 24, false);
_arg1.addAnimation("jumpUp", [48, 49, 50, 51, 52, 53], 24, true);
_arg1.addAnimation("jumpMid", [54, 55, 56, 57], 24, true);
_arg1.addAnimation("jumpDown", [58, 59, 60, 61, 62, 63], 24, false);
_arg1.addAnimation("jumpDive", [64, 65, 66, 67, 68, 69], 24, true);
_arg1.addAnimation("jumpLand", [74, 75, 76, 77, 78, 79], 24, false);
}
}
}//package
Section 82
//Goal (Goal)
package {
import org.flixel.*;
public class Goal extends FlxSprite {
public function Goal(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map[("goal" + LvlManager.bonus)]);
width = 20;
colOffsets[0].x = -5;
this.refreshHulls();
solid = true;
}
}
}//package
Section 83
//Grapple_BG (Grapple_BG)
package {
import org.flixel.*;
public class Grapple_BG extends FlxSprite {
public var targGrapple:GrapplePoint;
public function Grapple_BG(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map[("grapple_bg" + LvlManager.bonus)]);
}
override public function update():void{
x = (targGrapple.x - 50);
y = (targGrapple.y - 50);
super.update();
}
}
}//package
Section 84
//GrapplePoint (GrapplePoint)
package {
import org.flixel.*;
public class GrapplePoint extends FlxSprite {
public function GrapplePoint(_arg1:Number=0, _arg2:Number=0, _arg3:Class=null){
super(_arg1, _arg2, _arg3);
solid = false;
}
}
}//package
Section 85
//Idle_Window_Sci (Idle_Window_Sci)
package {
import org.flixel.*;
public class Idle_Window_Sci extends FlxSprite {
public function Idle_Window_Sci(_arg1:Number=0, _arg2:Number=0, _arg3:String="60x30"){
super(_arg1, _arg2, Resources.map[(("window_scientists" + _arg3) + LvlManager.bonus)]);
}
}
}//package
Section 86
//LevelPreview (LevelPreview)
package {
import flash.display.*;
import flash.utils.*;
public class LevelPreview extends MovieClip {
public var handle:String;// = ""
public var hasCandy:Boolean;// = false
public function LevelPreview(){
alpha = 0.4;
}
public function loadLevel(_arg1:String):void{
graphics.clear();
handle = _arg1;
var _local2:* = Resources.map[handle];
var _local3:ByteArray = new (_local2);
var _local4:String = _local3.readUTFBytes(_local3.length);
var _local5:XML = new XML(_local4);
loadTiles(_local5.collisionTiles[0], 10, 10);
hasCandy = false;
if (_local5..candyPink.length() > 0){
hasCandy = true;
};
width = 300;
height = 150;
}
public function loadTiles(_arg1:XML, _arg2:int, _arg3:int):void{
var _local4:XML;
graphics.lineStyle(1, 0x444444, 0);
for each (_local4 in _arg1.tile) {
graphics.beginFill(0x444444);
graphics.drawRect((_local4.@x * (_arg2 / 10)), (_local4.@y * (_arg3 / 10)), _arg2, _arg3);
graphics.endFill();
};
}
}
}//package
Section 87
//LevelSelect (LevelSelect)
package {
import flash.events.*;
import flash.system.*;
import org.flixel.*;
import flash.display.*;
import General.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class LevelSelect extends FlxState {
public var levelSelectMarker;
public var currIsBonus:Boolean;// = false
public var txt_trial:TextField;
public var keyScrollTimer:Number;// = 0.1
public var bonusLevelButtons:Array;
public var selectedLevel:String;// = ""
public var letItDrift:Boolean;// = false
public var levelPreview:LevelPreview;
public var scrollInertia:Number;// = 0
public var lastScrollX:Number;// = 0
public var scrollDragging:Boolean;// = false
public var scrollTarget:Number;// = 339
public var txt_bestTime:TextField;
public var baseClip;
public var topBonusUnlocked:int;// = 2
public var topUnlocked:int;// = 36
public var selectedLevelNumber:int;// = -1
public var levelButtons:Array;
public var scrollDraggingOffset:Number;// = 0
public var dragDist:Number;// = 0
public static var firstRun:Boolean = true;
public function LevelSelect(_arg1:int=-1, _arg2:Boolean=false){
if (_arg1 != -1){
scrollTarget = ((-(_arg1) * 60) + 339);
selectedLevelNumber = _arg1;
};
currIsBonus = _arg2;
if (Main.saveWrapper.savedData.levelDatas.length == 30){
scrollTarget = (60 + 339);
selectedLevelNumber = 0;
currIsBonus = true;
};
}
override public function create():void{
var _local2:int;
var _local3:MovieClip;
var _local4:MovieClip;
super.create();
topBonusUnlocked = (Math.floor((Main.saveWrapper.savedData.countGotCandies() / 5)) - 1);
var _local1:int = Main.saveWrapper.savedData.countGotCandies();
if (_local1 == 1){
topBonusUnlocked = 0;
} else {
if (_local1 > 1){
topBonusUnlocked = (Math.floor(((_local1 - 5) / 5)) + 1);
};
};
trace(("TOB PONUS UNLCOKED IS IS IS !!! " + topBonusUnlocked));
levelSelectMarker = new Resources.ui_lvlSelectMarker();
levelSelectMarker.mouseEnabled = false;
Mouse.show();
FlxState.bgColor = 0;
levelButtons = new Array();
bonusLevelButtons = new Array();
baseClip = new Resources.ui_lvlSelect();
addChildAt(baseClip, 0);
baseClip.scaleX = (baseClip.scaleY = 0.5);
baseClip.candyText.visible = false;
baseClip.candy.visible = false;
baseClip.txt_trialTotal.text = ((countTrialsSolved() + " / ") + countTotalTrials());
baseClip.txt_candyTotal.text = ((countGotCandies() + " / ") + countTotalCandies());
_local2 = 0;
while (_local2 < Resources.bonusLevels.length) {
_local4 = new Resources.ui_lvlSelect_button();
_local4.txt_num.text = ("-" + (_local2 + 1));
TextField(_local4.txt_num).mouseEnabled = false;
baseClip.selectScroll.addChild(_local4);
_local4.x = ((_local2 + 1) * -60);
_local4.y = 80;
bonusLevelButtons.push(_local4);
if (_local2 <= topBonusUnlocked){
_local4.gotoAndStop(3);
} else {
_local4.gotoAndStop(4);
};
_local2++;
};
for each (_local3 in bonusLevelButtons) {
_local3.addEventListener(MouseEvent.MOUSE_DOWN, bonusLevelViewClick);
};
_local2 = 0;
while (_local2 < Resources.levels.length) {
_local4 = new Resources.ui_lvlSelect_button();
_local4.txt_num.text = (_local2 + 1);
TextField(_local4.txt_num).mouseEnabled = false;
baseClip.selectScroll.addChild(_local4);
_local4.x = (_local2 * 60);
_local4.y = 80;
levelButtons.push(_local4);
if (_local2 <= Main.saveWrapper.savedData.levelDatas.length){
_local4.gotoAndStop(1);
topUnlocked = (_local2 + 1);
} else {
_local4.gotoAndStop(2);
};
_local2++;
};
for each (_local3 in levelButtons) {
_local3.addEventListener(MouseEvent.MOUSE_DOWN, levelViewClick);
};
baseClip.selectScroll.addEventListener(MouseEvent.MOUSE_DOWN, selectScrollDown);
baseClip.addEventListener(MouseEvent.MOUSE_UP, selectScrollUp);
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
txt_trial = baseClip.txt_trial;
txt_bestTime = baseClip.txt_bestTime;
txt_trial.text = "";
txt_bestTime.text = "";
levelPreview = new LevelPreview();
baseClip.addChild(levelPreview);
levelPreview.x = 358;
levelPreview.y = 220;
baseClip.selectScroll.x = 339;
if (selectedLevelNumber != -1){
if (!currIsBonus){
levelView(levelButtons[selectedLevelNumber]);
baseClip.selectScroll.x = scrollTarget;
} else {
levelView(bonusLevelButtons[selectedLevelNumber]);
baseClip.selectScroll.x = scrollTarget;
};
};
baseClip.btn_sponsor.addEventListener(MouseEvent.CLICK, sponsorClick);
baseClip.btn_twitter.addEventListener(MouseEvent.CLICK, followClick);
baseClip.titleButtons.btn_walkthrough.addEventListener(MouseEvent.CLICK, walkthrough);
}
public function countGotCandies():int{
return (Main.saveWrapper.savedData.countGotCandies());
}
public function mouseLeave(_arg1:Event):void{
scrollDragging = false;
}
public function sponsorClick(_arg1:Event):void{
Main.gotoSponsor();
}
public function countTotalCandies():int{
var _local1 = 27;
return (_local1);
}
public function addedToStage(_arg1:Event):void{
stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave);
stage.focus = stage;
}
public function countTrialsSolved():int{
return (Main.saveWrapper.savedData.levelDatas.length);
}
public function selectScrollDown(_arg1:MouseEvent):void{
scrollDragging = true;
scrollDraggingOffset = (baseClip.mouseX - baseClip.selectScroll.x);
lastScrollX = baseClip.selectScroll.x;
}
public function levelViewClick(_arg1:MouseEvent):void{
levelView(_arg1.currentTarget);
}
public function bonusLevelViewClick(_arg1:MouseEvent):void{
levelView(_arg1.currentTarget);
}
public function levelView(_arg1):void{
if (selectedLevelNumber != -1){
if (currIsBonus){
bonusLevelButtons[selectedLevelNumber].txt_num.text = -((selectedLevelNumber + 1));
} else {
levelButtons[selectedLevelNumber].txt_num.text = (selectedLevelNumber + 1);
};
trace((selectedLevelNumber + 1));
};
_arg1.addChild(levelSelectMarker);
var _local2:int = parseInt(_arg1.txt_num.text);
var _local3:Boolean;
if (_local2 > 0){
_local2--;
} else {
_local2 = (_local2 * -1);
_local2--;
_local3 = true;
};
currIsBonus = _local3;
var _local4:int = (topUnlocked - 1);
if (_local3){
_local4 = topBonusUnlocked;
};
if (_local2 <= _local4){
if (_local3){
if (selectedLevel == Resources.bonusLevels[_local2]){
playBtnClick(null);
return;
};
} else {
if (selectedLevel == Resources.levels[_local2]){
playBtnClick(null);
return;
};
};
if (_local3){
selectedLevel = Resources.bonusLevels[_local2];
selectedLevelNumber = _local2;
} else {
selectedLevel = Resources.levels[_local2];
selectedLevelNumber = _local2;
};
trace(selectedLevel);
txt_trial.text = _arg1.txt_num.text;
_arg1.txt_num.text = "";
baseClip.txt_bestTime.text = Util.formatTimeMSms(Main.saveWrapper.savedData.bestTime(_local2, _local3));
levelPreview.loadLevel(selectedLevel);
if (levelPreview.hasCandy){
baseClip.candyText.visible = true;
baseClip.candy.visible = true;
} else {
baseClip.candyText.visible = false;
baseClip.candy.visible = false;
};
if (Main.saveWrapper.savedData.gotCandy(_local2, _local3)){
baseClip.candy.gotoAndStop(2);
} else {
baseClip.candy.gotoAndStop(1);
};
} else {
selectedLevel = "";
selectedLevelNumber = -1;
trace("locked!");
txt_trial.text = "LOCKED!";
if (_local3){
if (_local2 == 0){
txt_trial.text = "NEED 1 CANDY!";
} else {
txt_trial.text = (("NEED " + (_local2 * 5)) + " CANDY!");
};
};
levelPreview.graphics.clear();
};
scrollTarget = ((_local2 * -60) + 339);
if (_local3){
scrollTarget = ((-(_local2) * -60) + 339);
};
trace(_local2);
}
override public function update():void{
var _local1:ZeroLevel;
stage.focus = stage;
Mouse.show();
if (FlxG.keys.justPressed("DOWN")){
baseClip.arrow.y = (baseClip.arrow.y + 14);
};
if (FlxG.keys.justPressed("UP")){
baseClip.arrow.y = (baseClip.arrow.y - 14);
};
if (baseClip.arrow.y < 324){
baseClip.arrow.y = 324;
};
if (baseClip.arrow.y > 338){
baseClip.arrow.y = 338;
};
if (FlxG.keys.groupJustPressed(["ENTER", "S", "A", "Z", "X"])){
if (baseClip.arrow.y <= 324){
if (selectedLevelNumber != -1){
_local1 = new ZeroLevel();
_local1.spawnLevelJunk(selectedLevel, selectedLevelNumber, currIsBonus);
LvlManager.currLevel = selectedLevelNumber;
stage.focus = stage;
FlxG.state = _local1;
};
} else {
Main.videoWalkthru();
};
};
keyScrollTimer = (keyScrollTimer - FlxG.dt);
if (keyScrollTimer <= 0){
if (FlxG.keys.pressed("LEFT")){
if (!currIsBonus){
if (selectedLevelNumber < 0){
levelView(levelButtons[0]);
} else {
if (selectedLevelNumber == 0){
levelView(bonusLevelButtons[0]);
} else {
levelView(levelButtons[(selectedLevelNumber - 1)]);
};
};
} else {
trace(("BONUS KEY THIGN " + selectedLevelNumber));
if (selectedLevelNumber < 0){
levelView(bonusLevelButtons[0]);
} else {
if (selectedLevelNumber == (bonusLevelButtons.length - 1)){
trace("caps");
} else {
if (selectedLevelNumber == topBonusUnlocked){
trace("caps");
} else {
levelView(bonusLevelButtons[(selectedLevelNumber + 1)]);
};
};
};
};
keyScrollTimer = 0.2;
};
if (FlxG.keys.pressed("RIGHT")){
if (!currIsBonus){
if (selectedLevelNumber > (levelButtons.length - 1)){
levelView(levelButtons[(levelButtons.length - 1)]);
} else {
if (selectedLevelNumber == (topUnlocked - 1)){
trace("caps");
} else {
levelView(levelButtons[(selectedLevelNumber + 1)]);
};
};
} else {
if ((((selectedLevelNumber == 0)) || ((topBonusUnlocked == -1)))){
levelView(levelButtons[0]);
} else {
if (selectedLevelNumber < 0){
levelView(bonusLevelButtons[0]);
} else {
if (selectedLevelNumber > topBonusUnlocked){
trace("caps");
} else {
levelView(bonusLevelButtons[(selectedLevelNumber - 1)]);
};
};
};
};
keyScrollTimer = 0.2;
};
};
if (scrollDragging){
baseClip.selectScroll.y = 0;
baseClip.selectScroll.x = (baseClip.mouseX - scrollDraggingOffset);
dragDist = (dragDist + (baseClip.selectScroll.x - lastScrollX));
if (Math.abs(dragDist) > 60){
letItDrift = true;
};
scrollInertia = ((baseClip.selectScroll.x - lastScrollX) * 0.5);
lastScrollX = baseClip.selectScroll.x;
} else {
baseClip.selectScroll.x = (baseClip.selectScroll.x + scrollInertia);
scrollInertia = (scrollInertia * 0.97);
if (letItDrift){
dragDist = 0;
if (Math.abs(scrollInertia) < 3){
letItDrift = false;
if (scrollInertia < 0){
scrollTarget = ((Math.round(((baseClip.selectScroll.x - 339) / 60)) * 60) + 339);
};
if (scrollInertia > 0){
scrollTarget = ((Math.round(((baseClip.selectScroll.x - 339) / 60)) * 60) + 339);
};
};
} else {
baseClip.selectScroll.x = (baseClip.selectScroll.x + ((scrollTarget - baseClip.selectScroll.x) * 0.05));
};
};
if (baseClip.selectScroll.x > 639){
baseClip.selectScroll.x = 639;
};
if (baseClip.selectScroll.x < ((levelButtons.length * -60) + 760)){
baseClip.selectScroll.x = ((levelButtons.length * -60) + 760);
};
super.update();
}
public function followClick(_arg1:Event):void{
Main.toFollowUs();
}
public function walkthrough(_arg1:Event):void{
Main.videoWalkthru();
}
public function playBtnClick(_arg1:MouseEvent):void{
var _local2:ZeroLevel;
if (selectedLevel != ""){
_local2 = new ZeroLevel();
_local2.spawnLevelJunk(selectedLevel, selectedLevelNumber, currIsBonus);
LvlManager.currLevel = selectedLevelNumber;
stage.focus = stage;
FlxG.state = _local2;
};
}
public function selectScrollUp(_arg1:MouseEvent):void{
scrollDragging = false;
}
public function lvlBtnHit(_arg1:String):void{
var _local2:String = _arg1.split("~")[0];
var _local3:int = parseInt(_arg1.split("~")[1]);
var _local4:ZeroLevel = new ZeroLevel();
_local4.spawnLevelJunk(_local2, _local3, currIsBonus);
LvlManager.currLevel = _local3;
FlxG.state = _local4;
}
public function countTotalTrials():int{
return (Resources.levels.length);
}
}
}//package
Section 88
//LiferaftZero (LiferaftZero)
package {
import org.flixel.*;
import SWFStats.*;
import flash.system.*;
public class LiferaftZero extends FlxPreloader {
public function LiferaftZero(){
var _local1:Array = stage.loaderInfo.url.split("://");
var _local2:Array = _local1[1].split("/");
Log.View(679, "48fcb45e-10c1-4268-a34c-b4262426e1c6", root.loaderInfo.loaderURL);
className = "Main";
super();
}
}
}//package
Section 89
//LvlManager (LvlManager)
package {
import flash.events.*;
import org.flixel.*;
import SWFStats.*;
public class LvlManager {
public static var popupState:String;
public static var cloneNumber:int = 1;
public static var currColor:int = 1;
public static var currLevel:int = 0;
public static var newPopup;
public static var popupTimer:int;
public static var bonus:String = "";
public static function nextLevel():void{
var _local1:uint = Math.round(ZeroLevel(FlxG.state).levelTime);
var _local2:uint = Math.round(ZeroLevel(FlxG.state).totalLevelTime);
var _local3:Boolean;
if (((ZeroLevel(FlxG.state).myCandy) && (!(ZeroLevel(FlxG.state).myCandy.visible)))){
_local3 = true;
};
ZeroLevel(FlxG.state).ambientMusic.stop();
var _local4:int = Main.saveWrapper.savedData.countGotCandies();
Main.saveWrapper.savedData.beatLevel(currLevel, _local1, _local3, ZeroLevel(FlxG.state).isBonus);
Main.saveWrapper.update();
var _local5:int = Main.saveWrapper.savedData.countGotCandies();
if (_local5 > _local4){
if ((((((((((_local5 == 1)) || ((_local5 == 5)))) || ((_local5 == 10)))) || ((_local5 == 15)))) || ((_local5 == 20)))){
unlockBonus();
};
};
Log.Goal(currLevel, "level");
Log.LevelAverageMetric("TotalTime", currLevel, _local2);
Log.LevelAverageMetric("SuccessfulTime", currLevel, _local1);
if (ZeroLevel(FlxG.state).isBonus){
FlxG.state = new LevelSelect(ZeroLevel(FlxG.state).levelNumber, true);
return;
};
if (ZeroLevel(FlxG.state).levelNumber == 29){
FlxG.state = new TitleScreen(true);
return;
};
var _local6:ZeroLevel = new ZeroLevel();
_local6.spawnLevelJunk(LvlManager.getNextLevel(ZeroLevel(FlxG.state).isBonus), currLevel, ZeroLevel(FlxG.state).isBonus);
FlxG.state = _local6;
}
public static function nextColor():int{
currColor++;
if (currColor > 6){
currColor = 1;
};
Main.saveWrapper.savedData.cloneColor = currColor;
return (currColor);
}
public static function death():void{
cloneNumber++;
Main.saveWrapper.savedData.cloneNumber = cloneNumber;
}
public static function popupUpdate(_arg1:Event):void{
if (popupState == "down"){
newPopup.y = (newPopup.y + ((40 - newPopup.y) * 0.1));
if (newPopup.y > (40 * 0.95)){
popupState = "wait";
};
};
if (popupState == "wait"){
popupTimer--;
if (popupTimer <= 0){
popupState = "up";
};
};
if (popupState == "up"){
newPopup.y = (newPopup.y + ((-40 - newPopup.y) * 0.1));
if (newPopup.y < -5){
newPopup.parent.removeChild(newPopup);
newPopup.removeEventListener(Event.ENTER_FRAME, popupUpdate);
};
};
}
public static function getNextLevel(_arg1:Boolean):String{
currLevel++;
if (_arg1){
if ((((currLevel >= Resources.bonusLevels.length)) || ((currLevel >= Math.floor((Main.saveWrapper.savedData.countGotCandies() / 5)))))){
currLevel = 0;
};
} else {
if (currLevel >= Resources.levels.length){
currLevel = 0;
};
};
return (Resources.levels[currLevel]);
}
public static function unlockBonus():void{
newPopup = new (Resources.map["ui_popup"]);
popupState = "down";
popupTimer = 200;
FlxG.stage.addChild(newPopup);
newPopup.addEventListener(Event.ENTER_FRAME, popupUpdate);
newPopup.x = 40;
newPopup.y = -40;
}
}
}//package
Section 90
//Main (Main)
package {
import flash.events.*;
import org.flixel.*;
import flash.net.*;
import SWFStats.*;
public class Main extends FlxGame {
public static var saveWrapper:SaveWrapper;
public function Main(){
var _local1:Resources = new Resources();
saveWrapper = new SaveWrapper();
SoundManager.initialize();
Log.Play();
super(400, 225, TitleScreen, 2);
}
public static function keydown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 86){
videoWalkthru();
};
}
public static function gotoSponsor():void{
navigateToURL(new URLRequest("http://armorgames.com/"), "_blank");
}
public static function gotoMikengreg():void{
navigateToURL(new URLRequest("http://mikengreg.com/"), "_blank");
}
public static function toFollowUs():void{
navigateToURL(new URLRequest("http://twitter.com/armorgames"), "_blank");
}
public static function videoWalkthru():void{
navigateToURL(new URLRequest("http://armorgames.com/guide/liferaft-zero-video-walk-through"), "_blank");
}
}
}//package
Section 91
//MovingGrapple (MovingGrapple)
package {
import org.flixel.*;
public class MovingGrapple extends GrapplePoint {
public var nodes:Array;
public var maxSpeed:Number;// = 50
public var curSpeed:Number;// = 50
public function MovingGrapple(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map["grapple_mover"]);
nodes = [];
}
public function nextNode():void{
nodes.push(nodes.shift());
}
override public function update():void{
if (((nodes) && ((nodes.length > 0)))){
_flashPoint.x = (x - nodes[0].x);
_flashPoint.y = (y - nodes[0].y);
if (_flashPoint.length < 4){
nextNode();
} else {
if (_flashPoint.length < 20){
if (curSpeed > 20){
curSpeed = (curSpeed * 0.96);
};
} else {
curSpeed = (curSpeed + ((maxSpeed - curSpeed) * 0.06));
};
};
_flashPoint.normalize(curSpeed);
velocity.x = -(_flashPoint.x);
velocity.y = -(_flashPoint.y);
};
super.update();
}
public function addNode(_arg1:FlxPoint):void{
nodes.push(_arg1);
}
}
}//package
Section 92
//MovingPlatform (MovingPlatform)
package {
import org.flixel.*;
public class MovingPlatform extends FlxSprite {
public var shadow:FlxSprite;
public var maxSpeed:Number;// = 15
public var curSpeed:Number;// = 15
public var nodes:Array;
public function MovingPlatform(_arg1:Number=0, _arg2:Number=0, _arg3:int=1){
super(_arg1, _arg2);
loadGraphic(Resources.map[(("rail_" + _arg3) + "x1")], true, false, (10 * _arg3), 10);
nodes = [];
fixed = true;
shadow = new FlxSprite(_arg1, _arg2, Resources.map[(("rail_" + _arg3) + "x1_shadow")]);
}
override public function hitTop(_arg1:FlxObject, _arg2:Number):void{
}
public function addNode(_arg1:FlxPoint):void{
nodes.push(_arg1);
}
override public function hitRight(_arg1:FlxObject, _arg2:Number):void{
}
public function nextNode():void{
nodes.push(nodes.shift());
}
override public function update():void{
if (((nodes) && ((nodes.length > 0)))){
_flashPoint.x = (x - nodes[0].x);
_flashPoint.y = (y - nodes[0].y);
if (_flashPoint.length < 4){
nextNode();
} else {
if (_flashPoint.length < 20){
if (curSpeed > 20){
curSpeed = (curSpeed * 0.96);
};
} else {
curSpeed = (curSpeed + ((maxSpeed - curSpeed) * 0.06));
};
};
_flashPoint.normalize(curSpeed);
velocity.x = -(_flashPoint.x);
velocity.y = -(_flashPoint.y);
};
shadow.x = (x - 5);
shadow.y = y;
shadow.velocity.x = velocity.x;
shadow.velocity.y = velocity.y;
super.update();
}
override public function hitLeft(_arg1:FlxObject, _arg2:Number):void{
}
override public function hitBottom(_arg1:FlxObject, _arg2:Number):void{
}
}
}//package
Section 93
//PixelRope (PixelRope)
package {
import org.flixel.*;
import flash.geom.*;
import flash.display.*;
public class PixelRope extends FlxSprite {
public function PixelRope(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
var _local3:BitmapData = new BitmapData(100, 100, true, 0);
pixels = _local3;
width = (height = 100);
}
public function drawLine(_arg1:Point):void{
var _local2:BitmapData = new BitmapData(100, 100, true, 0);
lineDDA(_local2, 50, 50, _arg1.x, _arg1.y, 4281083461);
pixels = _local2;
}
public function lineDDA(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:uint):void{
var _local10:Number;
var _local7:int = (_arg5 - _arg3);
var _local8:int = (_arg4 - _arg2);
var _local9:Number = 0.5;
_arg1.setPixel32(_arg2, _arg3, _arg6);
if (Math.abs(_local8) > Math.abs(_local7)){
_local10 = (_local7 / _local8);
_local9 = (_local9 + _arg3);
_local8 = ((_local8)<0) ? -1 : 1;
_local10 = (_local10 * _local8);
while (_arg2 != _arg4) {
_arg2 = (_arg2 + _local8);
_local9 = (_local9 + _local10);
_arg1.setPixel32(_arg2, int(_local9), _arg6);
};
} else {
_local10 = (_local8 / _local7);
_local9 = (_local9 + _arg2);
_local7 = ((_local7)<0) ? -1 : 1;
_local10 = (_local10 * _local7);
while (_arg3 != _arg5) {
_arg3 = (_arg3 + _local7);
_local9 = (_local9 + _local10);
_arg1.setPixel32(int(_local9), _arg3, _arg6);
};
};
}
}
}//package
Section 94
//Resources (Resources)
package {
public class Resources {
private var window_g055:Class;
private var levelCinch_03:Class;
private var levelTextTeeth_01:Class;
private var window_scientists:Class;
private var wallSlide:Class;
private var window_scientists60x30:Class;
private var scientist_blondeCoffee:Class;
private var scientist_froDog:Class;
private var level90Swing:Class;
private var levelSlimGap:Class;
private var G055_spriteSheet_2:Class;
private var G055_spriteSheet_4:Class;
private var G055_spriteSheet_5:Class;
private var G055_spriteSheet_6:Class;
private var window_scientists80x10_bonus:Class;
private var rail_2x1:Class;
private var G055_spriteSheet_3:Class;
private var bgm_ambient:Class;
private var rail_2x1_shadow:Class;
private var levelWallMaze:Class;
private var scientist_froDog10:Class;
private var levelJumpers:Class;
private var pathTest:Class;
private var candyPink_bonus:Class;
private var zero_tileset:Class;
private var levelMustRepel:Class;
private var cameraPan_bonus:Class;
private var levelTheFirst:Class;
private var levelThreeStep:Class;
private var levelConveyor:Class;
private var levelBigBopper:Class;
private var window_scientists60x30_bonus:Class;
private var levelTheLast:Class;
private var rail_1x1:Class;
private var enemy_launcher:Class;
private var particleSmoke:Class;
private var spikes_right:Class;
private var spikes_bonus:Class;
private var levelGrappleField:Class;
private var sfx_jumpLandSoft:Class;
private var levelSpikeMonster:Class;
private var sfx_text_3:Class;
private var sfx_text_4:Class;
private var sfx_text_5:Class;
private var grapple_point:Class;
private var sfx_text_2:Class;
private var grapple_bg_bonus:Class;
private var sfx_text_6:Class;
private var levelPlatformLaunch:Class;
private var window_scientists120x20:Class;
private var scientist_girlClip10:Class;
private var pathTest0:Class;
private var pathTest2:Class;
private var scientist_pencilRed10:Class;
private var levelWallBar_07:Class;
private var enemy_walker:Class;
private var railStand_3x1:Class;
private var ui_hud:Class;
private var window_scientists80x10:Class;
private var testLevel_opacity:Class;
private var enemy_flyer:Class;
private var enemy_crusher:Class;
private var levelBlockBirds:Class;
private var sfx_candyPick:Class;
private var scientist_blondeCoffee10:Class;
private var levelZipper:Class;
private var sfx_projectorOn:Class;
private var levelGrappleSwarm:Class;
private var railStand_2x1:Class;
private var window_scientists120x20_bonus:Class;
private var goal:Class;
private var testLevel_opacity2:Class;
private var wallJump:Class;
private var grapple_floater:Class;
private var levelWallGap_05:Class;
private var window_g055_bonus:Class;
private var dangerLevel:Class;
private var rail_1x1_shadow:Class;
private var ropeThrow:Class;
private var levelSpikeHook:Class;
private var bg_20tile:Class;
private var ropeSwing:Class;
private var spikes:Class;
private var levelSafeGaps:Class;
private var bloodPart:Class;
private var levelWallFun:Class;
private var levelSpikes_04:Class;
private var dangerLevel4:Class;
private var dangerLevel5:Class;
private var dangerLevel6:Class;
private var dangerLevel7:Class;
private var dangerLevel8:Class;
private var dangerLevel2:Class;
private var dangerLevel3:Class;
private var grapple_bg:Class;
private var cameraPan:Class;
private var ui_popup:Class;
private var jumpLand:Class;
private var railStand_1x1:Class;
private var scientist_girlClip:Class;
private var cursor:Class;
private var crusherTest:Class;
private var rail_3x1_shadow:Class;
private var footstep_1:Class;
private var footstep_2:Class;
private var levelTwoPit_02:Class;
private var sfx_levelBell:Class;
private var footstep_3:Class;
private var ogmo:Class;
private var candyPink:Class;
private var levelWallLearn:Class;
private var levelCandyLearn:Class;
private var G055_spriteSheet:Class;
private var deathScream:Class;
private var sfx_candyPlace:Class;
private var G055_spriteSheet_bonus:Class;
private var levelTextPlay:Class;
private var sfx_jump:Class;
private var spikes_ceiling:Class;
private var scientists_dialog:Class;
private var window_scientists_bonus:Class;
private var zero_tileset_bonus:Class;
private var bg_20tile_bonus:Class;
private var grapple_point_bonus:Class;
private var grapple_mover:Class;
private var spikes_left:Class;
private var scientist_pencilRed:Class;
private var sfx_text_1_space:Class;
private var goalTouch:Class;
private var levelTheNeedle_06:Class;
private var bonus1:Class;
private var bonus2:Class;
private var bonus3:Class;
private var bonus4:Class;
private var bonus5:Class;
private var goal_bonus:Class;
private var rail_3x1:Class;
public static var letterSounds:Array;
public static var ui_titleNew:Class = Resources_ui_titleNew;
public static var intro_armor:Class = Resources_intro_armor;
public static var ui_title:Class = Resources_ui_title;
public static var ui_titleEnd:Class = Resources_ui_titleEnd;
public static var levels:Array;
public static var map:Array;
public static var intro_mikengreg:Class = Resources_intro_mikengreg;
public static var ui_lvlSelect:Class = Resources_ui_lvlSelect;
public static var ui_lvlSelectMarker:Class = Resources_ui_lvlSelectMarker;
public static var bonusLevels:Array;
public static var ui_lvlSelect_button:Class = Resources_ui_lvlSelect_button;
public function Resources(){
cursor = Resources_cursor;
bonus1 = Resources_bonus1;
bonus2 = Resources_bonus2;
bonus3 = Resources_bonus3;
bonus4 = Resources_bonus4;
bonus5 = Resources_bonus5;
levelTheFirst = Resources_levelTheFirst;
levelCandyLearn = Resources_levelCandyLearn;
testLevel_opacity = Resources_testLevel_opacity;
testLevel_opacity2 = Resources_testLevel_opacity2;
levelSpikes_04 = Resources_levelSpikes_04;
levelCinch_03 = Resources_levelCinch_03;
levelTwoPit_02 = Resources_levelTwoPit_02;
levelThreeStep = Resources_levelThreeStep;
levelWallFun = Resources_levelWallFun;
levelSafeGaps = Resources_levelSafeGaps;
levelZipper = Resources_levelZipper;
levelGrappleSwarm = Resources_levelGrappleSwarm;
levelSpikeMonster = Resources_levelSpikeMonster;
levelBlockBirds = Resources_levelBlockBirds;
levelBigBopper = Resources_levelBigBopper;
levelWallMaze = Resources_levelWallMaze;
level90Swing = Resources_level90Swing;
levelSpikeHook = Resources_levelSpikeHook;
levelWallLearn = Resources_levelWallLearn;
levelSlimGap = Resources_levelSlimGap;
levelMustRepel = Resources_levelMustRepel;
levelWallGap_05 = Resources_levelWallGap_05;
levelTheNeedle_06 = Resources_levelTheNeedle_06;
levelWallBar_07 = Resources_levelWallBar_07;
levelConveyor = Resources_levelConveyor;
levelPlatformLaunch = Resources_levelPlatformLaunch;
levelGrappleField = Resources_levelGrappleField;
levelJumpers = Resources_levelJumpers;
dangerLevel = Resources_dangerLevel;
dangerLevel2 = Resources_dangerLevel2;
dangerLevel3 = Resources_dangerLevel3;
dangerLevel4 = Resources_dangerLevel4;
dangerLevel5 = Resources_dangerLevel5;
pathTest0 = Resources_pathTest0;
pathTest = Resources_pathTest;
pathTest2 = Resources_pathTest2;
crusherTest = Resources_crusherTest;
dangerLevel6 = Resources_dangerLevel6;
dangerLevel7 = Resources_dangerLevel7;
dangerLevel8 = Resources_dangerLevel8;
levelTextTeeth_01 = Resources_levelTextTeeth_01;
levelTextPlay = Resources_levelTextPlay;
levelTheLast = Resources_levelTheLast;
bg_20tile = Resources_bg_20tile;
zero_tileset = Resources_zero_tileset;
ogmo = Resources_ogmo;
G055_spriteSheet = Resources_G055_spriteSheet;
G055_spriteSheet_2 = Resources_G055_spriteSheet_2;
G055_spriteSheet_3 = Resources_G055_spriteSheet_3;
G055_spriteSheet_4 = Resources_G055_spriteSheet_4;
G055_spriteSheet_5 = Resources_G055_spriteSheet_5;
G055_spriteSheet_6 = Resources_G055_spriteSheet_6;
spikes = Resources_spikes;
spikes_right = Resources_spikes_right;
spikes_left = Resources_spikes_left;
spikes_ceiling = Resources_spikes_ceiling;
grapple_point = Resources_grapple_point;
grapple_mover = Resources_grapple_mover;
grapple_floater = Resources_grapple_floater;
grapple_bg = Resources_grapple_bg;
window_scientists = Resources_window_scientists;
window_scientists60x30 = Resources_window_scientists60x30;
window_scientists80x10 = Resources_window_scientists80x10;
window_scientists120x20 = Resources_window_scientists120x20;
scientist_blondeCoffee = Resources_scientist_blondeCoffee;
scientist_blondeCoffee10 = Resources_scientist_blondeCoffee10;
scientist_froDog = Resources_scientist_froDog;
scientist_froDog10 = Resources_scientist_froDog10;
scientist_girlClip = Resources_scientist_girlClip;
scientist_girlClip10 = Resources_scientist_girlClip10;
scientist_pencilRed = Resources_scientist_pencilRed;
scientist_pencilRed10 = Resources_scientist_pencilRed10;
window_g055 = Resources_window_g055;
goal = Resources_goal;
candyPink = Resources_candyPink;
cameraPan = Resources_cameraPan;
enemy_flyer = Resources_enemy_flyer;
enemy_walker = Resources_enemy_walker;
enemy_launcher = Resources_enemy_launcher;
enemy_crusher = Resources_enemy_crusher;
rail_1x1 = Resources_rail_1x1;
rail_2x1 = Resources_rail_2x1;
rail_3x1 = Resources_rail_3x1;
railStand_1x1 = Resources_railStand_1x1;
railStand_2x1 = Resources_railStand_2x1;
railStand_3x1 = Resources_railStand_3x1;
rail_1x1_shadow = Resources_rail_1x1_shadow;
rail_2x1_shadow = Resources_rail_2x1_shadow;
rail_3x1_shadow = Resources_rail_3x1_shadow;
scientists_dialog = Resources_scientists_dialog;
bloodPart = Resources_bloodPart;
particleSmoke = Resources_particleSmoke;
deathScream = Resources_deathScream;
goalTouch = Resources_goalTouch;
jumpLand = Resources_jumpLand;
wallJump = Resources_wallJump;
wallSlide = Resources_wallSlide;
footstep_1 = Resources_footstep_1;
footstep_2 = Resources_footstep_2;
footstep_3 = Resources_footstep_3;
ropeSwing = Resources_ropeSwing;
ropeThrow = Resources_ropeThrow;
sfx_projectorOn = Resources_sfx_projectorOn;
sfx_text_1_space = Resources_sfx_text_1_space;
sfx_candyPick = Resources_sfx_candyPick;
sfx_candyPlace = Resources_sfx_candyPlace;
sfx_levelBell = Resources_sfx_levelBell;
sfx_jump = Resources_sfx_jump;
sfx_jumpLandSoft = Resources_sfx_jumpLandSoft;
sfx_text_2 = Resources_sfx_text_2;
sfx_text_3 = Resources_sfx_text_3;
sfx_text_4 = Resources_sfx_text_4;
sfx_text_5 = Resources_sfx_text_5;
sfx_text_6 = Resources_sfx_text_6;
bgm_ambient = Resources_bgm_ambient;
ui_hud = Resources_ui_hud;
ui_popup = Resources_ui_popup;
bg_20tile_bonus = Resources_bg_20tile_bonus;
zero_tileset_bonus = Resources_zero_tileset_bonus;
G055_spriteSheet_bonus = Resources_G055_spriteSheet_bonus;
spikes_bonus = Resources_spikes_bonus;
grapple_bg_bonus = Resources_grapple_bg_bonus;
grapple_point_bonus = Resources_grapple_point_bonus;
window_scientists_bonus = Resources_window_scientists_bonus;
window_scientists60x30_bonus = Resources_window_scientists60x30_bonus;
window_scientists80x10_bonus = Resources_window_scientists80x10_bonus;
window_scientists120x20_bonus = Resources_window_scientists120x20_bonus;
window_g055_bonus = Resources_window_g055_bonus;
goal_bonus = Resources_goal_bonus;
candyPink_bonus = Resources_candyPink_bonus;
cameraPan_bonus = Resources_cameraPan_bonus;
super();
levels = new Array();
bonusLevels = new Array();
map = new Array();
map["cursor"] = cursor;
map["bonus3"] = bonus3;
bonusLevels.push("bonus3");
map["bonus1"] = bonus1;
bonusLevels.push("bonus1");
map["bonus2"] = bonus2;
bonusLevels.push("bonus2");
map["bonus4"] = bonus4;
bonusLevels.push("bonus4");
map["bonus5"] = bonus5;
bonusLevels.push("bonus5");
map["levelTheFirst"] = levelTheFirst;
levels.push("levelTheFirst");
map["dangerLevel5"] = dangerLevel5;
levels.push("dangerLevel5");
map["levelThreeStep"] = levelThreeStep;
levels.push("levelThreeStep");
map["levelTextPlay"] = levelTextPlay;
levels.push("levelTextPlay");
map["levelWallFun"] = levelWallFun;
levels.push("levelWallFun");
map["levelSafeGaps"] = levelSafeGaps;
levels.push("levelSafeGaps");
map["levelZipper"] = levelZipper;
levels.push("levelZipper");
map["levelCandyLearn"] = levelCandyLearn;
levels.push("levelCandyLearn");
map["levelWallLearn"] = levelWallLearn;
levels.push("levelWallLearn");
map["levelGrappleSwarm"] = levelGrappleSwarm;
levels.push("levelGrappleSwarm");
map["levelSlimGap"] = levelSlimGap;
levels.push("levelSlimGap");
map["levelSpikeMonster"] = levelSpikeMonster;
levels.push("levelSpikeMonster");
map["levelTwoPit_02"] = levelTwoPit_02;
levels.push("levelTwoPit_02");
map["level90Swing"] = level90Swing;
levels.push("level90Swing");
map["levelBlockBirds"] = levelBlockBirds;
levels.push("levelBlockBirds");
map["levelMustRepel"] = levelMustRepel;
levels.push("levelMustRepel");
map["levelTextTeeth_01"] = levelTextTeeth_01;
levels.push("levelTextTeeth_01");
map["levelBigBopper"] = levelBigBopper;
levels.push("levelBigBopper");
map["levelSpikes_04"] = levelSpikes_04;
levels.push("levelSpikes_04");
map["levelWallMaze"] = levelWallMaze;
levels.push("levelWallMaze");
map["levelCinch_03"] = levelCinch_03;
levels.push("levelCinch_03");
map["levelTheNeedle_06"] = levelTheNeedle_06;
levels.push("levelTheNeedle_06");
map["dangerLevel7"] = dangerLevel7;
levels.push("dangerLevel7");
map["dangerLevel"] = dangerLevel;
levels.push("dangerLevel");
map["levelWallGap_05"] = levelWallGap_05;
levels.push("levelWallGap_05");
map["dangerLevel3"] = dangerLevel3;
levels.push("dangerLevel3");
map["dangerLevel2"] = dangerLevel2;
levels.push("dangerLevel2");
map["levelWallBar_07"] = levelWallBar_07;
levels.push("levelWallBar_07");
map["dangerLevel4"] = dangerLevel4;
levels.push("dangerLevel4");
map["levelTheLast"] = levelTheLast;
levels.push("levelTheLast");
map["bg_20tile"] = bg_20tile;
map["zero_tileset"] = zero_tileset;
map["ogmo"] = ogmo;
map["G055_spriteSheet_1"] = G055_spriteSheet;
map["G055_spriteSheet_2"] = G055_spriteSheet_2;
map["G055_spriteSheet_3"] = G055_spriteSheet_3;
map["G055_spriteSheet_4"] = G055_spriteSheet_4;
map["G055_spriteSheet_5"] = G055_spriteSheet_5;
map["G055_spriteSheet_6"] = G055_spriteSheet_6;
map["spikes"] = spikes;
map["spikes_right"] = spikes_right;
map["spikes_left"] = spikes_left;
map["spikes_ceiling"] = spikes_ceiling;
map["grapple_mover"] = grapple_mover;
map["grapple_floater"] = grapple_floater;
map["grapple_point"] = grapple_point;
map["grapple_bg"] = grapple_bg;
map["window_scientists"] = window_scientists;
map["window_scientists60x30"] = window_scientists60x30;
map["window_scientists80x10"] = window_scientists80x10;
map["window_scientists120x20"] = window_scientists120x20;
map["blondeCoffee"] = scientist_blondeCoffee;
map["blondeCoffee10"] = scientist_blondeCoffee10;
map["froDog"] = scientist_froDog;
map["froDog10"] = scientist_froDog10;
map["girlClip"] = scientist_girlClip;
map["girlClip10"] = scientist_girlClip10;
map["pencilRed"] = scientist_pencilRed;
map["pencilRed10"] = scientist_pencilRed10;
map["window_g055"] = window_g055;
map["goal"] = goal;
map["candyPink"] = candyPink;
map["cameraPan"] = cameraPan;
map["enemy_flyer"] = enemy_flyer;
map["enemy_walker"] = enemy_walker;
map["enemy_launcher"] = enemy_launcher;
map["enemy_crusher"] = enemy_crusher;
map["particleSmoke"] = particleSmoke;
map["rail_1x1"] = rail_1x1;
map["rail_2x1"] = rail_2x1;
map["rail_3x1"] = rail_3x1;
map["railStand_1x1"] = railStand_1x1;
map["railStand_2x1"] = railStand_2x1;
map["railStand_3x1"] = railStand_3x1;
map["rail_1x1_shadow"] = rail_1x1_shadow;
map["rail_2x1_shadow"] = rail_2x1_shadow;
map["rail_3x1_shadow"] = rail_3x1_shadow;
map["scientists_dialog"] = scientists_dialog;
map["deathScream"] = deathScream;
map["spawnMachine"] = goalTouch;
map["jumpLand"] = jumpLand;
map["wallJump"] = wallJump;
map["wallSlide"] = wallSlide;
map["footstep_1"] = footstep_1;
map["footstep_2"] = footstep_2;
map["footstep_3"] = footstep_3;
map["ropeSwing"] = ropeSwing;
map["ropeThrow"] = ropeThrow;
map["projectorSound"] = sfx_projectorOn;
map["spaceSound"] = sfx_text_1_space;
map["candyPick"] = sfx_candyPick;
map["candyPlace"] = sfx_candyPlace;
map["goalBell"] = sfx_levelBell;
map["jumpSound"] = sfx_jump;
map["jumpLandSoft"] = sfx_jumpLandSoft;
letterSounds = [sfx_text_2, sfx_text_3, sfx_text_4, sfx_text_5, sfx_text_6];
map["bgm_ambient"] = bgm_ambient;
map["bloodPart"] = bloodPart;
map["ui_hud"] = ui_hud;
map["ui_popup"] = ui_popup;
map["bg_20tile_bonus"] = bg_20tile_bonus;
map["zero_tileset_bonus"] = zero_tileset_bonus;
map["G055_spriteSheet_bonus"] = G055_spriteSheet_bonus;
map["spikes_bonus"] = spikes_bonus;
map["grapple_point_bonus"] = grapple_point_bonus;
map["grapple_bg_bonus"] = grapple_bg_bonus;
map["window_scientists_bonus"] = window_scientists_bonus;
map["window_scientists60x30_bonus"] = window_scientists60x30_bonus;
map["window_scientists80x10_bonus"] = window_scientists80x10_bonus;
map["window_scientists120x20_bonus"] = window_scientists120x20_bonus;
map["window_g055_bonus"] = window_g055_bonus;
map["goal_bonus"] = goal_bonus;
map["candyPink_bonus"] = candyPink_bonus;
map["cameraPan_bonus"] = cameraPan_bonus;
}
}
}//package
Section 95
//Resources_bg_20tile (Resources_bg_20tile)
package {
import mx.core.*;
public class Resources_bg_20tile extends BitmapAsset {
}
}//package
Section 96
//Resources_bg_20tile_bonus (Resources_bg_20tile_bonus)
package {
import mx.core.*;
public class Resources_bg_20tile_bonus extends BitmapAsset {
}
}//package
Section 97
//Resources_bgm_ambient (Resources_bgm_ambient)
package {
import mx.core.*;
import flash.display.*;
public class Resources_bgm_ambient extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 98
//Resources_bloodPart (Resources_bloodPart)
package {
import mx.core.*;
public class Resources_bloodPart extends BitmapAsset {
}
}//package
Section 99
//Resources_bonus1 (Resources_bonus1)
package {
import mx.core.*;
public class Resources_bonus1 extends ByteArrayAsset {
}
}//package
Section 100
//Resources_bonus2 (Resources_bonus2)
package {
import mx.core.*;
public class Resources_bonus2 extends ByteArrayAsset {
}
}//package
Section 101
//Resources_bonus3 (Resources_bonus3)
package {
import mx.core.*;
public class Resources_bonus3 extends ByteArrayAsset {
}
}//package
Section 102
//Resources_bonus4 (Resources_bonus4)
package {
import mx.core.*;
public class Resources_bonus4 extends ByteArrayAsset {
}
}//package
Section 103
//Resources_bonus5 (Resources_bonus5)
package {
import mx.core.*;
public class Resources_bonus5 extends ByteArrayAsset {
}
}//package
Section 104
//Resources_cameraPan (Resources_cameraPan)
package {
import mx.core.*;
public class Resources_cameraPan extends BitmapAsset {
}
}//package
Section 105
//Resources_cameraPan_bonus (Resources_cameraPan_bonus)
package {
import mx.core.*;
public class Resources_cameraPan_bonus extends BitmapAsset {
}
}//package
Section 106
//Resources_candyPink (Resources_candyPink)
package {
import mx.core.*;
public class Resources_candyPink extends BitmapAsset {
}
}//package
Section 107
//Resources_candyPink_bonus (Resources_candyPink_bonus)
package {
import mx.core.*;
public class Resources_candyPink_bonus extends BitmapAsset {
}
}//package
Section 108
//Resources_crusherTest (Resources_crusherTest)
package {
import mx.core.*;
public class Resources_crusherTest extends ByteArrayAsset {
}
}//package
Section 109
//Resources_cursor (Resources_cursor)
package {
import mx.core.*;
public class Resources_cursor extends BitmapAsset {
}
}//package
Section 110
//Resources_dangerLevel (Resources_dangerLevel)
package {
import mx.core.*;
public class Resources_dangerLevel extends ByteArrayAsset {
}
}//package
Section 111
//Resources_dangerLevel2 (Resources_dangerLevel2)
package {
import mx.core.*;
public class Resources_dangerLevel2 extends ByteArrayAsset {
}
}//package
Section 112
//Resources_dangerLevel3 (Resources_dangerLevel3)
package {
import mx.core.*;
public class Resources_dangerLevel3 extends ByteArrayAsset {
}
}//package
Section 113
//Resources_dangerLevel4 (Resources_dangerLevel4)
package {
import mx.core.*;
public class Resources_dangerLevel4 extends ByteArrayAsset {
}
}//package
Section 114
//Resources_dangerLevel5 (Resources_dangerLevel5)
package {
import mx.core.*;
public class Resources_dangerLevel5 extends ByteArrayAsset {
}
}//package
Section 115
//Resources_dangerLevel6 (Resources_dangerLevel6)
package {
import mx.core.*;
public class Resources_dangerLevel6 extends ByteArrayAsset {
}
}//package
Section 116
//Resources_dangerLevel7 (Resources_dangerLevel7)
package {
import mx.core.*;
public class Resources_dangerLevel7 extends ByteArrayAsset {
}
}//package
Section 117
//Resources_dangerLevel8 (Resources_dangerLevel8)
package {
import mx.core.*;
public class Resources_dangerLevel8 extends ByteArrayAsset {
}
}//package
Section 118
//Resources_deathScream (Resources_deathScream)
package {
import mx.core.*;
import flash.display.*;
public class Resources_deathScream extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var txt_time_s:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var titleButtons:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var txt_timeBest:DisplayObject;
public var btn_play:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var btn_sponsor:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_m:DisplayObject;
public var candyText:DisplayObject;
public var txt_level:DisplayObject;
public var txt_num:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var clip_text:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 119
//Resources_enemy_crusher (Resources_enemy_crusher)
package {
import mx.core.*;
public class Resources_enemy_crusher extends BitmapAsset {
}
}//package
Section 120
//Resources_enemy_flyer (Resources_enemy_flyer)
package {
import mx.core.*;
public class Resources_enemy_flyer extends BitmapAsset {
}
}//package
Section 121
//Resources_enemy_launcher (Resources_enemy_launcher)
package {
import mx.core.*;
public class Resources_enemy_launcher extends BitmapAsset {
}
}//package
Section 122
//Resources_enemy_walker (Resources_enemy_walker)
package {
import mx.core.*;
public class Resources_enemy_walker extends BitmapAsset {
}
}//package
Section 123
//Resources_footstep_1 (Resources_footstep_1)
package {
import mx.core.*;
import flash.display.*;
public class Resources_footstep_1 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 124
//Resources_footstep_2 (Resources_footstep_2)
package {
import mx.core.*;
import flash.display.*;
public class Resources_footstep_2 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 125
//Resources_footstep_3 (Resources_footstep_3)
package {
import mx.core.*;
import flash.display.*;
public class Resources_footstep_3 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 126
//Resources_G055_spriteSheet (Resources_G055_spriteSheet)
package {
import mx.core.*;
public class Resources_G055_spriteSheet extends BitmapAsset {
}
}//package
Section 127
//Resources_G055_spriteSheet_2 (Resources_G055_spriteSheet_2)
package {
import mx.core.*;
public class Resources_G055_spriteSheet_2 extends BitmapAsset {
}
}//package
Section 128
//Resources_G055_spriteSheet_3 (Resources_G055_spriteSheet_3)
package {
import mx.core.*;
public class Resources_G055_spriteSheet_3 extends BitmapAsset {
}
}//package
Section 129
//Resources_G055_spriteSheet_4 (Resources_G055_spriteSheet_4)
package {
import mx.core.*;
public class Resources_G055_spriteSheet_4 extends BitmapAsset {
}
}//package
Section 130
//Resources_G055_spriteSheet_5 (Resources_G055_spriteSheet_5)
package {
import mx.core.*;
public class Resources_G055_spriteSheet_5 extends BitmapAsset {
}
}//package
Section 131
//Resources_G055_spriteSheet_6 (Resources_G055_spriteSheet_6)
package {
import mx.core.*;
public class Resources_G055_spriteSheet_6 extends BitmapAsset {
}
}//package
Section 132
//Resources_G055_spriteSheet_bonus (Resources_G055_spriteSheet_bonus)
package {
import mx.core.*;
public class Resources_G055_spriteSheet_bonus extends BitmapAsset {
}
}//package
Section 133
//Resources_goal (Resources_goal)
package {
import mx.core.*;
public class Resources_goal extends BitmapAsset {
}
}//package
Section 134
//Resources_goal_bonus (Resources_goal_bonus)
package {
import mx.core.*;
public class Resources_goal_bonus extends BitmapAsset {
}
}//package
Section 135
//Resources_goalTouch (Resources_goalTouch)
package {
import mx.core.*;
import flash.display.*;
public class Resources_goalTouch extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 136
//Resources_grapple_bg (Resources_grapple_bg)
package {
import mx.core.*;
public class Resources_grapple_bg extends BitmapAsset {
}
}//package
Section 137
//Resources_grapple_bg_bonus (Resources_grapple_bg_bonus)
package {
import mx.core.*;
public class Resources_grapple_bg_bonus extends BitmapAsset {
}
}//package
Section 138
//Resources_grapple_floater (Resources_grapple_floater)
package {
import mx.core.*;
public class Resources_grapple_floater extends BitmapAsset {
}
}//package
Section 139
//Resources_grapple_mover (Resources_grapple_mover)
package {
import mx.core.*;
public class Resources_grapple_mover extends BitmapAsset {
}
}//package
Section 140
//Resources_grapple_point (Resources_grapple_point)
package {
import mx.core.*;
public class Resources_grapple_point extends BitmapAsset {
}
}//package
Section 141
//Resources_grapple_point_bonus (Resources_grapple_point_bonus)
package {
import mx.core.*;
public class Resources_grapple_point_bonus extends BitmapAsset {
}
}//package
Section 142
//Resources_intro_armor (Resources_intro_armor)
package {
import mx.core.*;
import flash.display.*;
public class Resources_intro_armor extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_dialog:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 143
//Resources_intro_mikengreg (Resources_intro_mikengreg)
package {
import mx.core.*;
import flash.display.*;
public class Resources_intro_mikengreg extends MovieClipAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 144
//Resources_jumpLand (Resources_jumpLand)
package {
import mx.core.*;
import flash.display.*;
public class Resources_jumpLand extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 145
//Resources_level90Swing (Resources_level90Swing)
package {
import mx.core.*;
public class Resources_level90Swing extends ByteArrayAsset {
}
}//package
Section 146
//Resources_levelBigBopper (Resources_levelBigBopper)
package {
import mx.core.*;
public class Resources_levelBigBopper extends ByteArrayAsset {
}
}//package
Section 147
//Resources_levelBlockBirds (Resources_levelBlockBirds)
package {
import mx.core.*;
public class Resources_levelBlockBirds extends ByteArrayAsset {
}
}//package
Section 148
//Resources_levelCandyLearn (Resources_levelCandyLearn)
package {
import mx.core.*;
public class Resources_levelCandyLearn extends ByteArrayAsset {
}
}//package
Section 149
//Resources_levelCinch_03 (Resources_levelCinch_03)
package {
import mx.core.*;
public class Resources_levelCinch_03 extends ByteArrayAsset {
}
}//package
Section 150
//Resources_levelConveyor (Resources_levelConveyor)
package {
import mx.core.*;
public class Resources_levelConveyor extends ByteArrayAsset {
}
}//package
Section 151
//Resources_levelGrappleField (Resources_levelGrappleField)
package {
import mx.core.*;
public class Resources_levelGrappleField extends ByteArrayAsset {
}
}//package
Section 152
//Resources_levelGrappleSwarm (Resources_levelGrappleSwarm)
package {
import mx.core.*;
public class Resources_levelGrappleSwarm extends ByteArrayAsset {
}
}//package
Section 153
//Resources_levelJumpers (Resources_levelJumpers)
package {
import mx.core.*;
public class Resources_levelJumpers extends ByteArrayAsset {
}
}//package
Section 154
//Resources_levelMustRepel (Resources_levelMustRepel)
package {
import mx.core.*;
public class Resources_levelMustRepel extends ByteArrayAsset {
}
}//package
Section 155
//Resources_levelPlatformLaunch (Resources_levelPlatformLaunch)
package {
import mx.core.*;
public class Resources_levelPlatformLaunch extends ByteArrayAsset {
}
}//package
Section 156
//Resources_levelSafeGaps (Resources_levelSafeGaps)
package {
import mx.core.*;
public class Resources_levelSafeGaps extends ByteArrayAsset {
}
}//package
Section 157
//Resources_levelSlimGap (Resources_levelSlimGap)
package {
import mx.core.*;
public class Resources_levelSlimGap extends ByteArrayAsset {
}
}//package
Section 158
//Resources_levelSpikeHook (Resources_levelSpikeHook)
package {
import mx.core.*;
public class Resources_levelSpikeHook extends ByteArrayAsset {
}
}//package
Section 159
//Resources_levelSpikeMonster (Resources_levelSpikeMonster)
package {
import mx.core.*;
public class Resources_levelSpikeMonster extends ByteArrayAsset {
}
}//package
Section 160
//Resources_levelSpikes_04 (Resources_levelSpikes_04)
package {
import mx.core.*;
public class Resources_levelSpikes_04 extends ByteArrayAsset {
}
}//package
Section 161
//Resources_levelTextPlay (Resources_levelTextPlay)
package {
import mx.core.*;
public class Resources_levelTextPlay extends ByteArrayAsset {
}
}//package
Section 162
//Resources_levelTextTeeth_01 (Resources_levelTextTeeth_01)
package {
import mx.core.*;
public class Resources_levelTextTeeth_01 extends ByteArrayAsset {
}
}//package
Section 163
//Resources_levelTheFirst (Resources_levelTheFirst)
package {
import mx.core.*;
public class Resources_levelTheFirst extends ByteArrayAsset {
}
}//package
Section 164
//Resources_levelTheLast (Resources_levelTheLast)
package {
import mx.core.*;
public class Resources_levelTheLast extends ByteArrayAsset {
}
}//package
Section 165
//Resources_levelTheNeedle_06 (Resources_levelTheNeedle_06)
package {
import mx.core.*;
public class Resources_levelTheNeedle_06 extends ByteArrayAsset {
}
}//package
Section 166
//Resources_levelThreeStep (Resources_levelThreeStep)
package {
import mx.core.*;
public class Resources_levelThreeStep extends ByteArrayAsset {
}
}//package
Section 167
//Resources_levelTwoPit_02 (Resources_levelTwoPit_02)
package {
import mx.core.*;
public class Resources_levelTwoPit_02 extends ByteArrayAsset {
}
}//package
Section 168
//Resources_levelWallBar_07 (Resources_levelWallBar_07)
package {
import mx.core.*;
public class Resources_levelWallBar_07 extends ByteArrayAsset {
}
}//package
Section 169
//Resources_levelWallFun (Resources_levelWallFun)
package {
import mx.core.*;
public class Resources_levelWallFun extends ByteArrayAsset {
}
}//package
Section 170
//Resources_levelWallGap_05 (Resources_levelWallGap_05)
package {
import mx.core.*;
public class Resources_levelWallGap_05 extends ByteArrayAsset {
}
}//package
Section 171
//Resources_levelWallLearn (Resources_levelWallLearn)
package {
import mx.core.*;
public class Resources_levelWallLearn extends ByteArrayAsset {
}
}//package
Section 172
//Resources_levelWallMaze (Resources_levelWallMaze)
package {
import mx.core.*;
public class Resources_levelWallMaze extends ByteArrayAsset {
}
}//package
Section 173
//Resources_levelZipper (Resources_levelZipper)
package {
import mx.core.*;
public class Resources_levelZipper extends ByteArrayAsset {
}
}//package
Section 174
//Resources_ogmo (Resources_ogmo)
package {
import mx.core.*;
public class Resources_ogmo extends BitmapAsset {
}
}//package
Section 175
//Resources_particleSmoke (Resources_particleSmoke)
package {
import mx.core.*;
public class Resources_particleSmoke extends BitmapAsset {
}
}//package
Section 176
//Resources_pathTest (Resources_pathTest)
package {
import mx.core.*;
public class Resources_pathTest extends ByteArrayAsset {
}
}//package
Section 177
//Resources_pathTest0 (Resources_pathTest0)
package {
import mx.core.*;
public class Resources_pathTest0 extends ByteArrayAsset {
}
}//package
Section 178
//Resources_pathTest2 (Resources_pathTest2)
package {
import mx.core.*;
public class Resources_pathTest2 extends ByteArrayAsset {
}
}//package
Section 179
//Resources_rail_1x1 (Resources_rail_1x1)
package {
import mx.core.*;
public class Resources_rail_1x1 extends BitmapAsset {
}
}//package
Section 180
//Resources_rail_1x1_shadow (Resources_rail_1x1_shadow)
package {
import mx.core.*;
public class Resources_rail_1x1_shadow extends BitmapAsset {
}
}//package
Section 181
//Resources_rail_2x1 (Resources_rail_2x1)
package {
import mx.core.*;
public class Resources_rail_2x1 extends BitmapAsset {
}
}//package
Section 182
//Resources_rail_2x1_shadow (Resources_rail_2x1_shadow)
package {
import mx.core.*;
public class Resources_rail_2x1_shadow extends BitmapAsset {
}
}//package
Section 183
//Resources_rail_3x1 (Resources_rail_3x1)
package {
import mx.core.*;
public class Resources_rail_3x1 extends BitmapAsset {
}
}//package
Section 184
//Resources_rail_3x1_shadow (Resources_rail_3x1_shadow)
package {
import mx.core.*;
public class Resources_rail_3x1_shadow extends BitmapAsset {
}
}//package
Section 185
//Resources_railStand_1x1 (Resources_railStand_1x1)
package {
import mx.core.*;
public class Resources_railStand_1x1 extends BitmapAsset {
}
}//package
Section 186
//Resources_railStand_2x1 (Resources_railStand_2x1)
package {
import mx.core.*;
public class Resources_railStand_2x1 extends BitmapAsset {
}
}//package
Section 187
//Resources_railStand_3x1 (Resources_railStand_3x1)
package {
import mx.core.*;
public class Resources_railStand_3x1 extends BitmapAsset {
}
}//package
Section 188
//Resources_ropeSwing (Resources_ropeSwing)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ropeSwing extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var txt_time_s:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var titleButtons:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var txt_timeBest:DisplayObject;
public var btn_play:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var btn_sponsor:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_m:DisplayObject;
public var candyText:DisplayObject;
public var txt_level:DisplayObject;
public var txt_num:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var clip_text:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 189
//Resources_ropeThrow (Resources_ropeThrow)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ropeThrow extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var candyText:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var txt_level:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 190
//Resources_scientist_blondeCoffee (Resources_scientist_blondeCoffee)
package {
import mx.core.*;
public class Resources_scientist_blondeCoffee extends BitmapAsset {
}
}//package
Section 191
//Resources_scientist_blondeCoffee10 (Resources_scientist_blondeCoffee10)
package {
import mx.core.*;
public class Resources_scientist_blondeCoffee10 extends BitmapAsset {
}
}//package
Section 192
//Resources_scientist_froDog (Resources_scientist_froDog)
package {
import mx.core.*;
public class Resources_scientist_froDog extends BitmapAsset {
}
}//package
Section 193
//Resources_scientist_froDog10 (Resources_scientist_froDog10)
package {
import mx.core.*;
public class Resources_scientist_froDog10 extends BitmapAsset {
}
}//package
Section 194
//Resources_scientist_girlClip (Resources_scientist_girlClip)
package {
import mx.core.*;
public class Resources_scientist_girlClip extends BitmapAsset {
}
}//package
Section 195
//Resources_scientist_girlClip10 (Resources_scientist_girlClip10)
package {
import mx.core.*;
public class Resources_scientist_girlClip10 extends BitmapAsset {
}
}//package
Section 196
//Resources_scientist_pencilRed (Resources_scientist_pencilRed)
package {
import mx.core.*;
public class Resources_scientist_pencilRed extends BitmapAsset {
}
}//package
Section 197
//Resources_scientist_pencilRed10 (Resources_scientist_pencilRed10)
package {
import mx.core.*;
public class Resources_scientist_pencilRed10 extends BitmapAsset {
}
}//package
Section 198
//Resources_scientists_dialog (Resources_scientists_dialog)
package {
import mx.core.*;
import flash.display.*;
public class Resources_scientists_dialog extends MovieClipAsset {
public var txt_bestTime:DisplayObject;
public var clip_text:DisplayObject;
public var txt_level:DisplayObject;
public var btn_start:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var txt_timeBest:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
}
}//package
Section 199
//Resources_sfx_candyPick (Resources_sfx_candyPick)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_candyPick extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 200
//Resources_sfx_candyPlace (Resources_sfx_candyPlace)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_candyPlace extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 201
//Resources_sfx_jump (Resources_sfx_jump)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_jump extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 202
//Resources_sfx_jumpLandSoft (Resources_sfx_jumpLandSoft)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_jumpLandSoft extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 203
//Resources_sfx_levelBell (Resources_sfx_levelBell)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_levelBell extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 204
//Resources_sfx_projectorOn (Resources_sfx_projectorOn)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_projectorOn extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_dialog:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 205
//Resources_sfx_text_1_space (Resources_sfx_text_1_space)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_text_1_space extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var candyText:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var txt_level:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 206
//Resources_sfx_text_2 (Resources_sfx_text_2)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_text_2 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var candyText:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var txt_level:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 207
//Resources_sfx_text_3 (Resources_sfx_text_3)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_text_3 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 208
//Resources_sfx_text_4 (Resources_sfx_text_4)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_text_4 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var candyText:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var txt_level:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 209
//Resources_sfx_text_5 (Resources_sfx_text_5)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_text_5 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 210
//Resources_sfx_text_6 (Resources_sfx_text_6)
package {
import mx.core.*;
import flash.display.*;
public class Resources_sfx_text_6 extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 211
//Resources_spikes (Resources_spikes)
package {
import mx.core.*;
public class Resources_spikes extends BitmapAsset {
}
}//package
Section 212
//Resources_spikes_bonus (Resources_spikes_bonus)
package {
import mx.core.*;
public class Resources_spikes_bonus extends BitmapAsset {
}
}//package
Section 213
//Resources_spikes_ceiling (Resources_spikes_ceiling)
package {
import mx.core.*;
public class Resources_spikes_ceiling extends BitmapAsset {
}
}//package
Section 214
//Resources_spikes_left (Resources_spikes_left)
package {
import mx.core.*;
public class Resources_spikes_left extends BitmapAsset {
}
}//package
Section 215
//Resources_spikes_right (Resources_spikes_right)
package {
import mx.core.*;
public class Resources_spikes_right extends BitmapAsset {
}
}//package
Section 216
//Resources_testLevel_opacity (Resources_testLevel_opacity)
package {
import mx.core.*;
public class Resources_testLevel_opacity extends ByteArrayAsset {
}
}//package
Section 217
//Resources_testLevel_opacity2 (Resources_testLevel_opacity2)
package {
import mx.core.*;
public class Resources_testLevel_opacity2 extends ByteArrayAsset {
}
}//package
Section 218
//Resources_ui_hud (Resources_ui_hud)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_hud extends SpriteAsset {
public var candy:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_timeBest:DisplayObject;
public var txt_time_s:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time:DisplayObject;
}
}//package
Section 219
//Resources_ui_lvlSelect (Resources_ui_lvlSelect)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_lvlSelect extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var candyText:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var txt_level:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 220
//Resources_ui_lvlSelect_button (Resources_ui_lvlSelect_button)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_lvlSelect_button extends MovieClipAsset {
public var txt_bestTime:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var txt_time_s:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var titleButtons:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var txt_timeBest:DisplayObject;
public var btn_play:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var btn_sponsor:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_m:DisplayObject;
public var candyText:DisplayObject;
public var txt_level:DisplayObject;
public var txt_num:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var clip_text:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 221
//Resources_ui_lvlSelectMarker (Resources_ui_lvlSelectMarker)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_lvlSelectMarker extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_dialog:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 222
//Resources_ui_popup (Resources_ui_popup)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_popup extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 223
//Resources_ui_title (Resources_ui_title)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_title extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var txt_time_s:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var titleButtons:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var txt_timeBest:DisplayObject;
public var btn_play:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var btn_sponsor:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_m:DisplayObject;
public var candyText:DisplayObject;
public var txt_level:DisplayObject;
public var txt_num:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var clip_text:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 224
//Resources_ui_titleEnd (Resources_ui_titleEnd)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_titleEnd extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 225
//Resources_ui_titleNew (Resources_ui_titleNew)
package {
import mx.core.*;
import flash.display.*;
public class Resources_ui_titleNew extends SpriteAsset {
public var txt_bestTime:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var txt_time_s:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var titleButtons:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var txt_timeBest:DisplayObject;
public var btn_play:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var btn_sponsor:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_m:DisplayObject;
public var candyText:DisplayObject;
public var txt_level:DisplayObject;
public var txt_num:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var clip_text:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 226
//Resources_wallJump (Resources_wallJump)
package {
import mx.core.*;
import flash.display.*;
public class Resources_wallJump extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var txt_time_s:DisplayObject;
public var arrow:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var titleButtons:DisplayObject;
public var txt_trial:DisplayObject;
public var clip:DisplayObject;
public var txt_timeBest:DisplayObject;
public var btn_play:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var btn_twitter:DisplayObject;
public var btn_sponsor:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_dialog:DisplayObject;
public var txt_time_m:DisplayObject;
public var candyText:DisplayObject;
public var txt_level:DisplayObject;
public var txt_num:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var clip_text:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 227
//Resources_wallSlide (Resources_wallSlide)
package {
import mx.core.*;
import flash.display.*;
public class Resources_wallSlide extends SoundAsset {
public var txt_bestTime:DisplayObject;
public var txt_level:DisplayObject;
public var txt_time_ms:DisplayObject;
public var txt_candyTotal:DisplayObject;
public var txt_timeBest:DisplayObject;
public var arrow:DisplayObject;
public var txt_trial:DisplayObject;
public var btn_twitter:DisplayObject;
public var titleButtons:DisplayObject;
public var btn_lvlSelect:DisplayObject;
public var candy:DisplayObject;
public var selectScroll:DisplayObject;
public var txt_time_m:DisplayObject;
public var txt_time_s:DisplayObject;
public var candyText:DisplayObject;
public var btn_sponsor:DisplayObject;
public var btn_walkthrough:DisplayObject;
public var txt_time:DisplayObject;
public var txt_trialTotal:DisplayObject;
public var btn_play:DisplayObject;
public var btn_start:DisplayObject;
}
}//package
Section 228
//Resources_window_g055 (Resources_window_g055)
package {
import mx.core.*;
public class Resources_window_g055 extends BitmapAsset {
}
}//package
Section 229
//Resources_window_g055_bonus (Resources_window_g055_bonus)
package {
import mx.core.*;
public class Resources_window_g055_bonus extends BitmapAsset {
}
}//package
Section 230
//Resources_window_scientists (Resources_window_scientists)
package {
import mx.core.*;
public class Resources_window_scientists extends BitmapAsset {
}
}//package
Section 231
//Resources_window_scientists_bonus (Resources_window_scientists_bonus)
package {
import mx.core.*;
public class Resources_window_scientists_bonus extends BitmapAsset {
}
}//package
Section 232
//Resources_window_scientists120x20 (Resources_window_scientists120x20)
package {
import mx.core.*;
public class Resources_window_scientists120x20 extends BitmapAsset {
}
}//package
Section 233
//Resources_window_scientists120x20_bonus (Resources_window_scientists120x20_bonus)
package {
import mx.core.*;
public class Resources_window_scientists120x20_bonus extends BitmapAsset {
}
}//package
Section 234
//Resources_window_scientists60x30 (Resources_window_scientists60x30)
package {
import mx.core.*;
public class Resources_window_scientists60x30 extends BitmapAsset {
}
}//package
Section 235
//Resources_window_scientists60x30_bonus (Resources_window_scientists60x30_bonus)
package {
import mx.core.*;
public class Resources_window_scientists60x30_bonus extends BitmapAsset {
}
}//package
Section 236
//Resources_window_scientists80x10 (Resources_window_scientists80x10)
package {
import mx.core.*;
public class Resources_window_scientists80x10 extends BitmapAsset {
}
}//package
Section 237
//Resources_window_scientists80x10_bonus (Resources_window_scientists80x10_bonus)
package {
import mx.core.*;
public class Resources_window_scientists80x10_bonus extends BitmapAsset {
}
}//package
Section 238
//Resources_zero_tileset (Resources_zero_tileset)
package {
import mx.core.*;
public class Resources_zero_tileset extends BitmapAsset {
}
}//package
Section 239
//Resources_zero_tileset_bonus (Resources_zero_tileset_bonus)
package {
import mx.core.*;
public class Resources_zero_tileset_bonus extends BitmapAsset {
}
}//package
Section 240
//SaveData (SaveData)
package {
public class SaveData {
public var bonusLevelDatas:Array;
public var levelDatas:Array;
public var cloneNumber:int;// = 1
public var cloneColor:int;// = 1
public function SaveData(){
levelDatas = [];
bonusLevelDatas = [];
}
public function beatLevel(_arg1:int, _arg2:uint, _arg3:Boolean, _arg4:Boolean):void{
var _local5:Array = levelDatas;
if (_arg4){
_local5 = bonusLevelDatas;
};
if (_arg1 >= _local5.length){
_local5.push(new levelData(_arg2, _arg3));
} else {
if (_local5[_arg1].bestTime > _arg2){
_local5[_arg1].bestTime = _arg2;
};
if (!_local5[_arg1].gotCandy){
_local5[_arg1].gotCandy = _arg3;
};
};
Main.saveWrapper.update();
}
public function bestTime(_arg1:int, _arg2:Boolean):uint{
if (_arg2){
if (bonusLevelDatas.length <= _arg1){
return (0);
};
return (bonusLevelDatas[_arg1].bestTime);
//unresolved jump
};
if (levelDatas.length <= _arg1){
return (0);
};
return (levelDatas[_arg1].bestTime);
}
public function countGotCandies():int{
var _local2:levelData;
var _local1:int;
for each (_local2 in bonusLevelDatas) {
if (_local2.gotCandy){
_local1++;
};
};
for each (_local2 in levelDatas) {
if (_local2.gotCandy){
_local1++;
};
};
return (_local1);
}
public function gotCandy(_arg1:int, _arg2:Boolean):Boolean{
if (_arg2){
if (bonusLevelDatas.length <= _arg1){
return (false);
};
return (bonusLevelDatas[_arg1].gotCandy);
//unresolved jump
};
if (levelDatas.length <= _arg1){
return (false);
};
return (levelDatas[_arg1].gotCandy);
}
public static function loadData(_arg1:Object):SaveData{
var _local3:Object;
var _local4:levelData;
var _local2:SaveData = new (SaveData);
for each (_local3 in _arg1.bonusLevelDatas) {
_local4 = new levelData(_local3.bestTime, _local3.gotCandy);
_local2.levelDatas.push(_local4);
};
for each (_local3 in _arg1.levelDatas) {
_local4 = new levelData(_local3.bestTime, _local3.gotCandy);
_local2.levelDatas.push(_local4);
};
_local2.cloneNumber = _arg1.cloneNumber;
_local2.cloneColor = _arg1.cloneColor;
return (_local2);
}
}
}//package
class levelData {
public var gotCandy:Boolean;// = false
public var bestTime:uint;// = 4294967295
private function levelData(_arg1:uint, _arg2:Boolean){
bestTime = _arg1;
gotCandy = _arg2;
}
}
Section 241
//SaveWrapper (SaveWrapper)
package {
import flash.net.*;
public class SaveWrapper {
public var savedData:SaveData;
public var sharedObj:SharedObject;
public function SaveWrapper(){
sharedObj = SharedObject.getLocal("liferaftzero_savedata3", "/", false);
if (((sharedObj) && (sharedObj.data.savedData))){
trace("saved data get!");
savedData = SaveData.loadData(sharedObj.data.savedData);
LvlManager.currColor = savedData.cloneColor;
LvlManager.cloneNumber = savedData.cloneNumber;
} else {
trace("no saved data! making new one!");
savedData = new SaveData();
sharedObj.data.savedData = savedData;
};
update();
}
public function update():void{
sharedObj.data.savedData = savedData;
sharedObj.flush();
}
}
}//package
Section 242
//Sci_Actor (Sci_Actor)
package {
import org.flixel.*;
public class Sci_Actor extends FlxSprite {
public var idleTimer:Number;// = 10
public function Sci_Actor(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
idleTimer = (idleTimer + (Math.random() * 10));
}
override public function update():void{
var _local1:String;
if (_curAnim.name == "idle"){
idleTimer = (idleTimer - FlxG.dt);
if (idleTimer <= 0){
_local1 = "idle";
while (_local1 == "idle") {
_local1 = _animations[Math.floor((Math.random() * _animations.length))].name;
};
play(_local1, true);
idleTimer = (10 + (Math.random() * 10));
};
} else {
if (finished){
play("idle");
};
};
super.update();
}
}
}//package
Section 243
//Sci_BlondeCoffee (Sci_BlondeCoffee)
package {
public class Sci_BlondeCoffee extends Sci_Actor {
public function Sci_BlondeCoffee(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["blondeCoffee"], true, false, 10, 20);
addAnimation("idle", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], 12, true);
addAnimation("drink", [2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2], 5, false);
play("idle");
}
}
}//package
Section 244
//Sci_BlondeCoffee10 (Sci_BlondeCoffee10)
package {
public class Sci_BlondeCoffee10 extends Sci_Actor {
public function Sci_BlondeCoffee10(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["blondeCoffee10"], true, false, 10, 10);
addAnimation("idle", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], 12, true);
addAnimation("drink", [2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2], 5, false);
play("idle");
}
}
}//package
Section 245
//Sci_FroDog (Sci_FroDog)
package {
public class Sci_FroDog extends Sci_Actor {
public function Sci_FroDog(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["froDog"], true, false, 10, 20);
addAnimation("idle", [0], 1, true);
addAnimation("turnRight", [0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0], 5, false);
addAnimation("turnLeft", [0, 6, 5, 4, 4, 4, 4, 4, 4, 4, 5, 6, 0], 5, false);
play("idle");
}
}
}//package
Section 246
//Sci_FroDog10 (Sci_FroDog10)
package {
public class Sci_FroDog10 extends Sci_Actor {
public function Sci_FroDog10(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["froDog10"], true, false, 10, 10);
addAnimation("idle", [0], 24, true);
addAnimation("turnRight", [0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0], 5, false);
addAnimation("turnLeft", [0, 6, 5, 4, 4, 4, 4, 4, 4, 4, 5, 6, 0], 5, false);
play("idle");
}
}
}//package
Section 247
//Sci_GirlClip (Sci_GirlClip)
package {
public class Sci_GirlClip extends Sci_Actor {
public function Sci_GirlClip(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["girlClip"], true, false, 10, 20);
addAnimation("idle", [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10, true);
addAnimation("lookDown", [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 2], 5, false);
play("idle");
}
}
}//package
Section 248
//Sci_GirlClip10 (Sci_GirlClip10)
package {
public class Sci_GirlClip10 extends Sci_Actor {
public function Sci_GirlClip10(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["girlClip10"], true, false, 10, 10);
addAnimation("idle", [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10, true);
addAnimation("lookDown", [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 2], 5, false);
play("idle");
}
}
}//package
Section 249
//Sci_PencilRed (Sci_PencilRed)
package {
public class Sci_PencilRed extends Sci_Actor {
public function Sci_PencilRed(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["pencilRed"], true, false, 10, 20);
addAnimation("idle", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11, true);
addAnimation("pencilGrab", [4, 4, 4, 5, 5, 6, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 14, 15, 16, 17, 18, 18, 19, 19, 20, 20, 0], 12, false);
play("idle");
}
}
}//package
Section 250
//Sci_PencilRed10 (Sci_PencilRed10)
package {
public class Sci_PencilRed10 extends Sci_Actor {
public function Sci_PencilRed10(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map["pencilRed10"], true, false, 10, 10);
addAnimation("idle", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11, true);
addAnimation("pencilGrab", [4, 4, 4, 5, 5, 6, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 14, 15, 16, 17, 18, 18, 19, 19, 20, 20, 0], 12, false);
play("idle");
}
}
}//package
Section 251
//SoundManager (SoundManager)
package {
import General.*;
public class SoundManager {
public static var deathScream:SoundEffectEmbeded;
public static var ropeSwings:SoundEffectEmbeded;
public static var spawnMachine:SoundEffectEmbeded;
public static var jumpLandSofts:SoundEffectEmbeded;
public static var jumpSounds:SoundEffectEmbeded;
public static var wallJumps:SoundEffectEmbeded;
public static var ropeThrows:SoundEffectEmbeded;
public static var wallSlide:SoundEffectEmbeded;
public static var footsteps_1:SoundEffectEmbeded;
public static var footsteps_2:SoundEffectEmbeded;
public static var footsteps_3:SoundEffectEmbeded;
public static var goalBell:SoundEffectEmbeded;
public static var jumpLand:SoundEffectEmbeded;
public static function initialize():void{
wallJumps = new SoundEffectEmbeded("wallJumps", Resources.map["wallJump"], 20, 10);
deathScream = new SoundEffectEmbeded("deathScream", Resources.map["deathScream"], 10, 10);
jumpLand = new SoundEffectEmbeded("jumpLand", Resources.map["jumpLand"], 10, 10);
spawnMachine = new SoundEffectEmbeded("spawnMachine", Resources.map["spawnMachine"], 10, 10);
goalBell = new SoundEffectEmbeded("goalBell", Resources.map["goalBell"], 10, 10);
wallSlide = new SoundEffectEmbeded("wallSlide", Resources.map["wallSlide"], 10, 10, true);
footsteps_1 = new SoundEffectEmbeded("footsteps_1", Resources.map["jumpLandSoft"], 20, 30);
ropeSwings = new SoundEffectEmbeded("ropeSwings", Resources.map["ropeSwing"], 50, 5);
ropeThrows = new SoundEffectEmbeded("ropeThrows", Resources.map["ropeThrow"], 20, 10);
jumpSounds = new SoundEffectEmbeded("jumpSounds", Resources.map["jumpSound"], 20, 10);
jumpLandSofts = new SoundEffectEmbeded("jumpLandSofts", Resources.map["jumpLandSoft"], 20, 10);
}
}
}//package
Section 252
//Spike (Spike)
package {
import org.flixel.*;
public class Spike extends FlxSprite {
public var bloodLvl:int;// = 0
public var dir:String;
public function Spike(_arg1:Number=0, _arg2:Number=0, _arg3:String=""){
super(_arg1, _arg2);
this.loadGraphic(Resources.map[("spikes" + LvlManager.bonus)], true, false, 10, 10);
fixed = true;
dir = _arg3;
width = 6;
height = 6;
colOffsets[0].x = 3;
colOffsets[0].y = 3;
addAnimation("regular", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 30, false);
_curFrame = 0;
}
public function bloodHit(_arg1:BloodParticle):void{
_arg1.kill();
bloodLvl++;
}
override public function hitTop(_arg1:FlxObject, _arg2:Number):void{
super.hitTop(_arg1, _arg2);
if ((_arg1 is BloodParticle)){
bloodHit((_arg1 as BloodParticle));
};
}
override public function update():void{
super.update();
if (bloodLvl >= 9){
bloodLvl = 9;
};
_curFrame = bloodLvl;
_caf = this._animations[0].frames[_curFrame];
calcFrame();
}
override public function hitRight(_arg1:FlxObject, _arg2:Number):void{
super.hitRight(_arg1, _arg2);
if ((_arg1 is BloodParticle)){
bloodHit((_arg1 as BloodParticle));
};
}
override public function hitLeft(_arg1:FlxObject, _arg2:Number):void{
super.hitLeft(_arg1, _arg2);
if ((_arg1 is BloodParticle)){
bloodHit((_arg1 as BloodParticle));
};
}
override public function hitBottom(_arg1:FlxObject, _arg2:Number):void{
super.hitBottom(_arg1, _arg2);
if ((_arg1 is BloodParticle)){
bloodHit((_arg1 as BloodParticle));
};
}
}
}//package
Section 253
//TestSprite (TestSprite)
package {
import org.flixel.*;
import flash.geom.*;
import General.*;
public class TestSprite extends FlxSprite {
public var amAlive:Boolean;// = true
public var wallSliding:Number;// = 0
public var wallJumpTimer:Number;// = 0
public var deadDeadTimerTimer:Number;// = 100
public var spikeGrabAngle:Number;// = 0
public var lastVelocity:FlxPoint;
var bloodEmitter:FlxEmitter;
public var spawning:Boolean;// = true
public var leftContact:Boolean;// = false
public var dustParticles:Array;
public var grappleLength:int;// = 80
public var flickerVis:Boolean;// = true
public var footstepTimer:Number;// = 0.1
public var grappleTargets:FlxGroup;
public var jumpTimer:Number;// = 0
public var rightJumpd:Boolean;// = false
public var leftJumpd:Boolean;// = false
public var grappleTarget:GrapplePoint;
public var respawnDone:Boolean;// = false
public var grappleOffset:FlxPoint;
public var killGrav:Boolean;// = false
public var rightContact:Boolean;// = false
public var grav:Number;// = 500
public var initialPos:FlxPoint;
public var dustPartsSetUp:Boolean;// = false
public var lastOnFloor:Boolean;// = false
public var ropeSwingTimer:Number;// = 0
public var respawnTimer:Number;// = 0.35
public var dustyTimer:int;// = 5
public function TestSprite(_arg1:FlxPoint, _arg2:int){
super(_arg1.x, _arg1.y, null);
if (LvlManager.bonus == ""){
loadGraphic(Resources.map[("G055_spriteSheet_" + _arg2)], true, false, 10, 10);
} else {
loadGraphic(Resources.map[("G055_spriteSheet" + LvlManager.bonus)], true, false, 10, 10);
};
maxVelocity = new FlxPoint(300, 300);
initialPos = _arg1;
acceleration = new FlxPoint(0, grav);
grappleOffset = new FlxPoint(10, 0);
width = 6;
offset.x = 2;
refreshHulls();
new G055_Animation(this);
play("respawn", true);
dustParticles = [new DustParticle(), new DustParticle(), new DustParticle(), new DustParticle(), new DustParticle()];
SoundManager.spawnMachine.play();
}
public function findGrappleTarget():GrapplePoint{
var _local1:GrapplePoint;
var _local2:Number;
var _local3:GrapplePoint;
var _local4:Number;
var _local5:Number;
if (grappleTargets == null){
return (null);
};
if (grappleTargets.members.length > 0){
if (FlxG.keys.LEFT){
_local2 = Number.NEGATIVE_INFINITY;
for each (_local3 in grappleTargets.members) {
if (inRange(_local3, 46)){
_local4 = (x - _local3.x);
if ((((_local4 > _local2)) && ((Math.abs(_local4) < 60)))){
_local2 = _local4;
_local1 = _local3;
};
};
};
} else {
if (FlxG.keys.RIGHT){
_local5 = Number.POSITIVE_INFINITY;
for each (_local3 in grappleTargets.members) {
if (inRange(_local3, 46)){
_local4 = (x - _local3.x);
if ((((_local4 < _local5)) && ((Math.abs(_local4) < 60)))){
_local5 = _local4;
_local1 = _local3;
};
};
};
} else {
_local1 = (grappleTargets.getClosestMember(this) as GrapplePoint);
};
};
};
return (_local1);
}
public function spikeDeath(_arg1:Spike):void{
if (!amAlive){
return;
};
grappleTarget = null;
SoundManager.deathScream.play();
if (_arg1.angle == 90){
spikeGrabAngle = 90;
killGrav = true;
y = (y + 6);
} else {
if (_arg1.angle == 270){
spikeGrabAngle = -90;
killGrav = true;
y = (y + 6);
};
};
bloodEmitter.setXSpeed(((lastVelocity.x * 0.25) - 200), ((lastVelocity.x * 0.25) + 200));
bloodEmitter.setYSpeed(((lastVelocity.y * 0.25) - 200), ((lastVelocity.y * 0.25) + 200));
bloodEmitter.at(this);
bloodEmitter.start(true, 0, 20);
amAlive = false;
velocity.x = (lastVelocity.x * 0.5);
velocity.y = (lastVelocity.y * 0.5);
ZeroLevel(FlxG.state).killMe(this);
if (SoundManager.wallSlide.playing){
SoundManager.wallSlide.stop();
};
}
public function enemyTouchKill():void{
if (spawning){
return;
};
SoundManager.deathScream.play();
bloodEmitter.setXSpeed(((lastVelocity.x * 0.25) - 200), ((lastVelocity.x * 0.25) + 200));
bloodEmitter.setYSpeed(((lastVelocity.y * 0.25) - 200), ((lastVelocity.y * 0.25) + 200));
bloodEmitter.at(this);
bloodEmitter.start(true, 0, 20);
amAlive = false;
velocity.x = (lastVelocity.x * 0.5);
velocity.y = (lastVelocity.y * 0.5);
ZeroLevel(FlxG.state).killMe(this);
if (SoundManager.wallSlide.playing){
SoundManager.wallSlide.stop();
};
}
public function playFootstepSFX():void{
var _local1:int = (Math.random() * 3);
SoundManager.footsteps_1.play(false, 0.4);
}
public function resetPosition():void{
x = initialPos.x;
y = initialPos.y;
}
override public function hitBottom(_arg1:FlxObject, _arg2:Number):void{
super.hitBottom(_arg1, _arg2);
if (amAlive){
if ((_arg1 is Spike)){
spikeDeath(Spike(_arg1));
};
if ((_arg1 is Candy)){
candyGet(Candy(_arg1));
};
if ((_arg1 is EnemyFlyer)){
enemyTouchKill();
};
if ((_arg1 is EnemyWalker)){
enemyTouchKill();
};
if ((_arg1 is EnemyLauncher)){
enemyTouchKill();
};
};
}
public function inRange(_arg1:FlxObject, _arg2:Number):Boolean{
_flashPoint.x = (x - _arg1.x);
_flashPoint.y = (y - _arg1.y);
if (_flashPoint.length <= _arg2){
return (true);
};
return (false);
}
public function spikeCheck(_arg1:Spike):Boolean{
return (true);
}
override public function render():void{
if (LvlManager.bonus == "_bonus"){
flickerVis = !(flickerVis);
};
if (_curAnim.name == "respawn"){
flickerVis = true;
};
if ((((deadDeadTimerTimer > 0)) || (!(dead)))){
if (flickerVis){
alpha = 1;
} else {
alpha = 0.5;
};
};
super.render();
}
public function respawn():void{
resetPosition();
play("respawn");
grappleTarget = null;
}
public function candyGet(_arg1:Candy):void{
_arg1.solid = false;
_arg1.visible = false;
_arg1.candyPick.play();
}
override public function hitLeft(_arg1:FlxObject, _arg2:Number):void{
super.hitLeft(_arg1, _arg2);
if (amAlive){
if ((_arg1 is Spike)){
spikeDeath(Spike(_arg1));
};
if ((_arg1 is Candy)){
candyGet(Candy(_arg1));
};
if ((_arg1 is EnemyFlyer)){
enemyTouchKill();
};
if ((_arg1 is EnemyWalker)){
enemyTouchKill();
};
if ((_arg1 is EnemyLauncher)){
enemyTouchKill();
};
};
if (grappleTarget == null){
if (FlxG.keys.LEFT){
wallSliding = (wallSliding + 0.2);
} else {
if (FlxG.keys.RIGHT){
wallSliding = (wallSliding - 0.1);
} else {
wallSliding = 0.5;
};
};
};
scale.x = -1;
wallJumpTimer = 0;
leftContact = true;
}
override public function hitTop(_arg1:FlxObject, _arg2:Number):void{
super.hitTop(_arg1, _arg2);
if (amAlive){
if ((_arg1 is Spike)){
spikeDeath(Spike(_arg1));
};
if ((_arg1 is Candy)){
candyGet(Candy(_arg1));
};
if ((_arg1 is EnemyFlyer)){
enemyTouchKill();
};
if ((_arg1 is EnemyWalker)){
enemyTouchKill();
};
if ((_arg1 is EnemyLauncher)){
enemyTouchKill();
};
};
}
override public function hitRight(_arg1:FlxObject, _arg2:Number):void{
super.hitRight(_arg1, _arg2);
if (amAlive){
if ((_arg1 is Spike)){
spikeDeath(Spike(_arg1));
};
if ((_arg1 is Candy)){
candyGet(Candy(_arg1));
};
if ((_arg1 is EnemyFlyer)){
enemyTouchKill();
};
if ((_arg1 is EnemyWalker)){
enemyTouchKill();
};
if ((_arg1 is EnemyLauncher)){
enemyTouchKill();
};
};
if (grappleTarget == null){
if (FlxG.keys.RIGHT){
wallSliding = (wallSliding - 0.2);
} else {
if (FlxG.keys.LEFT){
wallSliding = (wallSliding + 0.1);
} else {
wallSliding = -0.5;
};
};
};
scale.x = 1;
wallJumpTimer = 0;
rightContact = true;
}
override public function update():void{
var _local1:DustParticle;
var _local2:int;
var _local3:DustParticle;
var _local4:Point;
var _local5:Point;
var _local6:Matrix;
var _local7:Point;
var _local8:Point;
var _local9:Number;
var _local10:FlxSprite;
var _local11:Candy;
if (!amAlive){
respawnTimer = (respawnTimer - FlxG.dt);
if ((((respawnTimer < 0)) && (!(respawnDone)))){
respawnDone = true;
ZeroLevel(FlxG.state).respawn();
};
if (respawnDone){
deadDeadTimerTimer = (deadDeadTimerTimer - FlxG.dt);
if (deadDeadTimerTimer <= 0){
alpha = (alpha - 0.01);
if (alpha <= 0){
kill();
};
};
};
};
if (!dustPartsSetUp){
for each (_local1 in dustParticles) {
FlxG.state.add(_local1);
_local1.visible = false;
dustPartsSetUp = true;
};
};
if (onFloor){
wallSliding = 0;
};
if (wallSliding == 0){
dustyTimer = 0;
};
if (((!(rightContact)) && (!(leftContact)))){
if (wallSliding != 0){
velocity.x = 0;
};
wallSliding = 0;
};
if (amAlive){
if (((FlxG.keys.LEFT) || (FlxG.keys.RIGHT))){
if (onFloor){
footstepTimer = (footstepTimer - FlxG.dt);
if (footstepTimer <= 0){
footstepTimer = 0.2;
playFootstepSFX();
};
};
};
};
if (bloodEmitter == null){
bloodEmitter = new FlxEmitter();
_local2 = 0;
while (_local2 < 10) {
bloodEmitter.members.push(new BloodParticle());
_local2++;
};
FlxG.state.add(bloodEmitter);
ZeroLevel(FlxG.state).bloodParts.add(bloodEmitter);
bloodEmitter.setXSpeed(-20, 20);
bloodEmitter.setYSpeed(10, 30);
};
if (scale.x > 0){
this.offset.x = 1;
} else {
offset.x = 2;
};
grappleOffset.x = 10;
grappleOffset.y = 0;
acceleration.y = grav;
if (killGrav){
acceleration.y = 0;
};
if (((!((wallSliding == 0))) && (amAlive))){
if (((!(FlxG.keys.DOWN)) && ((velocity.y > 50)))){
velocity.y = 50;
} else {
if (((FlxG.keys.DOWN) && ((velocity.y > 150)))){
velocity.y = 150;
};
};
};
acceleration.x = 0;
angle = 0;
spawning = false;
if ((((_curAnim.name == "respawn")) && (!((_curFrame == (_curAnim.frames.length - 1)))))){
spawning = true;
velocity.x = (velocity.y = 0);
ZeroLevel(FlxG.state).levelTime = 0;
super.update();
return;
};
if (!amAlive){
if (onFloor){
velocity.x = (velocity.x * 0.5);
};
if (killGrav){
angle = spikeGrabAngle;
velocity.y = 0;
velocity.x = (velocity.x * 0.8);
};
play("spikeDeath");
super.update();
return;
};
if (_curAnim.name == "unspawn"){
if (finished){
LvlManager.nextLevel();
};
super.update();
return;
};
if (wallSliding != 0){
if (!SoundManager.wallSlide.playing){
SoundManager.wallSlide.play();
};
dustyTimer--;
if (dustyTimer < 0){
dustyTimer = 5;
_local3 = dustParticles.shift();
_local3.visible = true;
_local3.x = x;
_local3.resetAnim();
if (wallSliding < 0){
_local3.x = (_local3.x + 4);
} else {
_local3.x = (_local3.x - 1);
};
_local3.y = (y + 12);
_local3.play("normal");
dustParticles.push(_local3);
_local3.velocity.x = (velocity.x * 0.5);
_local3.velocity.y = (velocity.y * 0.5);
};
} else {
if (SoundManager.wallSlide.playing){
SoundManager.wallSlide.stop();
};
};
if ((FlxG.state is ZeroLevel)){
ZeroLevel(FlxG.state).drawingThing.graphics.clear();
ZeroLevel(FlxG.state).drawingThing.graphics.lineStyle(1, 0, 1);
spikeCheck(null);
};
if (grappleTarget){
if (FlxG.keys.UP){
play("grappleUp");
} else {
if (((FlxG.keys.LEFT) || (FlxG.keys.RIGHT))){
play("grappleSwing");
} else {
play("grapple");
};
};
_local4 = new Point((x - grappleTarget.x), (y - grappleTarget.y));
_local5 = new Point(_local4.x, _local4.y);
_local5.normalize(1);
_local6 = new Matrix(1, 0, 0, 1, _local5.x, _local5.y);
_local6.rotate(90);
if (_local4.length > grappleLength){
_local7 = new Point(-(_local4.x), -(_local4.y));
_local7.normalize(((_local4.length - grappleLength) / 0.02));
velocity.x = (velocity.x + _local7.x);
velocity.y = (velocity.y + _local7.y);
_local4.normalize(grappleLength);
x = (grappleTarget.x + _local4.x);
y = (grappleTarget.y + _local4.y);
};
if (!FlxG.keys.groupPressed(["S", "A", "Z", "X"])){
grappleTarget = null;
};
if (((FlxG.keys.UP) && ((grappleLength > 4)))){
ropeSwingTimer = (ropeSwingTimer - FlxG.dt);
if (ropeSwingTimer <= 0){
SoundManager.ropeSwings.play();
ropeSwingTimer = 0.35;
};
grappleLength = (grappleLength - 1);
};
if (((FlxG.keys.DOWN) && ((grappleLength < 46)))){
grappleLength = (grappleLength + 1);
};
if (FlxG.keys.RIGHT){
acceleration.x = (-1 * -400);
acceleration.y = ((0 * -200) + grav);
};
if (FlxG.keys.LEFT){
acceleration.x = (-1 * 400);
acceleration.y = ((0 * 200) + grav);
};
} else {
if (onFloor){
wallJumpTimer = -1;
leftJumpd = false;
rightJumpd = false;
if (((FlxG.keys.justPressed("DOWN")) && (!((_curAnim.name == "pressDown"))))){
play("pressDown", true);
};
if (_curAnim.name == "jumpDive"){
SoundManager.jumpLand.play();
play("jumpLand", true);
ZeroLevel(FlxG.state).doQuake();
} else {
if (((_curAnim.name.match("jump")) && (!((_curAnim.name == "jumpLand"))))){
SoundManager.jumpLandSofts.play();
};
};
grappleTarget = null;
if (FlxG.keys.RIGHT){
if (((!((_curAnim.name == "jumpLand"))) || ((_curFrame == (_curAnim.frames.length - 1))))){
play("run");
};
this.scale.x = 1;
if (velocity.x < 50){
acceleration.x = 500;
if (velocity.x < 0){
velocity.x = 0;
};
} else {
acceleration.x = 1000;
};
};
if (FlxG.keys.LEFT){
if (((!((_curAnim.name == "jumpLand"))) || ((_curFrame == (_curAnim.frames.length - 1))))){
play("run");
};
this.scale.x = -1;
if (velocity.x > -50){
acceleration.x = -500;
if (velocity.x > 0){
velocity.x = 0;
};
} else {
acceleration.x = -1000;
};
};
if (((!(FlxG.keys.LEFT)) && (!(FlxG.keys.RIGHT)))){
acceleration.x = 0;
velocity.x = (velocity.x * 0.8);
if (((!((_curAnim.name == "jumpLand"))) && (!((_curAnim.name == "pressDown"))))){
play("idle");
};
};
if (FlxG.keys.groupJustPressed(["S", "A", "Z", "X"])){
velocity.y = -110;
jumpTimer = 0.25;
SoundManager.jumpSounds.play();
};
if (velocity.x > 75){
if (acceleration.x > 0){
acceleration.x = 0;
};
velocity.x = 75;
};
if (velocity.x < -75){
if (acceleration.x < 0){
acceleration.x = 0;
};
velocity.x = -75;
};
} else {
wallJumpTimer = (wallJumpTimer - FlxG.dt);
if (wallSliding == 0){
if (velocity.y < -50){
play("jumpUp");
} else {
if ((((velocity.y > 50)) && ((velocity.y < 170)))){
play("jumpDown");
} else {
if (velocity.y >= 170){
play("jumpDive");
} else {
play("jumpMid");
};
};
};
} else {
play("wallSlide");
};
if (_curAnim.name == "jumpDive"){
_local8 = new Point(velocity.x, velocity.y);
_local8.normalize(1);
_local9 = Math.atan2(_local8.y, _local8.x);
angle = ((_local9 * (180 / Math.PI)) - 90);
};
if (FlxG.keys.groupJustPressed(["S", "A", "Z", "X"])){
if (wallSliding != 0){
wallJumpTimer = 0.08;
velocity.y = -120;
velocity.x = ((wallSliding / Math.abs(wallSliding)) * 150);
jumpTimer = 0.15;
wallSliding = 0;
SoundManager.wallJumps.play();
} else {
grappleTarget = findGrappleTarget();
if (grappleTarget){
grappleLength = new Point((x - grappleTarget.x), (y - grappleTarget.y)).length;
if (grappleLength > 46){
grappleTarget = null;
} else {
SoundManager.ropeThrows.play();
};
};
};
};
if (grappleTarget == null){
ropeSwingTimer = -1;
};
if (FlxG.keys.groupPressed(["S", "A", "Z", "X"])){
if (jumpTimer > 0){
velocity.y = (velocity.y - (jumpTimer * 30));
jumpTimer = (jumpTimer - FlxG.dt);
};
} else {
jumpTimer = 0;
};
if ((((wallJumpTimer < 0)) && ((wallSliding == 0)))){
if (FlxG.keys.RIGHT){
scale.x = 1;
if (velocity.x < 10){
acceleration.x = 1000;
} else {
acceleration.x = 250;
};
};
if (FlxG.keys.LEFT){
scale.x = -1;
if (velocity.x > -10){
acceleration.x = -1000;
} else {
acceleration.x = -250;
};
};
if (((!(FlxG.keys.LEFT)) && (!(FlxG.keys.RIGHT)))){
acceleration.x = 0;
velocity.x = (velocity.x * 0.95);
};
};
if (velocity.x > 120){
if (acceleration.x > 0){
acceleration.x = 0;
};
velocity.x = 120;
};
if (velocity.x < -120){
if (acceleration.x < 0){
acceleration.x = 0;
};
velocity.x = -120;
};
};
};
if (FlxG.keys.RIGHT){
scale.x = 1;
} else {
if (FlxG.keys.LEFT){
scale.x = -1;
};
};
if (onFloor){
wallSliding = 0;
};
if (wallSliding > 1){
wallSliding = 1;
};
if (wallSliding < -1){
wallSliding = -1;
};
if ((((_curAnim.name == "pressDown")) && (ZeroLevel(FlxG.state).myGoal))){
if (_curFrame == 5){
_local10 = ZeroLevel(FlxG.state).myGoal;
if (_local10.overlapsPoint((x + 5), (y + 5))){
if (!SoundManager.spawnMachine.playing){
SoundManager.spawnMachine.play();
};
if (!SoundManager.goalBell.playing){
SoundManager.goalBell.play();
};
play("unspawn", true);
ZeroLevel(FlxG.state).bellRung = true;
};
};
if (_curFrame == 8){
play("idle");
};
};
if (ZeroLevel(FlxG.state).myCandy){
_local11 = ZeroLevel(FlxG.state).myCandy;
if (((_local11.overlapsPoint((x + 5), (y + 5))) && (_local11.visible))){
candyGet(_local11);
};
};
if (Math.abs(wallSliding) > 0){
velocity.x = (velocity.x - ((wallSliding / Math.abs(wallSliding)) * 100));
};
if (velocity != null){
lastVelocity = new FlxPoint(velocity.x, velocity.y);
};
rightContact = (leftContact = false);
lastOnFloor = onFloor;
super.update();
}
public function lockTerminalV(_arg1:Number):void{
var _local2:Point = new Point(velocity.x, velocity.y);
if (_local2.length > _arg1){
_local2.normalize(_arg1);
velocity.x = _local2.x;
velocity.y = _local2.y;
};
}
}
}//package
Section 254
//TileLayer (TileLayer)
package {
import org.flixel.*;
public class TileLayer extends FlxTilemap {
public function loadOgmo(_arg1:XML, _arg2:int, _arg3:int, _arg4:Class, _arg5:int=10, _arg6:int=10):FlxTilemap{
var _local7:int;
var _local8:XML;
_pixels = FlxG.addBitmap(_arg4);
_tileWidth = _arg5;
_tileHeight = _arg6;
widthInTiles = (_arg2 / _tileWidth);
heightInTiles = (_arg3 / _tileHeight);
totalTiles = (widthInTiles * heightInTiles);
width = _arg2;
height = _arg3;
_block.width = _tileWidth;
_block.height = _tileHeight;
_data = new Array();
while (_local7 < totalTiles) {
_data.push(0);
_local7++;
};
_rects = new Array(totalTiles);
for each (_local8 in _arg1.tile) {
this.setTile((_local8.@x / _tileWidth), (_local8.@y / _tileHeight), (_local8.@tx / _tileWidth));
};
_screenRows = (Math.ceil((FlxG.height / _tileHeight)) + 1);
if (_screenRows > heightInTiles){
_screenRows = heightInTiles;
};
_screenCols = (Math.ceil((FlxG.width / _tileWidth)) + 1);
if (_screenCols > widthInTiles){
_screenCols = widthInTiles;
};
refreshHulls();
return (this);
}
}
}//package
Section 255
//TitleScreen (TitleScreen)
package {
import flash.events.*;
import org.flixel.*;
import flash.display.*;
import flash.ui.*;
public class TitleScreen extends FlxState {
public var baseClip;
public var skipIntros:Boolean;// = false
public var mikengregIntro;
public var armorIntro;
public var waitForInput:Boolean;// = false
public var regularTitle:Boolean;// = false
public function TitleScreen(_arg1:Boolean=false){
skipIntros = _arg1;
}
public function playBtn(_arg1:MouseEvent):void{
var _local2:ZeroLevel = new ZeroLevel();
_local2.spawnLevelJunk(Resources.levels[0], 0, false);
LvlManager.currLevel = 0;
stage.focus = stage;
FlxG.state = _local2;
}
override public function create():void{
if (skipIntros){
startRealTitlescreen();
return;
};
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown, false, 0, true);
if (waitForInput){
return;
};
armorIntro = new Resources.intro_armor();
armorIntro.scaleX = (armorIntro.scaleY = 0.5);
addChild(armorIntro);
armorIntro.clip.addEventListener(MouseEvent.CLICK, sponsorClick, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_DOWN, Main.keydown);
}
public function startRealTitlescreen():void{
if (mikengregIntro){
removeChild(mikengregIntro);
mikengregIntro = null;
};
if (Main.saveWrapper.savedData.levelDatas.length == 0){
baseClip = new Resources.ui_titleNew();
} else {
if (Main.saveWrapper.savedData.levelDatas.length == 30){
baseClip = new Resources.ui_titleEnd();
regularTitle = true;
} else {
baseClip = new Resources.ui_title();
regularTitle = true;
};
};
addChild(baseClip);
baseClip.scaleX = (baseClip.scaleY = 0.5);
baseClip.btn_sponsor.addEventListener(MouseEvent.CLICK, sponsorClick);
baseClip.btn_twitter.addEventListener(MouseEvent.CLICK, followClick);
if (baseClip.titleButtons != null){
baseClip.titleButtons.btn_play.addEventListener(MouseEvent.CLICK, playBtn);
baseClip.titleButtons.btn_lvlSelect.addEventListener(MouseEvent.CLICK, lvlSelectBtn);
baseClip.titleButtons.btn_walkthrough.addEventListener(MouseEvent.CLICK, videoWalkthru);
};
super.create();
Mouse.show();
}
public function keydown(_arg1:Event):void{
if (waitForInput){
waitForInput = false;
create();
};
}
public function gotoMikengreg(_arg1:Event):void{
Main.gotoMikengreg();
}
public function videoWalkthru(_arg1:Event):void{
Main.videoWalkthru();
}
public function mikengregIntroGo():void{
armorIntro.clip.stop();
removeChild(armorIntro);
armorIntro = null;
mikengregIntro = new Resources.intro_mikengreg();
mikengregIntro.scaleX = (mikengregIntro.scaleY = 0.5);
addChild(mikengregIntro);
mikengregIntro.addEventListener(MouseEvent.CLICK, gotoMikengreg, false, 0, true);
}
override public function update():void{
super.update();
if (((armorIntro) && ((armorIntro.clip.currentFrame == armorIntro.clip.totalFrames)))){
mikengregIntroGo();
};
if (((mikengregIntro) && ((mikengregIntro.currentFrame == mikengregIntro.totalFrames)))){
startRealTitlescreen();
};
if (((!(armorIntro)) && (!(mikengregIntro)))){
Mouse.show();
if (regularTitle){
if (FlxG.keys.justPressed("DOWN")){
baseClip.arrow.y = (baseClip.arrow.y + 14);
};
if (FlxG.keys.justPressed("UP")){
baseClip.arrow.y = (baseClip.arrow.y - 14);
};
if (baseClip.arrow.y < 310){
baseClip.arrow.y = 310;
};
if (baseClip.arrow.y > 338){
baseClip.arrow.y = 338;
};
if (FlxG.keys.groupJustPressed(["S", "A", "Z", "X", "ENTER"])){
if (baseClip.arrow.y == 310){
playBtn(null);
} else {
if (baseClip.arrow.y == 324){
lvlSelectBtn(null);
} else {
videoWalkthru(null);
};
};
};
} else {
if (FlxG.keys.groupJustPressed(["S", "A", "Z", "X", "ENTER"])){
playBtn(null);
};
};
};
}
public function sponsorClick(_arg1:Event):void{
Main.gotoSponsor();
}
public function followClick(_arg1:Event):void{
Main.toFollowUs();
}
public function lvlSelectBtn(_arg1:MouseEvent):void{
FlxG.state = new LevelSelect();
}
}
}//package
Section 256
//UI_hud (UI_hud)
package {
import flash.display.*;
import General.*;
import flash.text.*;
public class UI_hud extends Sprite {
public var base;
public function UI_hud(){
base = new (Resources.map["ui_hud"]);
addChild(base);
base.scaleX = (base.scaleY = 0.5);
}
public function setLevelName(_arg1:String):void{
base.txt_level.text = _arg1.toUpperCase();
}
public function setSavedData(_arg1:uint, _arg2:Boolean):void{
base.txt_timeBest.text = Util.formatTimeMSms(_arg1);
base.candy.gotoAndStop(1);
if (_arg2){
base.candy.gotoAndStop(2);
};
}
public function setTime(_arg1:uint):void{
var _local2:String = Util.formatTimeMSms(_arg1);
base.txt_time_m.text = _local2.split(":")[0];
base.txt_time_s.text = _local2.split(":")[1];
base.txt_time_ms.text = _local2.split(":")[2];
}
}
}//package
Section 257
//Window_G055 (Window_G055)
package {
import org.flixel.*;
public class Window_G055 extends FlxSprite {
public function Window_G055(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
loadGraphic(Resources.map[("window_g055" + LvlManager.bonus)], true, false, 50, 10);
addAnimation("2", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 24, false);
addAnimation("3", [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 24, false);
addAnimation("4", [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], 24, false);
addAnimation("5", [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], 24, false);
addAnimation("6", [40, 41, 42, 43, 44, 45, 46, 47, 48, 49], 24, false);
addAnimation("1", [50, 51, 52, 53, 54, 55, 56, 57, 58, 59], 24, false);
}
public function spawnTime(_arg1:int):void{
play(_arg1.toString(), true);
}
}
}//package
Section 258
//Window_Scientists (Window_Scientists)
package {
import org.flixel.*;
import flash.geom.*;
import flash.display.*;
import flash.text.*;
public class Window_Scientists extends FlxSprite {
public var lineCharCount:int;// = 0
public var dialogStuff;
public var doTextTimer:Number;// = 1.5
public var holster:Sprite;
public var dialogText:String;
public var textTimer:Number;// = 0.05
public var dialogTextField:TextField;
public var doText:Boolean;// = true
public var spaceSound:FlxSound;
public var textIter:int;// = 0
public var dialogSprite:FlxSprite;
public var projectorSound:FlxSound;
public var letterSoundBag:Array;
public function Window_Scientists(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2, Resources.map[("window_scientists" + LvlManager.bonus)]);
}
public function getWordLength(_arg1:String, _arg2:int):int{
var _local3 = 1;
while (((!((_arg1.charAt((_arg2 + _local3)) == " "))) && (((_arg2 + _local3) < _arg1.length)))) {
_local3++;
};
return (_local3);
}
override public function update():void{
var _local1:BitmapData;
var _local2:String;
super.update();
if (!dialogStuff){
return;
};
if (doText){
_local1 = new BitmapData((dialogStuff.width * 2.2), (dialogStuff.height * 2), true, 0);
_local1.draw(dialogStuff, new Matrix(1, 0, 0, 1), null, null, null, true);
dialogSprite.pixels = _local1;
doTextTimer = (doTextTimer - FlxG.dt);
if (doTextTimer <= 0){
dialogStuff.play();
if (((!(projectorSound.playing)) && ((dialogStuff.currentFrame == 1)))){
projectorSound.play();
};
};
if (dialogStuff.currentFrame == 30){
_local2 = "";
dialogStuff.gotoAndStop(30);
textTimer = (textTimer - FlxG.dt);
if ((((textTimer <= 0)) && ((dialogText.length > textIter)))){
textTimer = 0;
if (dialogText.charAt(textIter) != " "){
playLetterSFX();
};
if (lineCharCount < 2){
_local2 = ">>";
textTimer = (textTimer + 0);
} else {
textTimer = (textTimer + 0.05);
_local2 = dialogText.charAt(textIter);
textIter++;
};
dialogTextField.text = (dialogTextField.text + _local2);
if ((((((_local2 == ".")) || ((_local2 == "?")))) || ((_local2 == "!")))){
textTimer = (textTimer + 0.6);
};
lineCharCount = (lineCharCount + _local2.length);
if (dialogText.charAt(textIter) == " "){
if ((lineCharCount + getWordLength(dialogText, textIter)) >= 43){
textIter++;
lineCharCount = 2;
dialogTextField.text = (dialogTextField.text + "\n>>");
textTimer = (textTimer + 0.05);
};
};
} else {
if (textTimer <= -3){
doText = false;
};
};
};
};
}
public function setDialog(_arg1, _arg2:String):void{
var _local6:FlxSound;
dialogText = _arg2;
dialogStuff = _arg1;
dialogTextField = dialogStuff.clip_text.txt_dialog;
dialogTextField.text = "";
dialogStuff.gotoAndStop(1);
projectorSound = new FlxSound();
projectorSound.loadEmbedded(Resources.map["projectorSound"]);
letterSoundBag = [];
var _local3:int;
while (_local3 < 30) {
_local6 = new FlxSound();
_local6.loadEmbedded(Resources.letterSounds[Math.floor((Resources.letterSounds.length * Math.random()))]);
_local6.volume = 0.25;
letterSoundBag.push(_local6);
_local3++;
};
spaceSound = new FlxSound();
spaceSound.loadEmbedded(Resources.map["spaceSound"]);
var _local4 = "000";
if (LvlManager.cloneNumber < 10){
_local4 = ("00" + LvlManager.cloneNumber.toString());
} else {
if (LvlManager.cloneNumber < 100){
_local4 = ("0" + LvlManager.cloneNumber.toString());
} else {
_local4 = LvlManager.cloneNumber.toString();
};
};
var _local5:RegExp = /@@/;
dialogText = dialogText.replace(_local5, _local4);
dialogSprite = new FlxSprite(0, 0);
dialogSprite.pixels = new BitmapData(dialogStuff.width, dialogStuff.height, true, 0);
dialogSprite.x = (dialogStuff.x - 2);
dialogSprite.y = (dialogStuff.y - 2);
dialogSprite.scale.x = (dialogSprite.scale.y = 0.5);
dialogSprite.x = (dialogSprite.x - ((dialogSprite.width * 0.5) + 10));
dialogSprite.y = (dialogSprite.y - ((dialogSprite.height * 0.5) - 3));
holster = new Sprite();
holster.addChild(dialogStuff);
dialogStuff.scaleX = (dialogStuff.scaleY = 0.5);
}
public function playLetterSFX():void{
var _local1:FlxSound = letterSoundBag.shift();
_local1.play();
letterSoundBag.push(_local1);
}
}
}//package
Section 259
//ZeroLevel (ZeroLevel)
package {
import org.flixel.*;
import flash.geom.*;
import flash.display.*;
import General.*;
import org.flixel.data.*;
import flash.utils.*;
import SWFStats.*;
public class ZeroLevel extends FlxState {
public var rope:PixelRope;
public var foregroundTiles:TileLayer;
public var accumulator:Number;// = 0
public var grapples:FlxGroup;
public var totalLevelTime:Number;// = 0
public var myQuake:FlxQuake;
public var bloodParts:FlxGroup;
public var myCandy:Candy;
public var isBonus:Boolean;// = false
public var actors:FlxGroup;
public var myHud:UI_hud;
public var talkyWindow:Window_Scientists;
public var spikes:FlxGroup;
public var deadAvatars:FlxGroup;
public var avatars:FlxGroup;
public var collisionLayer:TileLayer;
public var targetLayer:FlxGroup;
public var windowLayer:FlxGroup;
public var backgroundLayer:TileLayer;
public var entryPoint:FlxPoint;
public var myOgmo:TestSprite;
public var levelHandle:String;
public var myGoal:FlxSprite;
public var gotCandyAlready:Boolean;// = false
public var myGo55Window:Window_G055;
public var ambientMusic:FlxSound;
public var bellRung:Boolean;// = false
public var drawingThing:Sprite;
public var levelTime:Number;// = 0
public var levelNumber:int;// = -1
public var mainActorLayer:FlxGroup;
public var movingPlatformShadowLayer:FlxGroup;
public var bestTimeGottenSoFar:uint;// = 0
public var ogmoLevelData:Class;
public var movingPlatformLayer:FlxGroup;
public function setSavedData(_arg1:uint, _arg2:Boolean):void{
myHud.setSavedData(_arg1, _arg2);
}
public function spawnActors(_arg1:XML, _arg2:FlxGroup):void{
var _local3:XML;
var _local4:XML;
var _local5:XML;
var _local6:Camera;
var _local7:XML;
var _local8:Candy;
var _local9:XML;
var _local10:Goal;
var _local11:XML;
var _local12:EnemyFlyer;
var _local13:XML;
var _local14:XML;
var _local15:EnemyWalker;
var _local16:XML;
var _local17:EnemyLauncher;
var _local18:XML;
var _local19:EnemyCrusher;
var _local20:XML;
var _local21:MovingPlatform;
var _local22:XML;
var _local23:XML;
var _local24:Spike;
var _local25:XML;
var _local26:FixedGrapple;
var _local27:Grapple_BG;
var _local28:XML;
var _local29:MovingGrapple;
var _local30:XML;
var _local31:XML;
var _local32:FloatingGrapple;
spawnWindows(_arg1, _arg2);
spawnWindowScientists(_arg1, _arg2);
if (((talkyWindow) && (talkyWindow.dialogSprite))){
_arg2.add(talkyWindow.dialogSprite);
};
trace(_arg1);
if (_arg1..ogmo.length() > 0){
entryPoint.x = _arg1..ogmo[0].@x;
entryPoint.y = _arg1..ogmo[0].@y;
myOgmo = new TestSprite(entryPoint, LvlManager.currColor);
actors.add(myOgmo);
avatars.add(myOgmo);
};
if (_arg1..grapple_bg.length() > 0){
for each (_local4 in _arg1..grapple_bg) {
};
};
if (_arg1..cameraPan.length() > 0){
for each (var _local35 in _arg1..cameraPan) {
_local5 = _local35;
_local35;
_local6 = new Camera(_local5.@x, _local5.@y);
_arg2.add(_local6);
};
};
if (_arg1..candyPink.length() > 0){
for each (_local35 in _arg1..candyPink) {
_local7 = _local35;
_local35;
_local8 = new Candy(_local7.@x, _local7.@y);
_arg2.add(_local8);
actors.add(_local8);
(myCandy = _local8);
};
};
if (_arg1..goal.length() > 0){
for each (_local35 in _arg1..goal) {
_local9 = _local35;
_local35;
_local10 = new Goal(_local9.@x, _local9.@y);
(myGoal = _local10);
_arg2.add(_local10);
};
};
if (_arg1..enemy_flyer.length() > 0){
for each (_local35 in _arg1..enemy_flyer) {
_local11 = _local35;
_local35;
_local12 = new EnemyFlyer(_local11.@x, _local11.@y);
_arg2.add(_local12);
actors.add(_local12);
for each (var _local37 in _local11..node) {
_local13 = _local37;
_local37;
_local12.addNode(new FlxPoint(_local13.@x, _local13.@y));
};
};
};
if (_arg1..enemy_walker.length() > 0){
for each (_local35 in _arg1..enemy_walker) {
_local14 = _local35;
_local35;
_local15 = new EnemyWalker(_local14.@x, _local14.@y);
_arg2.add(_local15);
actors.add(_local15);
for each (_local37 in _local14..node) {
_local13 = _local37;
_local37;
_local15.addNode(new FlxPoint(_local13.@x, _local13.@y));
};
};
};
if (_arg1..enemy_launcher.length() > 0){
for each (_local35 in _arg1..enemy_launcher) {
_local16 = _local35;
_local35;
_local17 = new EnemyLauncher(_local16.@x, _local16.@y);
_arg2.add(_local17);
actors.add(_local17);
};
};
if (_arg1..enemy_crusher.length() > 0){
for each (_local35 in _arg1..enemy_crusher) {
_local18 = _local35;
_local35;
_local19 = new EnemyCrusher(_local18.@x, _local18.@y);
_arg2.add(_local19);
actors.add(_local19);
_local19.setPath(new FlxPoint(_local18..node[0].@x, _local18..node[0].@y), new FlxPoint(_local18..node[1].@x, _local18..node[1].@y));
};
};
if (_arg1..rail_1x1.length() > 0){
for each (_local35 in _arg1..rail_1x1) {
_local20 = _local35;
_local35;
_local21 = new MovingPlatform(_local20.@x, _local20.@y, 1);
movingPlatformLayer.add(_local21);
for each (_local37 in _local20..node) {
_local13 = _local37;
_local37;
_local21.addNode(new FlxPoint(_local13.@x, _local13.@y));
};
movingPlatformShadowLayer.add(_local21.shadow);
};
};
if (_arg1..rail_2x1.length() > 0){
for each (_local35 in _arg1..rail_2x1) {
_local22 = _local35;
_local35;
_local21 = new MovingPlatform(_local22.@x, _local22.@y, 2);
movingPlatformLayer.add(_local21);
for each (_local37 in _local22..node) {
_local13 = _local37;
_local37;
_local21.addNode(new FlxPoint(_local13.@x, _local13.@y));
};
movingPlatformShadowLayer.add(_local21.shadow);
};
};
if (_arg1..rail_3x1.length() > 0){
for each (_local35 in _arg1..rail_3x1) {
_local23 = _local35;
_local35;
_local21 = new MovingPlatform(_local23.@x, _local23.@y, 3);
movingPlatformLayer.add(_local21);
for each (_local37 in _local23..node) {
_local13 = _local37;
_local37;
_local21.addNode(new FlxPoint(_local13.@x, _local13.@y));
};
movingPlatformShadowLayer.add(_local21.shadow);
};
};
for each (_local35 in _arg1..spikes) {
_local3 = _local35;
_local35;
_local24 = new Spike(_local3.@x, _local3.@y);
_arg2.add(_local24);
spikes.add(_local24);
actors.add(_local24);
};
for each (_local35 in _arg1..spikes_right) {
_local3 = _local35;
_local35;
_local24 = new Spike(_local3.@x, _local3.@y);
(_local24.angle = 90);
_arg2.add(_local24);
spikes.add(_local24);
actors.add(_local24);
};
for each (_local35 in _arg1..spikes_left) {
_local3 = _local35;
_local35;
_local24 = new Spike(_local3.@x, _local3.@y);
(_local24.angle = 270);
_arg2.add(_local24);
spikes.add(_local24);
actors.add(_local24);
};
for each (_local35 in _arg1..spikes_ceiling) {
_local3 = _local35;
_local35;
_local24 = new Spike(_local3.@x, _local3.@y);
(_local24.angle = 180);
_arg2.add(_local24);
spikes.add(_local24);
actors.add(_local24);
};
if (_arg1..grapple_point.length() > 0){
for each (_local35 in _arg1..grapple_point) {
_local25 = _local35;
_local35;
_local26 = new FixedGrapple(_local25.@x, _local25.@y);
_arg2.add(_local26);
grapples.add(_local26);
_local27 = new Grapple_BG((_local25.@x - 50), (_local25.@y - 50));
targetLayer.add(_local27);
(_local27.targGrapple = _local26);
};
};
if (_arg1..grapple_mover.length() > 0){
for each (_local35 in _arg1..grapple_mover) {
_local28 = _local35;
_local35;
_local29 = new MovingGrapple(_local28.@x, _local28.@y);
_arg2.add(_local29);
grapples.add(_local29);
for each (_local37 in _local28..node) {
_local30 = _local37;
_local37;
_local29.addNode(new FlxPoint(_local30.@x, _local30.@y));
};
_local27 = new Grapple_BG((_local28.@x - 50), (_local28.@y - 50));
targetLayer.add(_local27);
(_local27.targGrapple = _local29);
};
};
if (_arg1..grapple_floater.length() > 0){
for each (_local35 in _arg1..grapple_floater) {
_local31 = _local35;
_local35;
_local32 = new FloatingGrapple(_local31.@x, _local31.@y);
_arg2.add(_local32);
grapples.add(_local32);
_local27 = new Grapple_BG((_local31.@x - 50), (_local31.@y - 50));
targetLayer.add(_local27);
(_local27.targGrapple = _local32);
};
};
}
override public function create():void{
super.create();
myQuake = new FlxQuake(2);
ambientMusic = new FlxSound();
ambientMusic.loadEmbedded(Resources.map["bgm_ambient"], true);
ambientMusic.play();
}
public function spawnWindows(_arg1:XML, _arg2:FlxGroup):void{
var _local3:XML;
var _local4:Window_Scientists;
var _local5:String;
var _local6:*;
var _local7:XML;
var _local8:Idle_Window_Sci;
var _local9:Window_G055;
if (_arg1..window_scientists.length() > 0){
for each (var _local12 in _arg1..window_scientists) {
_local3 = _local12;
_local12;
_local4 = new Window_Scientists(_local3.@x, _local3.@y);
_arg2.add(_local4);
_local5 = _local3.@dialog;
if (_local5 != ""){
_local6 = new (Resources.map["scientists_dialog"]);
(_local6.x = _local4.x);
(_local6.y = _local4.y);
(_local6.scaleX = (_local6.scaleY = 0.5));
_local4.setDialog(_local6, _local5);
};
(talkyWindow = _local4);
};
};
if (_arg1..window_scientists60x30.length() > 0){
for each (_local12 in _arg1..window_scientists60x30) {
_local7 = _local12;
_local12;
_local8 = new Idle_Window_Sci(_local7.@x, _local7.@y, "60x30");
_arg2.add(_local8);
};
};
if (_arg1..window_scientists80x10.length() > 0){
for each (_local12 in _arg1..window_scientists80x10) {
_local7 = _local12;
_local12;
_local8 = new Idle_Window_Sci(_local7.@x, _local7.@y, "80x10");
_arg2.add(_local8);
};
};
if (_arg1..window_scientists120x20.length() > 0){
for each (_local12 in _arg1..window_scientists120x20) {
_local7 = _local12;
_local12;
_local8 = new Idle_Window_Sci(_local7.@x, _local7.@y, "120x20");
_arg2.add(_local8);
};
};
if (_arg1..window_g055.length() > 0){
for each (_local12 in _arg1..window_g055) {
_local7 = _local12;
_local12;
_local9 = new Window_G055(_local7.@x, _local7.@y);
_arg2.add(_local9);
(myGo55Window = _local9);
};
};
}
public function doQuake():void{
myQuake.start(0.05, 0.5);
}
public function killMe(_arg1:FlxSprite):void{
LvlManager.death();
if (_arg1 != null){
actors.remove(_arg1, true);
avatars.remove(_arg1, true);
deadAvatars.add(_arg1);
_arg1.velocity.y = 100;
_arg1.height = 3;
_arg1.width = 6;
_arg1.offset.x = 0;
_arg1.offset.y = 7;
if (myOgmo == _arg1){
myOgmo = null;
};
};
}
public function respawn():void{
Log.LevelCounterMetric("deaths", levelNumber);
var _local1:int = LvlManager.nextColor();
if (myGo55Window){
myGo55Window.spawnTime(_local1);
};
var _local2:TestSprite = new TestSprite(entryPoint, _local1);
_local2.grappleTargets = grapples;
_local2.play("respawn");
SoundManager.spawnMachine.play();
myOgmo = _local2;
actors.add(_local2);
add(_local2);
avatars.add(_local2);
if (myCandy){
if (myCandy.visible == false){
myCandy.play("place", true);
myCandy.visible = true;
myCandy.candyPlace.play();
};
};
}
public function spawnWindowScientists(_arg1:XML, _arg2:FlxGroup):void{
var _local3:XML;
var _local4:XML;
var _local5:XML;
var _local6:XML;
var _local7:XML;
var _local8:XML;
var _local9:XML;
var _local10:XML;
if (_arg1..scientist_blondeCoffee.length() > 0){
for each (var _local13 in _arg1..scientist_blondeCoffee) {
_local3 = _local13;
_local13;
_arg2.add(new Sci_BlondeCoffee(_local3.@x, _local3.@y));
};
};
if (_arg1..scientist_blondeCoffee10.length() > 0){
for each (_local13 in _arg1..scientist_blondeCoffee10) {
_local4 = _local13;
_local13;
_arg2.add(new Sci_BlondeCoffee10(_local4.@x, _local4.@y));
};
};
if (_arg1..scientist_froDog.length() > 0){
for each (_local13 in _arg1..scientist_froDog) {
_local5 = _local13;
_local13;
_arg2.add(new Sci_FroDog(_local5.@x, _local5.@y));
};
};
if (_arg1..scientist_froDog10.length() > 0){
for each (_local13 in _arg1..scientist_froDog10) {
_local6 = _local13;
_local13;
_arg2.add(new Sci_FroDog10(_local6.@x, _local6.@y));
};
};
if (_arg1..scientist_girlClip.length() > 0){
for each (_local13 in _arg1..scientist_girlClip) {
_local7 = _local13;
_local13;
_arg2.add(new Sci_GirlClip(_local7.@x, _local7.@y));
};
};
if (_arg1..scientist_girlClip10.length() > 0){
for each (_local13 in _arg1..scientist_girlClip10) {
_local8 = _local13;
_local13;
_arg2.add(new Sci_GirlClip10(_local8.@x, _local8.@y));
};
};
if (_arg1..scientist_pencilRed.length() > 0){
for each (_local13 in _arg1..scientist_pencilRed) {
_local9 = _local13;
_local13;
_arg2.add(new Sci_PencilRed(_local9.@x, _local9.@y));
};
};
if (_arg1..scientist_pencilRed10.length() > 0){
for each (_local13 in _arg1..scientist_pencilRed10) {
_local10 = _local13;
_local13;
_arg2.add(new Sci_PencilRed10(_local10.@x, _local10.@y));
};
};
}
public function spawnLevelJunk(_arg1:String, _arg2:int, _arg3:Boolean):void{
var _local7:String;
var _local8:int;
var _local9:int;
isBonus = _arg3;
if (isBonus){
LvlManager.bonus = "_bonus";
} else {
LvlManager.bonus = "";
};
myHud = new UI_hud();
addChild(myHud);
myHud.setLevelName(("TRIAL " + (_arg2 + 1)));
myHud.setSavedData(Main.saveWrapper.savedData.bestTime(_arg2, isBonus), Main.saveWrapper.savedData.gotCandy(_arg2, isBonus));
actors = new FlxGroup();
grapples = new FlxGroup();
bloodParts = new FlxGroup();
spikes = new FlxGroup();
deadAvatars = new FlxGroup();
avatars = new FlxGroup();
levelHandle = _arg1;
levelNumber = _arg2;
movingPlatformLayer = new FlxGroup();
movingPlatformShadowLayer = new FlxGroup();
ogmoLevelData = Resources.map[levelHandle];
var _local4:ByteArray = new ogmoLevelData();
var _local5:String = new ogmoLevelData().readUTFBytes(_local4.length);
var _local6:XML = new XML(_local5);
if ((((_local6.backgroundTiles.length() > 0)) && (false))){
backgroundLayer = new TileLayer();
backgroundLayer.loadOgmo(_local6.backgroundTiles[0], _local6.width, _local6.height, Resources.map[(_local6.backgroundTiles[0].@set + LvlManager.bonus)], 20, 20);
add(backgroundLayer);
} else {
backgroundLayer = new TileLayer();
_local7 = "";
_local8 = 0;
while (_local8 < (_local6.height / 20)) {
_local9 = 0;
while (_local9 < ((_local6.width / 20) - 1)) {
if (Math.random() < 0.1){
_local7 = (_local7 + ((Math.floor((Math.random() * 10)) + 1) + ","));
} else {
_local7 = (_local7 + "1,");
};
_local9++;
};
_local7 = (_local7 + "1\n");
_local8++;
};
backgroundLayer.loadMap(_local7, Resources.map[("bg_20tile" + LvlManager.bonus)], 20, 20);
add(backgroundLayer);
};
drawingThing = new Sprite();
addChild(drawingThing);
add(movingPlatformShadowLayer);
targetLayer = new FlxGroup();
add(targetLayer);
if (_local6.foregroundTiles.length() > 0){
foregroundTiles = new TileLayer();
foregroundTiles.loadOgmo(_local6.foregroundTiles[0], _local6.width, _local6.height, Resources.map[(_local6.foregroundTiles[0].@set + LvlManager.bonus)], 10, 10);
add(foregroundTiles);
};
if (_local6.windowTiles.length() > 0){
windowLayer = new FlxGroup();
add(windowLayer);
spawnActors(_local6.windowTiles[0], windowLayer);
};
entryPoint = new FlxPoint();
mainActorLayer = new FlxGroup();
add(mainActorLayer);
if (_local6.actors.length() > 0){
spawnActors(_local6.actors[0], mainActorLayer);
};
add(movingPlatformLayer);
if (_local6.collisionTiles.length() > 0){
collisionLayer = new TileLayer();
collisionLayer.loadOgmo(_local6.collisionTiles[0], _local6.width, _local6.height, Resources.map[(_local6.collisionTiles[0].@set + LvlManager.bonus)]);
add(collisionLayer);
};
if (myOgmo){
add(myOgmo);
rope = new PixelRope(myOgmo.x, myOgmo.y);
add(rope);
};
if (myGo55Window){
myGo55Window.spawnTime(LvlManager.currColor);
};
}
override public function update():void{
var _local1:TestSprite;
if (FlxG.keys.groupPressed(["CONTROL", "C", "L", "E", "A", "R"])){
Main.saveWrapper.sharedObj.clear();
};
addChild(myHud);
if (((rope) && (myOgmo))){
if (myOgmo.scale.x > 0){
rope.x = ((myOgmo.x + 7.5) - 50);
rope.y = (myOgmo.y - 50);
} else {
rope.x = ((myOgmo.x - 2.5) - 50);
rope.y = (myOgmo.y - 50);
};
if (myOgmo.grappleTarget){
rope.visible = true;
rope.drawLine(new Point(((myOgmo.grappleTarget.x - rope.x) + 6), ((myOgmo.grappleTarget.y - rope.y) + 6)));
} else {
rope.visible = false;
};
} else {
if (rope){
rope.visible = false;
};
};
myQuake.update();
if (((myOgmo) && (!(myOgmo.spawning)))){
if (!bellRung){
levelTime = (levelTime + (FlxG.dt * 1000));
};
totalLevelTime = (totalLevelTime + (FlxG.dt * 1000));
myHud.setTime(Math.floor(levelTime));
} else {
myHud.setTime(0);
};
FlxU.collide(avatars, spikes);
FlxU.collide(bloodParts, collisionLayer);
FlxU.collide(bloodParts, spikes);
FlxU.collide(deadAvatars, collisionLayer);
FlxU.collide(movingPlatformLayer, actors);
FlxU.collide(avatars, collisionLayer);
for each (_local1 in avatars.members) {
if (_local1.grappleTargets == null){
_local1.grappleTargets = grapples;
};
if (FlxG.keys.R){
_local1.resetPosition();
};
if (_local1.x > 400){
_local1.x = (_local1.x - 400);
};
if (_local1.x < 0){
_local1.x = (_local1.x + 400);
};
if (_local1.y > 225){
_local1.y = (_local1.y - 225);
};
if (_local1.y < 0){
_local1.y = (_local1.y + 225);
};
};
if (FlxG.keys.ESCAPE){
SoundManager.wallSlide.stop();
ambientMusic.stop();
FlxG.state = new LevelSelect(levelNumber, isBonus);
};
super.update();
}
}
}//package