STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228109
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/48361452?noj=FRM48361452-8DC" width="1" height="1"></div>

hats.swf

This is the info page for
Flash #99922

(Click the ID number above for more basic data on this flash file.)


Text
Medal Popup
Place this clip on the root of your movie,
spanning any frames where medals are
called. (this clip is hidden)

MEDAL GET!

100pts

ActionScript [AS3]

Section 1
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import flash.utils.*; import com.adobe.utils.*; public class MD5 { public static var digest:ByteArray; private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (hashBinary(_local2)); } private static function createBlocks(_arg1:ByteArray):Array{ var _local2:Array = new Array(); var _local3:int = (_arg1.length * 8); var _local4 = 0xFF; var _local5:int; while (_local5 < _local3) { _local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32))); _local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3; return (_local2); } public static function hashBinary(_arg1:ByteArray):String{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local2 = 1732584193; var _local3 = -271733879; var _local4 = -1732584194; var _local5 = 271733878; var _local10:Array = createBlocks(_arg1); var _local11:int = _local10.length; var _local12:int; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; digest = new ByteArray(); digest.writeInt(_local2); digest.writeInt(_local3); digest.writeInt(_local4); digest.writeInt(_local5); digest.position = 0; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hashBytes(_arg1:ByteArray):String{ return (hashBinary(_arg1)); } } }//package com.adobe.crypto
Section 2
//PNGEncoder (com.adobe.images.PNGEncoder) package com.adobe.images { import flash.display.*; import flash.utils.*; import flash.geom.*; public class PNGEncoder { private static var crcTableComputed:Boolean = false; private static var crcTable:Array; private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{ var _local8:uint; var _local9:uint; var _local10:uint; if (!crcTableComputed){ crcTableComputed = true; crcTable = []; _local9 = 0; while (_local9 < 0x0100) { _local8 = _local9; _local10 = 0; while (_local10 < 8) { if ((_local8 & 1)){ _local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1)))); } else { _local8 = uint((_local8 >>> 1)); }; _local10++; }; crcTable[_local9] = _local8; _local9++; }; }; var _local4:uint; if (_arg3 != null){ _local4 = _arg3.length; }; _arg1.writeUnsignedInt(_local4); var _local5:uint = _arg1.position; _arg1.writeUnsignedInt(_arg2); if (_arg3 != null){ _arg1.writeBytes(_arg3); }; var _local6:uint = _arg1.position; _arg1.position = _local5; _local8 = 4294967295; var _local7:int; while (_local7 < (_local6 - _local5)) { _local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8)))); _local7++; }; _local8 = uint((_local8 ^ uint(4294967295))); _arg1.position = _local6; _arg1.writeUnsignedInt(_local8); } public static function encode(_arg1:BitmapData):ByteArray{ var _local6:uint; var _local7:int; var _local2:ByteArray = new ByteArray(); _local2.writeUnsignedInt(2303741511); _local2.writeUnsignedInt(218765834); var _local3:ByteArray = new ByteArray(); _local3.writeInt(_arg1.width); _local3.writeInt(_arg1.height); _local3.writeUnsignedInt(134610944); _local3.writeByte(0); writeChunk(_local2, 1229472850, _local3); var _local4:ByteArray = new ByteArray(); var _local5:int; while (_local5 < _arg1.height) { _local4.writeByte(0); if (!_arg1.transparent){ _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF))); _local7++; }; } else { _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel32(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24)))); _local7++; }; }; _local5++; }; _local4.compress(); writeChunk(_local2, 1229209940, _local4); writeChunk(_local2, 1229278788, null); return (_local2); } } }//package com.adobe.images
Section 3
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function decode(_arg1:String){ var _local2:JSONDecoder = new JSONDecoder(_arg1); return (_local2.getValue()); } public static function encode(_arg1:Object):String{ var _local2:JSONEncoder = new JSONEncoder(_arg1); return (_local2.getString()); } } }//package com.adobe.serialization.json
Section 4
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ this.tokenizer = new JSONTokenizer(_arg1); this.nextToken(); this.value = this.parseValue(); } private function parseObject():Object{ var _local2:String; var _local1:Object = new Object(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (this.token.type == JSONTokenType.STRING){ _local2 = String(this.token.value); this.nextToken(); if (this.token.type == JSONTokenType.COLON){ this.nextToken(); _local1[_local2] = this.parseValue(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (this.token.type == JSONTokenType.COMMA){ this.nextToken(); } else { this.tokenizer.parseError(("Expecting } or , but found " + this.token.value)); }; } else { this.tokenizer.parseError(("Expecting : but found " + this.token.value)); }; } else { this.tokenizer.parseError(("Expecting string but found " + this.token.value)); }; }; return (null); } private function parseValue():Object{ if (this.token == null){ this.tokenizer.parseError("Unexpected end of input"); }; switch (this.token.type){ case JSONTokenType.LEFT_BRACE: return (this.parseObject()); case JSONTokenType.LEFT_BRACKET: return (this.parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (this.token.value); default: this.tokenizer.parseError(("Unexpected " + this.token.value)); }; return (null); } private function nextToken():JSONToken{ return ((this.token = this.tokenizer.getNextToken())); } public function getValue(){ return (this.value); } private function parseArray():Array{ var _local1:Array = new Array(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(this.parseValue()); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (this.token.type == JSONTokenType.COMMA){ this.nextToken(); } else { this.tokenizer.parseError(("Expecting ] or , but found " + this.token.value)); }; }; return (null); } } }//package com.adobe.serialization.json
Section 5
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ this.jsonString = this.convertToString(_arg1); } private function escapeString(_arg1:String):String{ var _local3:String; var _local6:String; var _local7:String; var _local2 = ""; var _local4:Number = _arg1.length; var _local5:int; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function arrayToString(_arg1:Array):String{ var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + this.convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } public function getString():String{ return (this.jsonString); } private function objectToString(_arg1:Object):String{ var value:Object; var key:String; var v:XML; var o = _arg1; var s = ""; var classInfo:XML = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((this.escapeString(key) + ":") + this.convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((this.escapeString(v.@name.toString()) + ":") + this.convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (this.escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (this.arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (this.objectToString(_arg1)); }; }; }; return ("null"); } } }//package com.adobe.serialization.json
Section 6
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _location:int; private var _text:String; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; this._location = _arg2; this._text = _arg3; } public function get location():int{ return (this._location); } public function get text():String{ return (this._text); } } }//package com.adobe.serialization.json
Section 7
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _value:Object; private var _type:int; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ this._type = _arg1; this._value = _arg2; } public function get value():Object{ return (this._value); } public function get type():int{ return (this._type); } public function set type(_arg1:int):void{ this._type = _arg1; } public function set value(_arg1:Object):void{ this._value = _arg1; } } }//package com.adobe.serialization.json
Section 8
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var loc:int; private var ch:String; private var obj:Object; private var jsonString:String; public function JSONTokenizer(_arg1:String){ this.jsonString = _arg1; this.loc = 0; this.nextChar(); } private function skipComments():void{ if (this.ch == "/"){ this.nextChar(); switch (this.ch){ case "/": do { this.nextChar(); } while (((!((this.ch == "\n"))) && (!((this.ch == ""))))); this.nextChar(); break; case "*": this.nextChar(); while (true) { if (this.ch == "*"){ this.nextChar(); if (this.ch == "/"){ this.nextChar(); break; }; } else { this.nextChar(); }; if (this.ch == ""){ this.parseError("Multi-line comment not closed"); }; }; break; default: this.parseError((("Unexpected " + this.ch) + " encountered (expecting '/' or '*' )")); }; }; } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function readString():JSONToken{ var _local3:String; var _local4:int; var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.STRING; var _local2 = ""; this.nextChar(); while (((!((this.ch == "\""))) && (!((this.ch == ""))))) { if (this.ch == "\\"){ this.nextChar(); switch (this.ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!this.isHexDigit(this.nextChar())){ this.parseError((" Excepted a hex digit, but found: " + this.ch)); }; _local3 = (_local3 + this.ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + this.ch)); }; } else { _local2 = (_local2 + this.ch); }; this.nextChar(); }; if (this.ch == ""){ this.parseError("Unterminated string literal"); }; this.nextChar(); _local1.value = _local2; return (_local1); } private function nextChar():String{ return ((this.ch = this.jsonString.charAt(this.loc++))); } public function getNextToken():JSONToken{ var _local2:String; var _local3:String; var _local4:String; var _local1:JSONToken = new JSONToken(); this.skipIgnored(); switch (this.ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; this.nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; this.nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; this.nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; this.nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; this.nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; this.nextChar(); break; case "t": _local2 = ((("t" + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; this.nextChar(); } else { this.parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + this.nextChar()) + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; this.nextChar(); } else { this.parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; this.nextChar(); } else { this.parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = this.readString(); break; default: if (((this.isDigit(this.ch)) || ((this.ch == "-")))){ _local1 = this.readNumber(); } else { if (this.ch == ""){ return (null); }; this.parseError((("Unexpected " + this.ch) + " encountered")); }; }; return (_local1); } private function skipWhite():void{ while (this.isWhiteSpace(this.ch)) { this.nextChar(); }; } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, this.loc, this.jsonString)); } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } private function skipIgnored():void{ var _local1:int; do { _local1 = this.loc; this.skipWhite(); this.skipComments(); } while (_local1 != this.loc); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String = _arg1.toUpperCase(); return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } private function readNumber():JSONToken{ var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.NUMBER; var _local2 = ""; if (this.ch == "-"){ _local2 = (_local2 + "-"); this.nextChar(); }; if (!this.isDigit(this.ch)){ this.parseError("Expecting a digit"); }; if (this.ch == "0"){ _local2 = (_local2 + this.ch); this.nextChar(); if (this.isDigit(this.ch)){ this.parseError("A digit cannot immediately follow 0"); }; } else { while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; if (this.ch == "."){ _local2 = (_local2 + "."); this.nextChar(); if (!this.isDigit(this.ch)){ this.parseError("Expecting a digit"); }; while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; if ((((this.ch == "e")) || ((this.ch == "E")))){ _local2 = (_local2 + "e"); this.nextChar(); if ((((this.ch == "+")) || ((this.ch == "-")))){ _local2 = (_local2 + this.ch); this.nextChar(); }; if (!this.isDigit(this.ch)){ this.parseError("Scientific notation number needs exponent value"); }; while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; var _local3:Number = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; this.parseError((("Number " + _local3) + " is not valid!")); return (null); } } }//package com.adobe.serialization.json
Section 9
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const NUMBER:int = 11; public static const FALSE:int = 8; public static const RIGHT_BRACKET:int = 4; public static const NULL:int = 9; public static const TRUE:int = 7; public static const RIGHT_BRACE:int = 2; public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACKET:int = 3; public static const STRING:int = 10; public static const LEFT_BRACE:int = 1; public static const COLON:int = 6; } }//package com.adobe.serialization.json
Section 10
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local4:int; var _local5:int; var _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utils
Section 11
//ArcherSoldier (com.globalgamejam.Hats.ArcherSoldier) package com.globalgamejam.Hats { import org.flixel.*; import flash.geom.*; public class ArcherSoldier extends SmallSoldier { protected const cooldown:Number = 3; public var _arrow:FlxSprite; private var _gibs:FlxEmitter; private var Shot1:Class; private var ImgSoldier:Class; public static var ImgArrow:Class = ArcherSoldier_ImgArrow; public function ArcherSoldier(_arg1:int, _arg2:int, _arg3:Player, _arg4:FlxTilemap, _arg5:FlxSprite){ ImgSoldier = ArcherSoldier_ImgSoldier; Shot1 = ArcherSoldier_Shot1; super(_arg1, _arg2, _arg3, _arg4); loadGraphic(ImgSoldier, true, true, 16, 16); _arrow = _arg5; _timer = cooldown; _leaves_remains = false; _facing = LEFT; width = 16; height = 16; offset.x = 1; offset.y = 1; addAnimation("idle", [0]); addAnimation("shoot", [1, 2], 2); } override public function kill():void{ if (dead){ return; }; exists = false; dead = true; } public function shoot():void{ play("shoot"); FlxG.play(Shot1); var _local1:FlxEmitter = new FlxEmitter(0, 0, -0.6); _local1.setXVelocity(-30, 30); _local1.setYVelocity(-30, 30); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.createSprites(Player.ImgSmoke, 1); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 4)); _local1.restart(); _arrow.velocity.x = ((facing == RIGHT)) ? 100 : -100; _arrow.exists = true; _arrow.dead = false; _arrow.x = this.x; _arrow.y = this.y; _arrow.facing = this.facing; } override public function update():void{ var _local1:FlxEmitter; var _local2:Point; if (_blinded_timer > 0){ _blinded_timer = (_blinded_timer - (FlxG.elapsed / 2)); _local1 = new FlxEmitter(0, 0, -0.6); _local1.setXVelocity(-30, 30); _local1.setYVelocity(-30, 30); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.createSprites(Player.ImgSmoke, 1); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 4)); _local1.restart(); } else { if (_timer <= 0){ play("idle"); if (_player.x > this.x){ facing = RIGHT; } else { facing = LEFT; }; if ((((_player.y > (this.y - 32))) && ((_player.y < (this.y + 32))))){ _local2 = new Point(); if (!_world.ray(this.x, this.y, _player.x, _player.y, _local2)){ shoot(); _timer = cooldown; }; }; } else { _timer = (_timer - FlxG.elapsed); }; }; } } }//package com.globalgamejam.Hats
Section 12
//ArcherSoldier_ImgArrow (com.globalgamejam.Hats.ArcherSoldier_ImgArrow) package com.globalgamejam.Hats { import mx.core.*; public class ArcherSoldier_ImgArrow extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 13
//ArcherSoldier_ImgSoldier (com.globalgamejam.Hats.ArcherSoldier_ImgSoldier) package com.globalgamejam.Hats { import mx.core.*; public class ArcherSoldier_ImgSoldier extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 14
//ArcherSoldier_Shot1 (com.globalgamejam.Hats.ArcherSoldier_Shot1) package com.globalgamejam.Hats { import mx.core.*; public class ArcherSoldier_Shot1 extends SoundAsset { } }//package com.globalgamejam.Hats
Section 15
//Boulder (com.globalgamejam.Hats.Boulder) package com.globalgamejam.Hats { import org.flixel.*; public class Boulder extends FlxSprite { protected const bounce:Number = 0.8; private var SndBoulder:Class; private var ImgBoulder:Class; public function Boulder(_arg1:Number, _arg2:Number){ ImgBoulder = Boulder_ImgBoulder; SndBoulder = Boulder_SndBoulder; super(); x = _arg1; y = _arg2; loadGraphic(ImgBoulder, true); velocity.y = 0; velocity.x = 100; acceleration.y = 420; } override public function hitFloor(_arg1:FlxCore=null):Boolean{ if (velocity.y > 20){ FlxG.play(SndBoulder); }; FlxG.quake((0.00015 * velocity.y), 0.6); velocity.y = (velocity.y * -(bounce)); return (true); } override public function update():void{ if (((dead) && (finished))){ exists = false; return; }; angle = ((x * 2) % 360); super.update(); } override public function hitWall(_arg1:FlxCore=null):Boolean{ velocity.x = 0; return (true); } } }//package com.globalgamejam.Hats
Section 16
//Boulder_ImgBoulder (com.globalgamejam.Hats.Boulder_ImgBoulder) package com.globalgamejam.Hats { import mx.core.*; public class Boulder_ImgBoulder extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 17
//Boulder_SndBoulder (com.globalgamejam.Hats.Boulder_SndBoulder) package com.globalgamejam.Hats { import mx.core.*; public class Boulder_SndBoulder extends SoundAsset { } }//package com.globalgamejam.Hats
Section 18
//Bullet (com.globalgamejam.Hats.Bullet) package com.globalgamejam.Hats { import org.flixel.*; public class Bullet extends FlxSprite { private var SndHit:Class; private var ImgBullet:Class; private var SndShoot:Class; public function Bullet(){ ImgBullet = Bullet_ImgBullet; SndHit = Bullet_SndHit; SndShoot = Bullet_SndShoot; super(); loadGraphic(ImgBullet, true); width = 6; height = 6; offset.x = 1; offset.y = 1; exists = false; addAnimation("up", [0]); addAnimation("down", [1]); addAnimation("left", [2]); addAnimation("right", [3]); addAnimation("poof", [4, 5, 6, 7], 50, false); } override public function hitWall(_arg1:FlxCore=null):Boolean{ hurt(0); return (true); } override public function update():void{ if (((dead) && (finished))){ exists = false; } else { super.update(); }; } override public function hurt(_arg1:Number):void{ if (dead){ return; }; velocity.x = 0; velocity.y = 0; if (onScreen()){ FlxG.play(SndHit); }; dead = true; play("poof"); } override public function hitCeiling(_arg1:FlxCore=null):Boolean{ hurt(0); return (true); } override public function hitFloor(_arg1:FlxCore=null):Boolean{ hurt(0); return (true); } override public function render():void{ super.render(); } public function shoot(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{ FlxG.play(SndShoot); super.reset(_arg1, _arg2); velocity.x = _arg3; velocity.y = _arg4; if (velocity.y < 0){ play("up"); } else { if (velocity.y > 0){ play("down"); } else { if (velocity.x < 0){ play("left"); } else { if (velocity.x > 0){ play("right"); }; }; }; }; } } }//package com.globalgamejam.Hats
Section 19
//Bullet_ImgBullet (com.globalgamejam.Hats.Bullet_ImgBullet) package com.globalgamejam.Hats { import mx.core.*; public class Bullet_ImgBullet extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 20
//Bullet_SndHit (com.globalgamejam.Hats.Bullet_SndHit) package com.globalgamejam.Hats { import mx.core.*; public class Bullet_SndHit extends SoundAsset { } }//package com.globalgamejam.Hats
Section 21
//Bullet_SndShoot (com.globalgamejam.Hats.Bullet_SndShoot) package com.globalgamejam.Hats { import mx.core.*; public class Bullet_SndShoot extends SoundAsset { } }//package com.globalgamejam.Hats
Section 22
//DeadLargeSoldier (com.globalgamejam.Hats.DeadLargeSoldier) package com.globalgamejam.Hats { import org.flixel.*; public class DeadLargeSoldier extends FlxSprite { private var ImgBlock:Class; private var player_ref:Player; public static const _fall_rate:Number = 1.5; public function DeadLargeSoldier(_arg1:Number, _arg2:Number, _arg3:Player){ ImgBlock = DeadLargeSoldier_ImgBlock; super(_arg1, (_arg2 + 24)); player_ref = _arg3; loadGraphic(ImgBlock, true, true, 48, 15); height = 2; FlxG.state.add(this); fixed = true; } override public function collide(_arg1:FlxCore):Boolean{ if (super.collide(_arg1)){ y = (y + (_fall_rate * FlxG.elapsed)); return (true); }; return (false); } } }//package com.globalgamejam.Hats
Section 23
//DeadLargeSoldier_ImgBlock (com.globalgamejam.Hats.DeadLargeSoldier_ImgBlock) package com.globalgamejam.Hats { import mx.core.*; public class DeadLargeSoldier_ImgBlock extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 24
//Hat (com.globalgamejam.Hats.Hat) package com.globalgamejam.Hats { import org.flixel.*; public class Hat extends FlxSprite { protected var _player:Player; protected var timer:Number; public var whatami:String; public static const SPRING_HAT:String = "SPRING_HAT"; public static const BUNNY_HAT:String = "BUNNY_HAT"; public static const SMOKE_HAT:String = "SMOKE_HAT"; public static const NULL_HAT:String = "NULL_HAT"; public static const SOUND_HAT:String = "SOUND_HAT"; public static const CAMO_HAT:String = "CAMO_HAT"; public static var ImgCamo:Class = Hat_ImgCamo; public static var ImgBunny:Class = Hat_ImgBunny; public static var ImgSmoke:Class = Hat_ImgSmoke; public static var ImgSpring:Class = Hat_ImgSpring; public static var ImgNoise:Class = Hat_ImgNoise; public function Hat(_arg1:String, _arg2:Player=null, _arg3:Boolean=false){ _player = _arg2; timer = 0; if (_arg1 == CAMO_HAT){ loadGraphic(ImgCamo, true, true, 28, 23); addAnimation("idle", [0]); addAnimation("move", [1, 0], 6); } else { if (_arg1 == BUNNY_HAT){ loadGraphic(ImgBunny, true, true, 28, 23); addAnimation("idle", [0]); addAnimation("move", [1, 0], 12); } else { if (_arg1 == SPRING_HAT){ loadGraphic(ImgSpring, true, true, 28, 23); addAnimation("idle", [0]); addAnimation("move", [1, 0], 6); } else { if (_arg1 == SMOKE_HAT){ loadGraphic(ImgSmoke, true, true, 28, 23); addAnimation("idle", [0]); addAnimation("move", [1, 0], 6); } else { if (_arg1 == SOUND_HAT){ loadGraphic(ImgNoise, true, true, 28, 23); addAnimation("idle", [0]); addAnimation("move", [1, 0], 6); } else { createGraphic(23, 23); }; }; }; }; }; whatami = _arg1; if (!_arg3){ FlxG.state.add(this); }; } public function animate():void{ play("move"); } public function stop():void{ play("idle"); } override public function update():void{ var _local1:FlxEmitter; if (whatami == SMOKE_HAT){ timer = (timer + FlxG.elapsed); if (timer >= 0.1){ timer = 0; _local1 = new FlxEmitter(0, 0, -1.5); _local1.setXVelocity(-10, 10); _local1.setYVelocity(-50, -10); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.alpha = 0.5; _local1.createSprites(Player.ImgSmoke, 1); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 2)); _local1.restart(); }; }; if (_player != null){ this.x = ((_player.x - 8) + ((facing == RIGHT)) ? 1 : 0); this.y = (((_player.y - (_player.height / 2)) + (this.height / 2)) - 11); this.facing = _player.facing; }; super.update(); } public function run():void{ if (whatami == CAMO_HAT){ _player.go_invisible(); } else { if (whatami == BUNNY_HAT){ _player.please_jump(); } else { if (whatami == SPRING_HAT){ _player.please_jump_high(); } else { if (whatami == SOUND_HAT){ _player.please_shoot_sound(); } else { if (whatami == SMOKE_HAT){ _player.please_shoot_smoke(); }; }; }; }; }; } public function isa(_arg1:Object):Boolean{ return ((this.whatami == _arg1)); } } }//package com.globalgamejam.Hats
Section 25
//Hat_ImgBunny (com.globalgamejam.Hats.Hat_ImgBunny) package com.globalgamejam.Hats { import mx.core.*; public class Hat_ImgBunny extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 26
//Hat_ImgCamo (com.globalgamejam.Hats.Hat_ImgCamo) package com.globalgamejam.Hats { import mx.core.*; public class Hat_ImgCamo extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 27
//Hat_ImgNoise (com.globalgamejam.Hats.Hat_ImgNoise) package com.globalgamejam.Hats { import mx.core.*; public class Hat_ImgNoise extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 28
//Hat_ImgSmoke (com.globalgamejam.Hats.Hat_ImgSmoke) package com.globalgamejam.Hats { import mx.core.*; public class Hat_ImgSmoke extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 29
//Hat_ImgSpring (com.globalgamejam.Hats.Hat_ImgSpring) package com.globalgamejam.Hats { import mx.core.*; public class Hat_ImgSpring extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 30
//HatBar (com.globalgamejam.Hats.HatBar) package com.globalgamejam.Hats { import org.flixel.*; public class HatBar extends FlxSprite { protected var _player:Player; public var hats:Array; public function HatBar(_arg1:Player){ x = 0; y = 12; _player = _arg1; createGraphic(320, 8, 1148680055); scrollFactor.x = 0; scrollFactor.y = 0; hats = new Array(); } public function show_hats(_arg1:Array):void{ var _local2:String; var _local3:Boolean; var _local4:Hat; var _local5:Hat; for each (_local2 in _arg1) { _local3 = false; for each (_local4 in hats) { if (_local4.isa(_local2)){ _local3 = true; break; }; }; if (_local3 == false){ _local5 = new Hat(_local2); _local5.scrollFactor.x = 0; _local5.scrollFactor.y = 0; _local5.y = 0; _local5.x = ((hats.length * 24) + 8); hats.push(_local5); }; }; } public function chose_hat(_arg1:Number):void{ var _local2:Hat; if ((((_arg1 < 0)) || ((_arg1 >= hats.length)))){ return; }; for each (_local2 in hats) { _local2.scale.x = (_local2.scale.y = 0.6); }; hats[_arg1].scale.x = (hats[_arg1].scale.y = 1); } public function add_view():void{ var _local1:Hat; FlxG.state.add(this); for each (_local1 in hats) { FlxG.state.add(_local1); }; } } }//package com.globalgamejam.Hats
Section 31
//LargeSoldier (com.globalgamejam.Hats.LargeSoldier) package com.globalgamejam.Hats { import org.flixel.*; public class LargeSoldier extends SmallSoldier { private var Hurt1:Class; private var Hurt2:Class; private var _gibs:FlxEmitter; private var Hurt3:Class; private var ImgGibs:Class; private var ImgSoldier:Class; public function LargeSoldier(_arg1:int, _arg2:int, _arg3:Player, _arg4:FlxTilemap){ ImgSoldier = LargeSoldier_ImgSoldier; ImgGibs = LargeSoldier_ImgGibs; Hurt1 = LargeSoldier_Hurt1; Hurt2 = LargeSoldier_Hurt2; Hurt3 = LargeSoldier_Hurt3; super(_arg1, _arg2, _arg3, _arg4); loadGraphic(ImgSoldier, true, true, 32, 48); _leaves_remains = true; _facing = RIGHT; width = 24; height = 40; offset.x = 5; offset.y = 8; acceleration.y = 420; slow_speed = 16; fast_speed = 64; _run_speed = slow_speed; drag.x = 120; drag.y = 80; maxVelocity.x = slow_speed; _feeler = new FlxSprite(); addAnimation("idle", [0]); addAnimation("walking", [1, 2, 3, 0], 8, true); addAnimation("angry", [4, 5, 6, 7], 18, true); reset(x, y); } override public function kill():void{ if (dead){ return; }; make_snd(); _gibs = new FlxEmitter(0, 0, -2.5); _gibs.setXVelocity(-150, 150); _gibs.setYVelocity(-300, 0); _gibs.setRotation(-320, -320); _gibs.createSprites(ImgGibs, 80); FlxG.state.add(_gibs); _gibs.x = (this.x + (width / 2)); _gibs.y = (this.y + (height / 2)); _gibs.restart(); exists = false; dead = true; } override public function blind():void{ super.blind(); make_snd(); } private function make_snd():void{ var _local1:Number = FlxG.random(); if (_local1 < 0.33){ FlxG.play(Hurt1); } else { if (_local1 < 0.66){ FlxG.play(Hurt2); } else { FlxG.play(Hurt3); }; }; } } }//package com.globalgamejam.Hats
Section 32
//LargeSoldier_Hurt1 (com.globalgamejam.Hats.LargeSoldier_Hurt1) package com.globalgamejam.Hats { import mx.core.*; public class LargeSoldier_Hurt1 extends SoundAsset { } }//package com.globalgamejam.Hats
Section 33
//LargeSoldier_Hurt2 (com.globalgamejam.Hats.LargeSoldier_Hurt2) package com.globalgamejam.Hats { import mx.core.*; public class LargeSoldier_Hurt2 extends SoundAsset { } }//package com.globalgamejam.Hats
Section 34
//LargeSoldier_Hurt3 (com.globalgamejam.Hats.LargeSoldier_Hurt3) package com.globalgamejam.Hats { import mx.core.*; public class LargeSoldier_Hurt3 extends SoundAsset { } }//package com.globalgamejam.Hats
Section 35
//LargeSoldier_ImgGibs (com.globalgamejam.Hats.LargeSoldier_ImgGibs) package com.globalgamejam.Hats { import mx.core.*; public class LargeSoldier_ImgGibs extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 36
//LargeSoldier_ImgSoldier (com.globalgamejam.Hats.LargeSoldier_ImgSoldier) package com.globalgamejam.Hats { import mx.core.*; public class LargeSoldier_ImgSoldier extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 37
//MenuState (com.globalgamejam.Hats.MenuState) package com.globalgamejam.Hats { import org.flixel.*; public class MenuState extends FlxState { private var _b:FlxButton; private var _e:FlxEmitter; private var SndHit2:Class; private var SndHit:Class; private var _ok2:Boolean; private var ImgCursor:Class; private var _ok:Boolean; private var _t1:FlxText; private var _t2:FlxText; public static var ImgHats:Class = MenuState_ImgHats; public function MenuState():void{ var _local1:uint; var _local2:FlxSprite; ImgCursor = MenuState_ImgCursor; SndHit = MenuState_SndHit; SndHit2 = MenuState_SndHit2; super(); _e = new FlxEmitter(((FlxG.width / 2) - 50), ((FlxG.height / 2) - 10), -10); _e.setSize(100, 30); _e.setYVelocity(-2000, -100); _e.setRotation(-360, 360); _e.createSprites(ImgHats, 100); add(_e); _t1 = new FlxText(FlxG.width, (FlxG.height / 3), 80, "ha"); _t1.size = 32; _t1.color = 0xFFFFFF; _t1.antialiasing = true; add(_t1); _t2 = new FlxText(-60, (FlxG.height / 3), 80, "ts"); _t2.size = _t1.size; _t2.color = _t1.color; _t2.antialiasing = _t1.antialiasing; add(_t2); _ok = false; _ok2 = false; FlxG.showCursor(ImgCursor); var _local3:FlxSave = new FlxSave(); if (_local3.bind("Mode")){ if (_local3.data.plays == null){ _local3.data.plays = 0; } else { _local3.data.plays++; }; FlxG.log(("Number of plays: " + _local3.data.plays)); }; } private function onFade():void{ FlxG.switchState(PlayStateTiles); } private function onFlixel():void{ FlxG.openURL("http://flixel.org"); } override public function update():void{ var _local1:uint; var _local3:FlxText; var _local4:FlxText; var _local5:FlxButton; _local1 = ((FlxG.width / 2) - 40); if (_t1.x > _local1){ _t1.x = (_t1.x - (FlxG.elapsed * FlxG.width)); if (_t1.x < _local1){ _t1.x = _local1; }; }; var _local2:uint = ((FlxG.width / 2) + 10); if (_t2.x < _local2){ _t2.x = (_t2.x + (FlxG.elapsed * FlxG.width)); if (_t2.x > _local2){ _t2.x = _local2; }; }; if (((!(_ok)) && ((((_t1.x == _local1)) || ((_t2.x == _local2)))))){ _ok = true; FlxG.play(SndHit); FlxG.flash(4294967295, 0.5); FlxG.quake(0.035, 0.5); _t1.color = 0xBBBBBB; _t2.color = 0xBBBBBB; _e.restart(); _t1.angle = 0; _t2.angle = 0; _local3 = new FlxText(0, ((FlxG.height / 3) + 39), 320, "by Adam, ChrisA, ChrisB, Tom, and Sarah"); _local3.alignment = "center"; _local3.color = 9187242; add(_local3); this.add(new FlxSprite(104, ((FlxG.height / 3) + 53)).createGraphic(126, 19, 2013265919)); _local5 = new FlxButton((_local1 - 10), ((FlxG.height / 3) + 54), onFlixel); _local5.loadGraphic(new FlxSprite().createGraphic(114, 15, 2013265919), new FlxSprite().createGraphic(114, 15, 4278190080)); _local3 = new FlxText(2, 1, 130, "special thanks to flixel"); _local3.color = 2013265919; _local4 = new FlxText(_local3.x, _local3.y, _local3.width, _local3.text); _local4.color = 2013265919; _local5.loadText(_local3, _local4); add(_local5); this.add(new FlxSprite((_local1 + 1), ((FlxG.height / 3) + 137)).createGraphic(86, 19, 2013265919)); _b = new FlxButton((_local1 + 2), ((FlxG.height / 3) + 138), onButton); _b.loadGraphic(new FlxSprite().createGraphic(84, 15, 4294967295), new FlxSprite().createGraphic(84, 15, 4278190080)); _local3 = new FlxText(25, 1, 100, "Play"); _local3.color = 1996488704; _local4 = new FlxText(_local3.x, _local3.y, _local3.width, _local3.text); _local4.color = 2013265919; _b.loadText(_local3, _local4); add(_b); }; if (((((((_ok) && (!(_ok2)))) && (FlxG.keys.X))) && (FlxG.keys.C))){ _ok2 = true; FlxG.play(SndHit2); FlxG.flash(4292406178, 0.5); FlxG.fade(4279442459, 1, onFade); }; super.update(); } private function onButton():void{ FlxG.play(SndHit2); FlxG.fade(4279442459, 1, onFade); } } }//package com.globalgamejam.Hats
Section 38
//MenuState_ImgCursor (com.globalgamejam.Hats.MenuState_ImgCursor) package com.globalgamejam.Hats { import mx.core.*; public class MenuState_ImgCursor extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 39
//MenuState_ImgHats (com.globalgamejam.Hats.MenuState_ImgHats) package com.globalgamejam.Hats { import mx.core.*; public class MenuState_ImgHats extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 40
//MenuState_SndHit (com.globalgamejam.Hats.MenuState_SndHit) package com.globalgamejam.Hats { import mx.core.*; public class MenuState_SndHit extends SoundAsset { } }//package com.globalgamejam.Hats
Section 41
//MenuState_SndHit2 (com.globalgamejam.Hats.MenuState_SndHit2) package com.globalgamejam.Hats { import mx.core.*; public class MenuState_SndHit2 extends SoundAsset { } }//package com.globalgamejam.Hats
Section 42
//Player (com.globalgamejam.Hats.Player) package com.globalgamejam.Hats { import org.flixel.*; public class Player extends FlxSprite { private const runSpeed:uint = 80; private var _down:Boolean; public var _on_floor:Boolean; private var _smoke_bomb:SmokeBomb; public var _gibs:FlxEmitter; private var SndJump:Class; private var Cloak:Class; public var _invisible:Boolean; public var _hat_bar:HatBar; private var _bulletVel:int; private var _up:Boolean; public var _hats_avail:Array; private var SndLand:Class; private var SndExplode:Class; public var _cur_hat:String; public var _hat:Hat; public var _shoot_timer:Number; private var SmokeShot:Class; private var SndShot:Class; private var _sound_bomb:SoundBomb; private var _curBullet:uint; private var ImgGibs:Class; private var _bullets:Array; private var SndSwitchHat:Class; private var _jumpPower:int; public static var ImgSmoke:Class = Player_ImgSmoke; public static var ImgSpaceman:Class = Player_ImgSpaceman; public function Player(_arg1:int, _arg2:int, _arg3:SmokeBomb, _arg4:SoundBomb, _arg5:Array=null){ ImgGibs = Player_ImgGibs; SndJump = Player_SndJump; SndLand = Player_SndLand; SndExplode = Player_SndExplode; SndShot = Player_SndShot; SmokeShot = Player_SmokeShot; Cloak = Player_Cloak; SndSwitchHat = Player_SndSwitchHat; super(_arg1, _arg2); loadGraphic(ImgSpaceman, true, true, 16, 32); _sound_bomb = _arg4; _smoke_bomb = _arg3; if (_arg5 != null){ _hats_avail = _arg5; } else { _hats_avail = new Array(Hat.CAMO_HAT, Hat.SPRING_HAT, Hat.BUNNY_HAT, Hat.SMOKE_HAT, Hat.SOUND_HAT); }; _cur_hat = _hats_avail[0]; _hat = new Hat(_cur_hat, this); _hat_bar = new HatBar(this); _hat_bar.show_hats(_hats_avail); _invisible = false; _shoot_timer = 0; width = 13; height = 31; offset.x = 2; offset.y = 1; drag.x = (runSpeed * 16); acceleration.y = 420; _jumpPower = 185; maxVelocity.x = runSpeed; maxVelocity.y = 300; _on_floor = false; addAnimation("idle", [0]); addAnimation("run", [1, 2, 3, 0], 12); addAnimation("jump", [4]); addAnimation("victory", [5]); _set_hat(0); } public function please_jump_high():void{ if ((((velocity.y == 0)) && (_on_floor))){ FlxG.play(SndJump); velocity.y = (velocity.y - 300); _on_floor = false; }; } public function _set_hat(_arg1:Number=-1):void{ if (_arg1 <= -1){ _arg1 = ((_hats_avail.indexOf(_cur_hat) + 1) % _hats_avail.length); }; if (_arg1 > _hats_avail.length){ return; }; _cur_hat = _hats_avail[_arg1]; _hat.kill(); _hat.destroy(); _hat = new Hat(_cur_hat, this); _hat_bar.chose_hat(_arg1); } public function change_hat(_arg1:Number=-1):void{ _set_hat(_arg1); FlxG.play(SndSwitchHat); } private function placeHat():void{ } public function please_shoot_sound():void{ if (_shoot_timer <= 0){ _sound_bomb.shoot(x, y, ((facing == RIGHT)) ? 200 : -200); _shoot_timer = 1; FlxG.play(SndShot); }; } public function go_visible():void{ _invisible = false; this.alpha = 1; _gibs = new FlxEmitter(0, 0, -1.5); _gibs.setXVelocity(-20, 20); _gibs.setYVelocity(30, 5); _gibs.gravity = -100; _gibs.setRotation(-180, -180); _gibs.createSprites(ImgSmoke, 9); FlxG.state.add(_gibs); _gibs.x = (this.x + (width / 2)); _gibs.y = (this.y + (height / 2)); _gibs.restart(); } public function add_gui():void{ _hat_bar.add_view(); } public function go_invisible():void{ if (velocity.y != 0){ return; }; if (_invisible == true){ return; }; FlxG.play(Cloak); velocity.x = 0; acceleration.x = 0; _invisible = true; this.alpha = 0.2; _gibs = new FlxEmitter(0, 0, -1.5); _gibs.setXVelocity(-20, 20); _gibs.setYVelocity(30, 5); _gibs.gravity = -100; _gibs.setRotation(-180, -180); _gibs.createSprites(ImgSmoke, 9); FlxG.state.add(_gibs); _gibs.x = (this.x + (width / 2)); _gibs.y = (this.y + (height / 2)); _gibs.restart(); } override public function hitFloor(_arg1:FlxCore=null):Boolean{ if (velocity.y > 150){ FlxG.play(SndLand); }; _on_floor = true; return (super.hitFloor()); } override public function update():void{ if (dead){ return; }; if (_shoot_timer > 0){ _shoot_timer = (_shoot_timer - FlxG.elapsed); }; acceleration.x = 0; if (((((FlxG.keys.justPressed("LEFT")) || (FlxG.keys.justPressed("RIGHT")))) && (_invisible))){ go_visible(); }; if (((FlxG.keys.LEFT) && (!(_invisible)))){ facing = LEFT; acceleration.x = (acceleration.x - drag.x); } else { if (((FlxG.keys.RIGHT) && (!(_invisible)))){ facing = RIGHT; acceleration.x = (acceleration.x + drag.x); }; }; if ((((((_cur_hat == Hat.CAMO_HAT)) && ((velocity.x == 0)))) && ((velocity.y == 0)))){ } else { if (this.alpha != 1){ go_visible(); }; }; if (((FlxG.keys.justPressed("X")) || (FlxG.keys.justPressed("UP")))){ if (_cur_hat == Hat.SPRING_HAT){ please_jump_high(); } else { please_jump(); }; }; if (((((FlxG.keys.pressed("C")) || (FlxG.keys.pressed("DOWN")))) && (!((velocity.y == 0))))){ if (_cur_hat == Hat.BUNNY_HAT){ velocity.x = ((runSpeed * 3) * ((facing == RIGHT)) ? 1 : -1); }; }; if (((FlxG.keys.justPressed("ONE")) || (FlxG.keys.justPressed("A")))){ change_hat(0); }; if (((FlxG.keys.justPressed("TWO")) || (FlxG.keys.justPressed("S")))){ change_hat(1); }; if (((FlxG.keys.justPressed("THREE")) || (FlxG.keys.justPressed("D")))){ change_hat(2); }; if (((FlxG.keys.justPressed("FOUR")) || (FlxG.keys.justPressed("F")))){ change_hat(3); }; if (((FlxG.keys.justPressed("FIVE")) || (FlxG.keys.justPressed("G")))){ change_hat(4); }; if (velocity.y != 0){ play("jump"); } else { if (velocity.x == 0){ play("idle"); _hat.stop(); } else { play("run"); _hat.animate(); }; }; if (_cur_hat == Hat.BUNNY_HAT){ maxVelocity.x = (runSpeed * 3); } else { maxVelocity.x = runSpeed; }; if (((FlxG.keys.pressed("C")) || (FlxG.keys.pressed("DOWN")))){ _hat.run(); }; super.update(); } override public function kill():void{ if (dead){ return; }; super.kill(); FlxG.play(SndExplode); _hat.kill(); _hat.destroy(); _gibs = new FlxEmitter(0, 0, -1.5); _gibs.setXVelocity(-150, 150); _gibs.setYVelocity(-200, 0); _gibs.setRotation(-720, -720); _gibs.createSprites(ImgGibs, 50); FlxG.state.add(_gibs); _gibs.x = (this.x + (width / 2)); _gibs.y = (this.y + (height / 2)); _gibs.restart(); flicker(-1); exists = true; visible = false; FlxG.quake(0.005, 0.35); FlxG.flash(4286019583, 0.35); } public function please_shoot_smoke():void{ if (_shoot_timer <= 0){ _smoke_bomb.shoot(x, y, ((facing == RIGHT)) ? 400 : -400); _shoot_timer = 1; FlxG.play(SmokeShot); }; } public function please_jump():void{ if ((((velocity.y == 0)) && (_on_floor))){ FlxG.play(SndJump); velocity.y = (velocity.y - _jumpPower); _on_floor = false; }; } } }//package com.globalgamejam.Hats
Section 43
//Player_Cloak (com.globalgamejam.Hats.Player_Cloak) package com.globalgamejam.Hats { import mx.core.*; public class Player_Cloak extends SoundAsset { } }//package com.globalgamejam.Hats
Section 44
//Player_ImgGibs (com.globalgamejam.Hats.Player_ImgGibs) package com.globalgamejam.Hats { import mx.core.*; public class Player_ImgGibs extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 45
//Player_ImgSmoke (com.globalgamejam.Hats.Player_ImgSmoke) package com.globalgamejam.Hats { import mx.core.*; public class Player_ImgSmoke extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 46
//Player_ImgSpaceman (com.globalgamejam.Hats.Player_ImgSpaceman) package com.globalgamejam.Hats { import mx.core.*; public class Player_ImgSpaceman extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 47
//Player_SmokeShot (com.globalgamejam.Hats.Player_SmokeShot) package com.globalgamejam.Hats { import mx.core.*; public class Player_SmokeShot extends SoundAsset { } }//package com.globalgamejam.Hats
Section 48
//Player_SndExplode (com.globalgamejam.Hats.Player_SndExplode) package com.globalgamejam.Hats { import mx.core.*; public class Player_SndExplode extends SoundAsset { } }//package com.globalgamejam.Hats
Section 49
//Player_SndJump (com.globalgamejam.Hats.Player_SndJump) package com.globalgamejam.Hats { import mx.core.*; public class Player_SndJump extends SoundAsset { } }//package com.globalgamejam.Hats
Section 50
//Player_SndLand (com.globalgamejam.Hats.Player_SndLand) package com.globalgamejam.Hats { import mx.core.*; public class Player_SndLand extends SoundAsset { } }//package com.globalgamejam.Hats
Section 51
//Player_SndShot (com.globalgamejam.Hats.Player_SndShot) package com.globalgamejam.Hats { import mx.core.*; public class Player_SndShot extends SoundAsset { } }//package com.globalgamejam.Hats
Section 52
//Player_SndSwitchHat (com.globalgamejam.Hats.Player_SndSwitchHat) package com.globalgamejam.Hats { import mx.core.*; public class Player_SndSwitchHat extends SoundAsset { } }//package com.globalgamejam.Hats
Section 53
//PlayStateTiles (com.globalgamejam.Hats.PlayStateTiles) package com.globalgamejam.Hats { import org.flixel.*; public class PlayStateTiles extends FlxState { private var _player:Player; private var _dead_blocks:Array; private var SndVictory:Class; private var TxtMap10:Class; private var SndMode:Class; private var TxtMap12:Class; private var _smoke_bomb:SmokeBomb; private var TxtMap11:Class; private var TxtMap13:Class; private var _sm_arrows:Array; private var ImgTiles:Class; private var _finish_door:FlxSprite; private var _boulder:Boulder; private var _tilemap:FlxTilemap; private var _sm_soldiers:Array; private var TxtMap2:Class; private var TxtMap3:Class; private var TxtMap4:Class; private var TxtMap5:Class; private var TxtMap6:Class; private var TxtMap7:Class; private var TxtMap8:Class; private var TxtMap9:Class; private var _restart:Number; private var _spikes:Array; private var _cur_level:Number; private var _backmap:FlxTilemap; private var TxtMap:Class; private var _sound_bomb:SoundBomb; private var _bullets:Array; private var themeSong:Class; public function PlayStateTiles():void{ SndMode = PlayStateTiles_SndMode; TxtMap = PlayStateTiles_TxtMap; TxtMap2 = PlayStateTiles_TxtMap2; TxtMap3 = PlayStateTiles_TxtMap3; TxtMap4 = PlayStateTiles_TxtMap4; TxtMap5 = PlayStateTiles_TxtMap5; TxtMap6 = PlayStateTiles_TxtMap6; TxtMap7 = PlayStateTiles_TxtMap7; TxtMap8 = PlayStateTiles_TxtMap8; TxtMap9 = PlayStateTiles_TxtMap9; TxtMap10 = PlayStateTiles_TxtMap10; TxtMap11 = PlayStateTiles_TxtMap11; TxtMap12 = PlayStateTiles_TxtMap12; TxtMap13 = PlayStateTiles_TxtMap13; themeSong = PlayStateTiles_themeSong; SndVictory = PlayStateTiles_SndVictory; ImgTiles = PlayStateTiles_ImgTiles; super(); _restart = 0; _spikes = new Array(); _bullets = new Array(); _sm_soldiers = new Array(); _sm_arrows = new Array(); _dead_blocks = new Array(); _player = new Player(0, 0, _smoke_bomb, _sound_bomb); var _local1:uint; while (_local1 < 8) { _bullets.push(new Bullet()); _local1++; }; _finish_door = new FlxSprite(0, 0); _finish_door.alpha = 0; _finish_door.width = 1; _finish_door.height = 1; _cur_level = 0; _boulder = new Boulder(0, 0); _boulder.kill(); _sound_bomb = new SoundBomb(); _smoke_bomb = new SmokeBomb(); FlxG.follow(_player, 2.5); FlxG.followAdjust(0.5, 0); changeLevel(_cur_level); var _local2:FlxSound = FlxG.play(themeSong, 1, true); _local2.play(); } private function changeLevel(_arg1:int):void{ var _local2:String; var _local8:uint; var _local9:int; var _local10:int; var _local11:FlxSprite; var _local12:FlxSprite; var _local13:FlxText; killObjects(); _tilemap = new FlxTilemap(); _backmap = new FlxTilemap(); _tilemap.collideIndex = 9; if (_arg1 == 0){ _local2 = new TxtMap(); } else { if (_arg1 == 1){ _local2 = new TxtMap2(); } else { if (_arg1 == 2){ _local2 = new TxtMap3(); } else { if (_arg1 == 3){ _local2 = new TxtMap4(); _boulder = new Boulder(64, 128); this.add(_boulder); } else { if (_arg1 == 4){ _local2 = new TxtMap5(); } else { if (_arg1 == 5){ _local2 = new TxtMap6(); } else { if (_arg1 == 6){ _local2 = new TxtMap7(); } else { if (_arg1 == 7){ _local2 = new TxtMap8(); } else { if (_arg1 == 8){ _local2 = new TxtMap9(); } else { if (_arg1 == 9){ _local2 = new TxtMap10(); } else { if (_arg1 == 10){ _local2 = new TxtMap11(); } else { if (_arg1 == 11){ _local2 = new TxtMap12(); } else { if (_arg1 == 12){ _local2 = new TxtMap13(); } else { FlxG.switchState(VictoryState); return; }; }; }; }; }; }; }; }; }; }; }; }; }; _tilemap.loadMap(_local2, ImgTiles, 16); _backmap.loadMap(_local2, ImgTiles, 16); var _local3 = -1; var _local4 = -1; var _local5:uint; while (_local5 < _tilemap.totalTiles) { _local8 = _tilemap.getTileByIndex(_local5); _local9 = ((_local5 % _tilemap.widthInTiles) * 16); _local10 = (Math.floor((_local5 / _tilemap.widthInTiles)) * 16); if ((((_local8 >= 16)) && ((_local8 <= 18)))){ _local11 = new FlxSprite(_local9, (_local10 + 8)); _local11.createGraphic(16, 16); _tilemap.setTileByIndex(_local5, 0); _spikes.push(_local11); } else { if ((((_local8 > 18)) && ((_local8 <= 25)))){ switch (_local8){ case 19: _sm_soldiers.push(new SmallSoldier(_local9, (_local10 - 16), _player, _tilemap)); break; case 20: _sm_soldiers.push(new LargeSoldier(_local9, (_local10 - 32), _player, _tilemap)); break; case 21: _local12 = new FlxSprite(0, 0); _local12.loadGraphic(ArcherSoldier.ImgArrow, false, true); _local12.kill(); _sm_arrows.push(_local12); _sm_soldiers.push(new ArcherSoldier(_local9, _local10, _player, _tilemap, _local12)); break; case 22: break; case 23: _local3 = _local9; _local4 = (_local10 - 16); break; case 24: break; case 25: _finish_door.x = (_local9 + 8); _finish_door.y = (_local10 + 8); break; default: trace("Shouldn't be here"); break; }; _tilemap.setTileByIndex(_local5, 0); _backmap.setTileByIndex(_local5, 0); }; }; if (_local8 > 23){ _backmap.setTileByIndex(_local5, _local8); _tilemap.setTileByIndex(_local5, 0); }; _local5++; }; if ((((_local4 <= -1)) && ((_local4 <= -1)))){ _player.x = (_tilemap.width / 2); _player.y = (_tilemap.height / 2); } else { _player.x = _local3; _player.y = _local4; }; FlxG.flash(4279442459); var _local6:uint = ((_tilemap.width / 2) - (FlxG.width / 2)); var _local7:uint = ((_tilemap.height / 2) - (FlxG.height / 2)); FlxG.followBounds(_local6, _local7, _local6, _local7); _tilemap.follow(); FlxG.follow(_player, 2.5); if (_arg1 == 1){ _local13 = new FlxText((FlxG.width / 2), (FlxG.height / 3), 80, "Z, X, C"); _local13.size = 32; _local13.color = 0xFFFFFF; _local13.antialiasing = true; this.add(_local13); }; addObjects(); } private function addObjects():void{ var _local2:SmallSoldier; var _local3:FlxSprite; this.add(_backmap); var _local1:uint; while (_local1 < 8) { this.add(_bullets[_local1]); _local1++; }; for each (_local2 in _sm_soldiers) { this.add(_local2); }; this.add(_player); this.add(_player._hat); this.add(_tilemap); this.add(_smoke_bomb); this.add(_sound_bomb); this.add(_finish_door); for each (_local3 in _sm_arrows) { this.add(_local3); }; _player.add_gui(); } private function killObjects():void{ do { } while (_spikes.pop() != null); do { } while (_sm_soldiers.pop() != null); do { } while (_sm_arrows.pop() != null); do { } while (_dead_blocks.pop() != null); this._layer.destroy(); _player = new Player(0, 0, _smoke_bomb, _sound_bomb); } override public function update():void{ var _local1:DeadLargeSoldier; var _local2:SmallSoldier; var _local3:FlxSprite; var _local4:FlxSprite; var _local5:FlxSprite; var _local6:FlxEmitter; var _local7:SmallSoldier; if (_player.dead){ _restart = (_restart + FlxG.elapsed); if (_restart > 2){ changeProperLevel(); _restart = 0; }; }; super.update(); _tilemap.collideArray(_bullets); _tilemap.collide(_player); _tilemap.collideArray(_sm_soldiers); _tilemap.collide(_smoke_bomb); _tilemap.collide(_sound_bomb); if (!_boulder.dead){ _tilemap.collide(_boulder); if (_boulder.overlaps(_player)){ _player.kill(); }; }; for each (_local1 in _dead_blocks) { _local1.collide(_player); }; for each (_local2 in _sm_soldiers) { if (((((_local2.overlaps(_smoke_bomb)) && (!(_smoke_bomb.dead)))) && (!(_local2.dead)))){ _local2.blind(); _smoke_bomb.explode(); }; if (((_local2._leaves_remains) && (_local2.dead))){ _local2._leaves_remains = false; _dead_blocks.push(new DeadLargeSoldier(_local2.x, _local2.y, _player)); }; }; if (!_player._invisible){ for each (_local2 in _sm_soldiers) { if (((_local2.overlaps(_player)) && (!(_local2.dead)))){ _player.kill(); }; if (((((_local2.overlaps(_smoke_bomb)) && (!(_smoke_bomb.dead)))) && (!(_local2.dead)))){ _local2.blind(); _smoke_bomb.explode(); }; }; }; for each (_local3 in _spikes) { if (_local3.overlaps(_player)){ _player.kill(); }; }; for each (_local4 in _sm_arrows) { if (_tilemap.collide(_local4)){ _local4.kill(); _local6 = new FlxEmitter(0, 0, -0.6); _local6.setXVelocity(-30, 30); _local6.setYVelocity(-30, 30); _local6.gravity = -100; _local6.setRotation(-180, -180); _local6.createSprites(Player.ImgSmoke, 2); FlxG.state.add(_local6); _local6.x = (_local4.x + (width / 2)); _local6.y = (_local4.y + (height / 4)); _local6.restart(); _local4.x = 0; _local4.y = 0; }; if (((_local4.overlaps(_player)) && (!(_player._invisible)))){ _player.kill(); }; }; for each (_local5 in _spikes) { for each (_local7 in _sm_soldiers) { if (_local7.overlaps(_local5)){ _local7.kill(); }; }; }; if (_sound_bomb.sound_alarm){ _sound_bomb.sound_alarm = false; for each (_local2 in _sm_soldiers) { _local2.alarm(_sound_bomb.x, _sound_bomb.y); }; }; if (((_finish_door.collide(_player)) && (_player.active))){ for each (_local2 in _sm_soldiers) { _local2._leaves_remains = false; _local2.kill(); }; for each (_local1 in _dead_blocks) { _local1.kill(); }; for each (_local4 in _sm_arrows) { _local4.kill(); }; _boulder.kill(); _cur_level++; FlxG.play(SndVictory); FlxG.fade(4278190080, 2, changeProperLevel, true); _player.play("victory"); _player.active = false; }; } private function changeProperLevel():void{ FlxG.fade(0, 1, null, true); changeLevel(_cur_level); } } }//package com.globalgamejam.Hats
Section 54
//PlayStateTiles_ImgTiles (com.globalgamejam.Hats.PlayStateTiles_ImgTiles) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_ImgTiles extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 55
//PlayStateTiles_SndMode (com.globalgamejam.Hats.PlayStateTiles_SndMode) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_SndMode extends SoundAsset { } }//package com.globalgamejam.Hats
Section 56
//PlayStateTiles_SndVictory (com.globalgamejam.Hats.PlayStateTiles_SndVictory) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_SndVictory extends SoundAsset { } }//package com.globalgamejam.Hats
Section 57
//PlayStateTiles_themeSong (com.globalgamejam.Hats.PlayStateTiles_themeSong) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_themeSong extends SoundAsset { } }//package com.globalgamejam.Hats
Section 58
//PlayStateTiles_TxtMap (com.globalgamejam.Hats.PlayStateTiles_TxtMap) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 59
//PlayStateTiles_TxtMap10 (com.globalgamejam.Hats.PlayStateTiles_TxtMap10) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap10 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 60
//PlayStateTiles_TxtMap11 (com.globalgamejam.Hats.PlayStateTiles_TxtMap11) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap11 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 61
//PlayStateTiles_TxtMap12 (com.globalgamejam.Hats.PlayStateTiles_TxtMap12) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap12 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 62
//PlayStateTiles_TxtMap13 (com.globalgamejam.Hats.PlayStateTiles_TxtMap13) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap13 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 63
//PlayStateTiles_TxtMap2 (com.globalgamejam.Hats.PlayStateTiles_TxtMap2) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap2 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 64
//PlayStateTiles_TxtMap3 (com.globalgamejam.Hats.PlayStateTiles_TxtMap3) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap3 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 65
//PlayStateTiles_TxtMap4 (com.globalgamejam.Hats.PlayStateTiles_TxtMap4) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap4 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 66
//PlayStateTiles_TxtMap5 (com.globalgamejam.Hats.PlayStateTiles_TxtMap5) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap5 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 67
//PlayStateTiles_TxtMap6 (com.globalgamejam.Hats.PlayStateTiles_TxtMap6) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap6 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 68
//PlayStateTiles_TxtMap7 (com.globalgamejam.Hats.PlayStateTiles_TxtMap7) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap7 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 69
//PlayStateTiles_TxtMap8 (com.globalgamejam.Hats.PlayStateTiles_TxtMap8) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap8 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 70
//PlayStateTiles_TxtMap9 (com.globalgamejam.Hats.PlayStateTiles_TxtMap9) package com.globalgamejam.Hats { import mx.core.*; public class PlayStateTiles_TxtMap9 extends ByteArrayAsset { } }//package com.globalgamejam.Hats
Section 71
//SmallSoldier (com.globalgamejam.Hats.SmallSoldier) package com.globalgamejam.Hats { import org.flixel.*; public class SmallSoldier extends FlxSprite { protected var _player:Player; public var _leaves_remains:Boolean; protected var _timer:Number; protected var slow_speed:Number; private var SndHit:Class; protected var _world:FlxTilemap; private var _gibs:FlxEmitter; protected var _stand_timer:Number; private var ImgSoldier:Class; protected var _run_speed:Number; protected var _max_player_dist:Number; protected var _angry_timer:Number; public var _feeler:FlxSprite; protected var fast_speed:Number; private var ImgGibs:Class; protected var _blinded_timer:Number; public static const _alarm_dist:Number = 0x0100; public static const _blinded_time:Number = 3; private static var _cb:uint = 0; public function SmallSoldier(_arg1:int, _arg2:int, _arg3:Player, _arg4:FlxTilemap){ ImgSoldier = SmallSoldier_ImgSoldier; ImgGibs = SmallSoldier_ImgGibs; SndHit = SmallSoldier_SndHit; super(_arg1, _arg2); loadGraphic(ImgSoldier, true, true, 16, 32); _player = _arg3; _world = _arg4; _leaves_remains = false; if (FlxG.random() < 0.5){ _facing = RIGHT; } else { _facing = LEFT; }; _stand_timer = 0; _blinded_timer = 0; _angry_timer = 0; width = 16; height = 28; offset.x = 1; offset.y = 3; _max_player_dist = 128; acceleration.y = 420; slow_speed = 32; fast_speed = 96; _run_speed = slow_speed; drag.x = 120; drag.y = 80; maxVelocity.x = _run_speed; _feeler = new FlxSprite(); addAnimation("idle", [0]); addAnimation("walking", [1, 2, 3, 0], 12, true); addAnimation("angry", [4, 5, 6, 7], 18, true); reset(x, y); } override public function hitWall(_arg1:FlxCore=null):Boolean{ if (_angry_timer > 0){ return (true); }; if (_facing == RIGHT){ _facing = LEFT; } else { _facing = RIGHT; }; return (super.hitWall()); } override public function hurt(_arg1:Number):void{ } public function alarm(_arg1:Number, _arg2:Number):void{ if (Math.sqrt((Math.pow((x - _arg1), 2) + Math.pow((y - _arg2), 2))) <= _alarm_dist){ facing = ((_arg1)>x) ? RIGHT : LEFT; _angry_timer = (4 + FlxG.random()); }; } public function blind():void{ _blinded_timer = _blinded_time; } override public function reset(_arg1:Number, _arg2:Number):void{ super.reset(_arg1, _arg2); velocity.x = 0; velocity.y = 0; health = 2; _timer = 0; play("idle"); } public function playerOnSide():Boolean{ return ((((((_player.x > this.x)) && ((_facing == RIGHT)))) || ((((_player.x < this.x)) && ((_facing == LEFT)))))); } override public function update():void{ var _local1:FlxEmitter; if (dead){ if (finished){ exists = false; } else { super.update(); }; return; }; if (_blinded_timer > 0){ _blinded_timer = (_blinded_timer - FlxG.elapsed); _local1 = new FlxEmitter(0, 0, -0.6); _local1.setXVelocity(-30, 30); _local1.setYVelocity(-30, 30); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.createSprites(Player.ImgSmoke, 1); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 4)); _local1.restart(); }; if (velocity.y == 0){ acceleration.x = 0; if (_facing == RIGHT){ acceleration.x = (acceleration.x + _run_speed); _feeler.x = (this.x + this.width); } else { if (_facing == LEFT){ acceleration.x = (acceleration.x - _run_speed); _feeler.x = (this.x - (this.width / 2)); }; }; _feeler.y = (this.y + this.height); if (((((((((!(_player._invisible)) && ((playerDist() < _max_player_dist)))) && (playerOnSide()))) && ((_blinded_timer <= 0)))) || ((_angry_timer > 0)))){ if (_angry_timer > 0){ _angry_timer = (_angry_timer - FlxG.elapsed); }; (acceleration.x * 10); maxVelocity.x = fast_speed; play("angry"); } else { maxVelocity.x = slow_speed; play("walking"); }; if (((!(_world.collide(_feeler))) && ((_blinded_timer <= 0)))){ acceleration.x = 0; velocity.x = 0; if (_angry_timer <= 0){ play("idle"); _timer = (_timer + FlxG.elapsed); } else { play("angry"); }; } else { _timer = 0; }; if (_timer > 2.5){ _timer = 0; if (_facing == RIGHT){ _facing = LEFT; } else { _facing = RIGHT; }; }; }; super.update(); } override public function kill():void{ if (dead){ return; }; _gibs = new FlxEmitter(0, 0, -1.5); _gibs.setXVelocity(-150, 150); _gibs.setYVelocity(-200, 0); _gibs.setRotation(-720, -720); _gibs.createSprites(ImgGibs, 20); FlxG.state.add(_gibs); _gibs.x = (this.x + (width / 2)); _gibs.y = (this.y + (height / 2)); _gibs.restart(); super.kill(); } public function playerDist():uint{ return (Math.sqrt((Math.pow((x - _player.x), 2) + Math.pow((y - _player.y), 2)))); } private function shoot():void{ } override public function hitFloor(_arg1:FlxCore=null):Boolean{ return (super.hitFloor()); } } }//package com.globalgamejam.Hats
Section 72
//SmallSoldier_ImgGibs (com.globalgamejam.Hats.SmallSoldier_ImgGibs) package com.globalgamejam.Hats { import mx.core.*; public class SmallSoldier_ImgGibs extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 73
//SmallSoldier_ImgSoldier (com.globalgamejam.Hats.SmallSoldier_ImgSoldier) package com.globalgamejam.Hats { import mx.core.*; public class SmallSoldier_ImgSoldier extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 74
//SmallSoldier_SndHit (com.globalgamejam.Hats.SmallSoldier_SndHit) package com.globalgamejam.Hats { import mx.core.*; public class SmallSoldier_SndHit extends SoundAsset { } }//package com.globalgamejam.Hats
Section 75
//SmokeBomb (com.globalgamejam.Hats.SmokeBomb) package com.globalgamejam.Hats { import org.flixel.*; public class SmokeBomb extends FlxSprite { protected const max_timer:Number = 4; private var SmokeLand:Class; protected var timer:Number; public function SmokeBomb(){ SmokeLand = SmokeBomb_SmokeLand; super(); acceleration.y = 420; kill(); timer = 0; } override public function update():void{ var _local1:FlxEmitter; if (dead){ return; }; if (timer < max_timer){ timer = (timer + FlxG.elapsed); } else { kill(); }; _local1 = new FlxEmitter(0, 0, -0.2); _local1.setXVelocity(-90, 90); _local1.setYVelocity(-90, 90); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.createSprites(Player.ImgSmoke, 1); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 2)); _local1.restart(); super.update(); } public function explode():void{ if (dead){ return; }; FlxG.play(SmokeLand); var _local1:FlxEmitter = new FlxEmitter(0, 0, -1.5); _local1.setXVelocity(-90, 90); _local1.setYVelocity(-90, 90); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.createSprites(Player.ImgSmoke, 50); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 2)); _local1.restart(); this.kill(); } public function revive():void{ exists = true; dead = false; timer = 0; } public function shoot(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.x = _arg1; this.y = _arg2; revive(); velocity.x = _arg3; velocity.y = -50; visible = false; } } }//package com.globalgamejam.Hats
Section 76
//SmokeBomb_SmokeLand (com.globalgamejam.Hats.SmokeBomb_SmokeLand) package com.globalgamejam.Hats { import mx.core.*; public class SmokeBomb_SmokeLand extends SoundAsset { } }//package com.globalgamejam.Hats
Section 77
//SoundBomb (com.globalgamejam.Hats.SoundBomb) package com.globalgamejam.Hats { import org.flixel.*; public class SoundBomb extends FlxSprite { protected const max_timer:Number = 1.5; public var sound_alarm:Boolean; protected var timer:Number; public static var ImgSound:Class = SoundBomb_ImgSound; public function SoundBomb(){ acceleration.y = 0; kill(); timer = 0; sound_alarm = false; } public function explode():void{ if (dead){ return; }; sound_alarm = true; var _local1:FlxEmitter = new FlxEmitter(0, 0, -3); _local1.setXVelocity(-30, 30); _local1.setYVelocity(-30, 30); _local1.gravity = -30; _local1.setRotation(-180, -180); _local1.alpha = 0.5; _local1.createSprites(ImgSound, 50); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 2)); _local1.restart(); this.kill(); } override public function update():void{ if (dead){ return; }; if (timer < max_timer){ timer = (timer + FlxG.elapsed); } else { explode(); }; var _local1:FlxEmitter = new FlxEmitter(0, 0, -0.2); _local1.setXVelocity(-90, 90); _local1.setYVelocity(-90, 90); _local1.gravity = -100; _local1.setRotation(-180, -180); _local1.createSprites(ImgSound, 1); FlxG.state.add(_local1); _local1.x = (this.x + (width / 2)); _local1.y = (this.y + (height / 2)); _local1.restart(); super.update(); } public function revive():void{ exists = true; dead = false; sound_alarm = false; timer = 0; } override public function hitFloor(_arg1:FlxCore=null):Boolean{ explode(); return (true); } override public function hitWall(_arg1:FlxCore=null):Boolean{ explode(); return (true); } override public function collide(_arg1:FlxCore):Boolean{ explode(); return (true); } public function shoot(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.x = _arg1; this.y = _arg2; revive(); velocity.x = _arg3; velocity.y = 0; visible = false; } } }//package com.globalgamejam.Hats
Section 78
//SoundBomb_ImgSound (com.globalgamejam.Hats.SoundBomb_ImgSound) package com.globalgamejam.Hats { import mx.core.*; public class SoundBomb_ImgSound extends BitmapAsset { } }//package com.globalgamejam.Hats
Section 79
//VictoryState (com.globalgamejam.Hats.VictoryState) package com.globalgamejam.Hats { import org.flixel.*; public class VictoryState extends FlxState { private var _timer:Number; private var SndMenu:Class; private var _fading:Boolean; public function VictoryState(){ SndMenu = VictoryState_SndMenu; super(); _timer = 0; _fading = false; FlxG.flash(4294967295); var _local1:FlxEmitter = new FlxEmitter(0, -50, 0.03); _local1.setSize(FlxG.width, 0); _local1.setXVelocity(); _local1.setYVelocity(0, 100); _local1.setRotation(-360, -360); _local1.gravity = 80; _local1.createSprites(MenuState.ImgHats, 120); add(_local1); var _local2:FlxSprite = new FlxSprite(160, 180); _local2.loadGraphic(Player.ImgSpaceman, true, true, 16, 32); _local2.addAnimation("yay", [5, 5, 0], 2, true); _local2.play("yay"); add(_local2); add(new FlxText(0, ((FlxG.height / 2) - 35), FlxG.width, "VICTORY").setFormat(null, 16, 0xFFFFFF, "center")); } override public function update():void{ super.update(); if (!_fading){ _timer = (_timer + FlxG.elapsed); if (((FlxG.keys.justPressed("X")) || (FlxG.keys.justPressed("C")))){ _fading = true; FlxG.play(SndMenu); FlxG.fade(4294967295, 2, onPlay); }; }; } private function onPlay():void{ FlxG.switchState(PlayStateTiles); } } }//package com.globalgamejam.Hats
Section 80
//VictoryState_SndMenu (com.globalgamejam.Hats.VictoryState_SndMenu) package com.globalgamejam.Hats { import mx.core.*; public class VictoryState_SndMenu extends SoundAsset { } }//package com.globalgamejam.Hats
Section 81
//FlashAd (com.newgrounds.components.FlashAd) package com.newgrounds.components { import flash.events.*; import com.newgrounds.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class FlashAd extends Sprite { private var _adURLLoader:URLLoader; private var _ad:Loader; private var _adRect:Sprite; private var _mask:Shape; private var _showBackground:Boolean; public var background:MovieClip; private static const REMOVED_FROM_STAGE:String = "removedFromStage"; private static var _adResetTime:uint = 0; private static var _adURL:URLRequest; public function FlashAd(_arg1:Boolean=true){ if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; this._adRect = new Sprite(); this._adRect.graphics.beginFill(0); this._adRect.graphics.moveTo(0, 0); this._adRect.graphics.lineTo(300, 0); this._adRect.graphics.lineTo(300, 250); this._adRect.graphics.lineTo(0, 250); this._adRect.graphics.lineTo(0, 0); this._adRect.graphics.endFill(); this._mask = new Shape(); this._mask.graphics.beginFill(0); this._mask.graphics.moveTo(0, 0); this._mask.graphics.lineTo(300, 0); this._mask.graphics.lineTo(300, 250); this._mask.graphics.lineTo(0, 250); this._mask.graphics.lineTo(0, 0); this._mask.graphics.endFill(); addChild(this._adRect); this._adRect.addChild(this._mask); this._adRect.visible = false; x = Math.round(x); y = Math.round(y); scaleX = 1; scaleY = 1; if (this.background){ if (this.background.ngLinkButton){ this.background.ngLinkButton.addEventListener(MouseEvent.CLICK, this.linkClickHandler); }; if (this.background.loadingClip){ this.background.loadingClip.visible = false; }; }; if (API.isFlashVersion(9, 0, 28)){ addEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage); }; if (API.adsApproved){ this.loadAdFeed(API.adFeedURL); } else { API.addEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false, 0, true); }; this.showBackground = _arg1; } private function onAdFeedLoaded(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); if (((_local2.data) && (!((_local2.data == ""))))){ this.loadAd((_local2.data as String)); } else { dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"))); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; }; } private function onAdFeedError(_arg1:Event):void{ trace("[NewgroundsAPI] :: Unable to load ad feed!"); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; } private function onAdError(_arg1:Event):void{ dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"))); this.removeAd(); } private function onAdLoaded(_arg1:Event):void{ this._adRect.addChild(this._ad); this._ad.mask = this._mask; this._adRect.visible = true; if (this.background){ if (this._showBackground){ this._adRect.mask = this.background.adMask; }; if (this.background.loadingClip){ this.background.loadingClip.visible = false; }; }; trace("[NewgroundsAPI] :: Ad loaded!"); dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, true)); } public function get showBackground():Boolean{ return (this._showBackground); } public function set showBackground(_arg1:Boolean):void{ this._showBackground = _arg1; if (this.background){ this.background.visible = _arg1; this._adRect.mask = (_arg1) ? this.background.adMask : null; }; } private function get hasAdElapsed():Boolean{ if (getTimer() >= _adResetTime){ _adResetTime = (getTimer() + ((1000 * 60) * 5)); return (true); }; return (false); } private function loadAdFeed(_arg1:String):void{ var adFeedURL = _arg1; this._adURLLoader = new URLLoader(); this._adURLLoader.addEventListener(Event.COMPLETE, this.onAdFeedLoaded); this._adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError); this._adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onAdError); if (!adFeedURL){ trace("[Newgrounds API] :: Invalid feed URL!"); return; }; if (this.hasAdElapsed){ if (adFeedURL.indexOf("?") > -1){ _adURL = new URLRequest(((adFeedURL + "&random=") + Math.random())); } else { _adURL = new URLRequest(((adFeedURL + "?random=") + Math.random())); }; }; try { this._adURLLoader.load(_adURL); } catch(e:Error) { onAdError(null); }; if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = true; }; } private function onAdsApproved(_arg1:APIEvent):void{ API.removeEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false); if (_arg1.success){ this.loadAdFeed(API.adFeedURL); } else { trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!"); }; } private function loadAd(_arg1:String):void{ if (this._ad){ this.removeAd(); }; this._ad = new Loader(); this._ad.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onAdLoaded); this._ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError); this._ad.load(new URLRequest(_arg1), new LoaderContext(false, new ApplicationDomain(null))); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = true; }; } public function removeAd():void{ removeEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; if (this._adURLLoader){ try { this._adURLLoader.close(); } catch(e:Error) { }; }; if (this._adRect){ this._adRect.visible = false; }; if (this._ad){ trace("[NewgroundsAPI] :: Ad removed"); try { this._ad.close(); } catch(e:Error) { }; try { Object(this._ad).unloadAndStop(true); } catch(e:Error) { _ad.unload(); }; if (this._ad.parent){ this._ad.parent.removeChild(this._ad); }; }; this._ad = null; } private function onRemovedFromStage(_arg1:Event):void{ this.removeAd(); } private function linkClickHandler(_arg1:MouseEvent):void{ API.loadNewgrounds(); } } }//package com.newgrounds.components
Section 82
//FlxNGPreloader (com.newgrounds.components.FlxNGPreloader) package com.newgrounds.components { import flash.events.*; import com.newgrounds.*; import flash.display.*; import flash.utils.*; public class FlxNGPreloader extends MovieClip { protected var _ad:FlashAd; public var autoPlay:Boolean;// = false public var NewgroundsAPIEncryptionKey:String; protected var _loadBar:Bitmap; protected var _loadBarMask:Shape; protected var _adContainer:Sprite; public var className:String; protected var _initialized:Boolean; public var NewgroundsAPIShowAds:Boolean;// = true public var NewgroundsAPIId:String; protected var _preloader:Sprite; public function FlxNGPreloader():void{ this._preloader = new Sprite(); this._adContainer = new Sprite(); this._loadBarMask = new Shape(); super(); addEventListener(Event.ENTER_FRAME, this.enterFrameHandler); } private function playButtonClickHandler(_arg1:MouseEvent):void{ this.startGame(); } protected function createMedalPopup(_arg1:Number, _arg2:Number):void{ var _local3:MedalPopup = new MedalPopup(); _local3.x = _arg1; _local3.y = _arg2; addChild(_local3); } private function adsApprovedHandler(_arg1:APIEvent):void{ API.removeEventListener(APIEvent.ADS_APPROVED, this.adsApprovedHandler); if (this._adContainer){ this._ad = new FlashAd(false); this._adContainer.addChild(this._ad); this._preloader.addChild(this._adContainer); this._adContainer.visible = true; }; } protected function enterFrameHandler(_arg1:Event):void{ var _local3:Sprite; if (!this._initialized){ if (stage){ this.create(); this._initialized = true; } else { return; }; }; var _local2:Number = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal); this._loadBarMask.scaleX = (uint((_local2 * 200)) / 200); if (_local2 >= 1){ removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler); if (this.autoPlay){ this.startGame(); } else { _local3 = new Sprite(); _local3.addChild(new Bitmap(new FlxLoaderPlay(0, 0))); _local3.x = this._loadBarMask.x; _local3.y = this._loadBarMask.y; _local3.buttonMode = true; this._loadBar.visible = false; _local3.addEventListener(MouseEvent.CLICK, this.playButtonClickHandler); this._preloader.addChild(_local3); }; }; } protected function startGame():void{ var _local2:Object; nextFrame(); var _local1:Class = Class(getDefinitionByName(this.className)); if (_local1){ _local2 = new (_local1); addChild((_local2 as DisplayObject)); }; removeChild(this._preloader); if (this._ad){ this._ad.removeAd(); }; this._ad = null; this._adContainer = null; this._loadBarMask = null; this._preloader = null; } protected function create():void{ if (!this.NewgroundsAPIId){ trace("[NewgroundsAPI] :: No API ID set! Please set NewgroundsAPIId in your preloader."); return; }; if (this.NewgroundsAPIShowAds){ API.addEventListener(APIEvent.ADS_APPROVED, this.adsApprovedHandler, false, 0, true); this._adContainer.graphics.beginFill(0); this._adContainer.graphics.moveTo(-4, -4); this._adContainer.graphics.lineTo(304, -4); this._adContainer.graphics.lineTo(304, 254); this._adContainer.graphics.lineTo(-4, 254); this._adContainer.graphics.lineTo(-4, -4); this._adContainer.graphics.endFill(); this._adContainer.scaleX = Math.min(1, (stage.stageWidth / 325)); this._adContainer.scaleY = this._adContainer.scaleX; }; this._preloader.addChild(this._adContainer); this._adContainer.visible = false; var _local1:Bitmap = new Bitmap(new FlxLoaderFrame(0, 0)); _local1.y = 260; this._preloader.addChild(_local1); this._loadBarMask.graphics.beginFill(0); this._loadBarMask.graphics.lineTo(304, 0); this._loadBarMask.graphics.lineTo(304, 70); this._loadBarMask.graphics.lineTo(0, 70); this._loadBarMask.graphics.lineTo(0, 0); this._loadBarMask.graphics.endFill(); this._loadBarMask.scaleX = 0; this._loadBarMask.y = _local1.y; this._preloader.addChild(this._loadBarMask); this._loadBar = new Bitmap(new FlxLoaderBar(0, 0)); this._loadBar.y = _local1.y; this._preloader.addChild(this._loadBar); this._loadBar.mask = this._loadBarMask; addChild(this._preloader); this._preloader.x = ((stage.stageWidth - this._preloader.width) / 2); this._preloader.y = ((stage.stageHeight - this._preloader.height) / 2); API.connectMovie(loaderInfo, this.NewgroundsAPIId, this.NewgroundsAPIEncryptionKey); } } }//package com.newgrounds.components
Section 83
//MedalPopup (com.newgrounds.components.MedalPopup) package com.newgrounds.components { import flash.events.*; import com.newgrounds.*; import flash.display.*; import flash.utils.*; import flash.text.*; public class MedalPopup extends MovieClip { public var medalValueText:TextField; public var medalContainer:Sprite; private var _popDelay:Timer; private var _initialized:Boolean; private var _medalIcon:Bitmap; public var medalNameText:TextField; private var _medal:Medal; private var _medalQueue:Array; public function MedalPopup(){ this._medalQueue = []; this._popDelay = new Timer(3000, 1); super(); addFrameScript(0, this.frame1, 9, this.frame10, 18, this.frame19); if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; visible = false; addEventListener(Event.ENTER_FRAME, this.enterFrameHandler); stop(); API.addEventListener(APIEvent.MEDAL_UNLOCKED, this.onMedalUnlocked, false, 0, true); this._popDelay.addEventListener(TimerEvent.TIMER, this.timerHandler); } private function timerHandler(_arg1:TimerEvent):void{ if (((this._medalIcon) && (this._medalIcon.parent))){ this._medalIcon.parent.removeChild(this._medalIcon); this._medalIcon = null; }; gotoAndPlay("medal_hide"); this._popDelay.stop(); } private function showMedalInfo():void{ if (!this._medal){ return; }; if (this.medalContainer){ this._medalIcon = this._medal.createIconBitmap(); this.medalContainer.addChild(this._medalIcon); }; if (this.medalNameText){ this.medalNameText.text = this._medal.name; }; if (this.medalValueText){ this.medalValueText.text = (this._medal.value.toString() + "pts"); }; this._popDelay.start(); stop(); } function frame10(){ this.showMedalInfo(); stop(); } public function get popupTime():Number{ return ((this._popDelay.delay / 1000)); } private function onMedalUnlocked(_arg1:APIEvent):void{ if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data is Medal)))){ this._medalQueue.push(Medal(_arg1.data)); }; } private function enterFrameHandler(_arg1:Event):void{ var myIndex:uint; var topIndex:uint; var event = _arg1; if (((this._medalQueue.length) && (!(visible)))){ this._medal = this._medalQueue.pop(); this._popDelay.start(); gotoAndPlay("medal_show"); visible = true; }; if (((visible) && (parent))){ try { myIndex = parent.getChildIndex(this); topIndex = (parent.numChildren - 1); if (myIndex != topIndex){ parent.setChildIndex(this, topIndex); }; } catch(error:Error) { }; }; } function frame1(){ stop(); } function frame19(){ stop(); } public function set popupTime(_arg1:Number):void{ if (isNaN(_arg1)){ _arg1 = 3; }; this._popDelay.delay = (_arg1 * 1000); } } }//package com.newgrounds.components
Section 84
//API (com.newgrounds.API) package com.newgrounds { import flash.events.*; import flash.display.*; import com.newgrounds.components.*; import flash.utils.*; import com.adobe.serialization.json.*; import flash.net.*; import com.adobe.crypto.*; import com.adobe.images.*; import flash.system.*; public class API { private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/"; private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/"; private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php"; public static const VERSION:String = "2.3"; private static var connected:Boolean; private static var user_id:uint; private static var _preloadComplete:Boolean = false; private static var user_email:String; private static var _movieId:String; private static var _isMetadataLoaded:Boolean = false; private static var publisher_id:uint; private static var _saveFilePath:String; private static var ad_url:String; private static var _debug:Boolean; private static var _saveGroups:Array = []; private static var do_echo:Boolean = false; private static var session_id:String; public static var errors:Dictionary = APIError.init_codes(); private static var timeoutTimer:Timer = new Timer(8000, 1); private static var _medals:Array; private static var user_name:String; private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}}; private static var _host:String; private static var _connected:Boolean = false; private static var _scoreboards:Array = new Array(); private static var _eventDispatcher:EventDispatcher = new EventDispatcher(); private static var compressor:BaseN = new BaseN(compression_radix); private static var score_page_counts:Object = new Object(); private static var _adsApproved:Boolean = false; private static var _preload:Boolean = true; private static var version:String; public static var periods:Object = getPeriodAliases(); private static var _encryptionKey:String; private static var root:DisplayObject; private static var _inSaveQuery:Boolean; private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; private static var _preloadAssets:Array = []; private static var sharedObjects:Object = new Object(); private static var _trackerId:uint; private static var _saveFile:SaveFile; private static function sendWarning(_arg1:String, _arg2:String=null):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(("[NewgroundsAPI WARNING] :: " + _arg1)); } public static function getPeriodAlias(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].alias); }; }; return (null); } public static function setMovieVersion(_arg1:String):void{ if (((_arg1) && (!((_arg1 == ""))))){ version = _arg1; }; } public static function get preload():Boolean{ return (_preload); } public static function unlockMedal(_arg1:Medal, _arg2:Boolean=false):void{ var _local3:Object; var _local4:Object; if (!_arg1){ sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name")); return; }; if (((hasUserSession()) || (debugMode))){ sendMessage((("Attempting to unlock '" + _arg1.name) + "'")); if (_arg1.unlocked){ sendWarning((("Medal '" + _arg1.name) + "' is already unlocked!")); return; }; _local3 = new Object(); _local3.medal_id = _arg1.id; if (_arg2){ _local3.get_score = _arg2; }; sendSecureCommand("unlockMedal", _local3); } else { sendMessage(("Locally unlocking " + _arg1.name)); if (_arg1.unlocked){ sendWarning((("Medal '" + _arg1.name) + "' is already unlocked!")); return; }; _arg1.unlocked = true; _local4 = loadLocal("medals_unlocked"); if (!_local4){ _local4 = new Object(); }; _local4[_arg1.id.toString()] = true; saveLocal("medals_unlocked", _local4); callListener(APIEvent.MEDAL_UNLOCKED, true, _arg1); }; } public static function set preload(_arg1:Boolean):void{ _preload = _arg1; } private static function uncompressHex(_arg1:String):String{ var _local4:uint; var _local6:String; var _local7:uint; var _local8:String; var _local2:uint = uint(_arg1.charAt(0)); var _local3 = ""; var _local5:uint = 1; while (_local5 < _arg1.length) { _local6 = _arg1.substr(_local5, 4); _local7 = uint(compressor.decode(_local6)); _local8 = _local7.toString(16); if ((_local5 + 4) < _arg1.length){ _local4 = 6; } else { _local4 = _local2; }; while (_local8.length < _local4) { _local8 = ("0" + _local8); }; _local3 = (_local3 + _local8); _local5 = (_local5 + 4); }; return (_local3); } public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{ var _local6:Array = Capabilities.version.split(" ")[1].split(","); var _local7:Array = arguments; var _local8:uint; while (_local8 < _local7.length) { _local6[_local8] = uint(_local6[_local8]); _local8++; }; _local8 = 0; while (_local8 < _local7.length) { if (_local6[_local8] > _local7[_local8]){ return (true); }; if (_local6[_local8] < _local7[_local8]){ return (false); }; _local8++; }; return (true); } private static function getHost():String{ return (_host); } public static function hasUserEmail():Boolean{ return (((!((user_email == null))) && (!((user_email == ""))))); } public static function getMedalByName(_arg1:String):Medal{ var _local2:Medal; for each (_local2 in _medals) { if (_local2.name == _arg1){ return (_local2); }; }; return (null); } private static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{ dispatchEvent(new APIEvent(_arg1, _arg2, _arg3)); } public static function set debugMode(_arg1:Boolean):void{ _debug = _arg1; } public static function loadLocal(_arg1:String){ var sharedObj:SharedObject; var save_id = _arg1; try { if (!sharedObjects[save_id]){ sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _movieId) + "_") + save_id)); }; sharedObj = sharedObjects[save_id]; if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){ return (decodeData(sharedObj.data[save_id])); } else { return (null); }; } catch(e:Error) { sendWarning(("loadLocal ERROR: " + e)); return (null); }; } private static function populateScoreBoards(_arg1:Array):void{ _scoreboards = []; var _local2:uint; while (_local2 < _arg1.length) { _scoreboards.push(new ScoreBoard(_arg1[_local2].id, _arg1[_local2].name, "")); _local2++; }; } private static function populateSaveGroups(_arg1:Array):void{ var _local3:SaveGroup; _saveGroups = []; var _local2:uint; while (_local2 < _arg1.length) { _local3 = SaveGroup.createFromObject(_arg1[_local2]); _saveGroups.push(_local3); _local2++; }; } public static function createAd():FlashAd{ sendMessage("You may see a security sandbox violation. This is normal!"); return (new FlashAd()); } public static function getSaveGroupById(_arg1:uint):SaveGroup{ if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){ sendWarning("No save groups found"); return (null); }; var _local2:uint; while (_local2 < _saveGroups.length) { if (_saveGroups[_local2].id == _arg1){ return (_saveGroups[_local2]); }; _local2++; }; return (null); } private static function dispatchEvent(_arg1:Event):void{ _eventDispatcher.dispatchEvent(_arg1); echo(("Fired Event: " + _arg1.type)); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function get adFeedURL():String{ return (ad_url); } public static function setUserEmail(_arg1:String):void{ user_email = _arg1; } public static function hasUserSession():Boolean{ return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0))))); } private static function echo(_arg1:String):void{ if (do_echo){ trace(_arg1); }; } public static function executeSaveQuery(_arg1:SaveGroupQuery):void{ sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1); trace(JSON.encode(_arg1.toObject())); } public static function getScoreBoardById(_arg1:uint):ScoreBoard{ var _local2:ScoreBoard; for each (_local2 in _scoreboards) { if (_local2.id == _arg1){ return (_local2); }; }; return (null); } private static function getPeriodAliases():Object{ var _local2:String; var _local1:Object = new Object(); for (_local2 in period_aliases) { _local1[period_aliases[_local2].alias] = _local2; }; return (_local1); } private static function compressHex(_arg1:String):String{ var _local2:uint = (_arg1.length % 6); var _local3 = ""; var _local4:uint; while (_local4 < _arg1.length) { _local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4)); _local4 = (_local4 + 6); }; return ((_local2.toString() + _local3)); } public static function get preloadComplete():Boolean{ return (_preloadComplete); } private static function assertConnected():Boolean{ if (!_connected){ return (false); }; return (true); } public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{ if (((((!(debugMode)) && (!(hasUserSession())))) && (!(hasUserEmail())))){ sendError({command_id:getCommandID(_arg1)}, new APIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "()."))); return; }; if (!_arg1){ fatalError("Missing command", "sendSecureCommand"); }; if (!_arg2){ fatalError("Missing secure_params", "sendSecureCommand"); }; if (!_arg3){ _arg3 = new Object(); }; var _local6 = ""; var _local7:uint; while (_local7 < 16) { _local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length)))); _local7++; }; if (((debugMode) && (!(session_id)))){ _arg2.session_id = ""; } else { _arg2.session_id = session_id; }; _arg2.as_version = 3; _arg2.user_email = user_email; _arg2.publisher_id = publisher_id; _arg2.seed = _local6; _arg2.command_id = getCommandID(_arg1); var _local8:String = MD5.hash(_local6); var _local9:String = RC4.encrypt(JSON.encode(_arg2), _encryptionKey); var _local10:String = (_local8 + _local9); _arg3.secure = compressHex(_local10); sendCommand("securePacket", _arg3, false, _arg4, _arg5); } public static function connectMovie(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{ if (!_arg1){ fatalError("Null loaderInfo paremeter passed in to connectMovie!", ""); return; }; _host = _arg1.url; if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){ _host = _host.split("/")[2].toLowerCase(); } else { _host = "localhost"; }; var _local4:Object = _arg1.parameters; debugMode = !(isPublishedHost()); if (((!(debugMode)) && (_local4))){ if (_local4.NewgroundsAPI_UserName){ user_name = _local4.NewgroundsAPI_UserName; }; if (_local4.NewgroundsAPI_UserID){ user_id = _local4.NewgroundsAPI_UserID; }; if (_local4.NewgroundsAPI_PublisherID){ publisher_id = _local4.NewgroundsAPI_PublisherID; }; if (_local4.NewgroundsAPI_SessionID){ session_id = _local4.NewgroundsAPI_SessionID; }; } else { publisher_id = 1; session_id = "D3bu64p1U53R"; user_id = 10; user_name = "API-Debugger"; }; if (connected){ return; }; timeoutTimer.start(); if (!_arg2){ fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie"); }; _movieId = String(_arg2); _trackerId = uint(_movieId.substring(0, _movieId.indexOf(":"))); _encryptionKey = _arg3; connected = true; sendCommand("connectMovie", {host:getHost(), movie_version:version}); } private static function sendError(_arg1:Object, _arg2:APIError):void{ trace(((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message)); } private static function getCommandName(_arg1:String):String{ return (_arg1); } public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{ var _local3:String = ("[NewgroundsAPI] :: " + _arg1); trace(_local3); } public static function newSaveFile(_arg1:String):SaveFile{ var _local2:SaveGroup = getSaveGroupByName(_arg1); if (_local2){ return (new SaveFile(_local2)); }; sendError({command_id:"newSaveFile"}, new APIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group."))); return (null); } public static function get medals():Array{ return ((_medals) ? _medals.concat() : []); } public static function unlockMedalByName(_arg1:String, _arg2:Boolean=false):void{ var _local3:Medal = getMedalByName(_arg1); if (_local3){ unlockMedal(_local3, _arg2); }; } public static function hasPublisher():Boolean{ return (!((publisher_id == 0))); } public static function connectionTimeOut(_arg1:Event=null):void{ dispatchEvent(new APIEvent(APIEvent.MOVIE_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out."))); } public static function unlockMedalById(_arg1:uint, _arg2:Boolean=false):void{ trace("A"); var _local3:Medal = getMedalById(_arg1); if (_local3){ unlockMedal(_local3, _arg2); }; } private static function fatalError(_arg1:String, _arg2:String):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; throw (new Error(("***ERROR*** class=API\n\n" + _arg1))); } public static function getScoreBoardByName(_arg1:String):ScoreBoard{ var _local2:ScoreBoard; for each (_local2 in _scoreboards) { if (_local2.name == _arg1){ return (_local2); }; }; return (null); } private static function sendNotice(_arg1:String, _arg2:String=null):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(("[NewgroundsAPI NOTICE] :: " + _arg1)); } public static function loadCustomLink(_arg1:String):void{ sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true); } public static function get debugMode():Boolean{ return (_debug); } public static function checkFilePrivledges(_arg1:SaveFile):void{ sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id}); } public static function get adsApproved():Boolean{ return (_adsApproved); } private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{ var _local7:String; var _local8:String; var _local9:String; if (((!(connected)) && (!((_arg1 == "connectMovie"))))){ _local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n"); fatalError(_local7, "connectMovie"); }; var _local6:SmartURLLoader = new SmartURLLoader(); _local6.addVariable("command_id", getCommandID(_arg1)); _local6.addVariable("tracker_id", _movieId); if (debugMode){ _local6.addVariable("debug", 1); }; if ((((_arg1 == "connectMovie")) && (preload))){ _local6.addVariable("preload", 1); }; if (_arg2){ for (_local8 in _arg2) { _local6.addVariable(_local8, _arg2[_local8]); }; }; if (_arg4){ for (_local9 in _arg4) { _local6.addFile(_local9, _arg4[_local9], _local9); }; }; if (_arg3){ _local6.method = URLRequestMethod.GET; } else { _local6.method = URLRequestMethod.POST; }; _local6.preventCache = true; if (_arg3){ _local6.openBrowser = true; _local6.method = URLRequestMethod.GET; } else { _local6.addEventListener(Event.COMPLETE, onCommandComplete); _local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError); _local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError); _local6.method = URLRequestMethod.POST; }; _local6.owner = _arg5; _local6.load(GATEWAY_URL); } public static function isPublishedHost():Boolean{ return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1)))); } public static function loadOfficialVersion():void{ navigateToURL(new URLRequest(getOfficialVersionURL())); } public static function createSaveQuery(_arg1:String):SaveGroupQuery{ var _local2:SaveGroup = getSaveGroupByName(_arg1); if (_local2){ return (_local2.createQuery()); }; return (null); } public static function loadMySite():void{ sendCommand("loadMySite", {host:getHost()}); } public static function getMedalById(_arg1:uint):Medal{ var _local2:Medal; for each (_local2 in _medals) { if (_local2.id == _arg1){ return (_local2); }; }; return (null); } public static function loadNewgrounds():void{ sendCommand("loadNewgrounds", {host:getHost()}, true); } public static function saveFile(_arg1:SaveFile, _arg2:Boolean=false):void{ var _local3:Object = _arg1.toObject(); _local3.user_name = user_name; _local3.overwrite = (_arg2) ? 1 : 0; var _local4:ByteArray = new ByteArray(); if ((_arg1.contents is ByteArray)){ _local4.writeByte(0); _local4.writeBytes(_arg1.contents); } else { _local4.writeByte(1); _local4.writeObject(_arg1.contents); }; _local4.compress(); var _local5:Object = new Object(); _local5.file = _local4; if (_arg1.thumbnail){ _local5.thumbnail = PNGEncoder.encode(_arg1.thumbnail); }; sendSecureCommand("saveFile", _local3, null, _local5, _arg1); } public static function getOfficialVersionURL():String{ var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + _movieId) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random()); if (debugMode){ _local1 = (_local1 + "&debug=1"); }; return (_local1); } public static function rateSaveFile(_arg1:SaveFile, _arg2:SaveRating, _arg3:Number):void{ sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1); } public static function loadScores(_arg1:ScoreBoard, _arg2:String=null):void{ var _local3 = "loadScores"; if (!_arg1.id){ sendError({command_id:getCommandID(_local3)}, new APIError("MISSING_PARAM", "missing required ScoreBoard instance")); return; }; if (!hasUserSession()){ callListener(APIEvent.SCORES_LOADED, false, new APIError("SITE_ID_REQUIRED", (("Host '" + getHost()) + "' does not have high scores enabled"))); return; }; var _local4:Object = {}; _local4.publisher_id = publisher_id; _local4.period = _arg1.period; _local4.board = _arg1.id; _local4.num_results = _arg1.num_results; _local4.page = _arg1.page; if (((!(_arg2)) || ((_arg2 == "")))){ _local4.tag = _arg1.tag; } else { _local4.tag = _arg2; }; sendCommand(_local3, _local4); } public static function logCustomEvent(_arg1:String):void{ sendCommand("logCustomEvent", {host:getHost(), event:_arg1}); } public static function decodeData(_arg1:String){ return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey))); } public static function postScore(_arg1:String, _arg2:uint, _arg3:String=""):void{ if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)")); return; }; if (_arg3 == null){ _arg3 = ""; }; sendSecureCommand("postScore", {user_name:user_name, board:_arg1, value:_arg2, publisher_id:publisher_id, tag:_arg3}); } private static function onCommandComplete(_arg1:Event):void{ var _local4:Object; var _local5:APIError; var _local2:SmartURLLoader = SmartURLLoader(_arg1.target); echo((("INPUT: \n" + _local2.response) + "\n")); var _local3:uint; while (_local3 < _preloadAssets.length) { if (_preloadAssets[_local3] == _local2){ _preloadAssets.splice(_local3, 1); break; }; _local3++; }; if (_local2.response){ _local4 = JSON.decode(_local2.response); } else { _local4 = {success:false}; }; if (!_local4.success){ trace(("Error: " + _local4)); _local5 = new APIError(_local4.error_code, _local4.error_msg); sendError(_local4, _local5); } else { _local4.owner = _local2.owner; doEvent(_local4); }; } public static function encodeData(_arg1:Object):String{ return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey))); } private static function populateMedals(_arg1:Array):void{ var _local2:uint; var _local3:Object; if (_medals === null){ _medals = new Array(); _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; _medals.push(Medal.createFromObject(_local3)); _local2++; }; }; trace("[NewgroundsAPI] :: Medals loaded!"); } public static function loadMedals():void{ if (_medals){ dispatchEvent(new APIEvent(APIEvent.MEDALS_LOADED, true, medals)); return; }; var _local1:Object = new Object(); if (hasUserSession()){ _local1.publisher_id = publisher_id; _local1.user_id = user_id; }; sendCommand("getMedals", _local1); } public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{ var sharedObj:SharedObject; var save_id = _arg1; var save_data = _arg2; var size_allocation = _arg3; try { if (!sharedObjects[save_id]){ sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _movieId) + "_") + save_id)); }; sharedObj = sharedObjects[save_id]; sharedObj.data[save_id] = encodeData(save_data); sharedObj.flush(); } catch(e:Error) { sendWarning(("saveLocal ERROR: " + e)); }; } private static function doEvent(_arg1:Object):void{ var _local2:String; var _local3:Object; var _local4:String; var _local5:Boolean; var _local6:ScoreBoard; var _local7:Array; var _local8:*; var _local9:String; var _local10:Medal; var _local11:uint; var _local12:Object; var _local13:SaveFile; var _local14:uint; switch (getCommandName(_arg1.command_id)){ case "connectMovie": timeoutTimer.stop(); sendMessage("You have successfully connected to the Newgrounds API Gateway"); sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\"")); callListener(APIEvent.MOVIE_CONNECTED, _arg1.success, {movie_name:_arg1.movie_name}); _local5 = false; if (_arg1.ad_status === -1){ _local2 = "This movie was not approved to run Flash Ads."; sendWarning(_local2); sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines")); if (!_arg1.ad_url){ callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; } else { if (_arg1.ad_status === 0){ _local2 = "Flash Ads are currently awaiting approval."; sendNotice(_local2); if (!_arg1.ad_url){ callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; }; }; if (_arg1.ad_url){ ad_url = unescape(_arg1.ad_url); if (!_local5){ sendMessage("This movie has been approved to run Flash Ads!"); }; _adsApproved = true; callListener(APIEvent.ADS_APPROVED, true); }; if (_arg1.deny_host){ _local2 = (getHost() + " does not have permission to run this movie!"); sendWarning(_local2); sendWarning(("\tUpdate your API configuration to unblock " + getHost())); callListener(APIEvent.HOST_BLOCKED, true, {movie_url:unescape(_arg1.movie_url), redirect_url:getOfficialVersionURL()}); }; if (_arg1.movie_version){ sendWarning("According to your API Configuration, this version is out of date."); if (version){ sendWarning(("\tThe this movie is version " + version)); }; sendWarning(("\tThe most current version is " + _arg1.movie_version)); callListener(APIEvent.NEW_VERSION_AVAILABLE, true, {movie_version:_arg1.movie_version, movie_url:unescape(_arg1.movie_url), redirect_url:getOfficialVersionURL()}); }; if (_arg1.request_portal_url){ sendCommand("setPortalID", {portal_url:_host}); }; if (preload){ sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id}); }; break; case "preloadSettings": if (_arg1.medals){ populateMedals(_arg1.medals); if (((!(hasUserSession())) && (!(debugMode)))){ echo("Checking for SharedObject Medals..."); _local8 = loadLocal("medals_unlocked"); if (_local8){ for (_local9 in _local8) { if (_local8[_local9]){ _local10 = getMedalById(uint(_local9)); echo(("Now unlocking " + _local10.name)); _local10.unlocked = true; }; }; }; }; }; if (_arg1.save_groups){ populateSaveGroups(_arg1.save_groups); }; if (_arg1.save_file_path){ _saveFilePath = (_arg1.save_file_path + "/"); }; if (_arg1.score_boards){ populateScoreBoards(_arg1.score_boards); }; trace("[NewgroundsAPI] :: Metadata loaded!"); callListener(APIEvent.METADATA_LOADED); _preloadComplete = true; break; case "logCustomEvent": if (_arg1.success){ sendMessage((("Event '" + _arg1.event) + "' was logged.")); }; callListener(APIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event}); break; case "postScore": if (_arg1.success){ _local4 = "User"; if (user_email){ _local4 = user_email; } else { if (user_name){ _local4 = user_name; }; }; _local6 = getScoreBoardById(_arg1.board); if (_local6){ sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _local6.name) + "'")); }; _local3 = {score:_arg1.score, value:_arg1.value, username:_local4}; }; callListener(APIEvent.SCORE_POSTED, _arg1.success, _local3); break; case "loadScores": _local3 = new Object(); _local6 = getScoreBoardById(_arg1.board); if (_local6){ _local6.setScores(_arg1.scores, _arg1.period, _arg1.page, _arg1.num_results); }; callListener(APIEvent.SCORES_LOADED, _arg1.success, _local6); break; case "unlockMedal": if (_medals){ _local10 = getMedalByName(_arg1.medal_name); if (_local10.unlocked){ return; }; _local10.unlocked = true; callListener(APIEvent.MEDAL_UNLOCKED, _arg1.success, _local10); }; break; case "getMedals": populateMedals(_arg1.medals); callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3); break; case "lookupSaveFiles": _local7 = []; _local11 = 0; while (_local11 < _arg1.files.length) { _local12 = _arg1.files[_local11]; _local13 = new SaveFile(getSaveGroupById(_arg1.group_id)); _local13.name = _local12.filename; _local13.id = _local12.save_id; _local13.description = _local12.description; _local13.thumbnailUrl = _local12.thumb; _local13.fileUrl = (_saveFilePath + _local12.file); if (((_local12.keys) && (_local12.keys.length))){ _local14 = 0; while (_local14 < _local12.keys.length) { _local13.setKey(_local12.keys[_local14].id, _local12.keys[_local14].value); _local14++; }; }; if (((_local12.ratings) && (_local12.ratings.length))){ _local14 = 0; while (_local14 < _local12.ratings.length) { _local13.setRating(_local12.ratings[_local14].id, _local12.ratings[_local14].votes, _local12.ratings[_local14].score); _local14++; }; }; _local7.push(_local13); _local11++; }; _arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, _local7)); break; case "rateSaveFile": _local13 = _arg1.owner; if (_arg1.success){ _local13.setRating(_arg1.rating_id, _arg1.votes, _arg1.score); }; _local13.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1)); break; case "saveFile": _local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon}; _arg1.owner.dispatchEvent(new APIEvent(APIEvent.FILE_SAVED, _arg1.success, _local3)); break; case "checkFilePrivs": _local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write}; callListener(APIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3); break; }; } public static function getSaveGroupByName(_arg1:String):SaveGroup{ if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){ sendWarning("No save groups found"); return (null); }; var _local2:uint; while (_local2 < _saveGroups.length) { if (_saveGroups[_local2].name == _arg1){ return (_saveGroups[_local2]); }; _local2++; }; return (null); } private static function getCommandID(_arg1:String):String{ return (_arg1); } public static function getPeriodName(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].name); }; }; return (null); } public static function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } private static function onCommandError(_arg1:Event):void{ var _local2:SmartURLLoader = SmartURLLoader(_arg1.target); var _local3:uint; while (_local3 < _preloadAssets.length) { if (_preloadAssets[_local3] == _local2){ _preloadAssets.splice(_local3, 1); break; }; _local3++; }; } public static function isNewgrounds():Boolean{ return ((((publisher_id == 1)) || ((getHost().toLowerCase().indexOf("ungrounded.net") > -1)))); } } }//package com.newgrounds
Section 85
//APIError (com.newgrounds.APIError) package com.newgrounds { import flash.utils.*; public class APIError { public var alias:String; public var message:String; public var name:String; public var code:Number;// = 0 private static const always_caps:Array = new Array("API", "URL", "ID"); public static const error_names:Object = init_names(); public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED"); public static const error_codes:Object = init_codes(); public function APIError(_arg1, _arg2:String){ if ((_arg1 is String)){ _arg1 = error_codes[_arg1]; } else { if (!(_arg1 is uint)){ _arg1 = 0; }; }; this.code = _arg1; this.message = _arg2; this.name = error_names[_arg1]; this.alias = aliases[_arg1]; } public function isError():Boolean{ return (true); } private static function init_names():Array{ var _local3:Array; var _local4:uint; var _local5:String; var _local1:Array = new Array(); var _local2:uint; while (_local2 < aliases.length) { _local3 = aliases[_local2].toLowerCase().split("_"); _local4 = 0; while (_local4 < _local3.length) { _local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length)); for each (_local5 in always_caps) { if (_local3[_local4].toUpperCase() == _local5){ _local3[_local4] = _local3[_local4].toUpperCase(); }; }; _local4++; }; _local1[_local2] = _local3.join(" "); _local2++; }; return (_local1); } public static function init_codes():Dictionary{ var _local1:Dictionary = new Dictionary(); var _local2:uint; while (_local2 < aliases.length) { _local1[aliases[_local2]] = _local2; _local2++; }; return (_local1); } } }//package com.newgrounds
Section 86
//APIEvent (com.newgrounds.APIEvent) package com.newgrounds { import flash.events.*; public class APIEvent extends Event { private var _success:Boolean; private var _target; private var _data; public static const AD_ATTACHED:String = "adAttached"; public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded"; public static const ADS_APPROVED:String = "adsApproved"; public static const MEDALS_LOADED:String = "medalsLoaded"; public static const MEDAL_UNLOCKED:String = "medalUnlocked"; public static const METADATA_LOADED:String = "metadataLoaded"; public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable"; public static const FILE_SAVED:String = "fileSaved"; public static const EVENT_LOGGED:String = "eventLogged"; public static const SCORE_POSTED:String = "scorePosted"; public static const VOTE_COMPLETE:String = "voteComplete"; public static const FILE_LOADED:String = "fileLoaded"; public static const QUERY_COMPLETE:String = "queryComplete"; public static const SCORES_LOADED:String = "scoresLoaded"; public static const HOST_BLOCKED:String = "hostBlocked"; public static const MOVIE_CONNECTED:String = "movieConnected"; public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){ super(_arg1); this._data = _arg3; this._success = _arg2; } public function get data(){ return (this._data); } public function get success():Boolean{ return (this._success); } } }//package com.newgrounds
Section 87
//BaseN (com.newgrounds.BaseN) package com.newgrounds { import flash.utils.*; public class BaseN { private var _hashVal:Dictionary; private var _hashIndex:String; private var _base:Number; public function BaseN(_arg1:String=null){ if (_arg1){ this._hashIndex = _arg1; } else { this._hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; }; this._base = this._hashIndex.length; this._hashVal = new Dictionary(); var _local2:uint; while (_local2 < this._base) { this._hashVal[this._hashIndex.charAt(_local2)] = _local2; _local2++; }; } public function encode(_arg1:Number, _arg2:uint=1):String{ var _local3:String = _arg1.toString(); var _local4 = ""; if (_local3.charAt(0) == "-"){ _local4 = "-"; _local3 = _local3.substring(1); }; var _local5:Array = _local3.split(".", 2); _local4 = (_local4 + this.baseNEncoder(_local5[0], _arg2)); if (_local5.length > 1){ _local4 = (_local4 + ("." + this.baseNEncoder(_local5[1]))); }; return (_local4); } private function baseNDecoder(_arg1:String):uint{ var _local2:uint; var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 * this._base); _local2 = (_local2 + this._hashVal[_arg1.charAt(_local3)]); _local3++; }; return (_local2); } public function decode(_arg1:String):Number{ var _local2 = ""; if (_arg1.charAt(0) == "-"){ _local2 = "-"; _arg1 = _arg1.substring(1); }; var _local3:Array = _arg1.split(".", 2); _local2 = (_local2 + this.baseNDecoder(_local3[0])); if (_local3.length > 1){ _local2 = (_local2 + "."); _local2 = (_local2 + this.baseNDecoder(_local3[1])); }; return (Number(_local2)); } private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{ var _local3 = ""; var _local4:uint = _arg1; while (_local4 != 0) { _local3 = (this._hashIndex.charAt((_local4 % this._base)) + _local3); _local4 = (_local4 / this._base); }; if (_arg2){ while (_local3.length < _arg2) { _local3 = (this._hashIndex.charAt(0) + _local3); }; }; return (_local3); } } }//package com.newgrounds
Section 88
//Medal (com.newgrounds.Medal) package com.newgrounds { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class Medal { private var _unlocked:Boolean;// = false private var _iconLoader:Loader; private var _difficultyId:uint; private var _icon:BitmapData; private var _value:uint; private var _iconUrl:URLRequest; private var _name:String; private var _id:uint; private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"]; private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0); public function Medal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){ var id = _arg1; var name = _arg2; var value = _arg3; var difficulty = _arg4; var unlocked = _arg5; var iconUrl = _arg6; this._icon = DEFAULT_ICON; super(); this._id = id; this._name = name; this._value = value; this._difficultyId = difficulty; this._unlocked = unlocked; if (iconUrl){ this._iconUrl = new URLRequest(iconUrl); this._iconLoader = new Loader(); this._iconLoader.contentLoaderInfo.addEventListener(Event.INIT, this.onIconLoaderInit); this._iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIconLoaderError); this._iconLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onIconLoaderError); this._iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onIconLoaderComplete); try { this._iconLoader.load(this._iconUrl, new LoaderContext(true)); } catch(e:Error) { onIconLoaderError(null); }; }; } public function get icon():BitmapData{ return (this._icon); } public function set unlocked(_arg1:Boolean):void{ this._unlocked = _arg1; } public function get bytesLoaded():uint{ return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0); } public function get name():String{ return (this._name); } private function onIconLoaderComplete(_arg1:Event):void{ var _local2:Bitmap = (this._iconLoader.content as Bitmap); this._icon = _local2.bitmapData; this._iconLoader.unload(); this._iconLoader = null; } public function get bytesTotal():uint{ return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0); } public function get id():uint{ return (this._id); } public function unlock():void{ if (!this._unlocked){ API.unlockMedal(this); }; } private function onIconLoaderError(_arg1:IOErrorEvent):void{ trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + this.name) + " (") + this._iconUrl.url.split("/").pop()) + ")")); this._iconLoader.unload(); this._iconLoader = null; } private function onIconLoaderInit(_arg1:Event):void{ } public function get unlocked():Boolean{ return (this._unlocked); } public function createIconBitmap():Bitmap{ return (new Bitmap(this.icon)); } public function toString():String{ return (this._name); } public function get value():uint{ return (this._value); } public function get difficultyId():uint{ return (this._difficultyId); } public function get difficulty():String{ return (DIFFICULT_NAMES[this._difficultyId]); } public static function createFromObject(_arg1:Object):Medal{ return (new Medal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon)); } } }//package com.newgrounds
Section 89
//RC4 (com.newgrounds.RC4) package com.newgrounds { public class RC4 { private static var mykey:Array = new Array(0xFF); private static var sbox:Array = new Array(0xFF); private static function charsToHex(_arg1:Array):String{ var _local2:String = new String(""); var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local4:uint; while (_local4 < _arg1.length) { _local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)])); _local4++; }; return (_local2); } public static function encrypt(_arg1:String, _arg2:String):String{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToHex(_local5)); } private static function hexToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint = ((_arg1.substr(0, 2))=="0x") ? 2 : 0; while (_local3 < _arg1.length) { _local2.push(parseInt(_arg1.substr(_local3, 2), 16)); _local3 = (_local3 + 2); }; return (_local2); } public static function encryptbin(_arg1:String, _arg2:String):Array{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (_local5); } public static function decrypt(_arg1:String, _arg2:String):String{ var _local3:Array = hexToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToStr(_local5)); } private static function strToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } private static function calculate(_arg1:Array, _arg2:Array):Array{ var _local6:uint; var _local7:uint; var _local8:uint; var _local10:uint; initialize(_arg2); var _local3:uint; var _local4:uint; var _local5:Array = new Array(); var _local9:uint; while (_local9 < _arg1.length) { _local3 = ((_local3 + 1) % 0x0100); _local4 = ((_local4 + sbox[_local3]) % 0x0100); _local7 = sbox[_local3]; sbox[_local3] = sbox[_local4]; sbox[_local4] = _local7; _local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100); _local6 = sbox[_local10]; _local8 = (_arg1[_local9] ^ _local6); _local5.push(_local8); _local9++; }; return (_local5); } private static function initialize(_arg1:Array):void{ var _local3:uint; var _local2:uint; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 <= 0xFF) { mykey[_local5] = _arg1[(_local5 % _local4)]; sbox[_local5] = _local5; _local5++; }; _local5 = 0; while (_local5 <= 0xFF) { _local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100); _local3 = sbox[_local5]; sbox[_local5] = sbox[_local2]; sbox[_local2] = _local3; _local5++; }; } private static function charsToStr(_arg1:Array):String{ var _local2:String = new String(""); var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 90
//SaveFile (com.newgrounds.SaveFile) package com.newgrounds { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; public class SaveFile extends EventDispatcher { private var _group:SaveGroup; private var _id:uint; private var _thumbnailUrl:String; private var _status:uint; private var _keys:Dictionary; private var _fileUrl:String; private var _filename:String; private var _ratings:Dictionary; private var _contents; private var _thumbnail:BitmapData; private var _description:String; public function SaveFile(_arg1:SaveGroup){ this._keys = new Dictionary(); this._ratings = new Dictionary(); this._group = _arg1; this._description = ""; } public function get description():String{ return (this._description); } public function sendRating(_arg1:String, _arg2:Number):void{ var _local3:SaveRating = this._group.getRatingByName(_arg1); if (!_local3){ trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file")); return; }; if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){ trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue)); return; }; _local3.voted = true; API.rateSaveFile(this, _local3, _arg2); } public function set thumbnailUrl(_arg1:String):void{ this._thumbnailUrl = _arg1; } public function get groupId():uint{ return (this._group.id); } public function get name():String{ return (this._filename); } override public function toString():String{ var _local2:Object; var _local3:Object; var _local1 = (((((("Save File " + this._filename) + " ID: ") + this._id) + "\n ") + this._description) + "\n"); for each (_local2 in this._keys) { _local1 = (_local1 + ((((" " + this._group.getKeyById(_local2.id).name) + ": ") + _local2.val) + "\n")); }; for each (_local3 in this._ratings) { _local1 = (_local1 + ((((((" " + this._group.getRatingById(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n")); }; return (_local1); } public function save():void{ API.saveFile(this); } public function set name(_arg1:String):void{ this._filename = _arg1; } public function set thumbnail(_arg1:BitmapData):void{ if (this._thumbnail){ this._thumbnail.dispose(); }; this._thumbnail = _arg1.clone(); } public function get groupType():uint{ return (this._group.type); } public function get id():uint{ return (this._id); } public function setKey(_arg1, _arg2):void{ var _local3:SaveKey; if ((_local3 is String)){ _local3 = this._group.getKeyByName(_arg1); } else { _local3 = this._group.getKeyById(_arg1); }; if (_local3){ this._keys[_local3] = {id:_local3.id, val:_arg2}; }; } public function setRating(_arg1, _arg2:Number, _arg3:Number):void{ var _local4:SaveRating; if ((_arg1 is String)){ _local4 = this._group.getRatingByName(_arg1); } else { _local4 = this._group.getRatingById(_arg1); }; if (_local4){ this._ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3}; }; } public function toObject():Object{ var _local2:Object; var _local1:Object = {group:this.groupId, filename:this.name, description:this.description, shared:true}; _local1.keys = []; for each (_local2 in this._keys) { _local1.push({id:_local2.id, value:_local2.val}); }; return (_local1); } public function get contents(){ return (this._contents); } public function get thumbnailUrl():String{ return (this._thumbnailUrl); } public function get shared():Boolean{ return (true); } public function getRating(_arg1):Object{ var _local2:SaveRating; if ((_arg1 is String)){ _local2 = this._group.getRatingByName(_arg1); } else { _local2 = this._group.getRatingById(_arg1); }; if (_local2){ return (this._ratings[_local2]); }; return (null); } public function getKey(_arg1){ var _local2:SaveKey; if ((_local2 is String)){ _local2 = this._group.getKeyByName(_arg1); } else { _local2 = this._group.getKeyById(_arg1); }; if (_local2){ return (this._keys[_local2]); }; return (null); } public function get groupName():String{ return (this._group.name); } public function get fileUrl():String{ return (this._fileUrl); } public function get thumbnail():BitmapData{ return (this._thumbnail); } public function loadContents():void{ var _local1:SmartURLLoader; if (this._fileUrl){ _local1 = new SmartURLLoader(); _local1.responseFormat = URLLoaderDataFormat.BINARY; _local1.addEventListener(Event.COMPLETE, this.onContentsLoaded); _local1.load(this._fileUrl); }; } public function set fileUrl(_arg1:String):void{ this._fileUrl = _arg1; } public function set id(_arg1:uint):void{ this._id = _arg1; } public function set description(_arg1:String):void{ this._description = _arg1; } public function set contents(_arg1):void{ this._contents = _arg1; } private function onContentsLoaded(_arg1:Event):void{ var _local2:ByteArray = _arg1.target.response; _local2.uncompress(); var _local3:uint = _local2.readUnsignedByte(); if (_local3 == 0){ this._contents = new ByteArray(); this._contents.writeBytes(_local2, 1); } else { this._contents = _local2.readObject(); }; dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, true, this.contents)); } } }//package com.newgrounds
Section 91
//SaveGroup (com.newgrounds.SaveGroup) package com.newgrounds { public class SaveGroup { private var _id:uint; private var _keys:Array; private var _type:uint; private var _name:String; private var _ratings:Array; private var _files:Array; public static const TYPE_SYSTEM:uint = 0; public static const TYPE_PRIVATE:uint = 1; public static const TYPE_MODERATED:uint = 3; public static const TYPE_PUBLIC:uint = 2; public function SaveGroup(_arg1:uint, _arg2:String, _arg3:uint){ this._name = _arg2; this._id = _arg1; this._type = _arg3; this._ratings = []; this._keys = []; this._files = []; } public function toString():String{ return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}")); } public function getRatingById(_arg1:uint):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if (this._ratings[_local2].id == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function getKeyByName(_arg1:String):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if (this._keys[_local2].name == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function get name():String{ return (this._name); } public function getKeyById(_arg1:uint):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if (this._keys[_local2].id == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function addRating(_arg1:SaveRating):void{ this._ratings.push(_arg1); } public function get id():uint{ return (this._id); } public function createQuery():SaveGroupQuery{ return (new SaveGroupQuery(this)); } public function get keys():Array{ return (this._keys.concat()); } public function getRatingByName(_arg1:String):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if (this._ratings[_local2].name == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function get ratings():Array{ return (this._ratings.concat()); } public function get type():uint{ return (this._type); } public function addKey(_arg1:SaveKey):void{ this._keys.push(_arg1); } public static function createFromObject(_arg1:Object):SaveGroup{ var _local4:Object; var _local5:Object; var _local2:SaveGroup = new SaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type); var _local3:uint; while (_local3 < _arg1.keys.length) { _local4 = _arg1.keys[_local3]; _local2.addKey(new SaveKey(_local4.id, _local4.name, _local4.type)); _local3++; }; _local3 = 0; while (_local3 < _arg1.ratings.length) { _local5 = _arg1.ratings[_local3]; _local2.addRating(new SaveRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max)); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 92
//SaveGroupQuery (com.newgrounds.SaveGroupQuery) package com.newgrounds { import flash.events.*; public class SaveGroupQuery extends EventDispatcher { private var _group:SaveGroup; private var _fileConditions:Array; private var _ratingConditions:Array; private var _resultsPerPage:uint; private var _sortConditions:Array; private var _lookupRatings:Array; private var _randomizeResults:Boolean; private var _lookupKeys:Array; private var _page:uint; private var _groupBy:Array; private var _keyConditions:Array; public static const UPDATED_ON:uint = 5; public static const TABLE_RATINGS:uint = 3; public static const TABLE_FILES:uint = 1; public static const TOTAL_VOTES:String = "votes"; public static const AUTHOR_ID:uint = 1; public static const FILE_STATUS:uint = 7; public static const TABLE_KEYS:uint = 2; public static const FILE_NAME:uint = 3; public static const SCORE:String = "score"; public static const TOTAL_VIEWS:uint = 6; public static const CREATED_ON:uint = 4; public static const FILE_ID:uint = 0; public static const AUTHOR_NAME:uint = 2; public function SaveGroupQuery(_arg1:SaveGroup){ this._group = _arg1; this.reset(); } public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{ var _local4:SaveKey = this._group.getKeyByName(_arg1); if (!_local4){ return; }; if (!this.checkValue(_arg3, _local4.type)){ return; }; this._keyConditions.push({key:_local4.id, operator:_arg2, value:_arg3}); } public function sortOn(_arg1:uint, _arg2:Boolean=false):void{ this.addSortCondition(TABLE_FILES, _arg1, _arg2); } public function set isRandomized(_arg1:Boolean):void{ this._randomizeResults = _arg1; } public function get isRandomized():Boolean{ return (this._randomizeResults); } public function groupByRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingByName(_arg1); if (!_local2){ return; }; this._groupBy.push({table:TABLE_RATINGS, field:_local2.id}); } public function execute():void{ API.executeSaveQuery(this); } public function get page():uint{ return (this._page); } public function groupByKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyByName(_arg1); if (!_local2){ return; }; this._groupBy.push({table:TABLE_KEYS, field:_local2.id}); } public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{ this.addSortCondition(TABLE_KEYS, this._group.getKeyByName(_arg1).id, _arg2); } public function toObject():Object{ var _local1:Object = {page:this._page, num_results:this._resultsPerPage}; if (this.isRandomized){ _local1.randomize = 1; }; if (((this._fileConditions) && ((this._fileConditions.length > 0)))){ _local1.file_conditions = this._fileConditions; }; if (((this._keyConditions) && ((this._keyConditions.length > 0)))){ _local1.key_conditions = this._keyConditions; }; if (((this._ratingConditions) && ((this._ratingConditions.length > 0)))){ _local1.rating_conditions = this._ratingConditions; }; if (((this._sortConditions) && ((this._sortConditions.length > 0)))){ _local1.sort_conditions = this._sortConditions; }; if (((this._lookupKeys) && ((this._lookupKeys.length > 0)))){ _local1.lookup_keys = this._lookupKeys; }; if (((this._lookupRatings) && ((this._lookupRatings.length > 0)))){ _local1.lookup_ratings = this._lookupRatings; }; if (((this._groupBy) && ((this._groupBy.length > 0)))){ _local1.group_by = this._groupBy; }; return (_local1); } public function reset():void{ this._fileConditions = []; this._keyConditions = []; this._ratingConditions = []; this._sortConditions = []; this._groupBy = []; this._lookupKeys = []; this._lookupRatings = []; this._randomizeResults = false; this._resultsPerPage = 20; this._page = 1; } public function includeKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyByName(_arg1); if (_local2){ this._lookupKeys.push(_local2.id); }; } private function checkValue(_arg1, _arg2:uint):Boolean{ return (true); } public function set page(_arg1:uint):void{ this._page = _arg1; } public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{ var _local5:SaveRating = this._group.getRatingByName(_arg1); if (!_local5){ return; }; this._ratingConditions.push({rating:_local5.id, operator:_arg2, value:_arg3, column:_arg4}); } public function includeRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingByName(_arg1); if (_local2){ this._lookupRatings.push(_local2.id); }; } public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{ this.addSortCondition(TABLE_RATINGS, this._group.getRatingByName(_arg1).id, _arg2, _arg3); } public function set resultsPerPage(_arg1:uint):void{ this._resultsPerPage = _arg1; } public function excludeRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingByName(_arg1); var _local3:uint; while (_local3 < this._lookupRatings.length) { if (this._lookupRatings[_local3] == _local2.id){ this._lookupRatings.splice(_local3, 1); return; }; _local3++; }; } public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{ this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3}); } public function excludeKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyByName(_arg1); var _local3:uint; while (_local3 < this._lookupKeys.length) { if (this._lookupKeys[_local3] == _local2.id){ this._lookupKeys.splice(_local3, 1); return; }; _local3++; }; } public function get resultsPerPage():uint{ return (this._resultsPerPage); } public function get groupId():uint{ return (this._group.id); } override public function toString():String{ return (""); } private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{ var _local5:Object = {table:_arg1, field:_arg2, desc:_arg3}; if (_arg4){ _local5.extra = _arg4; }; this._sortConditions.push(_local5); } public function groupBy(_arg1:uint):void{ this._groupBy.push({table:TABLE_FILES, field:_arg1}); } public function get group():SaveGroup{ return (this._group); } } }//package com.newgrounds
Section 93
//SaveKey (com.newgrounds.SaveKey) package com.newgrounds { public class SaveKey { private var _id:uint; private var _type:uint; private var _name:String; public static const TYPE_BOOLEAN:uint = 4; public static const TYPE_STRING:uint = 3; public static const TYPE_FLOAT:uint = 1; public static const TYPE_INTEGER:uint = 2; public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){ this._id = _arg1; this._name = _arg2; this._type = _arg3; } public function isValueValid(_arg1):Boolean{ if (this._type == TYPE_INTEGER){ return ((((_arg1 is int)) || ((_arg1 is uint)))); }; if (this._type == TYPE_FLOAT){ return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number)))); }; if (this._type == TYPE_STRING){ return ((_arg1 is String)); }; if (this._type == TYPE_BOOLEAN){ return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == "")))); }; return (false); } public function get name():String{ return (this._name); } public function get type():uint{ return (this._type); } public function get id():uint{ return (this._id); } public function toString():String{ return (this._name); } } }//package com.newgrounds
Section 94
//SaveRating (com.newgrounds.SaveRating) package com.newgrounds { public class SaveRating { private var _voted:Boolean; private var _name:String; private var _maxValue:Number; private var _isFloat:Boolean; private var _id:uint; private var _minValue:Number; public function SaveRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){ this._id = _arg1; this._name = _arg2; this._isFloat = _arg3; this._minValue = _arg4; this._maxValue = _arg5; } public function get voted():Boolean{ return (this._voted); } public function set voted(_arg1:Boolean):void{ this._voted = _arg1; } public function toString():String{ return (this._name); } public function get maxValue():Number{ return (this._maxValue); } public function get name():String{ return (this._name); } public function get isFloat():Boolean{ return (this._isFloat); } public function get id():uint{ return (this._id); } public function get minValue():Number{ return (this._minValue); } } }//package com.newgrounds
Section 95
//Score (com.newgrounds.Score) package com.newgrounds { public class Score { private var _board:ScoreBoard; private var _position:uint; private var _numeric_value:uint; private var _value:String; private var _username:String; public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint){ this._board = _arg1; this._position = _arg2; this._username = _arg3; this._value = _arg4; this._numeric_value = _arg5; } public function get board():ScoreBoard{ return (this._board); } public function get position():uint{ return (this._position); } public function get value():String{ return (this._value); } public function get username():String{ return (this._username); } public function get numeric_value():uint{ return (this._numeric_value); } } }//package com.newgrounds
Section 96
//ScoreBoard (com.newgrounds.ScoreBoard) package com.newgrounds { import flash.events.*; public class ScoreBoard extends EventDispatcher { private var _scores:Array; private var _tag:String; private var _period:String;// = "Today" private var _name:String; private var _page:uint;// = 1 private var _id:uint; private var _num_results:uint;// = 10 public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){ this._name = _arg2; this._id = _arg1; this._scores = []; this._tag = _arg3; } public function get period():String{ return (this._period); } public function get name():String{ return (this._name); } public function postScore(_arg1:uint):void{ API.postScore(this._name, _arg1); } public function get page():uint{ return (this._page); } public function get tag():String{ return (this._tag); } public function exists():Boolean{ return ((this._id > 0)); } public function get scores():Array{ return (this._scores); } public function get id():Number{ return (this._id); } public function loadScores(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{ this._period = _arg1; if (((!(this._period)) || ((this._period == "")))){ this._period = ScoreBoardPeriod.TODAY; }; this._page = _arg2; this._num_results = _arg3; API.loadScores(this); } function setScores(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Number):void{ var _local6:uint; this._period = _arg2; this._page = _arg3; this._num_results = _arg4; this._scores = []; var _local5:uint; while (_local5 < _arg1.length) { _local6 = (((this._num_results * (this._page - 1)) + 1) + _local5); this._scores.push(new Score(this, _local6, _arg1[_local5].username, _arg1[_local5].value, _arg1[_local5].numeric_value)); _local5++; }; } public function get num_results():uint{ return (this._num_results); } } }//package com.newgrounds
Section 97
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod) package com.newgrounds { public class ScoreBoardPeriod { public static const MONTH:String = "This Month"; public static const TODAY:String = "Today"; public static const WEEK:String = "This Week"; public static const ALL_TIME:String = "All-Time"; public static const YEAR:String = "This Year"; } }//package com.newgrounds
Section 98
//SmartURLLoader (com.newgrounds.SmartURLLoader) package com.newgrounds { import flash.events.*; import flash.utils.*; import flash.net.*; import flash.errors.*; public class SmartURLLoader extends EventDispatcher { private var _urlRequest:URLRequest; private var _method:String;// = "GET" private var _files:Dictionary; private var _hasVariables:Boolean; private var _dataFormat:String;// = "text" private var _urlLoader:URLLoader; private var _preventCache:Boolean;// = false private var _variables:Dictionary; public var owner; private var _openBrowser:Boolean;// = false private static const CRLF:String = " "; private static var _loaders:Dictionary = new Dictionary(); public function SmartURLLoader(){ this._urlRequest = new URLRequest(); this._variables = new Dictionary(); } public function get response(){ return (this._urlLoader.data); } public function set method(_arg1:String):void{ if (((this.hasFiles) && ((_arg1 == URLRequestMethod.GET)))){ throw (new IllegalOperationError("GET cannot be used to upload files.")); }; this._method = _arg1; } private function onIOError(_arg1:IOErrorEvent):void{ dispatchEvent(_arg1); this.dispose(); } public function addVariable(_arg1:String, _arg2=""):void{ this._variables[_arg1] = _arg2; if (_arg2){ this._hasVariables = true; }; } private function onSecurityError(_arg1:SecurityErrorEvent):void{ dispatchEvent(_arg1); this.dispose(); } public function get preventCache():Boolean{ return (this._preventCache); } public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octect-stream"):void{ this.method = URLRequestMethod.POST; if (!this._files){ this._files = new Dictionary(); }; this._files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4); } public function get openBrowser():Boolean{ return (this._openBrowser); } public function set preventCache(_arg1:Boolean):void{ this._preventCache = _arg1; } public function get responseFormat():String{ return (this._dataFormat); } private function onComplete(_arg1:Event):void{ dispatchEvent(_arg1); this.dispose(); } public function dispose():void{ this._files = null; this._variables = null; if (this._urlLoader){ this._urlLoader.removeEventListener(Event.COMPLETE, this.onComplete); this._urlLoader.removeEventListener(ProgressEvent.PROGRESS, this.onProgress); this._urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOError); this._urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus); this._urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError); this._urlLoader = null; }; this._urlRequest = null; _loaders[this] = null; } public function get method():String{ return (this._method); } public function close():void{ try { this._urlLoader.close(); } catch(e:Error) { }; } private function buildMultipartData(_arg1:String):ByteArray{ var _local3:String; var _local4:File; var _local2:ByteArray = new ByteArray(); _local2.endian = Endian.BIG_ENDIAN; _arg1 = ("--" + _arg1); for (_local3 in this._variables) { _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes((this._variables[_local3] + CRLF)); }; if (this.hasFiles){ for each (_local4 in this._files) { _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes((_local4.fileName + CRLF)); _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF)); _local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeBytes(_local4.data); _local2.writeUTFBytes(CRLF); }; _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes(("Submit Query" + CRLF)); }; _local2.writeUTFBytes((_arg1 + "--")); _local2.position = 0; trace(_local2.readUTFBytes(_local2.length)); _local2.position = 0; return (_local2); } public function clearVariables():void{ this._variables = new Dictionary(); } private function onProgress(_arg1:ProgressEvent):void{ dispatchEvent(_arg1); } public function load(_arg1:String):void{ var urlVariables:URLVariables; var key:String; var boundary:String; var i:uint; var event:SecurityErrorEvent; var url = _arg1; this._urlRequest.url = url; if (this._preventCache){ url = (url + ("?seed=" + Math.random())); if (this._hasVariables){ url = (url + "&"); }; }; this._urlRequest.method = this._method; if ((((this._urlRequest.method == URLRequestMethod.GET)) || (!(this.hasFiles)))){ this._urlRequest.contentType = "application/x-www-form-urlencoded"; if (this._hasVariables){ urlVariables = new URLVariables(); for (key in this._variables) { urlVariables[key] = this._variables[key]; }; this._urlRequest.data = urlVariables; }; } else { boundary = ""; i = 0; while (i < 32) { boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25))))); i = (i + 1); }; this._urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\""); this._urlRequest.data = this.buildMultipartData(boundary); }; if (this.openBrowser){ navigateToURL(this._urlRequest, "_blank"); } else { this._urlLoader = new URLLoader(); this._urlLoader.dataFormat = this._dataFormat; this._urlLoader.addEventListener(Event.COMPLETE, this.onComplete); this._urlLoader.addEventListener(ProgressEvent.PROGRESS, this.onProgress); this._urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onIOError); this._urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus); this._urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError); _loaders[this._urlLoader] = this; try { this._urlLoader.load(this._urlRequest); } catch(error:Error) { event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message); onSecurityError(event); }; }; } public function set responseFormat(_arg1:String):void{ this._dataFormat = _arg1; } public function clearFiles():void{ this._files = null; } private function onHTTPStatus(_arg1:HTTPStatusEvent):void{ dispatchEvent(_arg1); } public function set openBrowser(_arg1:Boolean):void{ this._openBrowser = _arg1; } public function get hasFiles():Boolean{ return (Boolean(this._files)); } } }//package com.newgrounds import flash.utils.*; class File { private var dataField:String; private var contentType:String; private var fileName:String; private var data:ByteArray; private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){ this.fileName = _arg1; this.data = _arg2; this.dataField = _arg3; this.contentType = _arg4; } }
Section 99
//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 100
//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 101
//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 102
//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 103
//FlexLoader (mx.core.FlexLoader) package mx.core { import flash.display.*; import mx.utils.*; public class FlexLoader extends Loader { mx_internal static const VERSION:String = "3.4.1.10084"; public function FlexLoader(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 104
//FlexShape (mx.core.FlexShape) package mx.core { import flash.display.*; import mx.utils.*; public class FlexShape extends Shape { mx_internal static const VERSION:String = "3.4.1.10084"; public function FlexShape(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 105
//FlexVersion (mx.core.FlexVersion) package mx.core { import mx.resources.*; public class FlexVersion { public static const VERSION_2_0_1:uint = 33554433; public static const CURRENT_VERSION:uint = 50331648; public static const VERSION_3_0:uint = 50331648; public static const VERSION_2_0:uint = 33554432; public static const VERSION_ALREADY_READ:String = "versionAlreadyRead"; public static const VERSION_ALREADY_SET:String = "versionAlreadySet"; mx_internal static const VERSION:String = "3.4.1.10084"; private static var compatibilityVersionChanged:Boolean = false; private static var _compatibilityErrorFunction:Function; private static var _compatibilityVersion:uint = 50331648; private static var compatibilityVersionRead:Boolean = false; mx_internal static function changeCompatibilityVersionString(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:uint = parseInt(_local2[0]); var _local4:uint = parseInt(_local2[1]); var _local5:uint = parseInt(_local2[2]); _compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5); } public static function set compatibilityVersion(_arg1:uint):void{ var _local2:String; if (_arg1 == _compatibilityVersion){ return; }; if (compatibilityVersionChanged){ if (compatibilityErrorFunction == null){ _local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET); throw (new Error(_local2)); }; compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET); }; if (compatibilityVersionRead){ if (compatibilityErrorFunction == null){ _local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ); throw (new Error(_local2)); }; compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ); }; _compatibilityVersion = _arg1; compatibilityVersionChanged = true; } public static function get compatibilityVersion():uint{ compatibilityVersionRead = true; return (_compatibilityVersion); } public static function set compatibilityErrorFunction(_arg1:Function):void{ _compatibilityErrorFunction = _arg1; } public static function set compatibilityVersionString(_arg1:String):void{ var _local2:Array = _arg1.split("."); var _local3:uint = parseInt(_local2[0]); var _local4:uint = parseInt(_local2[1]); var _local5:uint = parseInt(_local2[2]); compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5); } public static function get compatibilityErrorFunction():Function{ return (_compatibilityErrorFunction); } public static function get compatibilityVersionString():String{ var _local1:uint = ((compatibilityVersion >> 24) & 0xFF); var _local2:uint = ((compatibilityVersion >> 16) & 0xFF); var _local3:uint = (compatibilityVersion & 0xFFFF); return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString())); } } }//package mx.core
Section 106
//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 107
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 108
//IButton (mx.core.IButton) package mx.core { public interface IButton extends IUIComponent { function get emphasized():Boolean; function set emphasized(_arg1:Boolean):void; function callLater(_arg1:Function, _arg2:Array=null):void; } }//package mx.core
Section 109
//IChildList (mx.core.IChildList) package mx.core { import flash.geom.*; import flash.display.*; public interface IChildList { function get numChildren():int; function removeChild(_arg1:DisplayObject):DisplayObject; function getChildByName(_arg1:String):DisplayObject; function removeChildAt(_arg1:int):DisplayObject; function getChildIndex(_arg1:DisplayObject):int; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function getObjectsUnderPoint(_arg1:Point):Array; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function getChildAt(_arg1:int):DisplayObject; function addChild(_arg1:DisplayObject):DisplayObject; function contains(_arg1:DisplayObject):Boolean; } }//package mx.core
Section 110
//IContainer (mx.core.IContainer) package mx.core { import flash.geom.*; import flash.display.*; import flash.text.*; import mx.managers.*; import flash.media.*; public interface IContainer extends IUIComponent { function set hitArea(_arg1:Sprite):void; function swapChildrenAt(_arg1:int, _arg2:int):void; function getChildByName(_arg1:String):DisplayObject; function get doubleClickEnabled():Boolean; function get graphics():Graphics; function get useHandCursor():Boolean; function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject; function set mouseChildren(_arg1:Boolean):void; function set creatingContentPane(_arg1:Boolean):void; function get textSnapshot():TextSnapshot; function getChildIndex(_arg1:DisplayObject):int; function set doubleClickEnabled(_arg1:Boolean):void; function getObjectsUnderPoint(_arg1:Point):Array; function get creatingContentPane():Boolean; function setChildIndex(_arg1:DisplayObject, _arg2:int):void; function get soundTransform():SoundTransform; function set useHandCursor(_arg1:Boolean):void; function get numChildren():int; function contains(_arg1:DisplayObject):Boolean; function get verticalScrollPosition():Number; function set defaultButton(_arg1:IFlexDisplayObject):void; function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void; function set horizontalScrollPosition(_arg1:Number):void; function get focusManager():IFocusManager; function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void; function set mouseEnabled(_arg1:Boolean):void; function getChildAt(_arg1:int):DisplayObject; function set soundTransform(_arg1:SoundTransform):void; function get tabChildren():Boolean; function get tabIndex():int; function set focusRect(_arg1:Object):void; function get hitArea():Sprite; function get mouseChildren():Boolean; function removeChildAt(_arg1:int):DisplayObject; function get defaultButton():IFlexDisplayObject; function stopDrag():void; function set tabEnabled(_arg1:Boolean):void; function get horizontalScrollPosition():Number; function get focusRect():Object; function get viewMetrics():EdgeMetrics; function set verticalScrollPosition(_arg1:Number):void; function get dropTarget():DisplayObject; function get mouseEnabled():Boolean; function set tabChildren(_arg1:Boolean):void; function set buttonMode(_arg1:Boolean):void; function get tabEnabled():Boolean; function get buttonMode():Boolean; function removeChild(_arg1:DisplayObject):DisplayObject; function set tabIndex(_arg1:int):void; function addChild(_arg1:DisplayObject):DisplayObject; function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean; } }//package mx.core
Section 111
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 112
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.geom.*; import flash.display.*; 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 113
//IFlexModuleFactory (mx.core.IFlexModuleFactory) package mx.core { import flash.utils.*; public interface IFlexModuleFactory { function get preloadedRSLs():Dictionary; function allowInsecureDomain(... _args):void; function create(... _args):Object; function allowDomain(... _args):void; function info():Object; } }//package mx.core
Section 114
//IInvalidating (mx.core.IInvalidating) package mx.core { public interface IInvalidating { function validateNow():void; function invalidateSize():void; function invalidateDisplayList():void; function invalidateProperties():void; } }//package mx.core
Section 115
//IProgrammaticSkin (mx.core.IProgrammaticSkin) package mx.core { public interface IProgrammaticSkin { function validateNow():void; function validateDisplayList():void; } }//package mx.core
Section 116
//IRawChildrenContainer (mx.core.IRawChildrenContainer) package mx.core { public interface IRawChildrenContainer { function get rawChildren():IChildList; } }//package mx.core
Section 117
//IRectangularBorder (mx.core.IRectangularBorder) package mx.core { import flash.geom.*; public interface IRectangularBorder extends IBorder { function get backgroundImageBounds():Rectangle; function get hasBackgroundImage():Boolean; function set backgroundImageBounds(_arg1:Rectangle):void; function layoutBackgroundImage():void; } }//package mx.core
Section 118
//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 119
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup) package mx.core { import flash.events.*; public interface ISWFBridgeGroup { function getChildBridgeProvider(_arg1:IEventDispatcher):ISWFBridgeProvider; function removeChildBridge(_arg1:IEventDispatcher):void; function get parentBridge():IEventDispatcher; function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void; function set parentBridge(_arg1:IEventDispatcher):void; function containsBridge(_arg1:IEventDispatcher):Boolean; function getChildBridges():Array; } }//package mx.core
Section 120
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider) package mx.core { import flash.events.*; public interface ISWFBridgeProvider { function get childAllowsParent():Boolean; function get swfBridge():IEventDispatcher; function get parentAllowsChild():Boolean; } }//package mx.core
Section 121
//IUIComponent (mx.core.IUIComponent) package mx.core { import flash.display.*; import mx.managers.*; public interface IUIComponent extends IFlexDisplayObject { function set focusPane(_arg1:Sprite):void; function get enabled():Boolean; function set enabled(_arg1:Boolean):void; function set isPopUp(_arg1:Boolean):void; function get explicitMinHeight():Number; function get percentWidth():Number; function get isPopUp():Boolean; function get owner():DisplayObjectContainer; function get percentHeight():Number; function get baselinePosition():Number; function owns(_arg1:DisplayObject):Boolean; function initialize():void; function get maxWidth():Number; function get minWidth():Number; function getExplicitOrMeasuredWidth():Number; function get explicitMaxWidth():Number; function get explicitMaxHeight():Number; function set percentHeight(_arg1:Number):void; function get minHeight():Number; function set percentWidth(_arg1:Number):void; function get document():Object; function get focusPane():Sprite; function getExplicitOrMeasuredHeight():Number; function set tweeningProperties(_arg1:Array):void; function set explicitWidth(_arg1:Number):void; function set measuredMinHeight(_arg1:Number):void; function get explicitMinWidth():Number; function get tweeningProperties():Array; function get maxHeight():Number; function set owner(_arg1:DisplayObjectContainer):void; function set includeInLayout(_arg1:Boolean):void; function setVisible(_arg1:Boolean, _arg2:Boolean=false):void; function parentChanged(_arg1:DisplayObjectContainer):void; function get explicitWidth():Number; function get measuredMinHeight():Number; function set measuredMinWidth(_arg1:Number):void; function set explicitHeight(_arg1:Number):void; function get includeInLayout():Boolean; function get measuredMinWidth():Number; function get explicitHeight():Number; function set systemManager(_arg1:ISystemManager):void; function set document(_arg1:Object):void; function get systemManager():ISystemManager; } }//package mx.core
Section 122
//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 123
//Singleton (mx.core.Singleton) package mx.core { public class Singleton { mx_internal static const VERSION:String = "3.4.1.10084"; private static var classMap:Object = {}; public static function registerClass(_arg1:String, _arg2:Class):void{ var _local3:Class = classMap[_arg1]; if (!_local3){ classMap[_arg1] = _arg2; }; } public static function getClass(_arg1:String):Class{ return (classMap[_arg1]); } public static function getInstance(_arg1:String):Object{ var _local2:Class = classMap[_arg1]; if (!_local2){ throw (new Error((("No class registered for interface '" + _arg1) + "'."))); }; return (_local2["getInstance"]()); } } }//package mx.core
Section 124
//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 125
//UIComponentGlobals (mx.core.UIComponentGlobals) package mx.core { import flash.geom.*; import flash.display.*; import mx.managers.*; public class UIComponentGlobals { mx_internal static var callLaterSuspendCount:int = 0; mx_internal static var layoutManager:ILayoutManager; mx_internal static var nextFocusObject:InteractiveObject; mx_internal static var designTime:Boolean = false; mx_internal static var tempMatrix:Matrix = new Matrix(); mx_internal static var callLaterDispatcherCount:int = 0; private static var _catchCallLaterExceptions:Boolean = false; public static function set catchCallLaterExceptions(_arg1:Boolean):void{ _catchCallLaterExceptions = _arg1; } public static function get designMode():Boolean{ return (designTime); } public static function set designMode(_arg1:Boolean):void{ designTime = _arg1; } public static function get catchCallLaterExceptions():Boolean{ return (_catchCallLaterExceptions); } } }//package mx.core
Section 126
//ModuleEvent (mx.events.ModuleEvent) package mx.events { import flash.events.*; import mx.core.*; import mx.modules.*; public class ModuleEvent extends ProgressEvent { public var errorText:String; private var _module:IModuleInfo; public static const READY:String = "ready"; public static const ERROR:String = "error"; public static const PROGRESS:String = "progress"; mx_internal static const VERSION:String = "3.4.1.10084"; public static const SETUP:String = "setup"; public static const UNLOAD:String = "unload"; public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; this._module = _arg7; } public function get module():IModuleInfo{ if (_module){ return (_module); }; return ((target as IModuleInfo)); } override public function clone():Event{ return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module)); } } }//package mx.events
Section 127
//ResourceEvent (mx.events.ResourceEvent) package mx.events { import flash.events.*; import mx.core.*; public class ResourceEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.1.10084"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; } override public function clone():Event{ return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 128
//StyleEvent (mx.events.StyleEvent) package mx.events { import flash.events.*; import mx.core.*; public class StyleEvent extends ProgressEvent { public var errorText:String; mx_internal static const VERSION:String = "3.4.1.10084"; public static const COMPLETE:String = "complete"; public static const PROGRESS:String = "progress"; public static const ERROR:String = "error"; public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5); this.errorText = _arg6; } override public function clone():Event{ return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText)); } } }//package mx.events
Section 129
//RectangularDropShadow (mx.graphics.RectangularDropShadow) package mx.graphics { import mx.core.*; import flash.geom.*; import flash.display.*; import mx.utils.*; import flash.filters.*; public class RectangularDropShadow { private var leftShadow:BitmapData; private var _tlRadius:Number;// = 0 private var _trRadius:Number;// = 0 private var _angle:Number;// = 45 private var topShadow:BitmapData; private var _distance:Number;// = 4 private var rightShadow:BitmapData; private var _alpha:Number;// = 0.4 private var shadow:BitmapData; private var _brRadius:Number;// = 0 private var _blRadius:Number;// = 0 private var _color:int;// = 0 private var bottomShadow:BitmapData; private var changed:Boolean;// = true mx_internal static const VERSION:String = "3.4.1.10084"; public function get blRadius():Number{ return (_blRadius); } public function set brRadius(_arg1:Number):void{ if (_brRadius != _arg1){ _brRadius = _arg1; changed = true; }; } public function set color(_arg1:int):void{ if (_color != _arg1){ _color = _arg1; changed = true; }; } public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; if (changed){ createShadowBitmaps(); changed = false; }; _arg4 = Math.ceil(_arg4); _arg5 = Math.ceil(_arg5); var _local6:int = (leftShadow) ? leftShadow.width : 0; var _local7:int = (rightShadow) ? rightShadow.width : 0; var _local8:int = (topShadow) ? topShadow.height : 0; var _local9:int = (bottomShadow) ? bottomShadow.height : 0; var _local10:int = (_local6 + _local7); var _local11:int = (_local8 + _local9); var _local12:Number = ((_arg5 + _local11) / 2); var _local13:Number = ((_arg4 + _local10) / 2); var _local14:Matrix = new Matrix(); if (((leftShadow) || (topShadow))){ _local15 = Math.min((tlRadius + _local10), _local13); _local16 = Math.min((tlRadius + _local11), _local12); _local14.tx = (_arg2 - _local6); _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16); _arg1.endFill(); }; if (((rightShadow) || (topShadow))){ _local17 = Math.min((trRadius + _local10), _local13); _local18 = Math.min((trRadius + _local11), _local12); _local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width); _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18); _arg1.endFill(); }; if (((leftShadow) || (bottomShadow))){ _local19 = Math.min((blRadius + _local10), _local13); _local20 = Math.min((blRadius + _local11), _local12); _local14.tx = (_arg2 - _local6); _local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20); _arg1.endFill(); }; if (((rightShadow) || (bottomShadow))){ _local21 = Math.min((brRadius + _local10), _local13); _local22 = Math.min((brRadius + _local11), _local12); _local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width); _local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height); _arg1.beginBitmapFill(shadow, _local14); _arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22); _arg1.endFill(); }; if (leftShadow){ _local14.tx = (_arg2 - _local6); _local14.ty = 0; _arg1.beginBitmapFill(leftShadow, _local14); _arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20)); _arg1.endFill(); }; if (rightShadow){ _local14.tx = (_arg2 + _arg4); _local14.ty = 0; _arg1.beginBitmapFill(rightShadow, _local14); _arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22)); _arg1.endFill(); }; if (topShadow){ _local14.tx = 0; _local14.ty = (_arg3 - _local8); _arg1.beginBitmapFill(topShadow, _local14); _arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8); _arg1.endFill(); }; if (bottomShadow){ _local14.tx = 0; _local14.ty = (_arg3 + _arg5); _arg1.beginBitmapFill(bottomShadow, _local14); _arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9); _arg1.endFill(); }; } public function get brRadius():Number{ return (_brRadius); } public function get angle():Number{ return (_angle); } private function createShadowBitmaps():void{ var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius)); var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius)); if ((((_local1 < 0)) || ((_local2 < 0)))){ return; }; var _local3:Shape = new FlexShape(); var _local4:Graphics = _local3.graphics; _local4.beginFill(0xFFFFFF); GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius); _local4.endFill(); var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0); _local5.draw(_local3, new Matrix()); var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha); _local6.knockout = true; var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2); var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6); var _local9:Number = (_local7.left - _local8.left); var _local10:Number = (_local8.right - _local7.right); var _local11:Number = (_local7.top - _local8.top); var _local12:Number = (_local8.bottom - _local7.bottom); shadow = new BitmapData(_local8.width, _local8.height); shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6); var _local13:Point = new Point(0, 0); var _local14:Rectangle = new Rectangle(); if (_local9 > 0){ _local14.x = 0; _local14.y = ((tlRadius + _local11) + _local12); _local14.width = _local9; _local14.height = 1; leftShadow = new BitmapData(_local9, 1); leftShadow.copyPixels(shadow, _local14, _local13); } else { leftShadow = null; }; if (_local10 > 0){ _local14.x = (shadow.width - _local10); _local14.y = ((trRadius + _local11) + _local12); _local14.width = _local10; _local14.height = 1; rightShadow = new BitmapData(_local10, 1); rightShadow.copyPixels(shadow, _local14, _local13); } else { rightShadow = null; }; if (_local11 > 0){ _local14.x = ((tlRadius + _local9) + _local10); _local14.y = 0; _local14.width = 1; _local14.height = _local11; topShadow = new BitmapData(1, _local11); topShadow.copyPixels(shadow, _local14, _local13); } else { topShadow = null; }; if (_local12 > 0){ _local14.x = ((blRadius + _local9) + _local10); _local14.y = (shadow.height - _local12); _local14.width = 1; _local14.height = _local12; bottomShadow = new BitmapData(1, _local12); bottomShadow.copyPixels(shadow, _local14, _local13); } else { bottomShadow = null; }; } public function get alpha():Number{ return (_alpha); } public function get color():int{ return (_color); } public function set angle(_arg1:Number):void{ if (_angle != _arg1){ _angle = _arg1; changed = true; }; } public function set trRadius(_arg1:Number):void{ if (_trRadius != _arg1){ _trRadius = _arg1; changed = true; }; } public function set tlRadius(_arg1:Number):void{ if (_tlRadius != _arg1){ _tlRadius = _arg1; changed = true; }; } public function get trRadius():Number{ return (_trRadius); } public function set distance(_arg1:Number):void{ if (_distance != _arg1){ _distance = _arg1; changed = true; }; } public function get distance():Number{ return (_distance); } public function get tlRadius():Number{ return (_tlRadius); } public function set alpha(_arg1:Number):void{ if (_alpha != _arg1){ _alpha = _arg1; changed = true; }; } public function set blRadius(_arg1:Number):void{ if (_blRadius != _arg1){ _blRadius = _arg1; changed = true; }; } } }//package mx.graphics
Section 130
//IFocusManager (mx.managers.IFocusManager) package mx.managers { import flash.events.*; import mx.core.*; import flash.display.*; public interface IFocusManager { function get focusPane():Sprite; function getFocus():IFocusManagerComponent; function deactivate():void; function set defaultButton(_arg1:IButton):void; function set focusPane(_arg1:Sprite):void; function set showFocusIndicator(_arg1:Boolean):void; function moveFocus(_arg1:String, _arg2:DisplayObject=null):void; function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void; function removeSWFBridge(_arg1:IEventDispatcher):void; function get defaultButtonEnabled():Boolean; function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent; function get nextTabIndex():int; function get defaultButton():IButton; function get showFocusIndicator():Boolean; function setFocus(_arg1:IFocusManagerComponent):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent; } }//package mx.managers
Section 131
//IFocusManagerComponent (mx.managers.IFocusManagerComponent) package mx.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package mx.managers
Section 132
//IFocusManagerContainer (mx.managers.IFocusManagerContainer) package mx.managers { import flash.events.*; import flash.display.*; public interface IFocusManagerContainer extends IEventDispatcher { function set focusManager(_arg1:IFocusManager):void; function get focusManager():IFocusManager; function get systemManager():ISystemManager; function contains(_arg1:DisplayObject):Boolean; } }//package mx.managers
Section 133
//ILayoutManager (mx.managers.ILayoutManager) package mx.managers { import flash.events.*; public interface ILayoutManager extends IEventDispatcher { function validateNow():void; function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void; function isInvalid():Boolean; function invalidateDisplayList(_arg1:ILayoutManagerClient):void; function set usePhasedInstantiation(_arg1:Boolean):void; function invalidateSize(_arg1:ILayoutManagerClient):void; function get usePhasedInstantiation():Boolean; function invalidateProperties(_arg1:ILayoutManagerClient):void; } }//package mx.managers
Section 134
//ILayoutManagerClient (mx.managers.ILayoutManagerClient) package mx.managers { import flash.events.*; public interface ILayoutManagerClient extends IEventDispatcher { function get updateCompletePendingFlag():Boolean; function set updateCompletePendingFlag(_arg1:Boolean):void; function set initialized(_arg1:Boolean):void; function validateProperties():void; function validateDisplayList():void; function get nestLevel():int; function get initialized():Boolean; function get processedDescriptors():Boolean; function validateSize(_arg1:Boolean=false):void; function set nestLevel(_arg1:int):void; function set processedDescriptors(_arg1:Boolean):void; } }//package mx.managers
Section 135
//ISystemManager (mx.managers.ISystemManager) package mx.managers { import flash.events.*; import mx.core.*; import flash.geom.*; import flash.display.*; import flash.text.*; public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory { function set focusPane(_arg1:Sprite):void; function get toolTipChildren():IChildList; function useSWFBridge():Boolean; function isFontFaceEmbedded(_arg1:TextFormat):Boolean; function deployMouseShields(_arg1:Boolean):void; function get rawChildren():IChildList; function get topLevelSystemManager():ISystemManager; function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void; function getSandboxRoot():DisplayObject; function get swfBridgeGroup():ISWFBridgeGroup; function removeFocusManager(_arg1:IFocusManagerContainer):void; function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void; function get document():Object; function get focusPane():Sprite; function get loaderInfo():LoaderInfo; function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void; function getTopLevelRoot():DisplayObject; function removeChildBridge(_arg1:IEventDispatcher):void; function isDisplayObjectInABridgedApplication(_arg1:DisplayObject):Boolean; function get popUpChildren():IChildList; function get screen():Rectangle; function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void; function getDefinitionByName(_arg1:String):Object; function activate(_arg1:IFocusManagerContainer):void; function deactivate(_arg1:IFocusManagerContainer):void; function get cursorChildren():IChildList; function set document(_arg1:Object):void; function get embeddedFontList():Object; function set numModalWindows(_arg1:int):void; function isTopLevel():Boolean; function isTopLevelRoot():Boolean; function get numModalWindows():int; function addFocusManager(_arg1:IFocusManagerContainer):void; function get stage():Stage; function getVisibleApplicationRect(_arg1:Rectangle=null):Rectangle; } }//package mx.managers
Section 136
//SystemManagerGlobals (mx.managers.SystemManagerGlobals) package mx.managers { public class SystemManagerGlobals { public static var topLevelSystemManagers:Array = []; public static var changingListenersInOtherSystemManagers:Boolean; public static var bootstrapLoaderInfoURL:String; public static var showMouseCursor:Boolean; public static var dispatchingEventToOtherSystemManagers:Boolean; } }//package mx.managers
Section 137
//IModuleInfo (mx.modules.IModuleInfo) package mx.modules { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; public interface IModuleInfo extends IEventDispatcher { function get ready():Boolean; function get loaded():Boolean; function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void; function release():void; function get error():Boolean; function get data():Object; function publish(_arg1:IFlexModuleFactory):void; function get factory():IFlexModuleFactory; function set data(_arg1:Object):void; function get url():String; function get setup():Boolean; function unload():void; } }//package mx.modules
Section 138
//ModuleManager (mx.modules.ModuleManager) package mx.modules { import mx.core.*; public class ModuleManager { mx_internal static const VERSION:String = "3.4.1.10084"; public static function getModule(_arg1:String):IModuleInfo{ return (getSingleton().getModule(_arg1)); } private static function getSingleton():Object{ if (!ModuleManagerGlobals.managerSingleton){ ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl(); }; return (ModuleManagerGlobals.managerSingleton); } public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{ return (getSingleton().getAssociatedFactory(_arg1)); } } }//package mx.modules import flash.events.*; import mx.core.*; import flash.display.*; import flash.utils.*; import flash.system.*; import mx.events.*; import flash.net.*; class ModuleInfoProxy extends EventDispatcher implements IModuleInfo { private var _data:Object; private var info:ModuleInfo; private var referenced:Boolean;// = false private function ModuleInfoProxy(_arg1:ModuleInfo){ this.info = _arg1; _arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true); } public function get loaded():Boolean{ return (info.loaded); } public function release():void{ if (referenced){ info.removeReference(); referenced = false; }; } public function get error():Boolean{ return (info.error); } public function get factory():IFlexModuleFactory{ return (info.factory); } public function publish(_arg1:IFlexModuleFactory):void{ info.publish(_arg1); } public function set data(_arg1:Object):void{ _data = _arg1; } public function get ready():Boolean{ return (info.ready); } public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{ var _local4:ModuleEvent; info.resurrect(); if (!referenced){ info.addReference(); referenced = true; }; if (info.error){ dispatchEvent(new ModuleEvent(ModuleEvent.ERROR)); } else { if (info.loaded){ if (info.setup){ dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); if (info.ready){ _local4 = new ModuleEvent(ModuleEvent.PROGRESS); _local4.bytesLoaded = info.size; _local4.bytesTotal = info.size; dispatchEvent(_local4); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); }; }; } else { info.load(_arg1, _arg2, _arg3); }; }; } private function moduleEventHandler(_arg1:ModuleEvent):void{ dispatchEvent(_arg1); } public function get url():String{ return (info.url); } public function get data():Object{ return (_data); } public function get setup():Boolean{ return (info.setup); } public function unload():void{ info.unload(); info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler); info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler); info.removeEventListener(ModuleEvent.READY, moduleEventHandler); info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler); info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler); } } class ModuleManagerImpl extends EventDispatcher { private var moduleList:Object; private function ModuleManagerImpl(){ moduleList = {}; super(); } public function getModule(_arg1:String):IModuleInfo{ var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo); if (!_local2){ _local2 = new ModuleInfo(_arg1); moduleList[_arg1] = _local2; }; return (new ModuleInfoProxy(_local2)); } public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{ var m:Object; var info:ModuleInfo; var domain:ApplicationDomain; var cls:Class; var object = _arg1; var className:String = getQualifiedClassName(object); for each (m in moduleList) { info = (m as ModuleInfo); if (!info.ready){ } else { domain = info.applicationDomain; try { cls = Class(domain.getDefinition(className)); if ((object is cls)){ return (info.factory); }; } catch(error:Error) { }; }; }; return (null); } } class ModuleInfo extends EventDispatcher { private var _error:Boolean;// = false private var loader:Loader; private var factoryInfo:FactoryInfo; private var limbo:Dictionary; private var _loaded:Boolean;// = false private var _ready:Boolean;// = false private var numReferences:int;// = 0 private var _url:String; private var _setup:Boolean;// = false private function ModuleInfo(_arg1:String){ _url = _arg1; } private function clearLoader():void{ if (loader){ if (loader.contentLoaderInfo){ loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); }; try { if (loader.content){ loader.content.removeEventListener("ready", readyHandler); loader.content.removeEventListener("error", moduleErrorHandler); }; } catch(error:Error) { }; if (_loaded){ try { loader.close(); } catch(error:Error) { }; }; try { loader.unload(); } catch(error:Error) { }; loader = null; }; } public function get size():int{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0); } public function get loaded():Boolean{ return ((limbo) ? false : _loaded); } public function release():void{ if (((_ready) && (!(limbo)))){ limbo = new Dictionary(true); limbo[factoryInfo] = 1; factoryInfo = null; } else { unload(); }; } public function get error():Boolean{ return ((limbo) ? false : _error); } public function get factory():IFlexModuleFactory{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null); } public function completeHandler(_arg1:Event):void{ var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; _local2.bytesTotal = loader.contentLoaderInfo.bytesTotal; dispatchEvent(_local2); } public function publish(_arg1:IFlexModuleFactory):void{ if (factoryInfo){ return; }; if (_url.indexOf("published://") != 0){ return; }; factoryInfo = new FactoryInfo(); factoryInfo.factory = _arg1; _loaded = true; _setup = true; _ready = true; _error = false; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS)); dispatchEvent(new ModuleEvent(ModuleEvent.READY)); } public function initHandler(_arg1:Event):void{ var moduleEvent:ModuleEvent; var event = _arg1; factoryInfo = new FactoryInfo(); try { factoryInfo.factory = (loader.content as IFlexModuleFactory); } catch(error:Error) { }; if (!factoryInfo.factory){ moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable); moduleEvent.bytesLoaded = 0; moduleEvent.bytesTotal = 0; moduleEvent.errorText = "SWF is not a loadable module"; dispatchEvent(moduleEvent); return; }; loader.content.addEventListener("ready", readyHandler); loader.content.addEventListener("error", moduleErrorHandler); try { factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain; } catch(error:Error) { }; _setup = true; dispatchEvent(new ModuleEvent(ModuleEvent.SETUP)); } public function resurrect():void{ var _local1:Object; if (((!(factoryInfo)) && (limbo))){ for (_local1 in limbo) { factoryInfo = (_local1 as FactoryInfo); break; }; limbo = null; }; if (!factoryInfo){ if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; loader = null; _loaded = false; _setup = false; _ready = false; _error = false; }; } public function errorHandler(_arg1:ErrorEvent):void{ _error = true; var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = 0; _local2.bytesTotal = 0; _local2.errorText = _arg1.text; dispatchEvent(_local2); } public function get ready():Boolean{ return ((limbo) ? false : _ready); } private function loadBytes(_arg1:ApplicationDomain, _arg2:ByteArray):void{ var _local3:LoaderContext = new LoaderContext(); _local3.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain); if (("allowLoadBytesCodeExecution" in _local3)){ _local3["allowLoadBytesCodeExecution"] = true; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.loadBytes(_arg2, _local3); } public function removeReference():void{ numReferences--; if (numReferences == 0){ release(); }; } public function addReference():void{ numReferences++; } public function progressHandler(_arg1:ProgressEvent):void{ var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{ if (_loaded){ return; }; _loaded = true; limbo = null; if (_arg3){ loadBytes(_arg1, _arg3); return; }; if (_url.indexOf("published://") == 0){ return; }; var _local4:URLRequest = new URLRequest(_url); var _local5:LoaderContext = new LoaderContext(); _local5.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain); _local5.securityDomain = _arg2; if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){ _local5.securityDomain = SecurityDomain.currentDomain; }; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); loader.load(_local4, _local5); } public function get url():String{ return (_url); } public function get applicationDomain():ApplicationDomain{ return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null); } public function moduleErrorHandler(_arg1:Event):void{ var _local2:ModuleEvent; _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); if ((_arg1 is ModuleEvent)){ _local2 = ModuleEvent(_arg1); } else { _local2 = new ModuleEvent(ModuleEvent.ERROR); }; dispatchEvent(_local2); } public function readyHandler(_arg1:Event):void{ _ready = true; factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal; var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.READY); _local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded; _local2.bytesTotal = loader.contentLoaderInfo.bytesTotal; clearLoader(); dispatchEvent(_local2); } public function get setup():Boolean{ return ((limbo) ? false : _setup); } public function unload():void{ clearLoader(); if (_loaded){ dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD)); }; limbo = null; factoryInfo = null; _loaded = false; _setup = false; _ready = false; _error = false; } } class FactoryInfo { public var bytesTotal:int;// = 0 public var factory:IFlexModuleFactory; public var applicationDomain:ApplicationDomain; private function FactoryInfo(){ } }
Section 139
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals) package mx.modules { public class ModuleManagerGlobals { public static var managerSingleton:Object = null; } }//package mx.modules
Section 140
//IResourceBundle (mx.resources.IResourceBundle) package mx.resources { public interface IResourceBundle { function get content():Object; function get locale():String; function get bundleName():String; } }//package mx.resources
Section 141
//IResourceManager (mx.resources.IResourceManager) package mx.resources { import flash.events.*; import flash.system.*; public interface IResourceManager extends IEventDispatcher { function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean; function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class; function getLocales():Array; function removeResourceBundlesForLocale(_arg1:String):void; function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle; function get localeChain():Array; function getInt(_arg1:String, _arg2:String, _arg3:String=null):int; function update():void; function set localeChain(_arg1:Array):void; function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint; function addResourceBundle(_arg1:IResourceBundle):void; function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array; function getBundleNamesForLocale(_arg1:String):Array; function removeResourceBundle(_arg1:String, _arg2:String):void; function getObject(_arg1:String, _arg2:String, _arg3:String=null); function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String; function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void; function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void; function getPreferredLocaleChain():Array; function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle; function initializeLocaleChain(_arg1:Array):void; function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number; } }//package mx.resources
Section 142
//IResourceModule (mx.resources.IResourceModule) package mx.resources { public interface IResourceModule { function get resourceBundles():Array; } }//package mx.resources
Section 143
//LocaleSorter (mx.resources.LocaleSorter) package mx.resources { import mx.core.*; public class LocaleSorter { mx_internal static const VERSION:String = "3.4.1.10084"; private static function normalizeLocale(_arg1:String):String{ return (_arg1.toLowerCase().replace(/-/g, "_")); } public static function sortLocalesByPreference(_arg1:Array, _arg2:Array, _arg3:String=null, _arg4:Boolean=false):Array{ var result:Array; var hasLocale:Object; var i:int; var j:int; var k:int; var l:int; var locale:String; var plocale:LocaleID; var appLocales = _arg1; var systemPreferences = _arg2; var ultimateFallbackLocale = _arg3; var addAll = _arg4; var promote:Function = function (_arg1:String):void{ if (typeof(hasLocale[_arg1]) != "undefined"){ result.push(appLocales[hasLocale[_arg1]]); delete hasLocale[_arg1]; }; }; result = []; hasLocale = {}; var locales:Array = trimAndNormalize(appLocales); var preferenceLocales:Array = trimAndNormalize(systemPreferences); addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale); j = 0; while (j < locales.length) { hasLocale[locales[j]] = j; j = (j + 1); }; i = 0; l = preferenceLocales.length; while (i < l) { plocale = LocaleID.fromString(preferenceLocales[i]); promote(preferenceLocales[i]); promote(plocale.toString()); while (plocale.transformToParent()) { promote(plocale.toString()); }; plocale = LocaleID.fromString(preferenceLocales[i]); j = 0; while (j < l) { locale = preferenceLocales[j]; if (plocale.isSiblingOf(LocaleID.fromString(locale))){ promote(locale); }; j = (j + 1); }; j = 0; k = locales.length; while (j < k) { locale = locales[j]; if (plocale.isSiblingOf(LocaleID.fromString(locale))){ promote(locale); }; j = (j + 1); }; i = (i + 1); }; if (addAll){ j = 0; k = locales.length; while (j < k) { promote(locales[j]); j = (j + 1); }; }; return (result); } private static function addUltimateFallbackLocale(_arg1:Array, _arg2:String):void{ var _local3:String; if (((!((_arg2 == null))) && (!((_arg2 == ""))))){ _local3 = normalizeLocale(_arg2); if (_arg1.indexOf(_local3) == -1){ _arg1.push(_local3); }; }; } private static function trimAndNormalize(_arg1:Array):Array{ var _local2:Array = []; var _local3:int; while (_local3 < _arg1.length) { _local2.push(normalizeLocale(_arg1[_local3])); _local3++; }; return (_local2); } } }//package mx.resources class LocaleID { private var privateLangs:Boolean;// = false private var script:String;// = "" private var variants:Array; private var privates:Array; private var extensions:Object; private var lang:String;// = "" private var region:String;// = "" private var extended_langs:Array; public static const STATE_PRIMARY_LANGUAGE:int = 0; public static const STATE_REGION:int = 3; public static const STATE_EXTENDED_LANGUAGES:int = 1; public static const STATE_EXTENSIONS:int = 5; public static const STATE_SCRIPT:int = 2; public static const STATE_VARIANTS:int = 4; public static const STATE_PRIVATES:int = 6; private function LocaleID(){ extended_langs = []; variants = []; extensions = {}; privates = []; super(); } public function equals(_arg1:LocaleID):Boolean{ return ((toString() == _arg1.toString())); } public function canonicalize():void{ var _local1:String; for (_local1 in extensions) { if (extensions.hasOwnProperty(_local1)){ if (extensions[_local1].length == 0){ delete extensions[_local1]; } else { extensions[_local1] = extensions[_local1].sort(); }; }; }; extended_langs = extended_langs.sort(); variants = variants.sort(); privates = privates.sort(); if (script == ""){ script = LocaleRegistry.getScriptByLang(lang); }; if ((((script == "")) && (!((region == ""))))){ script = LocaleRegistry.getScriptByLangAndRegion(lang, region); }; if ((((region == "")) && (!((script == ""))))){ region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script); }; } public function toString():String{ var _local2:String; var _local1:Array = [lang]; Array.prototype.push.apply(_local1, extended_langs); if (script != ""){ _local1.push(script); }; if (region != ""){ _local1.push(region); }; Array.prototype.push.apply(_local1, variants); for (_local2 in extensions) { if (extensions.hasOwnProperty(_local2)){ _local1.push(_local2); Array.prototype.push.apply(_local1, extensions[_local2]); }; }; if (privates.length > 0){ _local1.push("x"); Array.prototype.push.apply(_local1, privates); }; return (_local1.join("_")); } public function isSiblingOf(_arg1:LocaleID):Boolean{ return ((((lang == _arg1.lang)) && ((script == _arg1.script)))); } public function transformToParent():Boolean{ var _local2:String; var _local3:Array; var _local4:String; if (privates.length > 0){ privates.splice((privates.length - 1), 1); return (true); }; var _local1:String; for (_local2 in extensions) { if (extensions.hasOwnProperty(_local2)){ _local1 = _local2; }; }; if (_local1){ _local3 = extensions[_local1]; if (_local3.length == 1){ delete extensions[_local1]; return (true); }; _local3.splice((_local3.length - 1), 1); return (true); }; if (variants.length > 0){ variants.splice((variants.length - 1), 1); return (true); }; if (script != ""){ if (LocaleRegistry.getScriptByLang(lang) != ""){ script = ""; return (true); }; if (region == ""){ _local4 = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script); if (_local4 != ""){ region = _local4; script = ""; return (true); }; }; }; if (region != ""){ if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){ region = ""; return (true); }; }; if (extended_langs.length > 0){ extended_langs.splice((extended_langs.length - 1), 1); return (true); }; return (false); } public static function fromString(_arg1:String):LocaleID{ var _local5:Array; var _local8:String; var _local9:int; var _local10:String; var _local2:LocaleID = new (LocaleID); var _local3:int = STATE_PRIMARY_LANGUAGE; var _local4:Array = _arg1.replace(/-/g, "_").split("_"); var _local6:int; var _local7:int = _local4.length; while (_local6 < _local7) { _local8 = _local4[_local6].toLowerCase(); if (_local3 == STATE_PRIMARY_LANGUAGE){ if (_local8 == "x"){ _local2.privateLangs = true; } else { if (_local8 == "i"){ _local2.lang = (_local2.lang + "i-"); } else { _local2.lang = (_local2.lang + _local8); _local3 = STATE_EXTENDED_LANGUAGES; }; }; } else { _local9 = _local8.length; if (_local9 == 0){ } else { _local10 = _local8.charAt(0).toLowerCase(); if ((((_local3 <= STATE_EXTENDED_LANGUAGES)) && ((_local9 == 3)))){ _local2.extended_langs.push(_local8); if (_local2.extended_langs.length == 3){ _local3 = STATE_SCRIPT; }; } else { if ((((_local3 <= STATE_SCRIPT)) && ((_local9 == 4)))){ _local2.script = _local8; _local3 = STATE_REGION; } else { if ((((_local3 <= STATE_REGION)) && ((((_local9 == 2)) || ((_local9 == 3)))))){ _local2.region = _local8; _local3 = STATE_VARIANTS; } else { if ((((_local3 <= STATE_VARIANTS)) && ((((((((_local10 >= "a")) && ((_local10 <= "z")))) && ((_local9 >= 5)))) || ((((((_local10 >= "0")) && ((_local10 <= "9")))) && ((_local9 >= 4)))))))){ _local2.variants.push(_local8); _local3 = STATE_VARIANTS; } else { if ((((_local3 < STATE_PRIVATES)) && ((_local9 == 1)))){ if (_local8 == "x"){ _local3 = STATE_PRIVATES; _local5 = _local2.privates; } else { _local3 = STATE_EXTENSIONS; _local5 = ((_local2.extensions[_local8]) || ([])); _local2.extensions[_local8] = _local5; }; } else { if (_local3 >= STATE_EXTENSIONS){ _local5.push(_local8); }; }; }; }; }; }; }; }; _local6++; }; _local2.canonicalize(); return (_local2); } } class LocaleRegistry { private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28}; private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"]; private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}}; private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32}; private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}}; private function LocaleRegistry(){ } public static function getScriptByLangAndRegion(_arg1:String, _arg2:String):String{ var _local3:Object = SCRIPT_ID_BY_LANG_AND_REGION[_arg1]; if (_local3 == null){ return (""); }; var _local4:Object = _local3[_arg2]; if (_local4 == null){ return (""); }; return (SCRIPTS[int(_local4)].toLowerCase()); } public static function getScriptByLang(_arg1:String):String{ var _local2:Object = SCRIPT_ID_BY_LANG[_arg1]; if (_local2 == null){ return (""); }; return (SCRIPTS[int(_local2)].toLowerCase()); } public static function getDefaultRegionForLangAndScript(_arg1:String, _arg2:String):String{ var _local3:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[_arg1]; var _local4:Object = SCRIPT_BY_ID[_arg2]; if ((((_local3 == null)) || ((_local4 == null)))){ return (""); }; return (((_local3[int(_local4)]) || (""))); } }
Section 144
//ResourceBundle (mx.resources.ResourceBundle) package mx.resources { import mx.core.*; import flash.system.*; import mx.utils.*; public class ResourceBundle implements IResourceBundle { mx_internal var _locale:String; private var _content:Object; mx_internal var _bundleName:String; mx_internal static const VERSION:String = "3.4.1.10084"; mx_internal static var backupApplicationDomain:ApplicationDomain; mx_internal static var locale:String; public function ResourceBundle(_arg1:String=null, _arg2:String=null){ _content = {}; super(); mx_internal::_locale = _arg1; mx_internal::_bundleName = _arg2; _content = getContent(); } protected function getContent():Object{ return ({}); } public function getString(_arg1:String):String{ return (String(_getObject(_arg1))); } public function get content():Object{ return (_content); } public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{ var _local3:String = _getObject(_arg1).toLowerCase(); if (_local3 == "false"){ return (false); }; if (_local3 == "true"){ return (true); }; return (_arg2); } public function getStringArray(_arg1:String):Array{ var _local2:Array = _getObject(_arg1).split(","); var _local3:int = _local2.length; var _local4:int; while (_local4 < _local3) { _local2[_local4] = StringUtil.trim(_local2[_local4]); _local4++; }; return (_local2); } public function getObject(_arg1:String):Object{ return (_getObject(_arg1)); } private function _getObject(_arg1:String):Object{ var _local2:Object = content[_arg1]; if (!_local2){ throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName))); }; return (_local2); } public function get locale():String{ return (mx_internal::_locale); } public function get bundleName():String{ return (mx_internal::_bundleName); } public function getNumber(_arg1:String):Number{ return (Number(_getObject(_arg1))); } private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{ var _local3:Class; if (_arg2.hasDefinition(_arg1)){ _local3 = (_arg2.getDefinition(_arg1) as Class); }; return (_local3); } public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{ var _local3:String; var _local4:Class; var _local5:Object; var _local6:ResourceBundle; if (!_arg2){ _arg2 = ApplicationDomain.currentDomain; }; _local3 = (((mx_internal::locale + "$") + _arg1) + "_properties"); _local4 = getClassByName(_local3, _arg2); if (!_local4){ _local3 = (_arg1 + "_properties"); _local4 = getClassByName(_local3, _arg2); }; if (!_local4){ _local3 = _arg1; _local4 = getClassByName(_local3, _arg2); }; if (((!(_local4)) && (mx_internal::backupApplicationDomain))){ _local3 = (_arg1 + "_properties"); _local4 = getClassByName(_local3, mx_internal::backupApplicationDomain); if (!_local4){ _local3 = _arg1; _local4 = getClassByName(_local3, mx_internal::backupApplicationDomain); }; }; if (_local4){ _local5 = new (_local4); if ((_local5 is ResourceBundle)){ _local6 = ResourceBundle(_local5); return (_local6); }; }; throw (new Error(("Could not find resource bundle " + _arg1))); } } }//package mx.resources
Section 145
//ResourceManager (mx.resources.ResourceManager) package mx.resources { import mx.core.*; public class ResourceManager { mx_internal static const VERSION:String = "3.4.1.10084"; private static var implClassDependency:ResourceManagerImpl; private static var instance:IResourceManager; public static function getInstance():IResourceManager{ if (!instance){ try { instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager")); } catch(e:Error) { instance = new ResourceManagerImpl(); }; }; return (instance); } } }//package mx.resources
Section 146
//ResourceManagerImpl (mx.resources.ResourceManagerImpl) package mx.resources { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.utils.*; public class ResourceManagerImpl extends EventDispatcher implements IResourceManager { private var resourceModules:Object; private var initializedForNonFrameworkApp:Boolean;// = false private var localeMap:Object; private var _localeChain:Array; mx_internal static const VERSION:String = "3.4.1.10084"; private static var instance:IResourceManager; public function ResourceManagerImpl(){ localeMap = {}; resourceModules = {}; super(); } public function get localeChain():Array{ return (_localeChain); } public function set localeChain(_arg1:Array):void{ _localeChain = _arg1; update(); } public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (null); }; var _local5:* = _local4.content[_arg2]; var _local6:Array = String(_local5).split(","); var _local7:int = _local6.length; var _local8:int; while (_local8 < _local7) { _local6[_local8] = StringUtil.trim(_local6[_local8]); _local8++; }; return (_local6); } mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{ var _local4:String; var _local5:String = _arg3; var _local6:int = _arg3.indexOf(":"); if (_local6 != -1){ _local4 = _arg3.substring(0, _local6); _local5 = _arg3.substring((_local6 + 1)); }; if (getResourceBundle(_arg2, _arg3)){ return; }; var _local7 = (((_arg2 + "$") + _local5) + "_properties"); if (_local4 != null){ _local7 = ((_local4 + ".") + _local7); }; var _local8:Class; if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; if (!_local8){ _local7 = _arg3; if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; }; if (!_local8){ _local7 = (_arg3 + "_properties"); if (_arg1.hasDefinition(_local7)){ _local8 = Class(_arg1.getDefinition(_local7)); }; }; if (!_local8){ throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'."))); }; var _local9:ResourceBundle = ResourceBundle(new (_local8)); _local9.mx_internal::_locale = _arg2; _local9.mx_internal::_bundleName = _arg3; addResourceBundle(_local9); } public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{ var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4); if (!_local5){ return (null); }; var _local6:String = String(_local5.content[_arg2]); if (_arg3){ _local6 = StringUtil.substitute(_local6, _arg3); }; return (_local6); } public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{ var moduleInfo:IModuleInfo; var resourceEventDispatcher:ResourceEventDispatcher; var timer:Timer; var timerHandler:Function; var url = _arg1; var updateFlag = _arg2; var applicationDomain = _arg3; var securityDomain = _arg4; moduleInfo = ModuleManager.getModule(url); resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo); var readyHandler:Function = function (_arg1:ModuleEvent):void{ var _local2:* = _arg1.module.factory.create(); resourceModules[_arg1.module.url].resourceModule = _local2; if (updateFlag){ update(); }; }; moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); var errorHandler:Function = function (_arg1:ModuleEvent):void{ var _local3:ResourceEvent; var _local2:String = ("Unable to load resource module from " + url); if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){ _local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local3.bytesLoaded = 0; _local3.bytesTotal = 0; _local3.errorText = _local2; resourceEventDispatcher.dispatchEvent(_local3); } else { throw (new Error(_local2)); }; }; moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); moduleInfo.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (resourceEventDispatcher); } public function getLocales():Array{ var _local2:String; var _local1:Array = []; for (_local2 in localeMap) { _local1.push(_local2); }; return (_local1); } public function removeResourceBundlesForLocale(_arg1:String):void{ delete localeMap[_arg1]; } public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{ var _local3:Object = localeMap[_arg1]; if (!_local3){ return (null); }; return (_local3[_arg2]); } private function dumpResourceModule(_arg1):void{ var _local2:ResourceBundle; var _local3:String; for each (_local2 in _arg1.resourceBundles) { trace(_local2.locale, _local2.bundleName); for (_local3 in _local2.content) { }; }; } public function addResourceBundle(_arg1:IResourceBundle):void{ var _local2:String = _arg1.locale; var _local3:String = _arg1.bundleName; if (!localeMap[_local2]){ localeMap[_local2] = {}; }; localeMap[_local2][_local3] = _arg1; } public function getObject(_arg1:String, _arg2:String, _arg3:String=null){ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (undefined); }; return (_local4.content[_arg2]); } public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (0); }; var _local5:* = _local4.content[_arg2]; return (int(_local5)); } private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{ supportNonFrameworkApps(); return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2)); } private function supportNonFrameworkApps():void{ if (initializedForNonFrameworkApp){ return; }; initializedForNonFrameworkApp = true; if (getLocales().length > 0){ return; }; var _local1:ApplicationDomain = ApplicationDomain.currentDomain; if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){ return; }; var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo")); var _local3:Array = _local2.compiledLocales; var _local4:Array = _local2.compiledResourceBundleNames; installCompiledResourceBundles(_local1, _local3, _local4); localeChain = _local3; } public function getBundleNamesForLocale(_arg1:String):Array{ var _local3:String; var _local2:Array = []; for (_local3 in localeMap[_arg1]) { _local2.push(_local3); }; return (_local2); } public function getPreferredLocaleChain():Array{ return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true)); } public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (NaN); }; var _local5:* = _local4.content[_arg2]; return (Number(_local5)); } public function update():void{ dispatchEvent(new Event(Event.CHANGE)); } public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (null); }; var _local5:* = _local4.content[_arg2]; return ((_local5 as Class)); } public function removeResourceBundle(_arg1:String, _arg2:String):void{ delete localeMap[_arg1][_arg2]; if (getBundleNamesForLocale(_arg1).length == 0){ delete localeMap[_arg1]; }; } public function initializeLocaleChain(_arg1:Array):void{ localeChain = LocaleSorter.sortLocalesByPreference(_arg1, getSystemPreferredLocales(), null, true); } public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{ var _local5:String; var _local6:Object; var _local7:ResourceBundle; if (!_localeChain){ return (null); }; var _local3:int = _localeChain.length; var _local4:int; while (_local4 < _local3) { _local5 = localeChain[_local4]; _local6 = localeMap[_local5]; if (!_local6){ } else { _local7 = _local6[_arg1]; if (!_local7){ } else { if ((_arg2 in _local7.content)){ return (_local7); }; }; }; _local4++; }; return (null); } public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (0); }; var _local5:* = _local4.content[_arg2]; return (uint(_local5)); } private function getSystemPreferredLocales():Array{ var _local1:Array; if (Capabilities["languages"]){ _local1 = Capabilities["languages"]; } else { _local1 = [Capabilities.language]; }; return (_local1); } public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{ var _local7:String; var _local8:int; var _local9:String; var _local4:int = (_arg2) ? _arg2.length : 0; var _local5:int = (_arg3) ? _arg3.length : 0; var _local6:int; while (_local6 < _local4) { _local7 = _arg2[_local6]; _local8 = 0; while (_local8 < _local5) { _local9 = _arg3[_local8]; mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9); _local8++; }; _local6++; }; } public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{ var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3); if (!_local4){ return (false); }; var _local5:* = _local4.content[_arg2]; return ((String(_local5).toLowerCase() == "true")); } public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{ var _local4:Array; var _local5:int; var _local6:int; var _local7:String; var _local8:String; var _local3:ResourceModuleInfo = resourceModules[_arg1]; if (!_local3){ return; }; if (_local3.resourceModule){ _local4 = _local3.resourceModule.resourceBundles; if (_local4){ _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { _local7 = _local4[_local6].locale; _local8 = _local4[_local6].bundleName; removeResourceBundle(_local7, _local8); _local6++; }; }; }; resourceModules[_arg1] = null; delete resourceModules[_arg1]; _local3.moduleInfo.unload(); if (_arg2){ this.update(); }; } public static function getInstance():IResourceManager{ if (!instance){ instance = new (ResourceManagerImpl); }; return (instance); } } }//package mx.resources import flash.events.*; import mx.modules.*; import mx.events.*; class ResourceModuleInfo { public var resourceModule:IResourceModule; public var errorHandler:Function; public var readyHandler:Function; public var moduleInfo:IModuleInfo; private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){ this.moduleInfo = _arg1; this.readyHandler = _arg2; this.errorHandler = _arg3; } } class ResourceEventDispatcher extends EventDispatcher { private function ResourceEventDispatcher(_arg1:IModuleInfo){ _arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE); dispatchEvent(_local2); } private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{ var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; _local2.errorText = _arg1.errorText; dispatchEvent(_local2); } }
Section 147
//HaloBorder (mx.skins.halo.HaloBorder) package mx.skins.halo { import mx.core.*; import flash.display.*; import mx.styles.*; import mx.skins.*; import mx.graphics.*; import mx.utils.*; public class HaloBorder extends RectangularBorder { mx_internal var radiusObj:Object; mx_internal var backgroundHole:Object; mx_internal var radius:Number; mx_internal var bRoundedCorners:Boolean; mx_internal var backgroundColor:Object; private var dropShadow:RectangularDropShadow; protected var _borderMetrics:EdgeMetrics; mx_internal var backgroundAlphaName:String; mx_internal static const VERSION:String = "3.4.1.10084"; private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2}; public function HaloBorder(){ BORDER_WIDTHS["default"] = 3; } override public function styleChanged(_arg1:String):void{ if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){ _borderMetrics = null; }; invalidateDisplayList(); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ if (((isNaN(_arg1)) || (isNaN(_arg2)))){ return; }; super.updateDisplayList(_arg1, _arg2); backgroundColor = getBackgroundColor(); bRoundedCorners = false; backgroundAlphaName = "backgroundAlpha"; backgroundHole = null; radius = 0; radiusObj = null; drawBorder(_arg1, _arg2); drawBackground(_arg1, _arg2); } mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{ var _local5:Number; var _local6:uint; var _local7:uint; var _local8:String; var _local9:Number; var _local10:uint; var _local11:Boolean; var _local12:uint; var _local13:Array; var _local14:Array; var _local15:uint; var _local16:uint; var _local17:uint; var _local18:uint; var _local19:Boolean; var _local20:Object; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Object; var _local27:Number; var _local28:Number; var _local29:IContainer; var _local30:EdgeMetrics; var _local31:Boolean; var _local32:Number; var _local33:Array; var _local34:uint; var _local35:Boolean; var _local36:Number; var _local3:String = getStyle("borderStyle"); var _local4:Array = getStyle("highlightAlphas"); var _local21:Boolean; var _local26:Graphics = graphics; _local26.clear(); if (_local3){ switch (_local3){ case "none": break; case "inset": _local7 = getStyle("borderColor"); _local22 = ColorUtil.adjustBrightness2(_local7, -40); _local23 = ColorUtil.adjustBrightness2(_local7, 25); _local24 = ColorUtil.adjustBrightness2(_local7, 40); _local25 = backgroundColor; if ((((_local25 === null)) || ((_local25 === "")))){ _local25 = _local7; }; draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25)); break; case "outset": _local7 = getStyle("borderColor"); _local22 = ColorUtil.adjustBrightness2(_local7, -40); _local23 = ColorUtil.adjustBrightness2(_local7, -25); _local24 = ColorUtil.adjustBrightness2(_local7, 40); _local25 = backgroundColor; if ((((_local25 === null)) || ((_local25 === "")))){ _local25 = _local7; }; draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25)); break; case "alert": case "default": if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _local27 = getStyle("backgroundAlpha"); _local5 = getStyle("borderAlpha"); backgroundAlphaName = "borderAlpha"; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local28 = (bRoundedCorners) ? radius : 0; drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28); if (!bRoundedCorners){ radiusObj = {}; }; _local29 = (parent as IContainer); if (_local29){ _local30 = _local29.viewMetrics; backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0}; if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){ if (_local27 != _local5){ drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0); }; _local26.beginFill(Number(backgroundColor), _local27); _local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h); _local26.endFill(); }; }; backgroundColor = getStyle("borderColor"); }; break; case "dropdown": _local12 = getStyle("dropdownBorderColor"); drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4); drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1); drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3))); if (!isNaN(_local12)){ drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5); drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1); drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3))); }; backgroundColor = null; break; case "menuBorder": _local7 = getStyle("borderColor"); drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1); drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0); break; case "comboNonEdit": break; case "controlBar": if ((((_arg1 == 0)) || ((_arg2 == 0)))){ backgroundColor = null; break; }; _local14 = getStyle("footerColors"); _local31 = !((_local14 == null)); _local32 = getStyle("borderAlpha"); if (_local31){ _local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32); _local26.moveTo(0, 0); _local26.lineTo(_arg1, 0); _local26.lineStyle(0, 0, 0); if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){ radius = IStyleClient(parent.parent).getStyle("cornerRadius"); _local32 = IStyleClient(parent.parent).getStyle("borderAlpha"); }; if (isNaN(radius)){ radius = 0; }; if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){ radius = 0; }; drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2)); if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){ drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2)); }; }; backgroundColor = null; break; case "applicationControlBar": _local13 = getStyle("fillColors"); _local5 = getStyle("backgroundAlpha"); _local4 = getStyle("highlightAlphas"); _local33 = getStyle("fillAlphas"); _local11 = getStyle("docked"); _local34 = uint(backgroundColor); radius = getStyle("cornerRadius"); if (!radius){ radius = 0; }; drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius); if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){ drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2)); }; drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2)); drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1))); drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}}); backgroundColor = null; break; default: _local7 = getStyle("borderColor"); _local9 = getStyle("borderThickness"); _local8 = getStyle("borderSides"); _local35 = true; radius = getStyle("cornerRadius"); bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true"); _local36 = Math.max((radius - _local9), 0); _local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36}; if (!bRoundedCorners){ radiusObj = {tl:radius, tr:radius, bl:0, br:0}; _local20.r = {tl:_local36, tr:_local36, bl:0, br:0}; }; if (_local8 != "left top right bottom"){ _local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0}; radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0}; _local8 = _local8.toLowerCase(); if (_local8.indexOf("left") == -1){ _local20.x = 0; _local20.w = (_local20.w + _local9); _local20.r.tl = 0; _local20.r.bl = 0; radiusObj.tl = 0; radiusObj.bl = 0; _local35 = false; }; if (_local8.indexOf("top") == -1){ _local20.y = 0; _local20.h = (_local20.h + _local9); _local20.r.tl = 0; _local20.r.tr = 0; radiusObj.tl = 0; radiusObj.tr = 0; _local35 = false; }; if (_local8.indexOf("right") == -1){ _local20.w = (_local20.w + _local9); _local20.r.tr = 0; _local20.r.br = 0; radiusObj.tr = 0; radiusObj.br = 0; _local35 = false; }; if (_local8.indexOf("bottom") == -1){ _local20.h = (_local20.h + _local9); _local20.r.bl = 0; _local20.r.br = 0; radiusObj.bl = 0; radiusObj.br = 0; _local35 = false; }; }; if ((((radius == 0)) && (_local35))){ drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0); _local26.beginFill(_local7); _local26.drawRect(0, 0, _arg1, _arg2); _local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9))); _local26.endFill(); } else { if (radiusObj){ drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl); drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20); radiusObj.tl = Math.max((radius - _local9), 0); radiusObj.tr = Math.max((radius - _local9), 0); radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0; radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0; } else { drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius); drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20); radius = Math.max((getStyle("cornerRadius") - _local9), 0); }; }; }; }; } mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{ var _local4:Number; var _local5:Number; var _local6:EdgeMetrics; var _local7:Graphics; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:Number; if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){ _local4 = Number(backgroundColor); _local5 = 1; _local6 = getBackgroundColorMetrics(); _local7 = graphics; if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){ _local5 = 0; _local4 = 0xFFFFFF; } else { _local5 = getStyle(backgroundAlphaName); }; if (((!((radius == 0))) || (backgroundHole))){ _local8 = _local6.bottom; if (radiusObj){ _local9 = Math.max((radius - Math.max(_local6.top, _local6.left, _local6.right)), 0); _local10 = (bRoundedCorners) ? Math.max((radius - Math.max(_local6.bottom, _local6.left, _local6.right)), 0) : 0; radiusObj = {tl:_local9, tr:_local9, bl:_local10, br:_local10}; drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole); } else { drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole); }; } else { _local7.beginFill(_local4, _local5); _local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top)); _local7.endFill(); }; }; var _local3:String = getStyle("borderStyle"); if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){ _local11 = getStyle("highlightAlphas"); _local12 = (_local11) ? _local11[0] : 0.3; drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local12, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}}); }; } mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ var _local11:Number; var _local12:Boolean; if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){ return; }; var _local9:Number = getStyle("shadowDistance"); var _local10:String = getStyle("shadowDirection"); if (getStyle("borderStyle") == "applicationControlBar"){ _local12 = getStyle("docked"); _local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10); _local9 = Math.abs(_local9); } else { _local11 = getDropShadowAngle(_local9, _local10); _local9 = (Math.abs(_local9) + 2); }; if (!dropShadow){ dropShadow = new RectangularDropShadow(); }; dropShadow.distance = _local9; dropShadow.angle = _local11; dropShadow.color = getStyle("dropShadowColor"); dropShadow.alpha = 0.4; dropShadow.tlRadius = _arg5; dropShadow.trRadius = _arg6; dropShadow.blRadius = _arg8; dropShadow.brRadius = _arg7; dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4); } mx_internal function getBackgroundColor():Object{ var _local2:Object; var _local1:IUIComponent = (parent as IUIComponent); if (((_local1) && (!(_local1.enabled)))){ _local2 = getStyle("backgroundDisabledColor"); if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){ return (_local2); }; }; return (getStyle("backgroundColor")); } mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ var _local7:Number = width; var _local8:Number = height; drawDropShadow(0, 0, width, height, 0, 0, 0, 0); var _local9:Graphics = graphics; _local9.beginFill(_arg1); _local9.drawRect(0, 0, _local7, _local8); _local9.drawRect(1, 0, (_local7 - 2), _local8); _local9.endFill(); _local9.beginFill(_arg2); _local9.drawRect(1, 0, (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg3); _local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg4); _local9.drawRect(1, 1, (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg5); _local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1); _local9.endFill(); _local9.beginFill(_arg6); _local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4)); _local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4)); _local9.endFill(); } mx_internal function getBackgroundColorMetrics():EdgeMetrics{ return (borderMetrics); } mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{ if (_arg2 == "left"){ return (((_arg1 >= 0)) ? 135 : 225); //unresolved jump }; if (_arg2 == "right"){ return (((_arg1 >= 0)) ? 45 : 315); //unresolved jump }; return (((_arg1 >= 0)) ? 90 : 270); } override public function get borderMetrics():EdgeMetrics{ var _local1:Number; var _local3:String; if (_borderMetrics){ return (_borderMetrics); }; var _local2:String = getStyle("borderStyle"); if ((((_local2 == "default")) || ((_local2 == "alert")))){ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ _borderMetrics = new EdgeMetrics(0, 0, 0, 0); } else { return (EdgeMetrics.EMPTY); }; } else { if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){ _borderMetrics = new EdgeMetrics(1, 1, 1, 1); } else { if (_local2 == "solid"){ _local1 = getStyle("borderThickness"); if (isNaN(_local1)){ _local1 = 0; }; _borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1); _local3 = getStyle("borderSides"); if (_local3 != "left top right bottom"){ if (_local3.indexOf("left") == -1){ _borderMetrics.left = 0; }; if (_local3.indexOf("top") == -1){ _borderMetrics.top = 0; }; if (_local3.indexOf("right") == -1){ _borderMetrics.right = 0; }; if (_local3.indexOf("bottom") == -1){ _borderMetrics.bottom = 0; }; }; } else { _local1 = BORDER_WIDTHS[_local2]; if (isNaN(_local1)){ _local1 = 0; }; _borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1); }; }; }; return (_borderMetrics); } } }//package mx.skins.halo
Section 148
//HaloFocusRect (mx.skins.halo.HaloFocusRect) package mx.skins.halo { import mx.core.*; import flash.display.*; import mx.styles.*; import mx.skins.*; import mx.utils.*; public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient { private var _focusColor:Number; mx_internal static const VERSION:String = "3.4.1.10084"; public function get inheritingStyles():Object{ return (styleName.inheritingStyles); } public function set inheritingStyles(_arg1:Object):void{ } public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{ } public function registerEffects(_arg1:Array):void{ } public function regenerateStyleCache(_arg1:Boolean):void{ } public function get styleDeclaration():CSSStyleDeclaration{ return (CSSStyleDeclaration(styleName)); } public function getClassStyleDeclarations():Array{ return ([]); } public function get className():String{ return ("HaloFocusRect"); } public function clearStyle(_arg1:String):void{ if (_arg1 == "focusColor"){ _focusColor = NaN; }; } public function setStyle(_arg1:String, _arg2):void{ if (_arg1 == "focusColor"){ _focusColor = _arg2; }; } public function set nonInheritingStyles(_arg1:Object):void{ } public function get nonInheritingStyles():Object{ return (styleName.nonInheritingStyles); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; super.updateDisplayList(_arg1, _arg2); var _local3:String = getStyle("focusBlendMode"); var _local4:Number = getStyle("focusAlpha"); var _local5:Number = getStyle("focusColor"); var _local6:Number = getStyle("cornerRadius"); var _local7:Number = getStyle("focusThickness"); var _local8:String = getStyle("focusRoundedCorners"); var _local9:Number = getStyle("themeColor"); var _local10:Number = _local5; if (isNaN(_local10)){ _local10 = _local9; }; var _local11:Graphics = graphics; _local11.clear(); if (_local3){ blendMode = _local3; }; if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){ _local12 = 0; _local13 = 0; _local14 = 0; _local15 = 0; _local16 = (_local6 + _local7); if (_local8.indexOf("tl") >= 0){ _local12 = _local16; }; if (_local8.indexOf("tr") >= 0){ _local14 = _local16; }; if (_local8.indexOf("bl") >= 0){ _local13 = _local16; }; if (_local8.indexOf("br") >= 0){ _local15 = _local16; }; _local11.beginFill(_local10, _local4); GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15); _local12 = (_local12) ? _local6 : 0; _local14 = (_local14) ? _local6 : 0; _local13 = (_local13) ? _local6 : 0; _local15 = (_local15) ? _local6 : 0; GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15); _local11.endFill(); _local16 = (_local6 + (_local7 / 2)); _local12 = (_local12) ? _local16 : 0; _local14 = (_local14) ? _local16 : 0; _local13 = (_local13) ? _local16 : 0; _local15 = (_local15) ? _local16 : 0; _local11.beginFill(_local10, _local4); GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15); _local12 = (_local12) ? _local6 : 0; _local14 = (_local14) ? _local6 : 0; _local13 = (_local13) ? _local6 : 0; _local15 = (_local15) ? _local6 : 0; GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15); _local11.endFill(); } else { _local11.beginFill(_local10, _local4); _local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2); _local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17); _local17 = (_local6 * 2); _local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17); _local11.endFill(); _local11.beginFill(_local10, _local4); _local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2); _local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17); _local17 = (_local6 * 2); _local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17); _local11.endFill(); }; } override public function getStyle(_arg1:String){ return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1)); } public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{ } } }//package mx.skins.halo
Section 149
//Border (mx.skins.Border) package mx.skins { import mx.core.*; public class Border extends ProgrammaticSkin implements IBorder { mx_internal static const VERSION:String = "3.4.1.10084"; public function get borderMetrics():EdgeMetrics{ return (EdgeMetrics.EMPTY); } } }//package mx.skins
Section 150
//ProgrammaticSkin (mx.skins.ProgrammaticSkin) package mx.skins { import mx.core.*; import flash.geom.*; import flash.display.*; import mx.styles.*; import mx.managers.*; import mx.utils.*; public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin { private var _initialized:Boolean;// = false private var _height:Number; private var invalidateDisplayListFlag:Boolean;// = false private var _styleName:IStyleClient; private var _nestLevel:int;// = 0 private var _processedDescriptors:Boolean;// = false private var _updateCompletePendingFlag:Boolean;// = true private var _width:Number; mx_internal static const VERSION:String = "3.4.1.10084"; private static var tempMatrix:Matrix = new Matrix(); public function ProgrammaticSkin(){ _width = measuredWidth; _height = measuredHeight; } public function getStyle(_arg1:String){ return ((_styleName) ? _styleName.getStyle(_arg1) : null); } protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ } public function get nestLevel():int{ return (_nestLevel); } public function set nestLevel(_arg1:int):void{ _nestLevel = _arg1; invalidateDisplayList(); } override public function get height():Number{ return (_height); } public function get updateCompletePendingFlag():Boolean{ return (_updateCompletePendingFlag); } protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90)); } public function validateSize(_arg1:Boolean=false):void{ } public function invalidateDisplayList():void{ if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){ invalidateDisplayListFlag = true; UIComponentGlobals.layoutManager.invalidateDisplayList(this); }; } public function set updateCompletePendingFlag(_arg1:Boolean):void{ _updateCompletePendingFlag = _arg1; } protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{ return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0)); } override public function set height(_arg1:Number):void{ _height = _arg1; invalidateDisplayList(); } public function set processedDescriptors(_arg1:Boolean):void{ _processedDescriptors = _arg1; } public function validateDisplayList():void{ invalidateDisplayListFlag = false; updateDisplayList(width, height); } public function get measuredWidth():Number{ return (0); } override public function set width(_arg1:Number):void{ _width = _arg1; invalidateDisplayList(); } public function get measuredHeight():Number{ return (0); } public function set initialized(_arg1:Boolean):void{ _initialized = _arg1; } protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{ var _local13:Number; var _local14:Array; var _local15:Object; var _local12:Graphics = graphics; if ((((_arg3 == 0)) || ((_arg4 == 0)))){ return; }; if (_arg6 !== null){ if ((_arg6 is uint)){ _local12.beginFill(uint(_arg6), Number(_arg7)); } else { if ((_arg6 is Array)){ _local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7]; if (!_arg10){ _arg10 = [0, 0xFF]; }; _local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8); }; }; }; if (!_arg5){ _local12.drawRect(_arg1, _arg2, _arg3, _arg4); } else { if ((_arg5 is Number)){ _local13 = (Number(_arg5) * 2); _local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br); }; }; if (_arg11){ _local15 = _arg11.r; if ((_local15 is Number)){ _local13 = (Number(_local15) * 2); _local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13); } else { GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br); }; }; if (_arg6 !== null){ _local12.endFill(); }; } public function get processedDescriptors():Boolean{ return (_processedDescriptors); } public function set styleName(_arg1:Object):void{ if (_styleName != _arg1){ _styleName = (_arg1 as IStyleClient); invalidateDisplayList(); }; } public function setActualSize(_arg1:Number, _arg2:Number):void{ var _local3:Boolean; if (_width != _arg1){ _width = _arg1; _local3 = true; }; if (_height != _arg2){ _height = _arg2; _local3 = true; }; if (_local3){ invalidateDisplayList(); }; } public function styleChanged(_arg1:String):void{ invalidateDisplayList(); } override public function get width():Number{ return (_width); } public function invalidateProperties():void{ } public function get initialized():Boolean{ return (_initialized); } protected function rotatedGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{ tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2); return (tempMatrix); } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get styleName():Object{ return (_styleName); } public function validateNow():void{ if (invalidateDisplayListFlag){ validateDisplayList(); }; } public function invalidateSize():void{ } public function validateProperties():void{ } } }//package mx.skins
Section 151
//RectangularBorder (mx.skins.RectangularBorder) package mx.skins { import flash.events.*; import mx.core.*; import flash.geom.*; import flash.display.*; import flash.utils.*; import mx.styles.*; import flash.system.*; import mx.resources.*; import flash.net.*; public class RectangularBorder extends Border implements IRectangularBorder { private var backgroundImage:DisplayObject; private var backgroundImageHeight:Number; private var _backgroundImageBounds:Rectangle; private var backgroundImageStyle:Object; private var backgroundImageWidth:Number; private var resourceManager:IResourceManager; mx_internal static const VERSION:String = "3.4.1.10084"; public function RectangularBorder(){ resourceManager = ResourceManager.getInstance(); super(); addEventListener(Event.REMOVED, removedHandler); } public function layoutBackgroundImage():void{ var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; var _local14:Number; var _local15:Graphics; var _local1:DisplayObject = parent; var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics; var _local3 = !((getStyle("backgroundAttachment") == "fixed")); if (_backgroundImageBounds){ _local4 = _backgroundImageBounds.width; _local5 = _backgroundImageBounds.height; } else { _local4 = ((width - _local2.left) - _local2.right); _local5 = ((height - _local2.top) - _local2.bottom); }; var _local6:Number = getBackgroundSize(); if (isNaN(_local6)){ _local7 = 1; _local8 = 1; } else { _local14 = (_local6 * 0.01); _local7 = ((_local14 * _local4) / backgroundImageWidth); _local8 = ((_local14 * _local5) / backgroundImageHeight); }; backgroundImage.scaleX = _local7; backgroundImage.scaleY = _local8; var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7)))); var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8)))); backgroundImage.x = _local2.left; backgroundImage.y = _local2.top; var _local11:Shape = Shape(backgroundImage.mask); _local11.x = _local2.left; _local11.y = _local2.top; if (((_local3) && ((_local1 is IContainer)))){ _local9 = (_local9 - IContainer(_local1).horizontalScrollPosition); _local10 = (_local10 - IContainer(_local1).verticalScrollPosition); }; backgroundImage.alpha = getStyle("backgroundAlpha"); backgroundImage.x = (backgroundImage.x + _local9); backgroundImage.y = (backgroundImage.y + _local10); var _local12:Number = ((width - _local2.left) - _local2.right); var _local13:Number = ((height - _local2.top) - _local2.bottom); if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){ _local15 = _local11.graphics; _local15.clear(); _local15.beginFill(0xFFFFFF); _local15.drawRect(0, 0, _local12, _local13); _local15.endFill(); }; } public function set backgroundImageBounds(_arg1:Rectangle):void{ if (((((_backgroundImageBounds) && (_arg1))) && (_backgroundImageBounds.equals(_arg1)))){ return; }; _backgroundImageBounds = _arg1; invalidateDisplayList(); } private function getBackgroundSize():Number{ var _local3:int; var _local1:Number = NaN; var _local2:Object = getStyle("backgroundSize"); if (((_local2) && ((_local2 is String)))){ _local3 = _local2.indexOf("%"); if (_local3 != -1){ _local1 = Number(_local2.substr(0, _local3)); }; }; return (_local1); } private function removedHandler(_arg1:Event):void{ var _local2:IChildList; if (backgroundImage){ _local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); _local2.removeChild(backgroundImage.mask); _local2.removeChild(backgroundImage); backgroundImage = null; }; } private function initBackgroundImage(_arg1:DisplayObject):void{ backgroundImage = _arg1; if ((_arg1 is Loader)){ backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width; backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height; } else { backgroundImageWidth = backgroundImage.width; backgroundImageHeight = backgroundImage.height; if ((_arg1 is ISimpleStyleClient)){ ISimpleStyleClient(_arg1).styleName = styleName; }; }; var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent); var _local3:Shape = new FlexShape(); _local3.name = "backgroundMask"; _local3.x = 0; _local3.y = 0; _local2.addChild(_local3); var _local4:int = _local2.getChildIndex(this); _local2.addChildAt(backgroundImage, (_local4 + 1)); backgroundImage.mask = _local3; } public function get backgroundImageBounds():Rectangle{ return (_backgroundImageBounds); } public function get hasBackgroundImage():Boolean{ return (!((backgroundImage == null))); } private function completeEventHandler(_arg1:Event):void{ if (!parent){ return; }; var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader); initBackgroundImage(_local2); layoutBackgroundImage(); dispatchEvent(_arg1.clone()); } override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{ var cls:Class; var newStyleObj:DisplayObject; var loader:Loader; var loaderContext:LoaderContext; var message:String; var unscaledWidth = _arg1; var unscaledHeight = _arg2; if (!parent){ return; }; var newStyle:Object = getStyle("backgroundImage"); if (newStyle != backgroundImageStyle){ removedHandler(null); backgroundImageStyle = newStyle; if (((newStyle) && ((newStyle as Class)))){ cls = Class(newStyle); initBackgroundImage(new (cls)); } else { if (((newStyle) && ((newStyle is String)))){ try { cls = Class(getDefinitionByName(String(newStyle))); } catch(e:Error) { }; if (cls){ newStyleObj = new (cls); initBackgroundImage(newStyleObj); } else { loader = new FlexLoader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler); loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler); loaderContext = new LoaderContext(); loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(new URLRequest(String(newStyle)), loaderContext); }; } else { if (newStyle){ message = resourceManager.getString("skins", "notLoaded", [newStyle]); throw (new Error(message)); }; }; }; }; if (backgroundImage){ layoutBackgroundImage(); }; } private function errorEventHandler(_arg1:Event):void{ } } }//package mx.skins
Section 152
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration) package mx.styles { import flash.events.*; import mx.core.*; import flash.display.*; import flash.utils.*; import mx.managers.*; public class CSSStyleDeclaration extends EventDispatcher { mx_internal var effects:Array; protected var overrides:Object; public var defaultFactory:Function; public var factory:Function; mx_internal var selectorRefCount:int;// = 0 private var styleManager:IStyleManager2; private var clones:Dictionary; mx_internal static const VERSION:String = "3.4.1.10084"; private static const NOT_A_COLOR:uint = 4294967295; private static const FILTERMAP_PROP:String = "__reserved__filterMap"; public function CSSStyleDeclaration(_arg1:String=null){ clones = new Dictionary(true); super(); if (_arg1){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); styleManager.setStyleDeclaration(_arg1, this, false); }; } mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{ var p:String; var emptyObjectFactory:Function; var filteredChain:Object; var filterObjectFactory:Function; var i:String; var chain = _arg1; var target = _arg2; var filterMap = _arg3; var nodeAddedToChain:Boolean; var originalChain:Object = chain; if (filterMap){ chain = {}; }; if (defaultFactory != null){ defaultFactory.prototype = chain; chain = new defaultFactory(); nodeAddedToChain = true; }; if (factory != null){ factory.prototype = chain; chain = new factory(); nodeAddedToChain = true; }; if (overrides){ if ((((defaultFactory == null)) && ((factory == null)))){ emptyObjectFactory = function ():void{ }; emptyObjectFactory.prototype = chain; chain = new (emptyObjectFactory); nodeAddedToChain = true; }; for (p in overrides) { if (overrides[p] === undefined){ delete chain[p]; } else { chain[p] = overrides[p]; }; }; }; if (filterMap){ if (nodeAddedToChain){ filteredChain = {}; filterObjectFactory = function ():void{ }; filterObjectFactory.prototype = originalChain; filteredChain = new (filterObjectFactory); for (i in chain) { if (filterMap[i] != null){ filteredChain[filterMap[i]] = chain[i]; }; }; chain = filteredChain; chain[FILTERMAP_PROP] = filterMap; } else { chain = originalChain; }; }; if (nodeAddedToChain){ clones[chain] = 1; }; return (chain); } public function getStyle(_arg1:String){ var _local2:*; var _local3:*; if (overrides){ if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){ return (undefined); }; _local3 = overrides[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; if (factory != null){ factory.prototype = {}; _local2 = new factory(); _local3 = _local2[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; if (defaultFactory != null){ defaultFactory.prototype = {}; _local2 = new defaultFactory(); _local3 = _local2[_arg1]; if (_local3 !== undefined){ return (_local3); }; }; return (undefined); } public function clearStyle(_arg1:String):void{ setStyle(_arg1, undefined); } public function setStyle(_arg1:String, _arg2):void{ var _local7:int; var _local8:Object; var _local3:Object = getStyle(_arg1); var _local4:Boolean; if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){ _local4 = true; }; if (_arg2 !== undefined){ setStyle(_arg1, _arg2); } else { if (_arg2 == _local3){ return; }; setStyle(_arg1, _arg2); }; var _local5:Array = SystemManagerGlobals.topLevelSystemManagers; var _local6:int = _local5.length; if (_local4){ _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local8.regenerateStyleCache(true); _local7++; }; }; _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local8.notifyStyleChangeInChildren(_arg1, true); _local7++; }; } private function clearStyleAttr(_arg1:String):void{ var _local2:*; if (!overrides){ overrides = {}; }; overrides[_arg1] = undefined; for (_local2 in clones) { delete _local2[_arg1]; }; } mx_internal function createProtoChainRoot():Object{ var _local1:Object = {}; if (defaultFactory != null){ defaultFactory.prototype = _local1; _local1 = new defaultFactory(); }; if (factory != null){ factory.prototype = _local1; _local1 = new factory(); }; clones[_local1] = 1; return (_local1); } mx_internal function clearOverride(_arg1:String):void{ if (((overrides) && (overrides[_arg1]))){ delete overrides[_arg1]; }; } mx_internal function setStyle(_arg1:String, _arg2):void{ var _local3:Object; var _local4:*; var _local5:Number; var _local6:Object; if (_arg2 === undefined){ clearStyleAttr(_arg1); return; }; if ((_arg2 is String)){ if (!styleManager){ styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2); }; _local5 = styleManager.getColorName(_arg2); if (_local5 != NOT_A_COLOR){ _arg2 = _local5; }; }; if (defaultFactory != null){ _local3 = new defaultFactory(); if (_local3[_arg1] !== _arg2){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; } else { if (overrides){ delete overrides[_arg1]; }; }; }; if (factory != null){ _local3 = new factory(); if (_local3[_arg1] !== _arg2){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; } else { if (overrides){ delete overrides[_arg1]; }; }; }; if ((((defaultFactory == null)) && ((factory == null)))){ if (!overrides){ overrides = {}; }; overrides[_arg1] = _arg2; }; for (_local4 in clones) { _local6 = _local4[FILTERMAP_PROP]; if (_local6){ if (_local6[_arg1] != null){ _local4[_local6[_arg1]] = _arg2; }; } else { _local4[_arg1] = _arg2; }; }; } } }//package mx.styles
Section 153
//ISimpleStyleClient (mx.styles.ISimpleStyleClient) package mx.styles { public interface ISimpleStyleClient { function set styleName(_arg1:Object):void; function styleChanged(_arg1:String):void; function get styleName():Object; } }//package mx.styles
Section 154
//IStyleClient (mx.styles.IStyleClient) package mx.styles { public interface IStyleClient extends ISimpleStyleClient { function regenerateStyleCache(_arg1:Boolean):void; function get className():String; function clearStyle(_arg1:String):void; function getClassStyleDeclarations():Array; function get inheritingStyles():Object; function set nonInheritingStyles(_arg1:Object):void; function setStyle(_arg1:String, _arg2):void; function get styleDeclaration():CSSStyleDeclaration; function set styleDeclaration(_arg1:CSSStyleDeclaration):void; function get nonInheritingStyles():Object; function set inheritingStyles(_arg1:Object):void; function getStyle(_arg1:String); function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void; function registerEffects(_arg1:Array):void; } }//package mx.styles
Section 155
//IStyleManager (mx.styles.IStyleManager) package mx.styles { import flash.events.*; public interface IStyleManager { function isColorName(_arg1:String):Boolean; function registerParentDisplayListInvalidatingStyle(_arg1:String):void; function registerInheritingStyle(_arg1:String):void; function set stylesRoot(_arg1:Object):void; function get typeSelectorCache():Object; function styleDeclarationsChanged():void; function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void; function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean; function isSizeInvalidatingStyle(_arg1:String):Boolean; function get inheritingStyles():Object; function isValidStyleValue(_arg1):Boolean; function isParentSizeInvalidatingStyle(_arg1:String):Boolean; function getColorName(_arg1:Object):uint; function set typeSelectorCache(_arg1:Object):void; function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void; function getColorNames(_arg1:Array):void; function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher; function isInheritingStyle(_arg1:String):Boolean; function set inheritingStyles(_arg1:Object):void; function get stylesRoot():Object; function initProtoChainRoots():void; function registerColorName(_arg1:String, _arg2:uint):void; function registerParentSizeInvalidatingStyle(_arg1:String):void; function registerSizeInvalidatingStyle(_arg1:String):void; function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void; function isInheritingTextFormatStyle(_arg1:String):Boolean; function getStyleDeclaration(_arg1:String):CSSStyleDeclaration; } }//package mx.styles
Section 156
//IStyleManager2 (mx.styles.IStyleManager2) package mx.styles { import flash.events.*; import flash.system.*; public interface IStyleManager2 extends IStyleManager { function get selectors():Array; function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher; } }//package mx.styles
Section 157
//IStyleModule (mx.styles.IStyleModule) package mx.styles { public interface IStyleModule { function unload():void; } }//package mx.styles
Section 158
//StyleManager (mx.styles.StyleManager) package mx.styles { import flash.events.*; import mx.core.*; import flash.system.*; public class StyleManager { mx_internal static const VERSION:String = "3.4.1.10084"; public static const NOT_A_COLOR:uint = 4294967295; private static var _impl:IStyleManager2; private static var implClassDependency:StyleManagerImpl; public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{ return (impl.isParentSizeInvalidatingStyle(_arg1)); } public static function registerInheritingStyle(_arg1:String):void{ impl.registerInheritingStyle(_arg1); } mx_internal static function set stylesRoot(_arg1:Object):void{ impl.stylesRoot = _arg1; } mx_internal static function get inheritingStyles():Object{ return (impl.inheritingStyles); } mx_internal static function styleDeclarationsChanged():void{ impl.styleDeclarationsChanged(); } public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{ impl.setStyleDeclaration(_arg1, _arg2, _arg3); } public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{ impl.registerParentDisplayListInvalidatingStyle(_arg1); } mx_internal static function get typeSelectorCache():Object{ return (impl.typeSelectorCache); } mx_internal static function set inheritingStyles(_arg1:Object):void{ impl.inheritingStyles = _arg1; } public static function isColorName(_arg1:String):Boolean{ return (impl.isColorName(_arg1)); } public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{ return (impl.isParentDisplayListInvalidatingStyle(_arg1)); } public static function isSizeInvalidatingStyle(_arg1:String):Boolean{ return (impl.isSizeInvalidatingStyle(_arg1)); } public static function getColorName(_arg1:Object):uint{ return (impl.getColorName(_arg1)); } mx_internal static function set typeSelectorCache(_arg1:Object):void{ impl.typeSelectorCache = _arg1; } public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{ impl.unloadStyleDeclarations(_arg1, _arg2); } public static function getColorNames(_arg1:Array):void{ impl.getColorNames(_arg1); } public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{ return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5)); } private static function get impl():IStyleManager2{ if (!_impl){ _impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2")); }; return (_impl); } public static function isValidStyleValue(_arg1):Boolean{ return (impl.isValidStyleValue(_arg1)); } mx_internal static function get stylesRoot():Object{ return (impl.stylesRoot); } public static function isInheritingStyle(_arg1:String):Boolean{ return (impl.isInheritingStyle(_arg1)); } mx_internal static function initProtoChainRoots():void{ impl.initProtoChainRoots(); } public static function registerParentSizeInvalidatingStyle(_arg1:String):void{ impl.registerParentSizeInvalidatingStyle(_arg1); } public static function get selectors():Array{ return (impl.selectors); } public static function registerSizeInvalidatingStyle(_arg1:String):void{ impl.registerSizeInvalidatingStyle(_arg1); } public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{ impl.clearStyleDeclaration(_arg1, _arg2); } public static function registerColorName(_arg1:String, _arg2:uint):void{ impl.registerColorName(_arg1, _arg2); } public static function isInheritingTextFormatStyle(_arg1:String):Boolean{ return (impl.isInheritingTextFormatStyle(_arg1)); } public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{ return (impl.getStyleDeclaration(_arg1)); } } }//package mx.styles
Section 159
//StyleManagerImpl (mx.styles.StyleManagerImpl) package mx.styles { import flash.events.*; import mx.core.*; import flash.utils.*; import flash.system.*; import mx.modules.*; import mx.events.*; import mx.resources.*; import mx.managers.*; public class StyleManagerImpl implements IStyleManager2 { private var _stylesRoot:Object; private var _selectors:Object; private var styleModules:Object; private var _inheritingStyles:Object; private var resourceManager:IResourceManager; private var _typeSelectorCache:Object; mx_internal static const VERSION:String = "3.4.1.10084"; private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193}; private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true}; private static var instance:IStyleManager2; private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true}; private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true}; public function StyleManagerImpl(){ _selectors = {}; styleModules = {}; resourceManager = ResourceManager.getInstance(); _inheritingStyles = {}; _typeSelectorCache = {}; super(); } public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{ _arg2.selectorRefCount++; _selectors[_arg1] = _arg2; typeSelectorCache = {}; if (_arg3){ styleDeclarationsChanged(); }; } public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{ parentDisplayListInvalidatingStyles[_arg1] = true; } public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{ var _local2:int; if (_arg1.charAt(0) != "."){ _local2 = _arg1.lastIndexOf("."); if (_local2 != -1){ _arg1 = _arg1.substr((_local2 + 1)); }; }; return (_selectors[_arg1]); } public function set typeSelectorCache(_arg1:Object):void{ _typeSelectorCache = _arg1; } public function isColorName(_arg1:String):Boolean{ return (!((colorNames[_arg1.toLowerCase()] === undefined))); } public function set inheritingStyles(_arg1:Object):void{ _inheritingStyles = _arg1; } public function getColorNames(_arg1:Array):void{ var _local4:uint; if (!_arg1){ return; }; var _local2:int = _arg1.length; var _local3:int; while (_local3 < _local2) { if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){ _local4 = getColorName(_arg1[_local3]); if (_local4 != StyleManager.NOT_A_COLOR){ _arg1[_local3] = _local4; }; }; _local3++; }; } public function isInheritingTextFormatStyle(_arg1:String):Boolean{ return ((inheritingTextFormatStyles[_arg1] == true)); } public function registerParentSizeInvalidatingStyle(_arg1:String):void{ parentSizeInvalidatingStyles[_arg1] = true; } public function registerColorName(_arg1:String, _arg2:uint):void{ colorNames[_arg1.toLowerCase()] = _arg2; } public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{ return ((parentSizeInvalidatingStyles[_arg1] == true)); } public function registerInheritingStyle(_arg1:String):void{ inheritingStyles[_arg1] = true; } public function set stylesRoot(_arg1:Object):void{ _stylesRoot = _arg1; } public function get typeSelectorCache():Object{ return (_typeSelectorCache); } public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{ return ((parentDisplayListInvalidatingStyles[_arg1] == true)); } public function isSizeInvalidatingStyle(_arg1:String):Boolean{ return ((sizeInvalidatingStyles[_arg1] == true)); } public function styleDeclarationsChanged():void{ var _local4:Object; var _local1:Array = SystemManagerGlobals.topLevelSystemManagers; var _local2:int = _local1.length; var _local3:int; while (_local3 < _local2) { _local4 = _local1[_local3]; _local4.regenerateStyleCache(true); _local4.notifyStyleChangeInChildren(null, true); _local3++; }; } public function isValidStyleValue(_arg1):Boolean{ return (!((_arg1 === undefined))); } public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{ return (loadStyleDeclarations2(_arg1, _arg2)); } public function get inheritingStyles():Object{ return (_inheritingStyles); } public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{ var _local4:IModuleInfo; var _local3:StyleModuleInfo = styleModules[_arg1]; if (_local3){ _local3.styleModule.unload(); _local4 = _local3.module; _local4.unload(); _local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler); _local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler); styleModules[_arg1] = null; }; if (_arg2){ styleDeclarationsChanged(); }; } public function getColorName(_arg1:Object):uint{ var _local2:Number; var _local3:*; if ((_arg1 is String)){ if (_arg1.charAt(0) == "#"){ _local2 = Number(("0x" + _arg1.slice(1))); return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2)); }; if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){ _local2 = Number(_arg1); return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2)); }; _local3 = colorNames[_arg1.toLowerCase()]; if (_local3 === undefined){ return (StyleManager.NOT_A_COLOR); }; return (uint(_local3)); }; return (uint(_arg1)); } public function isInheritingStyle(_arg1:String):Boolean{ return ((inheritingStyles[_arg1] == true)); } public function get stylesRoot():Object{ return (_stylesRoot); } public function initProtoChainRoots():void{ if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){ delete _inheritingStyles["textDecoration"]; delete _inheritingStyles["leading"]; }; if (!stylesRoot){ stylesRoot = _selectors["global"].addStyleToProtoChain({}, null); }; } public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{ var module:IModuleInfo; var styleEventDispatcher:StyleEventDispatcher; var timer:Timer; var timerHandler:Function; var url = _arg1; var update = _arg2; var applicationDomain = _arg3; var securityDomain = _arg4; module = ModuleManager.getModule(url); var readyHandler:Function = function (_arg1:ModuleEvent):void{ var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create()); styleModules[_arg1.module.url].styleModule = _local2; if (update){ styleDeclarationsChanged(); }; }; module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true); styleEventDispatcher = new StyleEventDispatcher(module); var errorHandler:Function = function (_arg1:ModuleEvent):void{ var _local3:StyleEvent; var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]); if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){ _local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local3.bytesLoaded = 0; _local3.bytesTotal = 0; _local3.errorText = _local2; styleEventDispatcher.dispatchEvent(_local3); } else { throw (new Error(_local2)); }; }; module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true); styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler); timer = new Timer(0); timerHandler = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER, timerHandler); timer.stop(); module.load(applicationDomain, securityDomain); }; timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true); timer.start(); return (styleEventDispatcher); } public function registerSizeInvalidatingStyle(_arg1:String):void{ sizeInvalidatingStyles[_arg1] = true; } public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{ var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1); if (((_local3) && ((_local3.selectorRefCount > 0)))){ _local3.selectorRefCount--; }; delete _selectors[_arg1]; if (_arg2){ styleDeclarationsChanged(); }; } public function get selectors():Array{ var _local2:String; var _local1:Array = []; for (_local2 in _selectors) { _local1.push(_local2); }; return (_local1); } public static function getInstance():IStyleManager2{ if (!instance){ instance = new (StyleManagerImpl); }; return (instance); } } }//package mx.styles import flash.events.*; import mx.modules.*; import mx.events.*; class StyleEventDispatcher extends EventDispatcher { private function StyleEventDispatcher(_arg1:IModuleInfo){ _arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true); _arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true); } private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; dispatchEvent(_local2); } private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{ var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable); _local2.bytesLoaded = _arg1.bytesLoaded; _local2.bytesTotal = _arg1.bytesTotal; _local2.errorText = _arg1.errorText; dispatchEvent(_local2); } } class StyleModuleInfo { public var errorHandler:Function; public var readyHandler:Function; public var module:IModuleInfo; public var styleModule:IStyleModule; private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){ this.module = _arg1; this.readyHandler = _arg2; this.errorHandler = _arg3; } }
Section 160
//ColorUtil (mx.utils.ColorUtil) package mx.utils { import mx.core.*; public class ColorUtil { mx_internal static const VERSION:String = "3.4.1.10084"; public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{ var _local3:Number; var _local4:Number; var _local5:Number; if (_arg2 == 0){ return (_arg1); }; if (_arg2 < 0){ _arg2 = ((100 + _arg2) / 100); _local3 = (((_arg1 >> 16) & 0xFF) * _arg2); _local4 = (((_arg1 >> 8) & 0xFF) * _arg2); _local5 = ((_arg1 & 0xFF) * _arg2); } else { _arg2 = (_arg2 / 100); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); _local3 = (_local3 + ((0xFF - _local3) * _arg2)); _local4 = (_local4 + ((0xFF - _local4) * _arg2)); _local5 = (_local5 + ((0xFF - _local5) * _arg2)); _local3 = Math.min(_local3, 0xFF); _local4 = Math.min(_local4, 0xFF); _local5 = Math.min(_local5, 0xFF); }; return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{ var _local3:Number = ((_arg1 >> 16) & 0xFF); var _local4:Number = ((_arg1 >> 8) & 0xFF); var _local5:Number = (_arg1 & 0xFF); var _local6:Number = ((_arg2 >> 16) & 0xFF); var _local7:Number = ((_arg2 >> 8) & 0xFF); var _local8:Number = (_arg2 & 0xFF); return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF))); } public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{ var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0); var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0); var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0); return ((((_local3 << 16) | (_local4 << 8)) | _local5)); } } }//package mx.utils
Section 161
//GraphicsUtil (mx.utils.GraphicsUtil) package mx.utils { import mx.core.*; import flash.display.*; public class GraphicsUtil { mx_internal static const VERSION:String = "3.4.1.10084"; public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{ var _local10:Number = (_arg2 + _arg4); var _local11:Number = (_arg3 + _arg5); var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2); _arg6 = ((_arg6 < _local12)) ? _arg6 : _local12; _arg7 = ((_arg7 < _local12)) ? _arg7 : _local12; _arg8 = ((_arg8 < _local12)) ? _arg8 : _local12; _arg9 = ((_arg9 < _local12)) ? _arg9 : _local12; var _local13:Number = (_arg9 * 0.292893218813453); var _local14:Number = (_arg9 * 0.585786437626905); _arg1.moveTo(_local10, (_local11 - _arg9)); _arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13)); _arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11); _local13 = (_arg8 * 0.292893218813453); _local14 = (_arg8 * 0.585786437626905); _arg1.lineTo((_arg2 + _arg8), _local11); _arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13)); _arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8)); _local13 = (_arg6 * 0.292893218813453); _local14 = (_arg6 * 0.585786437626905); _arg1.lineTo(_arg2, (_arg3 + _arg6)); _arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13)); _arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3); _local13 = (_arg7 * 0.292893218813453); _local14 = (_arg7 * 0.585786437626905); _arg1.lineTo((_local10 - _arg7), _arg3); _arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13)); _arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7)); _arg1.lineTo(_local10, (_local11 - _arg9)); } } }//package mx.utils
Section 162
//NameUtil (mx.utils.NameUtil) package mx.utils { import mx.core.*; import flash.display.*; 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 163
//StringUtil (mx.utils.StringUtil) package mx.utils { import mx.core.*; public class StringUtil { mx_internal static const VERSION:String = "3.4.1.10084"; public static function trim(_arg1:String):String{ if (_arg1 == null){ return (""); }; var _local2:int; while (isWhitespace(_arg1.charAt(_local2))) { _local2++; }; var _local3:int = (_arg1.length - 1); while (isWhitespace(_arg1.charAt(_local3))) { _local3--; }; if (_local3 >= _local2){ return (_arg1.slice(_local2, (_local3 + 1))); }; return (""); } public static function isWhitespace(_arg1:String):Boolean{ switch (_arg1){ case " ": case "\t": case "\r": case "\n": case "\f": return (true); default: return (false); }; } public static function substitute(_arg1:String, ... _args):String{ var _local4:Array; if (_arg1 == null){ return (""); }; var _local3:uint = _args.length; if ((((_local3 == 1)) && ((_args[0] is Array)))){ _local4 = (_args[0] as Array); _local3 = _local4.length; } else { _local4 = _args; }; var _local5:int; while (_local5 < _local3) { _arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]); _local5++; }; return (_arg1); } public static function trimArrayElements(_arg1:String, _arg2:String):String{ var _local3:Array; var _local4:int; var _local5:int; if (((!((_arg1 == ""))) && (!((_arg1 == null))))){ _local3 = _arg1.split(_arg2); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { _local3[_local5] = StringUtil.trim(_local3[_local5]); _local5++; }; if (_local4 > 0){ _arg1 = _local3.join(_arg2); }; }; return (_arg1); } } }//package mx.utils
Section 164
//NewgroundsAPIAsset_FlashAd_Container_23 (NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23) package NewgroundsAPI_fla { import flash.events.*; import com.newgrounds.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_FlashAd_Container_23 extends MovieClip { public var ngLinkButton:SimpleButton; public var adMask:MovieClip; public function NewgroundsAPIAsset_FlashAd_Container_23(){ addFrameScript(0, this.frame1, 10, this.frame11); } function frame1(){ this.ngLinkButton.addEventListener(MouseEvent.CLICK, this.onNGLinkClicked); } public function onNGLinkClicked(_arg1:MouseEvent):void{ API.loadNewgrounds(); } function frame11(){ gotoAndPlay(1); } } }//package NewgroundsAPI_fla
Section 165
//NewgroundsAPIAsset_Load_Indicator_3 (NewgroundsAPI_fla.NewgroundsAPIAsset_Load_Indicator_3) package NewgroundsAPI_fla { import flash.events.*; import flash.display.*; public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip { public function NewgroundsAPIAsset_Load_Indicator_3(){ addFrameScript(0, this.frame1); } function frame1(){ addEventListener(Event.ENTER_FRAME, this.onEnterFrame); } public function onEnterFrame(_arg1:Event):void{ if (((visible) && (stage))){ rotation = (rotation + 30); } else { removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); }; } } }//package NewgroundsAPI_fla
Section 166
//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 167
//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; protected var _fpsUpdate:Boolean; protected var _console:Sprite; protected var _Y:Number; protected var _curFPS:uint; protected var _fps:Array; protected var _bx:int; protected var _by:int; protected var _fpsDisplay:TextField; protected var _YT:Number; protected var _byt:int; 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); _fps = new Array(8); _curFPS = 0; _fpsUpdate = true; _text = new TextField(); _text.width = _local4.width; _text.height = _local4.height; _text.multiline = true; _text.wordWrap = true; _text.embedFonts = true; _text.antiAliasType = AntiAliasType.NORMAL; _text.gridFitType = GridFitType.PIXEL; _text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); addChild(_text); _fpsDisplay = new TextField(); _fpsDisplay.width = _local4.width; _fpsDisplay.height = 20; _fpsDisplay.multiline = true; _fpsDisplay.wordWrap = true; _fpsDisplay.embedFonts = true; _fpsDisplay.antiAliasType = AntiAliasType.NORMAL; _fpsDisplay.gridFitType = GridFitType.PIXEL; _fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right"); addChild(_fpsDisplay); _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:uint; var _local2:uint; if (visible){ _fps[_curFPS] = (1 / FlxG.elapsed); if (++_curFPS >= _fps.length){ _curFPS = 0; }; _fpsUpdate = !(_fpsUpdate); if (_fpsUpdate){ _local1 = 0; _local2 = 0; while (_local2 < _fps.length) { _local1 = (_local1 + _fps[_local2]); _local2++; }; _fpsDisplay.text = (Math.floor((_local1 / _fps.length)) + " fps"); }; }; if (_Y < _YT){ _Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed)); } else { if (_Y > _YT){ _Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed)); }; }; 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 168
//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; visible = false; } override public function update():void{ if (((visible) && (!((alpha == 1))))){ alpha = (alpha + (FlxG.elapsed / _delay)); if (alpha >= 1){ alpha = 1; if (_complete != null){ _complete(); }; }; }; } public function restart(_arg1:uint=0, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (_arg2 == 0){ visible = false; return; }; if (((!(_arg4)) && (visible))){ return; }; fill(_arg1); _delay = _arg2; _complete = _arg3; alpha = 0; visible = true; } } }//package org.flixel.data
Section 169
//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; visible = false; } override public function update():void{ if (visible){ alpha = (alpha - (FlxG.elapsed / _delay)); if (alpha <= 0){ visible = false; if (_complete != null){ _complete(); }; }; }; } public function restart(_arg1:uint=4294967295, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (_arg2 == 0){ visible = false; return; }; if (((!(_arg4)) && (visible))){ return; }; fill(_arg1); _delay = _arg2; _complete = _arg3; alpha = 1; visible = true; } } }//package org.flixel.data
Section 170
//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 ESC: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 U:Boolean; public var EIGHT:Boolean; public var W:Boolean; public var M:Boolean; public var THREE: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("ESC", 27); addKey("MINUS", 189); addKey("PLUS", 187); addKey("DELETE", 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 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 171
//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 172
//FlxLogoPixel (org.flixel.data.FlxLogoPixel) package org.flixel.data { import flash.display.*; public class FlxLogoPixel extends Sprite { private var _curLayer:uint; private var _layers:Array; public function FlxLogoPixel(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:uint){ x = _arg1; y = _arg2; _layers = new Array(); var _local6:Array = new Array(4294901760, 4278255360, 4278190335, 4294967040, 4278255615); _layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _arg5)))); var _local7:uint; while (_local7 < _local6.length) { _layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _local6[_arg4])))); ++_arg4; if (_arg4 >= _local6.length){ _arg4 = 0; }; _local7++; }; _curLayer = (_layers.length - 1); } public function update():void{ if (_curLayer == 0){ return; }; if (_layers[_curLayer].alpha >= 0.1){ _layers[_curLayer].alpha = (_layers[_curLayer].alpha - 0.1); } else { _layers[_curLayer].alpha = 0; _curLayer--; }; } } }//package org.flixel.data
Section 173
//FlxMouse (org.flixel.data.FlxMouse) package org.flixel.data { import flash.events.*; public class FlxMouse { protected var _last:int; public var x:int; public var y:int; protected var _current:int; public function FlxMouse(){ x = 0; y = 0; _current = 0; _last = 0; } public function justReleased():Boolean{ return ((_current == -1)); } public function pressed():Boolean{ return ((_current > 0)); } public function handleMouseUp(_arg1:MouseEvent):void{ if (_current > 0){ _current = -1; } else { _current = 0; }; } public function update(_arg1:int, _arg2:int):void{ x = _arg1; y = _arg2; if ((((_last == -1)) && ((_current == -1)))){ _current = 0; } else { if ((((_last == 2)) && ((_last == 2)))){ _current = 1; }; }; _last = _current; } public function reset():void{ _current = 0; _last = 0; } public function justPressed():Boolean{ return ((_current == 2)); } public function handleMouseDown(_arg1:MouseEvent):void{ if (_current > 0){ _current = 1; } else { _current = 2; }; } } }//package org.flixel.data
Section 174
//FlxPanel (org.flixel.data.FlxPanel) package org.flixel.data { import org.flixel.*; import flash.ui.*; public class FlxPanel extends FlxCore { 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(); _s = 50; } public function onDelicious():void{ FlxG.openURL(((("http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url=" + encodeURIComponent(_gameURL)) + "&amp;title=") + encodeURIComponent(_gameTitle))); } public function init(_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 onTwitter():void{ FlxG.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL)))); } public function show(_arg1:Boolean=true):void{ if (!_initialized){ FlxG.log("SUPPORT PANEL ERROR: Uninitialized.\nYou forgot to call FlxGame.setupSupportPanel()\nfrom your game constructor."); return; }; if (_closed){ return; }; if (_arg1){ y = -21; _ty = -1; } else { y = FlxG.height; _ty = (FlxG.height - 20); }; Mouse.show(); visible = true; } public function onStumble():void{ FlxG.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{ FlxG.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle))); } public function onReddit():void{ FlxG.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL))); } public function onDonate():void{ FlxG.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")&currency_code=USD&amount=") + _payPalAmount)); } override public function update():void{ if (!_initialized){ return; }; if (_ty != y){ if (y < _ty){ y = (y + (FlxG.elapsed * _s)); if (y > _ty){ y = _ty; }; } else { y = (y - (FlxG.elapsed * _s)); if (y < _ty){ y = _ty; }; }; }; if ((((y <= -21)) || ((y > FlxG.height)))){ visible = false; }; _topBar.y = y; _mainBar.y = (y + 1); _bottomBar.y = (y + 20); _donate.y = (y + 4); _stumble.y = (y + 4); _digg.y = (y + 4); _reddit.y = (y + 4); _delicious.y = (y + 5); _twitter.y = (y + 4); _caption.y = (y + 4); _close.y = (y + 4); 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 hide():void{ if (y < 0){ _ty = -21; } else { _ty = FlxG.height; }; Mouse.hide(); visible = false; } public function onClose():void{ _closed = true; hide(); } } }//package org.flixel.data
Section 175
//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 176
//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 177
//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 178
//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 179
//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 180
//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 181
//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 182
//FlxPause (org.flixel.data.FlxPause) package org.flixel.data { import org.flixel.*; public class FlxPause extends FlxLayer { private var ImgKeyP:Class; private var ImgKey0:Class; private var ImgKeyPlus:Class; private var ImgKeyMinus:Class; public function FlxPause(){ var _local1:uint; var _local2:uint; ImgKeyMinus = FlxPause_ImgKeyMinus; ImgKeyPlus = FlxPause_ImgKeyPlus; ImgKey0 = FlxPause_ImgKey0; ImgKeyP = FlxPause_ImgKeyP; super(); scrollFactor.x = 0; scrollFactor.y = 0; _local1 = 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 183
//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 184
//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 185
//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 186
//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 187
//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; reset(0); } public function update():void{ if (_timer > 0){ _timer = (_timer - FlxG.elapsed); 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 reset(_arg1:Number, _arg2:Number=0.5):void{ x = 0; y = 0; _intensity = _arg1; if (_intensity == 0){ _timer = 0; return; }; _timer = _arg2; } } }//package org.flixel.data
Section 188
//FlxButton (org.flixel.FlxButton) package org.flixel { import flash.events.*; import flash.geom.*; public class FlxButton extends FlxCore { protected var _onTO:Point; protected var _sf:Point; protected var _offT:FlxText; protected var _initialized:Boolean; protected var _onT:FlxText; protected var _pressed:Boolean; protected var _callback:Function; protected var _off:FlxSprite; protected var _onToggle:Boolean; protected var _offTO:Point; protected var _on:FlxSprite; public function FlxButton(_arg1:int, _arg2:int, _arg3:Function){ x = _arg1; y = _arg2; width = 100; height = 20; _off = new FlxSprite(); _off.createGraphic(width, height, 4286545791); _off.scrollFactor = scrollFactor; _on = new FlxSprite(); _on.createGraphic(width, height, 4294967295); _on.scrollFactor = scrollFactor; _callback = _arg3; _onToggle = false; _pressed = false; updatePositions(); _initialized = false; _sf = null; } override public function update():void{ if (!_initialized){ if (FlxG.state == null){ return; }; if (FlxG.state.parent == null){ return; }; if (FlxG.state.parent.stage == null){ return; }; FlxG.state.parent.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _initialized = true; }; if (_sf != scrollFactor){ _sf = scrollFactor; if (_off != null){ _off.scrollFactor = _sf; }; if (_on != null){ _on.scrollFactor = _sf; }; if (_offT != null){ _offT.scrollFactor = _sf; }; if (_onT != null){ _onT.scrollFactor = _sf; }; }; super.update(); if (((((!((_off == null))) && (_off.exists))) && (_off.active))){ _off.update(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.active))){ _on.update(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.active))){ _offT.update(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.active))){ _onT.update(); }; }; visibility(false); if (_off.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); }; updatePositions(); } public function switchOn():void{ _onToggle = true; } protected function onMouseUp(_arg1:MouseEvent):void{ if (((((((((!(exists)) || (!(visible)))) || (!(active)))) || (!(FlxG.mouse.justReleased())))) || ((_callback == null)))){ return; }; if (_off.overlapsPoint((FlxG.mouse.x + ((1 - scrollFactor.x) * FlxG.scroll.x)), (FlxG.mouse.y + ((1 - scrollFactor.y) * FlxG.scroll.y)))){ _callback(); }; } override public function destroy():void{ FlxG.state.parent.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); } 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 switchOff():void{ _onToggle = false; } public function on():Boolean{ return (_onToggle); } protected function updatePositions():void{ _off.x = x; _off.y = y; if (_offT){ _offT.x = (_offTO.x + x); _offT.y = (_offTO.y + y); }; _on.x = x; _on.y = y; if (_onT){ _onT.x = (_onTO.x + x); _onT.y = (_onTO.y + y); }; } public function loadGraphic(_arg1:FlxSprite, _arg2:FlxSprite=null):FlxButton{ _off = _arg1; _off.scrollFactor = scrollFactor; if (_arg2 == null){ _on = _off; } else { _on = _arg2; }; _on.scrollFactor = scrollFactor; width = _off.width; height = _off.height; updatePositions(); return (this); } override public function render():void{ super.render(); if (((((!((_off == null))) && (_off.exists))) && (_off.visible))){ _off.render(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.visible))){ _on.render(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.visible))){ _offT.render(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.visible))){ _onT.render(); }; }; } public function loadText(_arg1:FlxText, _arg2:FlxText=null):FlxButton{ if (_arg1 != null){ _offT = _arg1; }; if (_arg2 == null){ _onT = _offT; } else { _onT = _arg2; }; if (_offT != null){ _offTO = new Point(_offT.x, _offT.y); }; if (_onT != null){ _onTO = new Point(_onT.x, _onT.y); }; _offT.scrollFactor = scrollFactor; _onT.scrollFactor = scrollFactor; updatePositions(); return (this); } } }//package org.flixel
Section 189
//FlxCore (org.flixel.FlxCore) package org.flixel { import flash.geom.*; public class FlxCore { public var y:Number; public var active:Boolean; public var x:Number; public var visible:Boolean; protected var _flickerTimer:Number; public var width:uint; public var last:Point; public var exists:Boolean; public var height:uint; public var dead:Boolean; public var fixed:Boolean; protected var _flicker:Boolean; public var scrollFactor:Point; public function FlxCore(){ exists = true; active = true; visible = true; dead = false; fixed = false; width = 0; height = 0; x = 0; y = 0; last = new Point(x, y); scrollFactor = new Point(1, 1); _flicker = false; _flickerTimer = -1; } public function onScreen():Boolean{ var _local1:Point = new Point(); getScreenXY(_local1); if (((((((((_local1.x + width) < 0)) || ((_local1.x > FlxG.width)))) || (((_local1.y + height) < 0)))) || ((_local1.y > FlxG.height)))){ return (false); }; return (true); } public function hitWall(_arg1:FlxCore=null):Boolean{ return (true); } public function collideArrayY(_arg1:Array):void{ var _local2:FlxCore; if (((!(exists)) || (dead))){ return; }; var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local2 = _arg1[_local4]; if ((((((((_local2 === this)) || ((_local2 == null)))) || (!(_local2.exists)))) || (_local2.dead))){ } else { collideY(_local2); }; _local4++; }; } public function update():void{ last.x = x; last.y = y; if (flickering()){ if (_flickerTimer > 0){ _flickerTimer = (_flickerTimer - FlxG.elapsed); if (_flickerTimer == 0){ _flickerTimer = -1; }; }; if (_flickerTimer < 0){ flicker(-1); } else { _flicker = !(_flicker); visible = !(_flicker); }; }; } public function reset(_arg1:Number, _arg2:Number):void{ exists = true; active = true; visible = true; dead = false; last.x = (x = _arg1); last.y = (y = _arg2); } public function flicker(_arg1:Number=1):void{ _flickerTimer = _arg1; if (_flickerTimer < 0){ _flicker = false; visible = true; }; } public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{ var _local4:Number = x; var _local5:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ _local4 = (_local4 - Math.floor((FlxG.scroll.x * (1 - scrollFactor.x)))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){ return (false); }; return (true); } public function collideX(_arg1:FlxCore):Boolean{ var _local2:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local3:Rectangle = new Rectangle(); var _local4:Rectangle = new Rectangle(); if (_arg1.x > _arg1.last.x){ _local4.x = _arg1.last.x; _local4.width = ((_arg1.x - _arg1.last.x) + _arg1.width); } else { _local4.x = _arg1.x; _local4.width = ((_arg1.last.x - _arg1.x) + _arg1.width); }; _local4.y = _arg1.last.y; _local4.height = _arg1.height; if (x > last.x){ _local3.x = last.x; _local3.width = ((x - last.x) + width); } else { _local3.x = x; _local3.width = ((last.x - x) + width); }; _local3.y = last.y; _local3.height = height; if (((((((((_local4.x + _local4.width) <= _local3.x)) || ((_local4.x >= (_local3.x + _local3.width))))) || (((_local4.y + _local4.height) <= _local3.y)))) || ((_local4.y >= (_local3.y + _local3.height))))){ return (false); }; var _local5:Number = (_arg1.x - _arg1.last.x); var _local6:Number = (x - last.x); var _local7:Boolean = (((_arg1.x < (x + width))) && (((_arg1.x + _arg1.width) > x))); if ((((((((_local5 > 0)) && ((_local6 <= 0)))) || ((((_local5 >= 0)) && ((((_local5 > _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) < -(_local6))) && (_local7))))))){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x - _arg1.width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x + _arg1.width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local4.right - _local3.left) / 2); _arg1.x = (_arg1.x - _local2); x = (x + _local2); return (true); }; }; }; } else { if ((((((((_local5 < 0)) && ((_local6 >= 0)))) || ((((_local5 >= 0)) && ((((_local5 < _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) > -(_local6))) && (_local7))))))){ if (_local4.left < _local3.right){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x + width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x - width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local3.right - _local4.left) / 2); _arg1.x = (_arg1.x + _local2); x = (x - _local2); return (true); }; }; }; }; } else { _local8 = (_local4.x + (_local4.width / 2)); _local9 = (_local4.y + (_local4.height / 2)); _local10 = (_local3.x + (_local3.width / 2)); _local11 = (_local3.y + (_local3.height / 2)); if (Math.abs((_local8 - _local10)) > Math.abs((_local9 - _local11))){ if (_local8 > _local10){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x + width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x - width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local3.right - _local4.left) / 2); _arg1.x = (_arg1.x + _local2); x = (x - _local2); return (true); }; }; }; } else { if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x - _arg1.width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x + _arg1.width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local4.right - _local3.left) / 2); _arg1.x = (_arg1.x - _local2); x = (x + _local2); return (true); }; }; }; }; } else { if (_local9 > _local11){ if (_local4.top < _local3.bottom){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitCeiling(this)){ _arg1.y = (y + height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitFloor(_arg1)){ y = (_arg1.y - height); return (true); }; } else { if (((_arg1.hitCeiling(this)) && (hitFloor(_arg1)))){ _local2 = ((_local3.bottom - _local4.top) / 2); _arg1.y = (_arg1.y + _local2); y = (y - _local2); return (true); }; }; }; }; } else { if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitFloor(this)){ _arg1.y = (y - _arg1.height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitCeiling(_arg1)){ y = (_arg1.y + _arg1.height); return (true); }; } else { if (((_arg1.hitFloor(this)) && (hitCeiling(_arg1)))){ _local2 = ((_local4.bottom - _local3.top) / 2); _arg1.y = (_arg1.y - _local2); y = (y + _local2); return (true); }; }; }; }; }; }; }; return (true); } public function render():void{ } public function kill():void{ exists = false; dead = true; } public function collideY(_arg1:FlxCore):Boolean{ var _local2:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local3:Rectangle = new Rectangle(); var _local4:Rectangle = new Rectangle(); if (_arg1.y > _arg1.last.y){ _local4.y = _arg1.last.y; _local4.height = ((_arg1.y - _arg1.last.y) + _arg1.height); } else { _local4.y = _arg1.y; _local4.height = ((_arg1.last.y - _arg1.y) + _arg1.height); }; _local4.x = _arg1.x; _local4.width = _arg1.width; if (y > last.y){ _local3.y = last.y; _local3.height = ((y - last.y) + height); } else { _local3.y = y; _local3.height = ((last.y - y) + height); }; _local3.x = x; _local3.width = width; if (((((((((_local4.x + _local4.width) <= _local3.x)) || ((_local4.x >= (_local3.x + _local3.width))))) || (((_local4.y + _local4.height) <= _local3.y)))) || ((_local4.y >= (_local3.y + _local3.height))))){ return (false); }; var _local5:Number = (_arg1.y - _arg1.last.y); var _local6:Number = (y - last.y); var _local7:Boolean = (((_arg1.y < (y + height))) && (((_arg1.y + _arg1.height) > y))); if ((((((((_local5 > 0)) && ((_local6 <= 0)))) || ((((_local5 >= 0)) && ((((_local5 > _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) < -(_local6))) && (_local7))))))){ if (_local4.bottom > _local3.top){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitFloor(this)){ _arg1.y = (y - _arg1.height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitCeiling(_arg1)){ y = (_arg1.y + _arg1.height); return (true); }; } else { if (((_arg1.hitFloor(this)) && (hitCeiling(_arg1)))){ _local2 = ((_local4.bottom - _local3.top) / 2); _arg1.y = (_arg1.y - _local2); y = (y + _local2); return (true); }; }; }; }; } else { if ((((((((_local5 < 0)) && ((_local6 >= 0)))) || ((((_local5 >= 0)) && ((((_local5 < _local6)) && (_local7))))))) || ((((_local5 <= 0)) && ((((-(_local5) > -(_local6))) && (_local7))))))){ if (_local4.top < _local3.bottom){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitCeiling(this)){ _arg1.y = (y + height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitFloor(_arg1)){ y = (_arg1.y - height); return (true); }; } else { if (((_arg1.hitCeiling(this)) && (hitFloor(_arg1)))){ _local2 = ((_local3.bottom - _local4.top) / 2); _arg1.y = (_arg1.y + _local2); y = (y - _local2); return (true); }; }; }; }; } else { _local8 = (_local4.x + (_local4.width / 2)); _local9 = (_local4.y + (_local4.height / 2)); _local10 = (_local3.x + (_local3.width / 2)); _local11 = (_local3.y + (_local3.height / 2)); if (Math.abs((_local8 - _local10)) > Math.abs((_local9 - _local11))){ if (_local8 > _local10){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x + width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x - width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local3.right - _local4.left) / 2); _arg1.x = (_arg1.x + _local2); x = (x - _local2); return (true); }; }; }; } else { if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x - _arg1.width); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x + _arg1.width); return (true); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local4.right - _local3.left) / 2); _arg1.x = (_arg1.x - _local2); x = (x + _local2); return (true); }; }; }; }; } else { if (_local9 > _local11){ if (_local4.top < _local3.bottom){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitCeiling(this)){ _arg1.y = (y + height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitFloor(_arg1)){ y = (_arg1.y - height); return (true); }; } else { if (((_arg1.hitCeiling(this)) && (hitFloor(_arg1)))){ _local2 = ((_local3.bottom - _local4.top) / 2); _arg1.y = (_arg1.y + _local2); y = (y - _local2); return (true); }; }; }; }; } else { if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitFloor(this)){ _arg1.y = (y - _arg1.height); return (true); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitCeiling(_arg1)){ y = (_arg1.y + _arg1.height); return (true); }; } else { if (((_arg1.hitFloor(this)) && (hitCeiling(_arg1)))){ _local2 = ((_local4.bottom - _local3.top) / 2); _arg1.y = (_arg1.y - _local2); y = (y + _local2); return (true); }; }; }; }; }; }; }; return (true); } public function getScreenXY(_arg1:Point=null):Point{ if (_arg1 == null){ _arg1 = new Point(); }; _arg1.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x))); _arg1.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y))); return (_arg1); } public function hitFloor(_arg1:FlxCore=null):Boolean{ return (true); } public function hitCeiling(_arg1:FlxCore=null):Boolean{ return (true); } public function overlaps(_arg1:FlxCore):Boolean{ var _local2:Number = x; var _local3:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ _local2 = (_local2 - Math.floor((FlxG.scroll.x * (1 - scrollFactor.x)))); _local3 = (_local3 - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; var _local4:Number = _arg1.x; var _local5:Number = _arg1.y; if (((!((_arg1.scrollFactor.x == 1))) || (!((_arg1.scrollFactor.y == 1))))){ _local4 = (_local4 - Math.floor((FlxG.scroll.x * (1 - _arg1.scrollFactor.x)))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * (1 - _arg1.scrollFactor.y)))); }; if ((((((((_local4 <= (_local2 - _arg1.width))) || ((_local4 >= (_local2 + width))))) || ((_local5 <= (_local3 - _arg1.height))))) || ((_local5 >= (_local3 + height))))){ return (false); }; return (true); } public function flickering():Boolean{ return ((_flickerTimer >= 0)); } public function destroy():void{ } public function collideArray(_arg1:Array):void{ var _local2:FlxCore; if (((!(exists)) || (dead))){ return; }; var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local2 = _arg1[_local4]; if ((((((((_local2 === this)) || ((_local2 == null)))) || (!(_local2.exists)))) || (_local2.dead))){ } else { collide(_local2); }; _local4++; }; } public function collideArrayX(_arg1:Array):void{ var _local2:FlxCore; if (((!(exists)) || (dead))){ return; }; var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local2 = _arg1[_local4]; if ((((((((_local2 === this)) || ((_local2 == null)))) || (!(_local2.exists)))) || (_local2.dead))){ } else { collideX(_local2); }; _local4++; }; } public function collide(_arg1:FlxCore):Boolean{ var _local2:Boolean = collideX(_arg1); var _local3:Boolean = collideY(_arg1); return (((_local2) || (_local3))); } } }//package org.flixel
Section 190
//FlxEmitter (org.flixel.FlxEmitter) package org.flixel { import flash.geom.*; public class FlxEmitter extends FlxCore { public var delay:Number; public var maxRotation:Number; protected var _timer:Number; public var gravity:Number; public var minVelocity:Point; protected var _sprites:Array; public var alpha:Number; public var maxVelocity:Point; protected var _particle:uint; public var minRotation:Number; public var drag:Number; public function FlxEmitter(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0.1){ visible = false; x = _arg1; y = _arg2; width = 0; height = 0; alpha = 1; minVelocity = new Point(-100, -100); maxVelocity = new Point(100, 100); minRotation = -360; maxRotation = 360; gravity = 400; drag = 0; delay = _arg3; _sprites = null; kill(); } public function setRotation(_arg1:Number=0, _arg2:Number=0):void{ minRotation = _arg1; maxRotation = _arg2; } public function loadSprites(_arg1:Array):FlxEmitter{ _sprites = _arg1; var _local2:uint = _sprites.length; var _local3:uint; while (_local3 < _local2) { _sprites[_local3].scrollFactor = scrollFactor; _local3++; }; kill(); if (delay > 0){ restart(); }; return (this); } override public function update():void{ var _local1:uint; var _local2:uint; _timer = (_timer + FlxG.elapsed); if (delay < 0){ if (_timer > -(delay)){ kill(); return; }; if (_sprites[0].exists){ return; }; _local1 = _sprites.length; _local2 = 0; while (_local2 < _local1) { emit(); _local2++; }; return; }; while (_timer > delay) { _timer = (_timer - delay); emit(); }; } public function setSize(_arg1:uint, _arg2:uint):void{ width = _arg1; height = _arg2; } public function emit():void{ var _local1:FlxSprite = _sprites[_particle]; _local1.reset(((x - (_local1.width >> 1)) + (FlxG.random() * width)), ((y - (_local1.height >> 1)) + (FlxG.random() * height))); _local1.velocity.x = minVelocity.x; if (minVelocity.x != maxVelocity.x){ _local1.velocity.x = (_local1.velocity.x + (FlxG.random() * (maxVelocity.x - minVelocity.x))); }; _local1.velocity.y = minVelocity.y; if (minVelocity.y != maxVelocity.y){ _local1.velocity.y = (_local1.velocity.y + (FlxG.random() * (maxVelocity.y - minVelocity.y))); }; _local1.acceleration.y = gravity; _local1.angularVelocity = minRotation; if (minRotation != maxRotation){ _local1.angularVelocity = (_local1.angularVelocity + (FlxG.random() * (maxRotation - minRotation))); }; if (_local1.angularVelocity != 0){ _local1.angle = ((FlxG.random() * 360) - 180); }; _local1.drag.x = drag; _local1.drag.y = drag; _particle++; if (_particle >= _sprites.length){ _particle = 0; }; _local1.onEmit(); } public function restart():void{ if (_sprites == null){ FlxG.log("ERROR: You must attach sprites to an emitter for it to work.\nSee FlxEmitter.loadSprites() and FlxEmitter.createSprites() for more info."); return; }; active = true; _timer = 0; _particle = 0; } public function createSprites(_arg1:Class, _arg2:uint=50, _arg3:Boolean=true, _arg4:FlxLayer=null):FlxEmitter{ var _local5:uint; var _local6:uint; var _local7:FlxSprite; var _local8:FlxSprite; _sprites = new Array(); _local5 = 0; while (_local5 < _arg2) { if (_arg3){ _local7 = new FlxSprite(); _local7.alpha = this.alpha; _local7.loadGraphic(_arg1, true); _local7.randomFrame(); _sprites.push(_local7); } else { _local8 = new FlxSprite(0, 0, _arg1); _local8.alpha = this.alpha; _sprites.push(_local8); }; _local5++; }; _local6 = _sprites.length; _local5 = 0; while (_local5 < _local6) { if (_arg4 == null){ FlxG.state.add(_sprites[_local5]); } else { _arg4.add(_sprites[_local5]); }; _sprites[_local5].scrollFactor = scrollFactor; _local5++; }; kill(); if (delay > 0){ restart(); }; return (this); } override public function kill():void{ active = false; if (_sprites == null){ return; }; var _local1:uint = _sprites.length; var _local2:uint; while (_local2 < _local1) { _sprites[_local2].exists = false; _local2++; }; } public function setXVelocity(_arg1:Number=0, _arg2:Number=0):void{ minVelocity.x = _arg1; maxVelocity.x = _arg2; } public function setYVelocity(_arg1:Number=0, _arg2:Number=0):void{ minVelocity.y = _arg1; maxVelocity.y = _arg2; } } }//package org.flixel
Section 191
//FlxG (org.flixel.FlxG) package org.flixel { import flash.geom.*; import flash.display.*; import flash.utils.*; import org.flixel.data.*; import flash.net.*; public class FlxG { protected static var ImgDefaultCursor:Class = FlxG_ImgDefaultCursor; 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; protected static var _seed:Number; public static var debug:Boolean; public static var LIBRARY_MINOR_VERSION:uint = 57; public static var LIBRARY_MAJOR_VERSION:uint = 1; public static var levels:Array; public static var elapsed:Number; public static var save:int; protected static var _cache:Object; public static var level:int; public static var state:FlxState; public static var score:int; public static var saves:Array; protected static var _scrollTarget:Point; public static var followTarget:FlxCore; public static var mouse:FlxMouse; public static var followLead:Point; public static var LIBRARY_NAME:String = "flixel"; protected static var _originalSeed:Number; public static var followLerp:Number; public static var width:uint; public static var dilation:Number; protected static var _game:FlxGame; public static var scroll:Point; public static var followMin:Point; public static var followMax:Point; public static var keys:FlxKeyboard; protected static var _pause:Boolean; protected static var _mute:Boolean; public static function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ _game._flash.restart(_arg1, _arg2, _arg3, _arg4); } public static function collideArrays(_arg1:Array, _arg2:Array):Boolean{ var _local4:uint; var _local5:uint; var _local6:FlxCore; var _local7:FlxCore; var _local3:Boolean; var _local8:uint = _arg1.length; var _local9:uint = _arg2.length; if (_arg1 === _arg2){ _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = (_local4 + 1); while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.collide(_local7)){ _local3 = true; }; }; _local5++; }; }; _local4++; }; } else { _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = 0; while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.collide(_local7)){ _local3 = true; }; }; _local5++; }; }; _local4++; }; }; return (_local3); } public static function get mute():Boolean{ return (_mute); } public static function get volume():Number{ return (_volume); } protected static function changeSounds():void{ if (((!((music == null))) && (music.active))){ music.updateTransform(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ sounds[_local2].updateTransform(); }; _local2++; }; } static function doFollow():void{ if (followTarget != null){ if (((followTarget.exists) && (!(followTarget.dead)))){ _scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x); _scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y); 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.elapsed)); scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed)); 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 showSupportPanel(_arg1:Boolean=true):void{ _game._panel.show(_arg1); } public static function addBitmap(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false):BitmapData{ var _local7:uint; var _local8:String; var _local9:BitmapData; var _local10:Matrix; var _local4:Boolean; var _local5:String = String(_arg1); if (((((_arg3) && (!((_cache[_local5] == undefined))))) && (!((_cache[_local5] == null))))){ _local7 = 0; do { var _temp1 = _local7; _local7 = (_local7 + 1); _local8 = (_local5 + _temp1); } while (((!((_cache[_local8] == undefined))) && (!((_cache[_local8] == null))))); _local5 = _local8; }; if ((((_cache[_local5] == undefined)) || ((_cache[_local5] == null)))){ _cache[_local5] = new (_arg1).bitmapData; if (_arg2){ _local4 = true; }; }; var _local6:BitmapData = _cache[_local5]; if (((((!(_local4)) && (_arg2))) && ((_local6.width == new (_arg1).bitmapData.width)))){ _local4 = true; }; if (_local4){ _local9 = new BitmapData((_local6.width << 1), _local6.height, true, 0); _local9.draw(_local6); _local10 = new Matrix(); _local10.scale(-1, 1); _local10.translate(_local9.width, 0); _local9.draw(_local6, _local10); _local6 = _local9; }; return (_local6); } public static function getMuteValue():uint{ if (_mute){ return (0); }; return (1); } 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; var _local5:uint = sounds.length; _local4 = 0; while (_local4 < _local5) { if (!sounds[_local4].active){ break; }; _local4++; }; if (sounds[_local4] == null){ sounds[_local4] = new FlxSound(); }; var _local6:FlxSound = sounds[_local4]; _local6.loadEmbedded(_arg1, _arg3); _local6.volume = _arg2; _local6.play(); return (_local6); } public static function getAngle(_arg1:Number, _arg2:Number):Number{ return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI)); } public static function hideCursor():void{ if (_game._cursor == null){ return; }; _game._buffer.removeChild(_game._cursor); _game._cursor = null; } 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):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; seed = NaN; kong = null; pause = false; dilation = 1; } 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.elapsed)); } else { if (_arg3 != 0){ _local5 = (_arg3 * FlxG.elapsed); 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 mutate(_arg1:Number, _arg2:Number):Number{ _arg1 = (_arg1 + _arg2); if (_arg1 > 1){ _arg1 = (_arg1 - int(_arg1)); }; return (_arg1); } public static function collideArraysX(_arg1:Array, _arg2:Array):Boolean{ var _local4:uint; var _local5:uint; var _local6:FlxCore; var _local7:FlxCore; var _local3:Boolean; var _local8:uint = _arg1.length; var _local9:uint = _arg2.length; if (_arg1 === _arg2){ _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = (_local4 + 1); while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.collideX(_local7)){ _local3 = true; }; }; _local5++; }; }; _local4++; }; } else { _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = 0; while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.collideX(_local7)){ _local3 = true; }; }; _local5++; }; }; _local4++; }; }; return (_local3); } public static function collideArraysY(_arg1:Array, _arg2:Array):Boolean{ var _local4:uint; var _local5:uint; var _local6:FlxCore; var _local7:FlxCore; var _local3:Boolean; var _local8:uint = _arg1.length; var _local9:uint = _arg2.length; if (_arg1 === _arg2){ _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = (_local4 + 1); while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.collideY(_local7)){ _local3 = true; }; }; _local5++; }; }; _local4++; }; } else { _local4 = 0; while (_local4 < _local8) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = 0; while (_local5 < _local9) { _local7 = _arg2[_local5]; if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.collideY(_local7)){ _local3 = true; }; }; _local5++; }; }; _local4++; }; }; return (_local3); } public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean):BitmapData{ var _local6:uint; var _local7:String; var _local5:String = ((((_arg1 + "x") + _arg2) + ":") + _arg3); if (((((_arg4) && (!((_cache[_local5] == undefined))))) && (!((_cache[_local5] == null))))){ _local6 = 0; do { var _temp1 = _local6; _local6 = (_local6 + 1); _local7 = (_local5 + _temp1); } while (((!((_cache[_local7] == undefined))) && (!((_cache[_local7] == null))))); _local5 = _local7; }; if ((((_cache[_local5] == undefined)) || ((_cache[_local5] == null)))){ _cache[_local5] = new BitmapData(_arg1, _arg2, true, _arg3); }; return (_cache[_local5]); } 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 overlapArray(_arg1:Array, _arg2:FlxCore, _arg3:Function=null):Boolean{ var _local5:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return (false); }; var _local4:Boolean; var _local6:uint = _arg1.length; var _local7:uint; while (_local7 < _local6) { _local5 = _arg1[_local7]; if ((((((((_local5 === _arg2)) || ((_local5 == null)))) || (!(_local5.exists)))) || (_local5.dead))){ } else { if (_local5.overlaps(_arg2)){ _local4 = true; if (_arg3 != null){ _arg3(_local5, _arg2); } else { _local5.kill(); _arg2.kill(); }; }; }; _local7++; }; return (_local4); } public static function log(_arg1:Object):void{ _game._console.log(_arg1.toString()); } public static function overlapArrays(_arg1:Array, _arg2:Array, _arg3:Function=null):Boolean{ var _local5:uint; var _local6:uint; var _local7:FlxCore; var _local8:FlxCore; var _local4:Boolean; var _local9:uint = _arg1.length; var _local10:uint = _arg2.length; if (_arg1 === _arg2){ _local5 = 0; while (_local5 < _local9) { _local7 = _arg1[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { _local6 = (_local5 + 1); while (_local6 < _local10) { _local8 = _arg2[_local6]; if ((((((_local8 == null)) || (!(_local8.exists)))) || (_local8.dead))){ } else { if (_local7.overlaps(_local8)){ _local4 = true; if (_arg3 != null){ _arg3(_local7, _local8); } else { _local7.kill(); _local8.kill(); }; }; }; _local6++; }; }; _local5++; }; } else { _local5 = 0; while (_local5 < _arg1.length) { _local7 = _arg1[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { _local6 = 0; while (_local6 < _arg2.length) { _local8 = _arg2[_local6]; if ((((((((_local7 === _local8)) || ((_local8 == null)))) || (!(_local8.exists)))) || (_local8.dead))){ } else { if (_local7.overlaps(_local8)){ _local4 = true; if (_arg3 != null){ _arg3(_local7, _local8); } else { _local7.kill(); _local8.kill(); }; }; }; _local6++; }; }; _local5++; }; }; return (_local4); } static function updateSounds():void{ if (((!((music == null))) && (music.active))){ music.update(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ sounds[_local2].update(); }; _local2++; }; } public static function get seed():Number{ return (_originalSeed); } 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); } static function updateInput():void{ keys.update(); mouse.update((state.mouseX - scroll.x), (state.mouseY - scroll.y)); } public static function stream(_arg1:String, _arg2:Number=1, _arg3:Boolean=false):FlxSound{ var _local4:uint; var _local5:uint = sounds.length; _local4 = 0; while (_local4 < _local5) { if (!sounds[_local4].active){ break; }; _local4++; }; if (sounds[_local4] == null){ sounds[_local4] = new FlxSound(); }; var _local6:FlxSound = sounds[_local4]; _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 fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ _game._fade.restart(_arg1, _arg2, _arg3, _arg4); } protected static function playSounds():void{ if (((!((music == null))) && (music.active))){ music.play(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ sounds[_local2].play(); }; _local2++; }; } public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{ followLead = new Point(_arg1, _arg2); } public static function follow(_arg1:FlxCore, _arg2:Number=1):void{ followTarget = _arg1; followLerp = _arg2; _scrollTarget.x = ((((width >> 1) - followTarget.x) - (followTarget.width >> 1)) + (followTarget as FlxSprite).offset.x); _scrollTarget.y = ((((height >> 1) - followTarget.y) - (followTarget.height >> 1)) + (followTarget as FlxSprite).offset.y); scroll.x = _scrollTarget.x; scroll.y = _scrollTarget.y; doFollow(); } public static function showCursor(_arg1:Class=null):void{ if (_arg1 == null){ _game._cursor = (_game._buffer.addChild(new ImgDefaultCursor()) as Bitmap); } else { _game._cursor = (_game._buffer.addChild(new (_arg1)) as Bitmap); }; } public static function randomize(_arg1:Number):Number{ return ((((69621 * int((_arg1 * 2147483647))) % 2147483647) / 2147483647)); } public static function getRandom(_arg1:Array):Object{ return (_arg1[int((FlxG.random() * _arg1.length))]); } public static function resetInput():void{ keys.reset(); mouse.reset(); } public static function switchState(_arg1:Class):void{ _game.switchState(_arg1); } public static function getNonexist(_arg1:Array):FlxCore{ var _local2:uint = _arg1.length; if (_local2 <= 0){ return (null); }; var _local3:uint; do { if (!_arg1[_local3].exists){ return (_arg1[_local3]); }; ++_local3; } while (_local3 < _local2); return (null); } 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 openURL(_arg1:String):void{ navigateToURL(new URLRequest(_arg1), "_blank"); } public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0):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; }; doFollow(); } public static function getClass(_arg1:String):Class{ return ((getDefinitionByName(_arg1) as Class)); } public static function collideArray(_arg1:Array, _arg2:FlxCore):Boolean{ var _local4:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return (false); }; var _local3:Boolean; var _local5:uint = _arg1.length; var _local6:uint; while (_local6 < _local5) { _local4 = _arg1[_local6]; if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){ } else { if (_local4.collide(_arg2)){ _local3 = true; }; }; _local6++; }; return (_local3); } public static function quake(_arg1:Number, _arg2:Number=0.5):void{ _game._quake.reset(_arg1, _arg2); } protected static function pauseSounds():void{ if (((!((music == null))) && (music.active))){ music.pause(); }; var _local1:uint = sounds.length; var _local2:uint; while (_local2 < _local1) { if (sounds[_local2].active){ sounds[_local2].pause(); }; _local2++; }; } public static function set seed(_arg1:Number):void{ _seed = _arg1; _originalSeed = _seed; } static function destroySounds(_arg1:Boolean=false):void{ if (sounds == null){ return; }; if (((!((music == null))) && (((_arg1) || (!(music.survive)))))){ music.destroy(); }; var _local2:uint = sounds.length; var _local3:uint; while (_local3 < _local2) { if (((_arg1) || (!(sounds[_local3].survive)))){ sounds[_local3].destroy(); }; _local3++; }; } 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 hideSupportPanel():void{ _game._panel.hide(); } public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Point=null):Point{ if (_arg6 == null){ _arg6 = new Point(); }; 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 pause():Boolean{ return (_pause); } public static function collideArrayX(_arg1:Array, _arg2:FlxCore):Boolean{ var _local4:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return (false); }; var _local3:Boolean; var _local5:uint = _arg1.length; var _local6:uint; while (_local6 < _local5) { _local4 = _arg1[_local6]; if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){ } else { if (_local4.collideX(_arg2)){ _local3 = true; }; }; _local6++; }; return (_local3); } public static function collideArrayY(_arg1:Array, _arg2:FlxCore):Boolean{ var _local4:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return (false); }; var _local3:Boolean; var _local5:uint = _arg1.length; var _local6:uint; while (_local6 < _local5) { _local4 = _arg1[_local6]; if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){ } else { if (_local4.collideY(_arg2)){ _local3 = true; }; }; _local6++; }; return (_local3); } } }//package org.flixel
Section 192
//FlxG_ImgDefaultCursor (org.flixel.FlxG_ImgDefaultCursor) package org.flixel { import mx.core.*; public class FlxG_ImgDefaultCursor extends BitmapAsset { } }//package org.flixel
Section 193
//FlxGame (org.flixel.FlxGame) package org.flixel { import flash.events.*; import flash.geom.*; import flash.display.*; import flash.utils.*; import flash.text.*; import org.flixel.data.*; import flash.ui.*; public class FlxGame extends Sprite { const MAX_ELAPSED:Number = 0.0333; var _bmpFront:Bitmap; protected var SndFlixel:Class; var _logoTimer:Number; var _curState:FlxState; var _panel:FlxPanel; var _console:FlxConsole; protected var SndBeep:Class; var _logoFade:Bitmap; var _created:Boolean; var _zoom:uint; var _gameXOffset:int; var _elapsed:Number; var _flipped:Boolean; var _total:uint; var _soundTrayBars:Array; public var useDefaultHotKeys:Boolean; protected var junk:String;// = "FlxGame_junk" var _bmpBack:Bitmap; var _iState:Class; public var showLogo:Boolean; var _paused:Boolean; var _quake:FlxQuake; var _gameYOffset:int; var _buffer:Sprite; var _f:Array; var _fSound:Class; var _fc:uint; var _soundTray:Sprite; var _frame:Class; var _flash:FlxFlash; var _logoComplete:Boolean; var _r:Rectangle; var _poweredBy:Bitmap; var _cursor:Bitmap; public var pause:FlxLayer; protected var ImgPoweredBy:Class; var _fade:FlxFade; var _soundTrayTimer:Number; public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2){ ImgPoweredBy = FlxGame_ImgPoweredBy; SndBeep = FlxGame_SndBeep; SndFlixel = FlxGame_SndFlixel; super(); Mouse.hide(); _zoom = _arg4; FlxState.bgColor = 4278190080; FlxG.setGameData(this, _arg1, _arg2); _elapsed = 0; _total = 0; pause = new FlxPause(); _quake = new FlxQuake(_zoom); _flash = new FlxFlash(); _fade = new FlxFade(); _curState = null; _iState = _arg3; _panel = new FlxPanel(); useDefaultHotKeys = true; showLogo = true; _f = null; _fc = 4294967295; _fSound = SndFlixel; _frame = null; _gameXOffset = 0; _gameYOffset = 0; _paused = false; _created = false; _logoComplete = false; addEventListener(Event.ENTER_FRAME, onEnterFrame); } protected function onFocusLost(_arg1:Event=null):void{ if (_logoComplete){ FlxG.pause = true; }; } function unpauseGame():void{ if (!_panel.visible){ Mouse.hide(); }; FlxG.resetInput(); _paused = false; stage.frameRate = 90; } protected function setupSupportPanel(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{ _panel.init(_arg1, _arg2, _arg3, _arg4, _arg5); } function pauseGame():void{ if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; if (!_flipped){ _bmpBack.bitmapData.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0)); } else { _bmpFront.bitmapData.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0)); }; Mouse.show(); _paused = true; stage.frameRate = 10; } 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){ return; }; if (useDefaultHotKeys){ _local2 = _arg1.keyCode; _local3 = String.fromCharCode(_arg1.charCode); switch (_local2){ case 48: FlxG.mute = !(FlxG.mute); showSoundTray(); return; case 189: FlxG.mute = false; FlxG.volume = (FlxG.volume - 0.1); showSoundTray(); return; 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); } protected function onMouseUp(_arg1:MouseEvent):void{ FlxG.mouse.handleMouseUp(_arg1); } function switchState(_arg1:Class):void{ _panel.hide(); FlxG.unfollow(); FlxG.keys.reset(); FlxG.mouse.reset(); FlxG.hideCursor(); FlxG.destroySounds(); _flash.restart(0, 0); _fade.restart(0, 0); _quake.reset(0); _buffer.x = 0; _buffer.y = 0; var _local2:FlxState = new (_arg1); _buffer.addChild(_local2); if (_curState != null){ _buffer.swapChildren(_local2, _curState); _buffer.removeChild(_curState); _curState.destroy(); }; _curState = _local2; } protected function onKeyDown(_arg1:KeyboardEvent):void{ FlxG.keys.handleKeyDown(_arg1); } protected function onEnterFrame(_arg1:Event):void{ var _local2:uint; var _local4:Bitmap; var _local5:uint; var _local6:uint; var _local7:int; var _local8:int; var _local9:ColorTransform; var _local10:String; var _local11:String; var _local12:TextField; var _local13:uint; var _local14:uint; var _local15:Bitmap; var _local3:uint = getTimer(); _elapsed = ((_local3 - _total) / 1000); _total = _local3; FlxG.elapsed = _elapsed; if (FlxG.elapsed > MAX_ELAPSED){ FlxG.elapsed = MAX_ELAPSED; }; FlxG.elapsed = (FlxG.elapsed * FlxG.dilation); if (_logoComplete){ _panel.update(); _console.update(); 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; }; }; }; FlxG.updateInput(); if (_cursor != null){ _cursor.x = (FlxG.mouse.x + FlxG.scroll.x); _cursor.y = (FlxG.mouse.y + FlxG.scroll.y); }; FlxG.updateSounds(); if (_paused){ pause.update(); if (_flipped){ FlxG.buffer.copyPixels(_bmpFront.bitmapData, _r, new Point(0, 0)); } else { FlxG.buffer.copyPixels(_bmpBack.bitmapData, _r, new Point(0, 0)); }; pause.render(); } else { if (_flipped){ FlxG.buffer = _bmpFront.bitmapData; } else { FlxG.buffer = _bmpBack.bitmapData; }; FlxState.screen.unsafeBind(FlxG.buffer); _curState.preProcess(); FlxG.doFollow(); _curState.update(); _flash.update(); _fade.update(); _quake.update(); _buffer.x = _quake.x; _buffer.y = _quake.y; _curState.render(); _flash.render(); _fade.render(); _panel.render(); _curState.postProcess(); _bmpBack.visible = !((_bmpFront.visible = _flipped)); _flipped = !(_flipped); }; } else { if (_created){ if (!showLogo){ _logoComplete = true; FlxG.switchState(_iState); } else { if (_f == null){ _f = new Array(); _local5 = 1; if (FlxG.height > 200){ _local5 = 2; }; _local6 = (32 * _local5); _local7 = (((FlxG.height * _zoom) / 2) - (_local6 * 2)); _local8 = (((FlxG.width * _zoom) / 2) - _local6); _f.push((addChild(new FlxLogoPixel((_local8 + _local6), _local7, _local6, 0, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + _local6), _local6, 1, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + (_local6 * 2)), _local6, 2, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel((_local8 + _local6), (_local7 + (_local6 * 2)), _local6, 3, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + (_local6 * 3)), _local6, 4, _fc)) as FlxLogoPixel)); _poweredBy = new ImgPoweredBy(); _poweredBy.scaleX = _local5; _poweredBy.scaleY = _local5; _poweredBy.x = (((FlxG.width * _zoom) / 2) - (_poweredBy.width / 2)); _poweredBy.y = ((_local7 + (_local6 * 4)) + 16); _local9 = new ColorTransform(); _local9.color = _fc; _poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local9); addChild(_poweredBy); _logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _zoom), (FlxG.height * _zoom), true, 4278190080))) as Bitmap); _logoFade.x = (_gameXOffset * _zoom); _logoFade.y = (_gameYOffset * _zoom); if (_fSound != null){ FlxG.play(_fSound, 0.35); }; }; _logoTimer = (_logoTimer + _elapsed); _local2 = 0; while (_local2 < _f.length) { _f[_local2].update(); _local2++; }; if (_logoFade.alpha > 0){ _logoFade.alpha = (_logoFade.alpha - (_elapsed * 0.5)); }; if (_logoTimer > 2){ removeChild(_poweredBy); _local2 = 0; while (_local2 < _f.length) { removeChild(_f[_local2]); _local2++; }; _f.length = 0; removeChild(_logoFade); FlxG.switchState(_iState); _logoComplete = true; }; }; } else { if (root != null){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = 90; _buffer = new Sprite(); _buffer.scaleX = _zoom; _buffer.scaleY = _zoom; addChild(_buffer); _bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, FlxState.bgColor)); _bmpBack.x = _gameXOffset; _bmpBack.y = _gameYOffset; _buffer.addChild(_bmpBack); _bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, FlxState.bgColor)); _bmpFront.x = _bmpBack.x; _bmpFront.y = _bmpBack.y; _buffer.addChild(_bmpFront); _flipped = false; _r = new Rectangle(0, 0, _bmpFront.width, _bmpFront.height); _console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom); addChild(_console); _local10 = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION); if (FlxG.debug){ _local10 = (_local10 + " [debug]"); } else { _local10 = (_local10 + " [release]"); }; _local11 = ""; _local2 = 0; while (_local2 < (_local10.length + 32)) { _local11 = (_local11 + "-"); _local2++; }; FlxG.log(_local10); FlxG.log(_local11); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); 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); _local12 = new TextField(); _local12.width = _local4.width; _local12.height = _local4.height; _local12.multiline = true; _local12.wordWrap = true; _local12.selectable = false; _local12.embedFonts = true; _local12.antiAliasType = AntiAliasType.NORMAL; _local12.gridFitType = GridFitType.PIXEL; _local12.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center"); _soundTray.addChild(_local12); _local12.text = "VOLUME"; _local12.y = 16; _local13 = 10; _local14 = 14; _soundTrayBars = new Array(); _local2 = 0; while (_local2 < 10) { _local4 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF)); _local4.x = _local13; _local4.y = _local14; _soundTrayBars.push(_soundTray.addChild(_local4)); _local13 = (_local13 + 6); _local14--; _local2++; }; addChild(_soundTray); if (_frame != null){ _local15 = new _frame(); _local15.scaleX = _zoom; _local15.scaleY = _zoom; addChild(_local15); }; _created = true; _logoTimer = 0; }; }; }; } protected function setLogoFX(_arg1:Number, _arg2:Class=null):FlxGame{ _fc = _arg1; if (_arg2 != null){ _fSound = _arg2; }; return (this); } protected function onMouseDown(_arg1:MouseEvent):void{ FlxG.mouse.handleMouseDown(_arg1); } public function showSoundTray():void{ FlxG.play(SndBeep); _soundTrayTimer = 1; _soundTray.y = (_gameYOffset * _zoom); _soundTray.visible = true; var _local1:uint = Math.round((FlxG.volume * 10)); if (FlxG.mute){ _local1 = 0; }; var _local2:uint; while (_local2 < _soundTrayBars.length) { if (_local2 < _local1){ _soundTrayBars[_local2].alpha = 1; } else { _soundTrayBars[_local2].alpha = 0.5; }; _local2++; }; } protected function addFrame(_arg1:Class, _arg2:uint, _arg3:uint):FlxGame{ _frame = _arg1; _gameXOffset = _arg2; _gameYOffset = _arg3; return (this); } } }//package org.flixel
Section 194
//FlxGame_ImgPoweredBy (org.flixel.FlxGame_ImgPoweredBy) package org.flixel { import mx.core.*; public class FlxGame_ImgPoweredBy extends BitmapAsset { } }//package org.flixel
Section 195
//FlxGame_junk (org.flixel.FlxGame_junk) package org.flixel { import mx.core.*; public class FlxGame_junk extends FontAsset { } }//package org.flixel
Section 196
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep) package org.flixel { import mx.core.*; public class FlxGame_SndBeep extends SoundAsset { } }//package org.flixel
Section 197
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel) package org.flixel { import mx.core.*; public class FlxGame_SndFlixel extends SoundAsset { } }//package org.flixel
Section 198
//FlxLayer (org.flixel.FlxLayer) package org.flixel { public class FlxLayer extends FlxCore { protected var _children:Array; public function FlxLayer(){ _children = new Array(); } public function add(_arg1:FlxCore, _arg2:Boolean=false):FlxCore{ _children.push(_arg1); if (_arg2){ _arg1.scrollFactor = scrollFactor; }; return (_arg1); } override public function render():void{ var _local1:FlxCore; super.render(); var _local2:uint = _children.length; var _local3:uint; while (_local3 < _local2) { _local1 = _children[_local3]; if (((((!((_local1 == null))) && (_local1.exists))) && (_local1.visible))){ _local1.render(); }; _local3++; }; } override public function update():void{ var _local1:Number; var _local2:Number; var _local4:FlxCore; var _local3:Boolean; if (((!((x == last.x))) || (!((y == last.y))))){ _local3 = true; _local1 = (x - last.x); _local2 = (y - last.y); }; super.update(); var _local5:uint = _children.length; var _local6:uint; while (_local6 < _local5) { _local4 = (_children[_local6] as FlxCore); if (((!((_local4 == null))) && (_local4.exists))){ if (_local3){ _local4.x = (_local4.x + _local1); _local4.y = (_local4.y + _local2); }; if (_local4.active){ _local4.update(); }; }; _local6++; }; } override public function destroy():void{ super.destroy(); var _local1:uint = _children.length; var _local2:uint; while (_local2 < _local1) { if (_children[_local2] != null){ _children[_local2].destroy(); }; _local2++; }; _children.length = 0; } public function children():Array{ return (_children); } } }//package org.flixel
Section 199
//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 200
//FlxSound (org.flixel.FlxSound) package org.flixel { import flash.events.*; import flash.geom.*; import flash.media.*; import flash.net.*; public class FlxSound extends FlxCore { protected var _volume:Number; protected var _channel:SoundChannel; protected var _fadeInTimer:Number; protected var _position:Number; protected var _sound:Sound; protected var _fadeOutTotal:Number; protected var _fadeOutTimer:Number; protected var _fadeInTotal:Number; protected var _pauseOnFadeOut:Boolean; protected var _pan:Boolean; protected var _looped:Boolean; protected var _volumeAdjust:Number; protected var _transform:SoundTransform; protected var _init:Boolean; protected var _radius:Number; public var survive:Boolean; protected var _core:FlxCore; public function FlxSound(){ _transform = new SoundTransform(); init(); } public function fadeOut(_arg1:Number, _arg2:Boolean=false):void{ _pauseOnFadeOut = _arg2; _fadeInTimer = 0; _fadeOutTimer = _arg1; _fadeOutTotal = _fadeOutTimer; } public function stop():void{ _position = 0; if (_channel != null){ _channel.stop(); stopped(); }; } public function loadStream(_arg1:String, _arg2:Boolean=false):FlxSound{ stop(); init(); _sound = new Sound(new URLRequest(_arg1)); _looped = _arg2; updateTransform(); active = true; return (this); } public function loadEmbedded(_arg1:Class, _arg2:Boolean=false):FlxSound{ stop(); init(); _sound = new (_arg1); _looped = _arg2; updateTransform(); active = true; return (this); } 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; } override public function update():void{ var _local3:Point; var _local4:Point; var _local5:Number; var _local6:Number; var _local7:Number; if (_position != 0){ return; }; super.update(); var _local1:Number = 1; var _local2:Number = 1; if (_core != null){ _local3 = new Point(); _local4 = new Point(); _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.elapsed); if (_fadeOutTimer <= 0){ if (_pauseOnFadeOut){ pause(); } else { stop(); }; }; _local2 = (_fadeOutTimer / _fadeOutTotal); if (_local2 < 0){ _local2 = 0; }; } else { if (_fadeInTimer > 0){ _fadeInTimer = (_fadeInTimer - FlxG.elapsed); _local2 = (_fadeInTimer / _fadeOutTotal); 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(); } protected function looped(_arg1:Event=null):void{ if (_channel == null){ return; }; _channel.removeEventListener(Event.SOUND_COMPLETE, looped); _channel = null; play(); } public function get volume():Number{ return (_volume); } function updateTransform():void{ _transform.volume = (((FlxG.getMuteValue() * FlxG.volume) * _volume) * _volumeAdjust); if (_channel != null){ _channel.soundTransform = _transform; }; } override public function destroy():void{ if (active){ stop(); }; } 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; }; }; }; _position = 0; } 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; } 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; dead = true; } public function proximity(_arg1:Number, _arg2:Number, _arg3:FlxCore, _arg4:Number, _arg5:Boolean=true):FlxSound{ x = _arg1; y = _arg2; _core = _arg3; _radius = _arg4; _pan = _arg5; return (this); } } }//package org.flixel
Section 201
//FlxSprite (org.flixel.FlxSprite) package org.flixel { import flash.geom.*; import flash.display.*; import org.flixel.data.*; public class FlxSprite extends FlxCore { protected var _facing:uint; protected var _caf:uint; protected var _animations:Array; protected var _ct:ColorTransform; public var origin:Point; protected var _curAnim:FlxAnim; public var angularDrag:Number; public var drag:Point; protected var _flipped:uint; public var scale:Point; public var blend:String; public var thrust:Number; public var health:Number; protected var _alpha:Number; public var maxVelocity:Point; protected var _color:uint; protected var _curFrame:uint; public var finished:Boolean; protected var _frameTimer:Number; public var acceleration:Point; public var angularAcceleration:Number; public var offset:Point; protected var _r2:Rectangle; protected var _callback:Function; protected var _framePixels:BitmapData; protected var _pixels:BitmapData; public var angle:Number; public var maxThrust:Number; public var velocity:Point; public var maxAngular:Number; public var angularVelocity:Number; protected var _bh:uint; protected var _p:Point; public var antialiasing:Boolean; protected var _mtx:Matrix; protected var _r:Rectangle; protected var _bw:uint; protected static const _pZero:Point = new Point(); 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:int=0, _arg2:int=0, _arg3:Class=null){ last.x = (x = _arg1); last.y = (y = _arg2); _p = new Point(); _r = new Rectangle(); _r2 = new Rectangle(); origin = new Point(); if (_arg3 == null){ createGraphic(8, 8); } else { loadGraphic(_arg3); }; offset = new Point(); velocity = new Point(); acceleration = new Point(); drag = new Point(); maxVelocity = new Point(10000, 10000); angle = 0; angularVelocity = 0; angularAcceleration = 0; angularDrag = 0; maxAngular = 10000; thrust = 0; scale = new Point(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(); health = 1; _callback = null; } function unsafeBind(_arg1:BitmapData):void{ _pixels = (_framePixels = _arg1); } public function hurt(_arg1:Number):void{ if ((health = (health - _arg1)) <= 0){ kill(); }; } protected function calcFrame():void{ var _local1:uint = (_caf * _bw); var _local2:uint; var _local3:uint = (_flipped) ? _flipped : _pixels.width; if (_local1 >= _local3){ _local2 = (uint((_local1 / _local3)) * _bh); _local1 = (_local1 % _local3); }; if (((_flipped) && ((_facing == LEFT)))){ _local1 = (((_flipped << 1) - _local1) - _bw); }; _r.x = _local1; _r.y = _local2; _framePixels.copyPixels(_pixels, _r, _pZero); _r.x = (_r.y = 0); if (_ct != null){ _framePixels.colorTransform(_r, _ct); }; if (_callback != null){ _callback(_curAnim.name, _curFrame, _caf); }; } public function loadGraphic(_arg1:Class, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:Boolean=false):FlxSprite{ _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 = (_bw = _arg4); if (_arg5 == 0){ if (_arg2){ _arg5 = width; } else { _arg5 = _pixels.height; }; }; height = (_bh = _arg5); resetHelpers(); return (this); } 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++; }; } override public function hitFloor(_arg1:FlxCore=null):Boolean{ velocity.y = 0; return (true); } protected function resetHelpers():void{ _r.x = 0; _r.y = 0; _r.width = _bw; _r.height = _bh; _r2.x = 0; _r2.y = 0; _r2.width = _pixels.width; _r2.height = _pixels.height; if ((((((_framePixels == null)) || (!((_framePixels.width == width))))) || (!((_framePixels.height == height))))){ _framePixels = new BitmapData(width, height); }; origin.x = (_bw / 2); origin.y = (_bh / 2); _framePixels.copyPixels(_pixels, _r, _pZero); } public function draw(_arg1:FlxSprite, _arg2:int=0, _arg3:int=0):void{ var _local4:BitmapData = _arg1._framePixels; if ((((((((_arg1.angle == 0)) && ((_arg1.scale.x == 1)))) && ((_arg1.scale.y == 1)))) && ((_arg1.blend == null)))){ _p.x = _arg2; _p.y = _arg3; _r2.width = _local4.width; _r2.height = _local4.height; _pixels.copyPixels(_local4, _r2, _p, null, null, true); _r2.width = _pixels.width; _r2.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 createGraphic(_arg1:uint, _arg2:uint, _arg3:uint=4294967295, _arg4:Boolean=false):FlxSprite{ _pixels = FlxG.createBitmap(_arg1, _arg2, _arg3, _arg4); width = (_bw = _pixels.width); height = (_bh = _pixels.height); resetHelpers(); return (this); } public function addAnimationCallback(_arg1:Function):void{ _callback = _arg1; } public function onEmit():void{ } public function set pixels(_arg1:BitmapData):void{ _pixels = _arg1; width = (_bw = _pixels.width); height = (_bh = _pixels.height); resetHelpers(); } public function specificFrame(_arg1:uint):void{ _curAnim = null; _caf = _arg1; calcFrame(); } public function get alpha():Number{ return (_alpha); } public function get color():uint{ return (_color); } public function randomFrame():void{ _curAnim = null; _caf = int((FlxG.random() * (_pixels.width / _bw))); calcFrame(); } public function fill(_arg1:uint):void{ _pixels.fillRect(_r2, _arg1); calcFrame(); } override public function render():void{ if (!visible){ return; }; getScreenXY(_p); if ((((((((angle == 0)) && ((scale.x == 1)))) && ((scale.y == 1)))) && ((blend == null)))){ FlxG.buffer.copyPixels(_framePixels, _r, _p, 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((_p.x + origin.x), (_p.y + origin.y)); FlxG.buffer.draw(_framePixels, _mtx, null, blend, null, antialiasing); } override public function hitCeiling(_arg1:FlxCore=null):Boolean{ velocity.y = 0; return (true); } public function get pixels():BitmapData{ return (_pixels); } public function set facing(_arg1:uint):void{ var _local2 = !((_facing == _arg1)); _facing = _arg1; if (_local2){ calcFrame(); }; } 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(); } 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(); } override public function update():void{ var _local1:Point; var _local2:Point; var _local3:Number; super.update(); if (!active){ return; }; if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){ _frameTimer = (_frameTimer + FlxG.elapsed); 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(); }; }; angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed)); if (thrust != 0){ _local1 = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle); _local2 = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle); _local3 = Math.abs(_local2.x); if (_local3 > Math.abs(_local2.y)){ _local2.y = _local3; } else { _local3 = Math.abs(_local2.y); }; maxVelocity.x = Math.abs(_local3); maxVelocity.y = Math.abs(_local3); } else { _local1 = _pZero; }; x = (x + ((velocity.x = FlxG.computeVelocity(velocity.x, (acceleration.x + _local1.x), drag.x, maxVelocity.x)) * FlxG.elapsed)); y = (y + ((velocity.y = FlxG.computeVelocity(velocity.y, (acceleration.y + _local1.y), drag.y, maxVelocity.y)) * FlxG.elapsed)); } public function get facing():uint{ return (_facing); } public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{ _animations.push(new FlxAnim(_arg1, _arg2, _arg3, _arg4)); } override public function getScreenXY(_arg1:Point=null):Point{ if (_arg1 == null){ _arg1 = new Point(); }; _arg1.x = (Math.floor((x - offset.x)) + Math.floor((FlxG.scroll.x * scrollFactor.x))); _arg1.y = (Math.floor((y - offset.y)) + Math.floor((FlxG.scroll.y * scrollFactor.y))); return (_arg1); } override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{ var _local4:Number = x; var _local5:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ _local4 = (_local4 - Math.floor((FlxG.scroll.x * (1 - scrollFactor.x)))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * (1 - scrollFactor.y)))); }; if (_arg3){ return (_framePixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _local4), (_arg2 - _local5)))); }; if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){ return (false); }; return (true); } override public function hitWall(_arg1:FlxCore=null):Boolean{ velocity.x = 0; return (true); } } }//package org.flixel
Section 202
//FlxState (org.flixel.FlxState) package org.flixel { import flash.display.*; public class FlxState extends Sprite { protected var _layer:FlxLayer; public static var screen:FlxSprite; public static var bgColor:uint; public function FlxState(){ _layer = new FlxLayer(); FlxG.state = this; if (screen == null){ screen = new FlxSprite(); screen.createGraphic(FlxG.width, FlxG.height, 0, true); screen.origin.x = (screen.origin.y = 0); screen.antialiasing = true; }; } public function add(_arg1:FlxCore):FlxCore{ return (_layer.add(_arg1)); } public function render():void{ _layer.render(); } public function update():void{ _layer.update(); } public function destroy():void{ _layer.destroy(); } public function preProcess():void{ screen.fill(bgColor); } public function postProcess():void{ } } }//package org.flixel
Section 203
//FlxText (org.flixel.FlxText) package org.flixel { import flash.geom.*; import flash.display.*; import flash.text.*; public class FlxText extends FlxSprite { protected var _regen:Boolean; protected var _tf:TextField; public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:String=null){ if (_arg4 == null){ _arg4 = ""; }; _tf = new TextField(); _tf.width = _arg3; _tf.height = 1; _tf.embedFonts = true; _tf.selectable = false; _tf.sharpness = 100; _tf.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); _tf.text = _arg4; super(_arg1, _arg2); createGraphic(_arg3, 1); _regen = true; calcFrame(); } public function get size():Number{ return ((_tf.defaultTextFormat.size as Number)); } public function get alignment():String{ return (_tf.defaultTextFormat.align); } public function set alignment(_arg1:String):void{ var _local2:TextFormat = dtfCopy(); _local2.align = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); calcFrame(); } public function set size(_arg1:Number):void{ var _local2:TextFormat = dtfCopy(); _local2.size = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } 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); } override protected function calcFrame():void{ var _local2:uint; var _local3:uint; if ((((((_tf == null)) || ((_tf.text == null)))) || ((_tf.text.length <= 0)))){ _framePixels.fillRect(_r, 0); return; }; if (_regen){ _local2 = _tf.numLines; height = 0; _local3 = 0; while (_local3 < _local2) { height = (height + _tf.getLineMetrics(_local3).height); _local3++; }; height = (height + 4); _framePixels = new BitmapData(width, height, true, 0); _bh = height; _tf.height = height; _r = new Rectangle(0, 0, width, height); _regen = false; } else { _framePixels.fillRect(_r, 0); }; var _local1:TextFormat = _tf.defaultTextFormat; _mtx.identity(); if ((((_local1.align == "center")) && ((_tf.numLines == 1)))){ _tf.setTextFormat(new TextFormat(_local1.font, _local1.size, _local1.color, null, null, null, null, null, "left")); _mtx.translate(Math.floor(((width - _tf.getLineMetrics(0).width) / 2)), 0); }; _framePixels.draw(_tf, _mtx, _ct); _tf.setTextFormat(new TextFormat(_local1.font, _local1.size, _local1.color, null, null, null, null, null, _local1.align)); } public function setFormat(_arg1:String=null, _arg2:Number=8, _arg3:uint=0xFFFFFF, _arg4:String=null):FlxText{ if (_arg1 == null){ _arg1 = ""; }; var _local5:TextFormat = dtfCopy(); _local5.font = _arg1; _local5.size = _arg2; _local5.align = _arg4; _tf.defaultTextFormat = _local5; _tf.setTextFormat(_local5); _regen = true; color = _arg3; calcFrame(); return (this); } public function set text(_arg1:String):void{ _tf.text = _arg1; _regen = true; calcFrame(); } public function set font(_arg1:String):void{ var _local2:TextFormat = dtfCopy(); _local2.font = _arg1; _tf.defaultTextFormat = _local2; _tf.setTextFormat(_local2); _regen = true; calcFrame(); } } }//package org.flixel
Section 204
//FlxTilemap (org.flixel.FlxTilemap) package org.flixel { import flash.geom.*; import flash.display.*; public class FlxTilemap extends FlxCore { protected var _tileWidth:uint; public var startingIndex:uint; protected var _screenRows:uint; protected var _data:Array; protected var _pixels:BitmapData; protected var _block:FlxCore; protected var _callbacks:Array; protected var _rects:Array; protected var _tileHeight:uint; public var totalTiles:uint; protected var _screenCols:uint; public var drawIndex:uint; public var auto:uint; protected var _p:Point; public var heightInTiles:uint; public var widthInTiles:uint; public var collideIndex:uint; 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 = new Array(); _p = new Point(); _tileWidth = 0; _tileHeight = 0; _rects = null; _pixels = null; _block = new FlxCore(); _block.width = (_block.height = 0); _block.fixed = true; _callbacks = new Array(); } public function setTileByIndex(_arg1:uint, _arg2:uint, _arg3:Boolean=true):void{ var _local4:uint; _data[_arg1] = _arg2; if (!_arg3){ return; }; if (auto == OFF){ updateTile(_arg1); return; }; var _local5:int = (int((_arg1 / widthInTiles)) - 1); var _local6:int = (_local5 + 3); var _local7:int = ((_arg1 % widthInTiles) - 1); var _local8:int = (_local7 + 3); while (_local5 < _local6) { _local7 = (_local8 - 3); while (_local7 < _local8) { if ((((((((_local5 >= 0)) && ((_local5 < heightInTiles)))) && ((_local7 >= 0)))) && ((_local7 < widthInTiles)))){ _local4 = ((_local5 * widthInTiles) + _local7); autoTile(_local4); updateTile(_local4); }; _local7++; }; _local5++; }; } public function getTileByIndex(_arg1:uint):uint{ return (_data[_arg1]); } public function setCallback(_arg1:uint, _arg2:Function, _arg3:uint=1):void{ if (_arg3 <= 0){ return; }; var _local4:uint = _arg1; while (_local4 < (_arg1 + _arg3)) { _callbacks[_local4] = _arg2; _local4++; }; } override public function overlaps(_arg1:FlxCore):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 < 0)) || ((_local11 >= heightInTiles)))){ break; }; _local3 = (((_local8 + _local11) * widthInTiles) + _local7); _local2 = 0; while (_local2 < _local9) { if ((((_local2 < 0)) || ((_local2 >= widthInTiles)))){ break; }; _local5 = _data[(_local3 + _local2)]; 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.last.x = (_block.x = _local6[_local4].x); _block.last.y = (_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; 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; }; 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 render():void{ var _local5:uint; var _local6:uint; super.render(); getScreenXY(_p); var _local1:int = Math.floor((-(_p.x) / _tileWidth)); var _local2:int = Math.floor((-(_p.y) / _tileHeight)); if (_local1 < 0){ _local1 = 0; }; if (_local1 > (widthInTiles - _screenCols)){ _local1 = (widthInTiles - _screenCols); }; if (_local2 < 0){ _local2 = 0; }; if (_local2 > (heightInTiles - _screenRows)){ _local2 = (heightInTiles - _screenRows); }; var _local3:int = ((_local2 * widthInTiles) + _local1); _p.x = (_p.x + (_local1 * _tileWidth)); _p.y = (_p.y + (_local2 * _tileHeight)); var _local4:int = _p.x; var _local7:uint; while (_local7 < _screenRows) { _local6 = _local3; _local5 = 0; while (_local5 < _screenCols) { if (_rects[_local6] != null){ FlxG.buffer.copyPixels(_pixels, _rects[_local6], _p, null, null, true); }; _local6++; _p.x = (_p.x + _tileWidth); _local5++; }; _local3 = (_local3 + widthInTiles); _p.x = _local4; _p.y = (_p.y + _tileHeight); _local7++; }; } public function ray(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Point, _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)] >= 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 Point(); }; _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 Point(); }; _arg5.x = _local19; _arg5.y = _local20; return (true); }; return (false); }; }; _local18++; }; return (false); } public function getTile(_arg1:uint, _arg2:uint):uint{ return (getTileByIndex(((_arg2 * widthInTiles) + _arg1))); } public function setTile(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean=true):void{ setTileByIndex(((_arg2 * widthInTiles) + _arg1), _arg3, _arg4); } public function follow():void{ FlxG.followBounds(x, y, width, height); } 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); } override public function collide(_arg1:FlxCore):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 < 0)) || ((_local11 >= heightInTiles)))){ break; }; _local3 = (((_local8 + _local11) * widthInTiles) + _local7); _local2 = 0; while (_local2 < _local9) { if ((((_local2 < 0)) || ((_local2 >= widthInTiles)))){ break; }; _local5 = _data[(_local3 + _local2)]; 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.last.x = (_block.x = _local6[_local4].x); _block.last.y = (_block.y = _local6[_local4].y); if (_block.collideX(_arg1)){ _local3 = _local6[_local4].data; if (_callbacks[_local3] != null){ var _local15 = _callbacks; _local15[_local3](_arg1, (_block.x / _tileWidth), (_block.y / _tileHeight), _local3); }; _local13 = true; }; _local4++; }; var _local14:Boolean; _local4 = 0; while (_local4 < _local12) { _block.last.x = (_block.x = _local6[_local4].x); _block.last.y = (_block.y = _local6[_local4].y); if (_block.collideY(_arg1)){ _local3 = _local6[_local4].data; if (_callbacks[_local3] != null){ _local15 = _callbacks; _local15[_local3](_arg1, (_block.x / _tileWidth), (_block.y / _tileHeight), _local3); }; _local14 = true; }; _local4++; }; return (((_local13) || (_local14))); } 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 205
//FlxTilemap_ImgAuto (org.flixel.FlxTilemap_ImgAuto) package org.flixel { import mx.core.*; public class FlxTilemap_ImgAuto extends BitmapAsset { } }//package org.flixel
Section 206
//FlxTilemap_ImgAutoAlt (org.flixel.FlxTilemap_ImgAutoAlt) package org.flixel { import mx.core.*; public class FlxTilemap_ImgAutoAlt extends BitmapAsset { } }//package org.flixel
Section 207
//_activeButtonStyleStyle (_activeButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 208
//_activeTabStyleStyle (_activeTabStyleStyle) package { import mx.core.*; import mx.styles.*; public class _activeTabStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".activeTabStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 209
//_alertButtonStyleStyle (_alertButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _alertButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".alertButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 734012; }; }; } } }//package
Section 210
//_comboDropdownStyle (_comboDropdownStyle) package { import mx.core.*; import mx.styles.*; public class _comboDropdownStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".comboDropdown", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.shadowDirection = "center"; this.fontWeight = "normal"; this.dropShadowEnabled = true; this.leading = 0; this.backgroundColor = 0xFFFFFF; this.shadowDistance = 1; this.cornerRadius = 0; this.borderThickness = 0; this.paddingLeft = 5; this.paddingRight = 5; }; }; } } }//package
Section 211
//_dataGridStylesStyle (_dataGridStylesStyle) package { import mx.core.*; import mx.styles.*; public class _dataGridStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dataGridStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 212
//_dateFieldPopupStyle (_dateFieldPopupStyle) package { import mx.core.*; import mx.styles.*; public class _dateFieldPopupStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".dateFieldPopup", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.dropShadowEnabled = true; this.backgroundColor = 0xFFFFFF; this.borderThickness = 0; }; }; } } }//package
Section 213
//_errorTipStyle (_errorTipStyle) package { import mx.core.*; import mx.styles.*; public class _errorTipStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".errorTip", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; this.borderStyle = "errorTipRight"; this.paddingTop = 4; this.borderColor = 13510953; this.color = 0xFFFFFF; this.fontSize = 9; this.shadowColor = 0; this.paddingLeft = 4; this.paddingBottom = 4; this.paddingRight = 4; }; }; } } }//package
Section 214
//_globalStyle (_globalStyle) package { import mx.core.*; import mx.styles.*; import mx.skins.halo.*; public class _globalStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration("global", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fillColor = 0xFFFFFF; this.kerning = false; this.iconColor = 0x111111; this.textRollOverColor = 2831164; this.horizontalAlign = "left"; this.shadowCapColor = 14015965; this.backgroundAlpha = 1; this.filled = true; this.textDecoration = "none"; this.roundedBottomCorners = true; this.fontThickness = 0; this.focusBlendMode = "normal"; this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE]; this.horizontalGap = 8; this.borderCapColor = 9542041; this.buttonColor = 7305079; this.indentation = 17; this.selectionDisabledColor = 0xDDDDDD; this.closeDuration = 250; this.embedFonts = false; this.paddingTop = 0; this.letterSpacing = 0; this.focusAlpha = 0.4; this.bevel = true; this.fontSize = 10; this.shadowColor = 0xEEEEEE; this.borderAlpha = 1; this.paddingLeft = 0; this.fontWeight = "normal"; this.indicatorGap = 14; this.focusSkin = HaloFocusRect; this.dropShadowEnabled = false; this.leading = 2; this.borderSkin = HaloBorder; this.fontSharpness = 0; this.modalTransparencyDuration = 100; this.borderThickness = 1; this.backgroundSize = "auto"; this.borderStyle = "inset"; this.borderColor = 12040892; this.fontAntiAliasType = "advanced"; this.errorColor = 0xFF0000; this.shadowDistance = 2; this.horizontalGridLineColor = 0xF7F7F7; this.stroked = false; this.modalTransparencyColor = 0xDDDDDD; this.cornerRadius = 0; this.verticalAlign = "top"; this.textIndent = 0; this.fillAlphas = [0.6, 0.4, 0.75, 0.65]; this.verticalGridLineColor = 14015965; this.themeColor = 40447; this.version = "3.0.0"; this.shadowDirection = "center"; this.modalTransparency = 0.5; this.repeatInterval = 35; this.openDuration = 250; this.textAlign = "left"; this.fontFamily = "Verdana"; this.textSelectedColor = 2831164; this.paddingBottom = 0; this.strokeWidth = 1; this.fontGridFitType = "pixel"; this.horizontalGridLines = false; this.useRollOver = true; this.verticalGridLines = true; this.repeatDelay = 500; this.fontStyle = "normal"; this.dropShadowColor = 0; this.focusThickness = 2; this.verticalGap = 6; this.disabledColor = 11187123; this.paddingRight = 0; this.focusRoundedCorners = "tl tr bl br"; this.borderSides = "left top right bottom"; this.disabledIconColor = 0x999999; this.modalTransparencyBlur = 3; this.color = 734012; this.selectionDuration = 250; this.highlightAlphas = [0.3, 0]; }; }; } } }//package
Section 215
//_headerDateTextStyle (_headerDateTextStyle) package { import mx.core.*; import mx.styles.*; public class _headerDateTextStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDateText", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 216
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle) package { import mx.core.*; import mx.styles.*; public class _headerDragProxyStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 217
//_linkButtonStyleStyle (_linkButtonStyleStyle) package { import mx.core.*; import mx.styles.*; public class _linkButtonStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".linkButtonStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 2; this.paddingLeft = 2; this.paddingBottom = 2; this.paddingRight = 2; }; }; } } }//package
Section 218
//_opaquePanelStyle (_opaquePanelStyle) package { import mx.core.*; import mx.styles.*; public class _opaquePanelStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".opaquePanel", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderColor = 0xFFFFFF; this.backgroundColor = 0xFFFFFF; this.headerColors = [0xE7E7E7, 0xD9D9D9]; this.footerColors = [0xE7E7E7, 0xC7C7C7]; this.borderAlpha = 1; }; }; } } }//package
Section 219
//_plainStyle (_plainStyle) package { import mx.core.*; import mx.styles.*; public class _plainStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".plain", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.paddingTop = 0; this.backgroundColor = 0xFFFFFF; this.backgroundImage = ""; this.horizontalAlign = "left"; this.paddingLeft = 0; this.paddingBottom = 0; this.paddingRight = 0; }; }; } } }//package
Section 220
//_popUpMenuStyle (_popUpMenuStyle) package { import mx.core.*; import mx.styles.*; public class _popUpMenuStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".popUpMenu", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "normal"; this.textAlign = "left"; }; }; } } }//package
Section 221
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle) package { import mx.core.*; import mx.styles.*; public class _richTextEditorTextAreaStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 222
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle) package { import mx.core.*; import mx.styles.*; public class _swatchPanelTextFieldStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.borderStyle = "inset"; this.borderColor = 14015965; this.highlightColor = 12897484; this.backgroundColor = 0xFFFFFF; this.shadowCapColor = 14015965; this.shadowColor = 14015965; this.paddingLeft = 5; this.buttonColor = 7305079; this.borderCapColor = 9542041; this.paddingRight = 5; }; }; } } }//package
Section 223
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaHScrollBarStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 224
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle) package { import mx.core.*; import mx.styles.*; public class _textAreaVScrollBarStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ }; }; } } }//package
Section 225
//_todayStyleStyle (_todayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _todayStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".todayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 0xFFFFFF; this.textAlign = "center"; }; }; } } }//package
Section 226
//_weekDayStyleStyle (_weekDayStyleStyle) package { import mx.core.*; import mx.styles.*; public class _weekDayStyleStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".weekDayStyle", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; this.textAlign = "center"; }; }; } } }//package
Section 227
//_windowStatusStyle (_windowStatusStyle) package { import mx.core.*; import mx.styles.*; public class _windowStatusStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStatus", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.color = 0x666666; }; }; } } }//package
Section 228
//_windowStylesStyle (_windowStylesStyle) package { import mx.core.*; import mx.styles.*; public class _windowStylesStyle { public static function init(_arg1:IFlexModuleFactory):void{ var fbs = _arg1; var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles"); if (!style){ style = new CSSStyleDeclaration(); StyleManager.setStyleDeclaration(".windowStyles", style, false); }; if (style.defaultFactory == null){ style.defaultFactory = function ():void{ this.fontWeight = "bold"; }; }; } } }//package
Section 229
//en_US$core_properties (en_US$core_properties) package { import mx.resources.*; public class en_US$core_properties extends ResourceBundle { public function en_US$core_properties(){ super("en_US", "core"); } override protected function getContent():Object{ var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."}; return (_local1); } } }//package
Section 230
//en_US$skins_properties (en_US$skins_properties) package { import mx.resources.*; public class en_US$skins_properties extends ResourceBundle { public function en_US$skins_properties(){ super("en_US", "skins"); } override protected function getContent():Object{ var _local1:Object = {notLoaded:"Unable to load '{0}'."}; return (_local1); } } }//package
Section 231
//en_US$styles_properties (en_US$styles_properties) package { import mx.resources.*; public class en_US$styles_properties extends ResourceBundle { public function en_US$styles_properties(){ super("en_US", "styles"); } override protected function getContent():Object{ var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."}; return (_local1); } } }//package
Section 232
//FlxLoaderBar (FlxLoaderBar) package { import flash.display.*; public dynamic class FlxLoaderBar extends BitmapData { public function FlxLoaderBar(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 233
//FlxLoaderFrame (FlxLoaderFrame) package { import flash.display.*; public dynamic class FlxLoaderFrame extends BitmapData { public function FlxLoaderFrame(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 234
//FlxLoaderPlay (FlxLoaderPlay) package { import flash.display.*; public dynamic class FlxLoaderPlay extends BitmapData { public function FlxLoaderPlay(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 235
//Hats (Hats) package { import org.flixel.*; import com.globalgamejam.Hats.*; public class Hats extends FlxGame { public function Hats():void{ super(320, 240, MenuState, 2); showLogo = false; FlxState.bgColor = 4278190080; useDefaultHotKeys = true; } } }//package
Section 236
//Preloader (Preloader) package { import com.newgrounds.components.*; public class Preloader extends FlxNGPreloader { public function Preloader(){ className = "Hats"; NewgroundsAPIId = "11112"; NewgroundsAPIEncryptionKey = "0175077c82144c46be87ebd64c4c36dd"; NewgroundsAPIShowAds = true; super(); } } }//package

Library Items

Symbol 1 GraphicUsed by:15
Symbol 2 FontUsed by:4
Symbol 3 FontUsed by:4
Symbol 4 TextUses:2 3Used by:15
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:15
Symbol 7 FontUsed by:8 14
Symbol 8 EditableTextUses:7Used by:15
Symbol 9 FontUsed by:10 11
Symbol 10 TextUses:9Used by:15
Symbol 11 EditableTextUses:9Used by:15
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:15
Symbol 14 EditableTextUses:7Used by:15
Symbol 15 MovieClip {com.newgrounds.components.MedalPopup} [com.newgrounds.components.MedalPopup]Uses:1 4 6 8 10 11 13 14
Symbol 16 Bitmap {FlxLoaderBar} [FlxLoaderBar]
Symbol 17 GraphicUsed by:31
Symbol 18 GraphicUsed by:19
Symbol 19 MovieClipUses:18Used by:31
Symbol 20 GraphicUsed by:31
Symbol 21 GraphicUsed by:24
Symbol 22 GraphicUsed by:24
Symbol 23 GraphicUsed by:24
Symbol 24 ButtonUses:21 22 23Used by:31
Symbol 25 BitmapUsed by:26
Symbol 26 GraphicUses:25Used by:31
Symbol 27 GraphicUsed by:31
Symbol 28 GraphicUsed by:31
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClip {NewgroundsAPI_fla.NewgroundsAPIAsset_Load_Indicator_3} [NewgroundsAPI_fla.NewgroundsAPIAsset_Load_Indicator_3]Uses:29Used by:31
Symbol 31 MovieClip {NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23} [NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23]Uses:17 19 20 24 26 27 28 30Used by:32
Symbol 32 MovieClip {com.newgrounds.components.FlashAd} [com.newgrounds.components.FlashAd]Uses:31
Symbol 33 Bitmap {FlxLoaderFrame} [FlxLoaderFrame]
Symbol 34 Bitmap {FlxLoaderPlay} [FlxLoaderPlay]
Symbol 35 Sound {org.flixel.FlxGame_SndFlixel} [org.flixel.FlxGame_SndFlixel]
Symbol 36 Sound {org.flixel.FlxGame_SndBeep} [org.flixel.FlxGame_SndBeep]
Symbol 37 Sound {com.globalgamejam.Hats.MenuState_SndHit2} [com.globalgamejam.Hats.MenuState_SndHit2]
Symbol 38 Sound {com.globalgamejam.Hats.MenuState_SndHit} [com.globalgamejam.Hats.MenuState_SndHit]
Symbol 39 Sound {com.globalgamejam.Hats.PlayStateTiles_SndMode} [com.globalgamejam.Hats.PlayStateTiles_SndMode]
Symbol 40 Sound {com.globalgamejam.Hats.PlayStateTiles_themeSong} [com.globalgamejam.Hats.PlayStateTiles_themeSong]
Symbol 41 Sound {com.globalgamejam.Hats.PlayStateTiles_SndVictory} [com.globalgamejam.Hats.PlayStateTiles_SndVictory]
Symbol 42 Sound {com.globalgamejam.Hats.SmallSoldier_SndHit} [com.globalgamejam.Hats.SmallSoldier_SndHit]
Symbol 43 Sound {com.globalgamejam.Hats.ArcherSoldier_Shot1} [com.globalgamejam.Hats.ArcherSoldier_Shot1]
Symbol 44 Sound {com.globalgamejam.Hats.VictoryState_SndMenu} [com.globalgamejam.Hats.VictoryState_SndMenu]
Symbol 45 Sound {com.globalgamejam.Hats.Player_SmokeShot} [com.globalgamejam.Hats.Player_SmokeShot]
Symbol 46 Sound {com.globalgamejam.Hats.Player_SndLand} [com.globalgamejam.Hats.Player_SndLand]
Symbol 47 Sound {com.globalgamejam.Hats.Player_SndShot} [com.globalgamejam.Hats.Player_SndShot]
Symbol 48 Sound {com.globalgamejam.Hats.Player_SndExplode} [com.globalgamejam.Hats.Player_SndExplode]
Symbol 49 Sound {com.globalgamejam.Hats.Player_Cloak} [com.globalgamejam.Hats.Player_Cloak]
Symbol 50 Sound {com.globalgamejam.Hats.Player_SndJump} [com.globalgamejam.Hats.Player_SndJump]
Symbol 51 Sound {com.globalgamejam.Hats.Player_SndSwitchHat} [com.globalgamejam.Hats.Player_SndSwitchHat]
Symbol 52 Sound {com.globalgamejam.Hats.Boulder_SndBoulder} [com.globalgamejam.Hats.Boulder_SndBoulder]
Symbol 53 Sound {com.globalgamejam.Hats.SmokeBomb_SmokeLand} [com.globalgamejam.Hats.SmokeBomb_SmokeLand]
Symbol 54 Sound {com.globalgamejam.Hats.Bullet_SndShoot} [com.globalgamejam.Hats.Bullet_SndShoot]
Symbol 55 Sound {com.globalgamejam.Hats.Bullet_SndHit} [com.globalgamejam.Hats.Bullet_SndHit]
Symbol 56 Sound {com.globalgamejam.Hats.LargeSoldier_Hurt1} [com.globalgamejam.Hats.LargeSoldier_Hurt1]
Symbol 57 Sound {com.globalgamejam.Hats.LargeSoldier_Hurt2} [com.globalgamejam.Hats.LargeSoldier_Hurt2]
Symbol 58 Sound {com.globalgamejam.Hats.LargeSoldier_Hurt3} [com.globalgamejam.Hats.LargeSoldier_Hurt3]
Symbol 59 Bitmap {com.globalgamejam.Hats.MenuState_ImgHats}
Symbol 60 Bitmap {org.flixel.data.FlxPanel_ImgReddit}
Symbol 61 Bitmap {com.globalgamejam.Hats.SmallSoldier_ImgSoldier}
Symbol 62 Bitmap {org.flixel.data.FlxPanel_ImgDelicious}
Symbol 63 Bitmap {com.globalgamejam.Hats.Hat_ImgCamo}
Symbol 64 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap9}
Symbol 65 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap7}
Symbol 66 Bitmap {org.flixel.data.FlxPause_ImgKey0}
Symbol 67 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap8}
Symbol 68 Bitmap {org.flixel.data.FlxPanel_ImgStumble}
Symbol 69 Bitmap {org.flixel.data.FlxPause_ImgKeyPlus}
Symbol 70 Bitmap {org.flixel.FlxGame_ImgPoweredBy}
Symbol 71 Bitmap {com.globalgamejam.Hats.Hat_ImgNoise}
Symbol 72 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap2}
Symbol 73 Bitmap {org.flixel.FlxTilemap_ImgAutoAlt}
Symbol 74 Bitmap {com.globalgamejam.Hats.SoundBomb_ImgSound}
Symbol 75 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap6}
Symbol 76 Bitmap {com.globalgamejam.Hats.Hat_ImgBunny}
Symbol 77 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap5}
Symbol 78 Bitmap {com.globalgamejam.Hats.Bullet_ImgBullet}
Symbol 79 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap4}
Symbol 80 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap3}
Symbol 81 Bitmap {org.flixel.data.FlxPanel_ImgClose}
Symbol 82 Bitmap {org.flixel.data.FlxPause_ImgKeyMinus}
Symbol 83 Bitmap {org.flixel.data.FlxPause_ImgKeyP}
Symbol 84 Font {org.flixel.FlxGame_junk}
Symbol 85 Bitmap {com.globalgamejam.Hats.LargeSoldier_ImgSoldier}
Symbol 86 Bitmap {com.globalgamejam.Hats.Boulder_ImgBoulder}
Symbol 87 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap13}
Symbol 88 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap12}
Symbol 89 Bitmap {com.globalgamejam.Hats.SmallSoldier_ImgGibs}
Symbol 90 Bitmap {com.globalgamejam.Hats.Player_ImgGibs}
Symbol 91 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap11}
Symbol 92 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap10}
Symbol 93 BinaryData {com.globalgamejam.Hats.PlayStateTiles_TxtMap}
Symbol 94 Bitmap {com.globalgamejam.Hats.MenuState_ImgCursor}
Symbol 95 Bitmap {com.globalgamejam.Hats.PlayStateTiles_ImgTiles}
Symbol 96 Bitmap {org.flixel.FlxG_ImgDefaultCursor}
Symbol 97 Bitmap {org.flixel.data.FlxPanel_ImgDonate}
Symbol 98 Bitmap {com.globalgamejam.Hats.Player_ImgSpaceman}
Symbol 99 Bitmap {org.flixel.data.FlxPanel_ImgTwitter}
Symbol 100 Bitmap {com.globalgamejam.Hats.DeadLargeSoldier_ImgBlock}
Symbol 101 Bitmap {org.flixel.data.FlxPanel_ImgDigg}
Symbol 102 Bitmap {com.globalgamejam.Hats.LargeSoldier_ImgGibs}
Symbol 103 Bitmap {com.globalgamejam.Hats.ArcherSoldier_ImgArrow}
Symbol 104 Bitmap {com.globalgamejam.Hats.Hat_ImgSpring}
Symbol 105 Bitmap {org.flixel.FlxTilemap_ImgAuto}
Symbol 106 Bitmap {com.globalgamejam.Hats.Hat_ImgSmoke}
Symbol 107 Bitmap {com.globalgamejam.Hats.ArcherSoldier_ImgSoldier}
Symbol 108 Bitmap {com.globalgamejam.Hats.Player_ImgSmoke}

Instance Names

"medalNameText"Symbol 15 MovieClip {com.newgrounds.components.MedalPopup} [com.newgrounds.components.MedalPopup] Frame 10Symbol 8 EditableText
"medalValueText"Symbol 15 MovieClip {com.newgrounds.components.MedalPopup} [com.newgrounds.components.MedalPopup] Frame 10Symbol 11 EditableText
"medalContainer"Symbol 15 MovieClip {com.newgrounds.components.MedalPopup} [com.newgrounds.components.MedalPopup] Frame 10Symbol 13 MovieClip
"adMask"Symbol 31 MovieClip {NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23} [NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23] Frame 1Symbol 19 MovieClip
"ngLinkButton"Symbol 31 MovieClip {NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23} [NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23] Frame 1Symbol 24 Button
"background"Symbol 32 MovieClip {com.newgrounds.components.FlashAd} [com.newgrounds.components.FlashAd] Frame 1Symbol 31 MovieClip {NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23} [NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23]

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1458 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 15 as "com.newgrounds.components.MedalPopup"
ExportAssets (56)Timeline Frame 1Symbol 16 as "FlxLoaderBar"
ExportAssets (56)Timeline Frame 1Symbol 32 as "com.newgrounds.components.FlashAd"
ExportAssets (56)Timeline Frame 1Symbol 33 as "FlxLoaderFrame"
ExportAssets (56)Timeline Frame 1Symbol 34 as "FlxLoaderPlay"
ExportAssets (56)Timeline Frame 1Symbol 31 as "NewgroundsAPI_fla.NewgroundsAPIAsset_FlashAd_Container_23"
ExportAssets (56)Timeline Frame 1Symbol 30 as "NewgroundsAPI_fla.NewgroundsAPIAsset_Load_Indicator_3"
ExportAssets (56)Timeline Frame 2Symbol 35 as "org.flixel.FlxGame_SndFlixel"
ExportAssets (56)Timeline Frame 2Symbol 36 as "org.flixel.FlxGame_SndBeep"
ExportAssets (56)Timeline Frame 2Symbol 37 as "com.globalgamejam.Hats.MenuState_SndHit2"
ExportAssets (56)Timeline Frame 2Symbol 38 as "com.globalgamejam.Hats.MenuState_SndHit"
ExportAssets (56)Timeline Frame 2Symbol 39 as "com.globalgamejam.Hats.PlayStateTiles_SndMode"
ExportAssets (56)Timeline Frame 2Symbol 40 as "com.globalgamejam.Hats.PlayStateTiles_themeSong"
ExportAssets (56)Timeline Frame 2Symbol 41 as "com.globalgamejam.Hats.PlayStateTiles_SndVictory"
ExportAssets (56)Timeline Frame 2Symbol 42 as "com.globalgamejam.Hats.SmallSoldier_SndHit"
ExportAssets (56)Timeline Frame 2Symbol 43 as "com.globalgamejam.Hats.ArcherSoldier_Shot1"
ExportAssets (56)Timeline Frame 2Symbol 44 as "com.globalgamejam.Hats.VictoryState_SndMenu"
ExportAssets (56)Timeline Frame 2Symbol 45 as "com.globalgamejam.Hats.Player_SmokeShot"
ExportAssets (56)Timeline Frame 2Symbol 46 as "com.globalgamejam.Hats.Player_SndLand"
ExportAssets (56)Timeline Frame 2Symbol 47 as "com.globalgamejam.Hats.Player_SndShot"
ExportAssets (56)Timeline Frame 2Symbol 48 as "com.globalgamejam.Hats.Player_SndExplode"
ExportAssets (56)Timeline Frame 2Symbol 49 as "com.globalgamejam.Hats.Player_Cloak"
ExportAssets (56)Timeline Frame 2Symbol 50 as "com.globalgamejam.Hats.Player_SndJump"
ExportAssets (56)Timeline Frame 2Symbol 51 as "com.globalgamejam.Hats.Player_SndSwitchHat"
ExportAssets (56)Timeline Frame 2Symbol 52 as "com.globalgamejam.Hats.Boulder_SndBoulder"
ExportAssets (56)Timeline Frame 2Symbol 53 as "com.globalgamejam.Hats.SmokeBomb_SmokeLand"
ExportAssets (56)Timeline Frame 2Symbol 54 as "com.globalgamejam.Hats.Bullet_SndShoot"
ExportAssets (56)Timeline Frame 2Symbol 55 as "com.globalgamejam.Hats.Bullet_SndHit"
ExportAssets (56)Timeline Frame 2Symbol 56 as "com.globalgamejam.Hats.LargeSoldier_Hurt1"
ExportAssets (56)Timeline Frame 2Symbol 57 as "com.globalgamejam.Hats.LargeSoldier_Hurt2"
ExportAssets (56)Timeline Frame 2Symbol 58 as "com.globalgamejam.Hats.LargeSoldier_Hurt3"
SerialNumber (41)Timeline Frame 126 bytes "..........d'......}^ 5'..."

Labels

"Preloader"Frame 1
"Hats"Frame 2
"medal_show"Symbol 15 MovieClip {com.newgrounds.components.MedalPopup} [com.newgrounds.components.MedalPopup] Frame 2
"medal_hide"Symbol 15 MovieClip {com.newgrounds.components.MedalPopup} [com.newgrounds.components.MedalPopup] Frame 11




http://swfchan.com/20/99922/info.shtml
Created: 21/3 -2019 14:46:47 Last modified: 21/3 -2019 14:46:47 Server time: 08/05 -2024 11:42:42