Section 1
//NewgroundsAPIAsset_API_Conencted_4 (APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_API_Conencted_4 extends MovieClip {
public function NewgroundsAPIAsset_API_Conencted_4(){
addFrameScript(36, this.frame37);
}
function frame37(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 2
//NewgroundsAPIAsset_ConnectingAPI_2 (APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2)
package APIConnector_fla {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_ConnectingAPI_2 extends MovieClip {
public function NewgroundsAPIAsset_ConnectingAPI_2(){
addFrameScript(9, this.frame10);
}
function frame10(){
stop();
}
}
}//package APIConnector_fla
Section 3
//NewgroundsAPIAsset_Connection_Error_7 (APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Connection_Error_7 extends MovieClip {
public function NewgroundsAPIAsset_Connection_Error_7(){
addFrameScript(9, this.frame10, 20, this.frame21);
}
function frame10(){
stop();
}
function frame21(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 4
//NewgroundsAPIAsset_Load_Indicator_3 (APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3)
package APIConnector_fla {
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip {
public function NewgroundsAPIAsset_Load_Indicator_3(){
addFrameScript(0, this.frame1);
}
public function onEnterFrame(_arg1:Event):void{
if (((visible) && (stage))){
rotation = (rotation + 30);
} else {
removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
};
}
function frame1(){
addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
}
}
}//package APIConnector_fla
Section 5
//NewgroundsAPIAsset_Login_Warning_5 (APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Login_Warning_5 extends MovieClip {
public function NewgroundsAPIAsset_Login_Warning_5(){
addFrameScript(9, this.frame10, 20, this.frame21);
}
function frame10(){
stop();
}
function frame21(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 6
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
public static function hash(_arg1:String):String{
var _local2:ByteArray = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
public static function hashBytes(_arg1:ByteArray):String{
return (hashBinary(_arg1));
}
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 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 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 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 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));
}
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));
}
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);
}
}
}//package com.adobe.crypto
Section 7
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class PNGEncoder {
private static var crcTable:Array;
private static var crcTableComputed:Boolean = false;
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);
}
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);
}
}
}//package com.adobe.images
Section 8
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder = new JSONEncoder(_arg1);
return (_local2.getString());
}
public static function decode(_arg1:String){
var _local2:JSONDecoder = new JSONDecoder(_arg1);
return (_local2.getValue());
}
}
}//package com.adobe.serialization.json
Section 9
//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();
}
public function getValue(){
return (this.value);
}
private function nextToken():JSONToken{
return ((this.token = this.tokenizer.getNextToken()));
}
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);
}
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);
}
}
}//package com.adobe.serialization.json
Section 10
//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);
}
public function getString():String{
return (this.jsonString);
}
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");
}
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) + "]"));
}
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) + "}"));
}
}
}//package com.adobe.serialization.json
Section 11
//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 12
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _type:int;
private var _value:Object;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
this._type = _arg1;
this._value = _arg2;
}
public function get type():int{
return (this._type);
}
public function set type(_arg1:int):void{
this._type = _arg1;
}
public function get value():Object{
return (this._value);
}
public function set value(_arg1:Object):void{
this._value = _arg1;
}
}
}//package com.adobe.serialization.json
Section 13
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var obj:Object;
private var jsonString:String;
private var loc:int;
private var ch:String;
public function JSONTokenizer(_arg1:String){
this.jsonString = _arg1;
this.loc = 0;
this.nextChar();
}
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 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 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);
}
private function nextChar():String{
return ((this.ch = this.jsonString.charAt(this.loc++)));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = this.loc;
this.skipWhite();
this.skipComments();
} while (_local1 != this.loc);
}
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 skipWhite():void{
while (this.isWhiteSpace(this.ch)) {
this.nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String = _arg1.toUpperCase();
return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, this.loc, this.jsonString));
}
}
}//package com.adobe.serialization.json
Section 14
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACE:int = 1;
public static const RIGHT_BRACE:int = 2;
public static const LEFT_BRACKET:int = 3;
public static const RIGHT_BRACKET:int = 4;
public static const COLON:int = 6;
public static const TRUE:int = 7;
public static const FALSE:int = 8;
public static const NULL:int = 9;
public static const STRING:int = 10;
public static const NUMBER:int = 11;
}
}//package com.adobe.serialization.json
Section 15
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
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);
}
}
}//package com.adobe.utils
Section 16
//APIConnector (com.newgrounds.components.APIConnector)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class APIConnector extends MovieClip {
public var errorDialog:MovieClip;
public var background:MovieClip;
public var viewLatestButton:SimpleButton;
public var closeButton:SimpleButton;
public var viewAuthorizedButton:SimpleButton;
private var _initialized:Boolean;
private var _movieId:String;
private var _encryptionKey:String;
private var _movieVersion:String;
private var _showConnectingPopup:Boolean;// = true
private var _useErrorPopup:Boolean;// = true
private var _medalPopup:MedalPopup;
private var _popDelay:Timer;
public function APIConnector(){
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 6, this.frame7, 7, this.frame8);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
this.useErrorPopup = true;
this.useMedalPopup = true;
this._popDelay.addEventListener(TimerEvent.TIMER, this.errorTimerHandler);
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
if (stage){
addEventListener(Event.RENDER, this.renderHandler);
stage.invalidate();
} else {
this.clear();
};
}
public function get movieId():String{
return (this._movieId);
}
public function set movieId(_arg1:String):void{
this._movieId = _arg1;
}
public function get encryptionKey():String{
return (this._encryptionKey);
}
public function set encryptionKey(_arg1:String):void{
this._encryptionKey = _arg1;
}
public function get movieVersion():String{
return (this._movieVersion);
}
public function set movieVersion(_arg1:String):void{
this._movieVersion = _arg1;
}
public function get debugMode():Boolean{
return (API.debugMode);
}
public function set debugMode(_arg1:Boolean):void{
API.debugMode = true;
}
public function get useMedalPopup():Boolean{
return (!((this._medalPopup == null)));
}
public function set useMedalPopup(_arg1:Boolean):void{
if (((_arg1) && (!(this._medalPopup)))){
this._medalPopup = new MedalPopup();
addChild(this._medalPopup);
} else {
if (((!(_arg1)) && (this._medalPopup))){
removeChild(this._medalPopup);
this._medalPopup = null;
};
};
}
public function get useErrorPopup():Boolean{
return (this._useErrorPopup);
}
public function set useErrorPopup(_arg1:Boolean):void{
this._useErrorPopup = _arg1;
API.addEventListener(APIEvent.API_CONNECTED, this.movieConnectedHandler);
if (this._useErrorPopup){
API.addEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.addEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
} else {
API.removeEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.removeEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
};
}
public function get showConnectingPopup():Boolean{
return (this._showConnectingPopup);
}
public function set showConnectingPopup(_arg1:Boolean):void{
this._showConnectingPopup = _arg1;
if (((!(_arg1)) && ((((currentLabel == "connecting")) || ((currentLabel == "connected")))))){
this.clear();
};
}
public function clear():void{
gotoAndStop("idle");
}
public function connect():void{
API.setVersion(this._movieVersion);
API.connect(root.loaderInfo, this._movieId, this._encryptionKey);
visible = true;
if (this.showConnectingPopup){
gotoAndStop("connecting");
};
}
private function renderHandler(_arg1:Event):void{
removeEventListener(Event.RENDER, this.renderHandler);
this.clear();
this.connect();
}
private function movieConnectedHandler(_arg1:APIEvent):void{
if (_arg1.success){
if (((((((API.isPublishedHost()) && (API.IsCompatible()))) && (!(API.hasUserSession())))) && (!(API.debugMode)))){
gotoAndStop("no_login");
this._popDelay.start();
visible = true;
} else {
if (this.showConnectingPopup){
gotoAndStop("connected");
};
};
} else {
gotoAndStop("no_connect");
this._popDelay.start();
visible = true;
};
}
private function newVersionAvailableHandler(_arg1:APIEvent):void{
gotoAndStop("new_version");
visible = true;
this.centerOnStage();
}
private function hostBlockedHandler(_arg1:APIEvent):void{
gotoAndStop("bad_host");
visible = true;
this.centerOnStage();
}
private function closeButtonClickHandler(_arg1:Event):void{
this.clear();
}
private function officialVersionClickHandler(_arg1:Event):void{
API.loadOfficialVersion();
}
private function enterFrameHandler(_arg1:Event):void{
this.forceAlwaysOnTop();
}
private function initButtons():void{
if (this.viewLatestButton){
this.viewLatestButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.viewAuthorizedButton){
this.viewAuthorizedButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.closeButton){
this.closeButton.addEventListener(MouseEvent.CLICK, this.closeButtonClickHandler);
};
}
private function forceAlwaysOnTop():void{
var myIndex:uint;
var topIndex:uint;
if (((parent) && (visible))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(e:Error) {
};
};
}
private function centerOnStage():void{
if (stage){
x = (stage.stageWidth / 2);
y = (stage.stageHeight / 2);
};
}
private function errorTimerHandler(_arg1:TimerEvent):void{
if (this.errorDialog){
this.errorDialog.gotoAndPlay("closeme");
} else {
this.clear();
};
}
function frame1(){
stop();
}
function frame7(){
this.initButtons();
}
function frame8(){
this.initButtons();
}
}
}//package com.newgrounds.components
Section 17
//FlashAd (com.newgrounds.components.FlashAd)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class FlashAd extends Sprite {
public var background:MovieClip;
private var _showBackground:Boolean;
private var _adURLLoader:URLLoader;
private var _adRect:Sprite;
private var _mask:Shape;
private var _ad:Loader;
private static const DEBUG_AD_URL:String = "http://www.ngads.com/adtest.php";
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;
}
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;
};
}
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 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 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 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;
};
}
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));
}
private function onRemovedFromStage(_arg1:Event):void{
this.removeAd();
}
private function get hasAdElapsed():Boolean{
if (getTimer() >= _adResetTime){
_adResetTime = (getTimer() + ((1000 * 60) * 5));
return (true);
};
return (false);
}
private function linkClickHandler(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
}
}//package com.newgrounds.components
Section 18
//MedalPopup (com.newgrounds.components.MedalPopup)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class MedalPopup extends MovieClip {
public var medalNameText:TextField;
public var medalValueText:TextField;
public var medalContainer:Sprite;
private var _initialized:Boolean;
private var _medal:Medal;
private var _medalIcon:Bitmap;
private var _medalQueue:Array;
private var _popDelay:Timer;
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);
}
public function get popupTime():Number{
return ((this._popDelay.delay / 1000));
}
public function set popupTime(_arg1:Number):void{
if (isNaN(_arg1)){
_arg1 = 3;
};
this._popDelay.delay = (_arg1 * 1000);
}
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) {
};
};
}
private function onMedalUnlocked(_arg1:APIEvent):void{
if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data is Medal)))){
this._medalQueue.push(Medal(_arg1.data));
};
}
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();
}
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();
}
function frame1(){
stop();
}
function frame10(){
this.showMedalInfo();
stop();
}
function frame19(){
stop();
visible = false;
}
}
}//package com.newgrounds.components
Section 19
//PreloaderBar (com.newgrounds.components.PreloaderBar)
package com.newgrounds.components {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class PreloaderBar extends MovieClip {
public var bar:DisplayObject;
public var playButton:DisplayObject;
private var _autoPlay:Boolean;// = false
public function PreloaderBar(){
addFrameScript(51, this.frame52);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
gotoAndStop("LOAD");
if (this.bar){
this.bar.scaleX = 0;
};
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
}
public function onPlayButtonClicked(_arg1:MouseEvent):void{
this.startMovie();
}
public function get autoPlay():Boolean{
return (this._autoPlay);
}
public function set autoPlay(_arg1:Boolean):void{
this._autoPlay = _arg1;
}
private function enterFrameHandler(_arg1:Event):void{
var _local2:Number;
if (((root) && (root.loaderInfo))){
if ((root is MovieClip)){
MovieClip(root).stop();
};
_local2 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
if (this.bar){
this.bar.scaleX = _local2;
};
if (_local2 == 1){
removeEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
if (this.autoPlay){
this.startMovie();
} else {
gotoAndPlay("COMPLETE_STOP");
};
};
};
}
private function playButtonReady():void{
stop();
if (this.playButton){
this.playButton.addEventListener(MouseEvent.CLICK, this.playButtonClicked);
} else {
this.startMovie();
};
}
private function playButtonClicked(_arg1:MouseEvent):void{
this.startMovie();
}
private function startMovie():void{
if (((root) && ((root is MovieClip)))){
MovieClip(root).play();
};
dispatchEvent(new Event(Event.COMPLETE));
}
function frame52(){
stop();
if (this.playButton){
this.playButton.addEventListener(MouseEvent.CLICK, this.onPlayButtonClicked);
} else {
this.startMovie();
};
}
}
}//package com.newgrounds.components
Section 20
//ScoreTable (com.newgrounds.components.ScoreTable)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class ScoreTable extends MovieClip {
public var boardNameText:TextField;
public var ngLinkButton:DisplayObject;
public var scoreRows:Sprite;
public var periodList:MovieClip;
private var _period:String;// = "Today"
private var _boardName:String;// = "High Scores"
public static const RESULTS_PER_PAGE:uint = 10;
public function ScoreTable(_arg1:String="High Scores", _arg2:String="Today"){
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
stop();
if (((_arg1) && (!((_arg1 == ""))))){
this._boardName = _arg1;
};
if (stage){
addEventListener(Event.RENDER, this.renderHandler);
stage.invalidate();
} else {
this.init();
this.loadScores();
};
}
public function get boardName():String{
return (this._boardName);
}
public function set boardName(_arg1:String):void{
if (((this.boardName) && (!((this.boardName == ""))))){
this._boardName = _arg1;
} else {
this.boardName = "High Scores";
};
}
public function get period():String{
return (this._period);
}
public function set period(_arg1:String):void{
this._period = _arg1;
}
private function init():void{
stop();
this.clearBoard();
this._period = this.period;
if (this.periodList){
this.periodList.buttonMode = true;
this.periodList.useHandCursor = true;
this.periodList.gotoAndStop("listIdle");
this.periodList.addEventListener(MouseEvent.CLICK, this.periodListClickHandler);
};
if (this.ngLinkButton){
this.ngLinkButton.addEventListener(MouseEvent.CLICK, this.onNgLinkClicked);
};
}
private function onNgLinkClicked(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
private function renderHandler(_arg1:Event):void{
removeEventListener(Event.RENDER, this.renderHandler);
this.init();
this.loadScores();
}
private function periodListClickHandler(_arg1:MouseEvent):void{
if (!this.periodList){
return;
};
if (this.periodList.currentLabel == "listIdle"){
this.periodList.gotoAndStop("listSelecting");
} else {
if (_arg1.target == this.periodList.period0){
this.period = ScoreBoardPeriod.TODAY;
this.loadScores();
} else {
if (_arg1.target == this.periodList.period1){
this.period = ScoreBoardPeriod.WEEK;
this.loadScores();
} else {
if (_arg1.target == this.periodList.period2){
this.period = ScoreBoardPeriod.MONTH;
this.loadScores();
} else {
if (_arg1.target == this.periodList.period3){
this.period = ScoreBoardPeriod.YEAR;
this.loadScores();
} else {
if (_arg1.target == this.periodList.period4){
this.period = ScoreBoardPeriod.ALL_TIME;
this.loadScores();
};
};
};
};
};
this.periodList.gotoAndStop("listIdle");
};
}
private function clearBoard():void{
var _local2:MovieClip;
if (!this.scoreRows){
return;
};
var _local1:uint;
while (_local1 < RESULTS_PER_PAGE) {
_local2 = this.scoreRows[("score_row_" + _local1)];
if (_local2){
_local2.gotoAndStop(((_local1 % 2) + 1));
if (_local2.positionText){
_local2.positionText.text = "";
};
if (_local2.usernameText){
_local2.usernameText.text = "";
};
if (_local2.scoreText){
_local2.scoreText.text = "";
};
};
_local1++;
};
}
public function loadScores(_arg1:uint=1):void{
this.clearBoard();
if (((this.periodList) && (this.periodList.periodText))){
this.periodList.periodText.text = this._period;
};
if (this.boardNameText){
this.boardNameText.text = this._boardName;
};
var _local2:ScoreBoard = API.getScoreBoardByName(this._boardName);
if (!_local2){
trace((("[WARNING] :: Could not initialize the scoreboard for '" + this._boardName) + "'"));
return;
};
API.addEventListener(APIEvent.SCORES_LOADED, this.onScoresLoaded, false, 0, true);
_local2.loadScores(this._period, _arg1, RESULTS_PER_PAGE);
}
private function onScoresLoaded(_arg1:APIEvent):void{
var _local4:MovieClip;
API.removeEventListener(APIEvent.SCORES_LOADED, this.onScoresLoaded);
var _local2:ScoreBoard = (_arg1.data as ScoreBoard);
if (((((!(_arg1.success)) || (!(_local2)))) || (!(_local2.scores)))){
this.clearBoard();
return;
};
if (!this.scoreRows){
return;
};
var _local3:uint;
while (_local3 < RESULTS_PER_PAGE) {
_local4 = this.scoreRows[("score_row_" + _local3)];
if (((_local4) && (_local2.scores[_local3]))){
if (_local4.positionText){
_local4.positionText.text = (_local2.scores[_local3].position.toString() + ":");
};
if (_local4.usernameText){
_local4.usernameText.text = _local2.scores[_local3].username;
};
if (_local4.scoreText){
_local4.scoreText.text = _local2.scores[_local3].value.toString();
};
};
_local3++;
};
}
}
}//package com.newgrounds.components
Section 21
//API (com.newgrounds.API)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import com.newgrounds.components.*;
import flash.utils.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.adobe.images.*;
import com.adobe.crypto.*;
import flash.system.*;
public class API {
public static const VERSION:String = "2.3";
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php";
private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/";
private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/";
private static var do_echo:Boolean = false;
private static var _debug:Boolean = true;
private static var _connected:Boolean = false;
private static var _isMetadataLoaded:Boolean = false;
private static var _preloadComplete:Boolean = false;
private static var _adsApproved:Boolean = false;
private static var _saveGroupId:uint;
private static var _saveFileId:uint;
private static var _trackerId:uint;
private static var _movieId:String;
private static var _encryptionKey:String;
private static var _url:String;
private static var _host:String;
private static var connected:Boolean;
private static var version:String;
private static var ad_url:String;
private static var publisher_id:uint;
private static var session_id:String;
private static var user_email:String;
private static var user_name:String;
private static var user_id:uint;
private static var userpage_format:String;
private static var _medals:Array;
private static var timeoutTimer:Timer = new Timer(8000, 1);
private static var _userpageFormat:String;
private static var _scoreboards:Array = new Array();
private static var _bridge:Bridge;
private static var _saveFile:SaveFile;
private static var _imageFilePath:String;
private static var _saveFilePath:String;
private static var _saveGroups:Array = [];
private static var root:DisplayObject;
private static var _eventDispatcher:EventDispatcher = new EventDispatcher();
private static var score_page_counts:Object = new Object();
private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
private static var compressor:BaseN = new BaseN(compression_radix);
public static var errors:Dictionary = APIError.init_codes();
private static var sharedObjects:Dictionary = new Dictionary();
private static var _preloadAssets:Array = [];
public static var periods:Object = getPeriodAliases();
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 secureCommand:String;
public static function get adFeedURL():String{
return (ad_url);
}
public static function get preloadComplete():Boolean{
return (_preloadComplete);
}
private static function assertConnected():Boolean{
if (!_connected){
return (false);
};
return (true);
}
public static function setVersion(_arg1:String):void{
if (((_arg1) && (!((_arg1 == ""))))){
version = _arg1;
};
}
public static function setUserEmail(_arg1:String):void{
user_email = _arg1;
}
public static function get debugMode():Boolean{
return (_debug);
}
public static function set debugMode(_arg1:Boolean):void{
_debug = _arg1;
}
public static function getTrackerID():uint{
return (_trackerId);
}
public static function getUserID():uint{
return (user_id);
}
public static function getUserName():String{
return (user_name);
}
public static function isConnected():Boolean{
return (_connected);
}
public static function getOfficialURL():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 get adsApproved():Boolean{
return (_adsApproved);
}
public static function hasUserSession():Boolean{
return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0)))));
}
public static function isNewgrounds():Boolean{
return ((((publisher_id == 1)) || ((getHost().toLowerCase().indexOf("ungrounded.net") > -1))));
}
public static function IsCompatible():Boolean{
return (!((publisher_id == 0)));
}
public static function hasUserEmail():Boolean{
return (((!((user_email == null))) && (!((user_email == "")))));
}
public static function connectionTimeOut(_arg1:Event=null):void{
dispatchEvent(new APIEvent(APIEvent.API_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out.")));
}
public static function connect(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{
var loaderInfo = _arg1;
var m_id = _arg2;
var encrypt_key = _arg3;
if (!loaderInfo){
fatalError("Null loaderInfo paremeter passed in to connectMovie!", "");
return;
};
try {
if (loaderInfo.loader){
loaderInfo = loaderInfo.loader.loaderInfo;
};
} catch(error:Error) {
};
_url = loaderInfo.url;
_host = _url;
if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){
_host = _host.split("/")[2].toLowerCase();
} else {
_host = "localhost";
};
var flashVars:Object = loaderInfo.parameters;
if (isPublishedHost()){
debugMode = false;
};
if (((!(debugMode)) && (flashVars))){
if (flashVars.NewgroundsAPI_UserName){
user_name = flashVars.NewgroundsAPI_UserName;
};
if (flashVars.NewgroundsAPI_UserID){
user_id = flashVars.NewgroundsAPI_UserID;
};
if (flashVars.NewgroundsAPI_PublisherID){
publisher_id = flashVars.NewgroundsAPI_PublisherID;
} else {
publisher_id = 1;
};
if (flashVars.NewgroundsAPI_UserpageFormat){
_userpageFormat = flashVars.NewgroundsAPI_UserpageFormat;
};
if (flashVars.NewgroundsAPI_SessionID){
session_id = flashVars.NewgroundsAPI_SessionID;
};
if (flashVars.NewgroundsAPI_SaveGroupID){
_saveGroupId = flashVars.NewgroundsAPI_SaveGroupID;
};
if (flashVars.NewgroundsAPI_SaveFileID){
_saveFileId = flashVars.NewgroundsAPI_SaveFileID;
};
if (flashVars.NewgroundsAPI_SandboxID){
_bridge = new Bridge(flashVars.NewgroundsAPI_SandboxID);
};
} else {
publisher_id = 1;
session_id = "D3bu64p1U53R";
user_id = 10;
user_name = "API-Debugger";
};
if (connected){
return;
};
timeoutTimer.start();
if (!m_id){
fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie");
};
_movieId = String(m_id);
_trackerId = uint(_movieId.substring(0, _movieId.indexOf(":")));
_encryptionKey = encrypt_key;
connected = true;
sendCommand("connectMovie", {host:getHost(), movie_version:version});
}
private static function getHost():String{
return (_host);
}
public static function isPublishedHost():Boolean{
return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1))));
}
public static function loadUserPage(_arg1:uint=0, _arg2:String=null):Boolean{
var _local3:String;
if ((((_arg1 == 0)) && ((_arg2 == null)))){
if (hasUserSession()){
_arg1 = user_id;
_arg2 = user_name;
} else {
return (false);
};
};
if (publisher_id == 1){
_local3 = (("http://" + _arg2.toLowerCase()) + ".newgrounds.com");
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
if (userpage_format){
_local3 = userpage_format;
_local3 = _local3.split(":user_id:").join(_arg1.toString());
_local3 = _local3.split(":user_name:").join(escape(_arg2));
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
return (false);
}
public static function loadNewgrounds():void{
sendCommand("loadNewgrounds", {host:getHost()}, true);
}
public static function loadOfficialVersion():void{
navigateToURL(new URLRequest(getOfficialURL()));
}
public static function loadMySite():void{
sendCommand("loadMySite", {host:getHost()}, true);
}
public static function loadCustomLink(_arg1:String):void{
sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true);
}
public static function logCustomEvent(_arg1:String):void{
sendCommand("logCustomEvent", {host:getHost(), event:_arg1});
}
public static function getScoreBoardByName(_arg1:String):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function getScoreBoardById(_arg1:uint):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
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});
}
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 loadScoresInRange(_arg1:String, _arg2:String="All-Time", _arg3:uint=1, _arg4:uint=10):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
var _local5:ScoreBoard = getScoreBoardByName(_arg1);
if (_local5){
_local5.loadScoresInRange(_arg2, _arg3, _arg4);
} else {
sendWarning((("loadScoresInRange: Scoreboard " + _arg1) + " could not be found."));
};
}
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++;
};
};
sendMessage("Medals loaded!");
}
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++;
};
}
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++;
};
}
public static function get medals():Array{
return ((_medals) ? _medals.concat() : []);
}
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 getMedalByName(_arg1:String):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function unlockMedal(_arg1:String):void{
var _local3:Object;
var _local4:Object;
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name"));
return;
};
var _local2:Medal = getMedalByName(_arg1);
if (!_local2){
sendMessage(("No medal with name: " + _arg1));
return;
};
if (((hasUserSession()) || (debugMode))){
sendMessage((("Attempting to unlock '" + _local2.name) + "'"));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local3 = new Object();
_local3.medal_id = _local2.id;
sendSecureCommand("unlockMedal", _local3);
} else {
sendMessage(("Locally unlocking " + _local2.name));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local2.unlocked = true;
_local4 = loadLocal("medals_unlocked");
if (!_local4){
_local4 = new Object();
};
_local4[_local2.id.toString()] = true;
saveLocal("medals_unlocked", _local4);
callListener(APIEvent.MEDAL_UNLOCKED, true, _local2);
};
}
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_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
sharedObj.data[save_id] = encodeData(save_data);
sharedObj.flush();
} catch(e:Error) {
sendWarning(("saveLocal ERROR: " + e));
};
}
public static function loadLocal(_arg1:String):Object{
var sharedObj:SharedObject;
var save_id = _arg1;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + 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);
}
public static function encodeData(_arg1:Object):String{
return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey)));
}
public static function decodeData(_arg1:String){
return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey)));
}
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));
}
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 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);
}
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);
}
public static function createSaveQuery(_arg1:String):SaveGroupQuery{
var _local2:SaveGroup = getSaveGroupByName(_arg1);
if (_local2){
return (_local2.createQuery());
};
return (null);
}
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);
}
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 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 saveFile(_arg1:SaveFile, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Object = _arg1.toObject();
_local4.user_name = user_name;
if (_arg1.id){
_local4.save_id = _arg1.id;
};
_local4.overwrite = (_arg3) ? 1 : 0;
if (_arg2){
_local4.draft = 1;
};
var _local5:ByteArray = new ByteArray();
if ((_arg1.contents is ByteArray)){
_local5.writeByte(0);
_local5.writeBytes(_arg1.contents);
} else {
_local5.writeByte(1);
_local5.writeObject(_arg1.contents);
};
_local5.compress();
var _local6:Object = new Object();
_local6.file = _local5;
if (_arg1.thumbnail){
_local6.thumbnail = PNGEncoder.encode(_arg1.thumbnail);
};
sendSecureCommand("saveFile", _local4, null, _local6, _arg1);
}
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 loadSaveFile(_arg1:Number, _arg2:Boolean=true){
var _local3:Object = {publisher_id:publisher_id, save_id:_arg1, get_contents:_arg2};
sendCommand("loadSaveFile", _local3);
}
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:SaveGroup;
var _local12:SaveFile;
var _local13:uint;
var _local14:Object;
var _local15:uint;
switch (getCommandName(_arg1.command_id)){
case "connectMovie":
timeoutTimer.stop();
if (_arg1.success){
sendMessage("You have successfully connected to the Newgrounds API Gateway");
sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\""));
callListener(APIEvent.API_CONNECTED, _arg1.success, {title:_arg1.movie_name});
} else {
callListener(APIEvent.API_CONNECTED, _arg1.success, {});
return;
};
_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, {real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
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, {version:_arg1.movie_version, real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.request_portal_url){
sendCommand("setPortalID", {portal_url:_url});
};
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.image_file_path){
_imageFilePath = (_arg1.image_file_path + "/");
};
if (_arg1.score_boards){
populateScoreBoards(_arg1.score_boards);
};
sendMessage("Metadata loaded!");
callListener(APIEvent.METADATA_LOADED, _arg1.success);
if (((_saveFileId) && (_saveGroupId))){
_local11 = getSaveGroupById(_saveGroupId);
if (_local11){
callListener(APIEvent.FILE_REQUESTED, true, {save_id:_saveFileId, group:_local11});
};
};
_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":
if (_arg1.success){
populateMedals(_arg1.medals);
};
callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3);
break;
case "loadSaveFile":
if (_arg1.success){
_local11 = getSaveGroupById(_arg1.group_id);
_local12 = new SaveFile(_local11);
_local12.id = _arg1.file.save_id;
_local12.name = _arg1.file.filename;
_local12.fileUrl = (_saveFilePath + _arg1.file.file);
_local12.thumbnailUrl = (_imageFilePath + _arg1.file.thumb);
_local12.authorName = _arg1.file.user_name;
_local12.authorId = _arg1.file.user_id;
_local12.setStatus(_arg1.file.status);
_local12.description = _arg1.file.description;
if (((_arg1.file.keys) && (_arg1.file.keys.length))){
_local13 = 0;
while (_local13 < _arg1.file.keys.length) {
_local12.setKey(_arg1.file.keys[_local13].id, _arg1.file.keys[_local13].value);
_local13++;
};
};
if (((_arg1.file.ratings) && (_arg1.file.ratings.length))){
_local13 = 0;
while (_local13 < _arg1.file.ratings.length) {
_local12.setRating(_arg1.file.ratings[_local13].id, _arg1.file.ratings[_local13].votes, _arg1.file.ratings[_local13].score);
_local13++;
};
};
if (_arg1.get_contents){
_local12.loadContents();
};
};
callListener(APIEvent.FILE_INITIALIZED, _arg1.success, _local12);
break;
case "lookupSaveFiles":
_local7 = [];
if (((_arg1.success) && (_arg1.files))){
_local13 = 0;
while (_local13 < _arg1.files.length) {
_local14 = _arg1.files[_local13];
_local12 = new SaveFile(getSaveGroupById(_arg1.group_id));
_local12.name = _local14.filename;
_local12.id = _local14.save_id;
_local12.description = _local14.description;
_local12.thumbnailUrl = (_imageFilePath + _local14.thumb);
_local12.fileUrl = (_saveFilePath + _local14.file);
_local12.authorName = _local14.user_name;
_local12.authorId = _local14.user_id;
_local12.setStatus(_local14.status);
if (((_local14.keys) && (_local14.keys.length))){
_local15 = 0;
while (_local15 < _local14.keys.length) {
_local12.setKey(_local14.keys[_local15].id, _local14.keys[_local15].value);
_local15++;
};
};
if (((_local14.ratings) && (_local14.ratings.length))){
_local15 = 0;
while (_local15 < _local14.ratings.length) {
_local12.setRating(_local14.ratings[_local15].id, _local14.ratings[_local15].votes, _local14.ratings[_local15].score);
_local15++;
};
};
_local7.push(_local12);
_local13++;
};
};
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, _local7));
break;
case "rateSaveFile":
_local12 = _arg1.owner;
_arg1.success = ((_arg1.success) && (!(_arg1.already_voted)));
if (_arg1.success){
_local12.setRating(_arg1.rating_id, _arg1.votes, _arg1.score);
};
_arg1.file = _local12;
_local12.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1));
break;
case "saveFile":
_local3 = {};
if (_arg1.success){
_local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon};
SaveFile(_arg1.owner).fileSaved(_local3);
};
_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 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 hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
private static function dispatchEvent(_arg1:Event):void{
_eventDispatcher.dispatchEvent(_arg1);
echo(("Fired Event: " + _arg1.type));
}
static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{
dispatchEvent(new APIEvent(_arg1, _arg2, _arg3));
if (_bridge){
_bridge.sendEvent(_arg1, {success:_arg2, data:_arg3});
};
}
private static function getCommandName(_arg1:String):String{
return (_arg1);
}
private static function getCommandID(_arg1:String):String{
return (_arg1);
}
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);
}
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 getPeriodAlias(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].alias);
};
};
return (null);
}
private static function sendError(_arg1:Object, _arg2:APIError):void{
var _local3:String = ((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
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(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function sendNotice(_arg1:String, _arg2:String=null):void{
var _local3:String;
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
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 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);
secureCommand = _arg1;
sendCommand("securePacket", _arg3, false, _arg4, _arg5);
}
public static function stopPendingCommands():void{
SmartURLLoader.closeAll();
}
private static function onCommandComplete(_arg1:Event):void{
var response:Object;
var error:APIError;
var e = _arg1;
var loader:SmartURLLoader = SmartURLLoader(e.target);
echo((("INPUT: \n" + loader.response) + "\n"));
var i:uint;
while (i < _preloadAssets.length) {
if (_preloadAssets[i] == loader){
_preloadAssets.splice(i, 1);
break;
};
i = (i + 1);
};
try {
response = JSON.decode(loader.response);
} catch(error:Error) {
response = {success:false};
};
if (!response){
response = {command_id:loader._command, success:false};
};
response.owner = loader.owner;
if (((!(response)) || (!(response.success)))){
trace(("Error: " + response));
error = new APIError(response.error_code, response.error_msg);
sendError(response, error);
if (response.command_id){
doEvent(response);
};
} else {
doEvent(response);
};
}
private static function onCommandError(_arg1:Event):void{
var _local2:Object = {success:false};
var _local3:SmartURLLoader = SmartURLLoader(_arg1.target);
_local2.owner = _local3.owner;
var _local4:uint;
while (_local4 < _preloadAssets.length) {
if (_preloadAssets[_local4] == _local3){
_preloadAssets.splice(_local4, 1);
break;
};
_local4++;
};
if (_local3._command){
_local2.command_id = _local3._command;
doEvent(_local2);
};
}
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 (_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;
};
if (_arg2.secure){
_local6._command = secureCommand;
} else {
_local6._command = getCommandID(_arg1);
};
_local6.owner = _arg5;
_local6.load(GATEWAY_URL);
}
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);
}
public static function createAd():FlashAd{
sendMessage("You may see a security sandbox violation. This is normal!");
return (new FlashAd());
}
public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{
var _local3:String = ("[NewgroundsAPI] :: " + _arg1);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function echo(_arg1:String):void{
if (do_echo){
trace(_arg1);
};
}
}
}//package com.newgrounds
Section 22
//APIError (com.newgrounds.APIError)
package com.newgrounds {
import flash.utils.*;
public class APIError {
public var code:Number;// = 0
public var message:String;
public var name:String;
public var alias:String;
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");
private static const always_caps:Array = new Array("API", "URL", "ID");
public static const error_codes:Object = init_codes();
public static const error_names:Object = init_names();
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);
}
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);
}
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);
}
}
}//package com.newgrounds
Section 23
//APIEvent (com.newgrounds.APIEvent)
package com.newgrounds {
import flash.events.*;
public class APIEvent extends Event {
private var _data;
private var _success:Boolean;
private var _target;
private var _error:APIError;
public static const API_CONNECTED:String = "movieConnected";
public static const ADS_APPROVED:String = "adsApproved";
public static const AD_ATTACHED:String = "adAttached";
public static const HOST_BLOCKED:String = "hostBlocked";
public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable";
public static const EVENT_LOGGED:String = "eventLogged";
public static const SCORE_POSTED:String = "scorePosted";
public static const SCORES_LOADED:String = "scoresLoaded";
public static const MEDAL_UNLOCKED:String = "medalUnlocked";
public static const MEDALS_LOADED:String = "medalsLoaded";
public static const METADATA_LOADED:String = "metadataLoaded";
public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded";
public static const FILE_SAVED:String = "fileSaved";
public static const FILE_LOADED:String = "fileLoaded";
public static const FILE_INITIALIZED:String = "fileInitialized";
public static const FILE_REQUESTED:String = "fileRequested";
public static const QUERY_COMPLETE:String = "queryComplete";
public static const VOTE_COMPLETE:String = "voteComplete";
public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){
super(_arg1);
this._data = _arg3;
this._success = _arg2;
}
public function get success():Boolean{
return (this._success);
}
public function get data(){
return (this._data);
}
}
}//package com.newgrounds
Section 24
//BaseN (com.newgrounds.BaseN)
package com.newgrounds {
import flash.utils.*;
public class BaseN {
private var _hashIndex:String;
private var _hashVal:Dictionary;
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);
}
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);
}
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);
}
}
}//package com.newgrounds
Section 25
//Bridge (com.newgrounds.Bridge)
package com.newgrounds {
import flash.events.*;
import flash.net.*;
public class Bridge {
private var _inConnection:LocalConnection;
private var _outConnection:LocalConnection;
private var _widgetId:String;
public function Bridge(_arg1:String){
this._widgetId = _arg1;
this._inConnection = new LocalConnection();
this._outConnection = new LocalConnection();
this._inConnection.client = this;
this._inConnection.connect(("rec_" + this._widgetId));
this._outConnection.addEventListener(StatusEvent.STATUS, this.onStatus);
}
public function sendCommand(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendCommand", _arg1, this.scrubParameters(_arg2));
};
}
public function sendEvent(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendEvent", _arg1, this.scrubParameters(_arg2));
};
}
public function receiveEvent(_arg1:String, _arg2:Object):void{
API.callListener(_arg1, _arg2.success, _arg2.data);
}
public function scrubParameters(_arg1:Object):Object{
var _local3:String;
var _local2:Object = new Object();
for (_local3 in _arg1) {
if ((((((((((_arg1[_local3] is String)) || ((_arg1[_local3] is Number)))) || ((_arg1[_local3] is uint)))) || ((_arg1[_local3] is int)))) || ((_arg1[_local3] is Boolean)))){
_local2[_local3] = _arg1[_local3];
};
};
return (_local2);
}
private function onStatus(_arg1:Event):void{
}
}
}//package com.newgrounds
Section 26
//Medal (com.newgrounds.Medal)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class Medal {
private var _id:uint;
private var _name:String;
private var _value:uint;
private var _difficultyId:uint;
private var _unlocked:Boolean;// = false
private var _iconUrl:URLRequest;
private var _iconLoader:Loader;
private var _icon:BitmapData;
private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0);
private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"];
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 difficulty():String{
return (DIFFICULT_NAMES[this._difficultyId]);
}
public function get difficultyId():uint{
return (this._difficultyId);
}
public function get icon():BitmapData{
return (this._icon);
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get unlocked():Boolean{
return (this._unlocked);
}
public function set unlocked(_arg1:Boolean):void{
this._unlocked = _arg1;
}
public function get value():uint{
return (this._value);
}
public function get bytesLoaded():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0);
}
private function onIconLoaderInit(_arg1:Event):void{
}
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 onIconLoaderComplete(_arg1:Event):void{
var _local2:Bitmap = (this._iconLoader.content as Bitmap);
this._icon = _local2.bitmapData;
this._iconLoader.unload();
this._iconLoader = null;
}
public function unlock():void{
if (!this._unlocked){
API.unlockMedal(this._name);
};
}
public function createIconBitmap():Bitmap{
return (new Bitmap(this.icon));
}
public function toString():String{
return (this._name);
}
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 27
//RC4 (com.newgrounds.RC4)
package com.newgrounds {
public class RC4 {
private static var sbox:Array = new Array(0xFF);
private static var mykey:Array = new Array(0xFF);
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));
}
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 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 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 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);
}
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);
}
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);
}
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);
}
}
}//package com.newgrounds
Section 28
//SaveFile (com.newgrounds.SaveFile)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class SaveFile extends EventDispatcher {
private var _filename:String;
private var _id:uint;
private var _description:String;
private var _contents;
private var _group:SaveGroup;
private var _keys:Dictionary;
private var _ratings:Dictionary;
private var _fileUrl:String;
private var _thumbnail:BitmapData;
private var _thumbnailUrl:String;
private var _authorId:uint;
private var _authorName:String;
private var _status:uint;
public static const STATUS_PRIVATE = 1;
public static const STATUS_SHARED = 2;
public static const STATUS_UNAPPROVED = 3;
public static const STATUS_APPROVED = 4;
public function SaveFile(_arg1:SaveGroup){
this._keys = new Dictionary();
this._ratings = new Dictionary();
this._group = _arg1;
this._description = "";
}
public function get name():String{
return (this._filename);
}
public function set name(_arg1:String):void{
this._filename = _arg1;
}
public function get id():uint{
return (this._id);
}
public function set id(_arg1:uint):void{
this._id = _arg1;
}
public function get description():String{
return (this._description);
}
public function set description(_arg1:String):void{
this._description = _arg1;
}
public function get contents(){
return (this._contents);
}
public function set contents(_arg1):void{
this._contents = _arg1;
}
public function get thumbnailUrl():String{
return (this._thumbnailUrl);
}
public function set thumbnailUrl(_arg1:String):void{
this._thumbnailUrl = _arg1;
}
public function get fileUrl():String{
return (this._fileUrl);
}
public function set fileUrl(_arg1:String):void{
this._fileUrl = _arg1;
}
public function get thumbnail():BitmapData{
return (this._thumbnail);
}
public function set thumbnail(_arg1:BitmapData):void{
if (this._thumbnail){
this._thumbnail.dispose();
};
this._thumbnail = _arg1.clone();
}
public function loadThumbnail():Loader{
var _local1:Loader = new Loader();
if (this._thumbnailUrl){
_local1.load(new URLRequest(this._thumbnailUrl));
};
return (_local1);
}
public function get status():uint{
return (this._status);
}
function setStatus(_arg1:uint):void{
this._status = _arg1;
}
public function get groupId():uint{
return (this._group.id);
}
public function get groupName():String{
return (this._group.name);
}
public function get groupType():uint{
return (this._group.type);
}
public function get authorName():String{
return (this._authorName);
}
public function set authorName(_arg1:String):void{
this._authorName = _arg1;
}
public function get authorId():uint{
return (this._authorId);
}
public function set authorId(_arg1:uint):void{
this._authorId = _arg1;
}
public function get shared():Boolean{
return (true);
}
public function setKey(_arg1, _arg2):void{
var _local3:SaveKey;
if ((_arg1 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 getKey(_arg1){
var _local2:SaveKey;
if ((_arg1 is String)){
_local2 = this._group.getKeyByName(_arg1);
} else {
_local2 = this._group.getKeyById(_arg1);
};
if (_local2){
return (this._keys[_local2]);
};
return (null);
}
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 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 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);
}
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 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.keys.push({id:_local2.id, value:_local2.val});
};
return (_local1);
}
public function save(_arg1:Boolean=false, _arg2:Boolean=false):void{
API.saveFile(this, _arg1, _arg2);
}
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);
};
}
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));
}
public function loadAuthorPage(){
API.loadUserPage(this._authorId, this._authorName);
}
function fileSaved(_arg1:Object):void{
this._id = _arg1.save_id;
this._thumbnailUrl = _arg1.thumbnail;
this._fileUrl = _arg1.file_url;
}
}
}//package com.newgrounds
Section 29
//SaveGroup (com.newgrounds.SaveGroup)
package com.newgrounds {
public class SaveGroup {
private var _name:String;
private var _id:uint;
private var _type:uint;
private var _keys:Array;
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_PUBLIC:uint = 2;
public static const TYPE_MODERATED:uint = 3;
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 get name():String{
return (this._name);
}
public function get id():uint{
return (this._id);
}
public function get type():uint{
return (this._type);
}
public function get keys():Array{
return (this._keys.concat());
}
public function get ratings():Array{
return (this._ratings.concat());
}
public function addRating(_arg1:SaveRating):void{
this._ratings.push(_arg1);
}
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 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 addKey(_arg1:SaveKey):void{
this._keys.push(_arg1);
}
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 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 createQuery():SaveGroupQuery{
return (new SaveGroupQuery(this));
}
public function toString():String{
return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}"));
}
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 30
//SaveGroupQuery (com.newgrounds.SaveGroupQuery)
package com.newgrounds {
import flash.events.*;
public class SaveGroupQuery extends EventDispatcher {
private var _group:SaveGroup;
private var _groupBy:Array;
private var _lookupKeys:Array;
private var _lookupRatings:Array;
private var _fileConditions:Array;
private var _keyConditions:Array;
private var _ratingConditions:Array;
private var _sortConditions:Array;
private var _page:uint;
private var _resultsPerPage:uint;
private var _randomizeResults:Boolean;
public static const TABLE_FILES:uint = 1;
public static const TABLE_KEYS:uint = 2;
public static const TABLE_RATINGS:uint = 3;
public static const FILE_ID:uint = 0;
public static const AUTHOR_ID:uint = 1;
public static const AUTHOR_NAME:uint = 2;
public static const FILE_NAME:uint = 3;
public static const CREATED_ON:uint = 4;
public static const UPDATED_ON:uint = 5;
public static const TOTAL_VIEWS:uint = 6;
public static const FILE_STATUS:uint = 7;
public static const SCORE:String = "score";
public static const TOTAL_VOTES:String = "votes";
public function SaveGroupQuery(_arg1:SaveGroup){
this._group = _arg1;
this.reset();
}
public function get group():SaveGroup{
return (this._group);
}
public function get groupId():uint{
return (this._group.id);
}
public function get resultsPerPage():uint{
return (this._resultsPerPage);
}
public function set resultsPerPage(_arg1:uint):void{
this._resultsPerPage = _arg1;
}
public function get page():uint{
return (this._page);
}
public function set page(_arg1:uint):void{
this._page = _arg1;
}
public function get isRandomized():Boolean{
return (this._randomizeResults);
}
public function set isRandomized(_arg1:Boolean):void{
this._randomizeResults = _arg1;
}
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);
};
}
public function includeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
if (_local2){
this._lookupRatings.push(_local2.id);
};
}
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 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 groupBy(_arg1:uint):void{
this._groupBy.push({table:TABLE_FILES, field:_arg1});
}
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 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 addFileCondition(_arg1:uint, _arg2:String, _arg3):void{
this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3});
}
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_id:_local4.id, operator:_arg2, value:_arg3});
}
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_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4});
}
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 sortOn(_arg1:uint, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_FILES, _arg1, _arg2);
}
public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_KEYS, this._group.getKeyByName(_arg1).id, _arg2);
}
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 execute():void{
API.executeSaveQuery(this);
}
private function checkValue(_arg1, _arg2:uint):Boolean{
return (true);
}
override public function toString():String{
return ("");
}
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);
}
}
}//package com.newgrounds
Section 31
//SaveKey (com.newgrounds.SaveKey)
package com.newgrounds {
public class SaveKey {
private var _id:uint;
private var _name:String;
private var _type:uint;
public static const TYPE_FLOAT:uint = 1;
public static const TYPE_INTEGER:uint = 2;
public static const TYPE_STRING:uint = 3;
public static const TYPE_BOOLEAN:uint = 4;
public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){
this._id = _arg1;
this._name = _arg2;
this._type = _arg3;
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get type():uint{
return (this._type);
}
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 toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 32
//SaveRating (com.newgrounds.SaveRating)
package com.newgrounds {
public class SaveRating {
private var _id:uint;
private var _name:String;
private var _minValue:Number;
private var _maxValue:Number;
private var _isFloat:Boolean;
private var _voted:Boolean;
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 id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get minValue():Number{
return (this._minValue);
}
public function get maxValue():Number{
return (this._maxValue);
}
public function get isFloat():Boolean{
return (this._isFloat);
}
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);
}
}
}//package com.newgrounds
Section 33
//Score (com.newgrounds.Score)
package com.newgrounds {
public class Score {
private var _board:ScoreBoard;
private var _position:uint;
private var _username:String;
private var _value:String;
private var _numeric_value:uint;
private var _tag:String;
public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint, _arg6:String){
this._board = _arg1;
this._position = _arg2;
this._username = _arg3;
this._value = _arg4;
this._numeric_value = _arg5;
this._tag = _arg6;
}
public function get board():ScoreBoard{
return (this._board);
}
public function get position():uint{
return (this._position);
}
public function get username():String{
return (this._username);
}
public function get value():String{
return (this._value);
}
public function get numeric_value():uint{
return (this._numeric_value);
}
public function get tag():String{
return (this._tag);
}
}
}//package com.newgrounds
Section 34
//ScoreBoard (com.newgrounds.ScoreBoard)
package com.newgrounds {
import flash.events.*;
public class ScoreBoard extends EventDispatcher {
private var _name:String;
private var _id:uint;
private var _scores:Array;
private var _period:String;// = "Today"
private var _num_results:uint;// = 10
private var _desiredNumResults:uint;
private var _startRank:uint;
private var _endRank:uint;
private var _page:uint;// = 1
private var _tag:String;
public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){
this._name = _arg2;
this._id = _arg1;
this._scores = [];
this._tag = _arg3;
}
public function exists():Boolean{
return ((this._id > 0));
}
public function get id():Number{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get period():String{
return (this._period);
}
public function get page():uint{
return (this._page);
}
public function get num_results():uint{
return (this._num_results);
}
public function get scores():Array{
return (this._scores);
}
public function get tag():String{
return (this._tag);
}
public function postScore(_arg1:uint):void{
API.postScore(this._name, _arg1);
}
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;
this._desiredNumResults = 0;
API.loadScores(this);
}
public function loadScoresInRange(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
if (_arg2 == 0){
_arg2 = 1;
};
if (_arg3 < _arg2){
_arg3 = _arg2;
};
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._desiredNumResults = ((_arg3 - _arg2) + 1);
this._num_results = this._desiredNumResults;
while (int(((_arg2 - 1) / this._num_results)) != int(((_arg3 - 1) / this._num_results))) {
this._num_results++;
};
this._page = ((_arg2 - 1) / this._num_results);
this._startRank = _arg2;
this._endRank = _arg3;
this._page++;
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;
trace(("RRR " + _arg3));
trace(_arg4);
this._scores = [];
var _local5:uint;
while (_local5 < _arg1.length) {
_local6 = (((this._num_results * (this._page - 1)) + 1) + _local5);
if (((!(this._desiredNumResults)) || ((((_local6 >= this._startRank)) && ((_local6 <= this._endRank)))))){
this._scores.push(new Score(this, _local6, _arg1[_local5].username, _arg1[_local5].value, _arg1[_local5].numeric_value, _arg1[_local5].tag));
};
_local5++;
};
this._num_results = this._scores.length;
}
}
}//package com.newgrounds
Section 35
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod)
package com.newgrounds {
public class ScoreBoardPeriod {
public static const TODAY:String = "Today";
public static const WEEK:String = "This Week";
public static const MONTH:String = "This Month";
public static const YEAR:String = "This Year";
public static const ALL_TIME:String = "All-Time";
}
}//package com.newgrounds
Section 36
//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 _variables:Dictionary;
private var _files:Dictionary;
private var _hasVariables:Boolean;
private var _method:String;// = "GET"
private var _urlRequest:URLRequest;
private var _urlLoader:URLLoader;
private var _dataFormat:String;// = "text"
private var _openBrowser:Boolean;// = false
private var _preventCache:Boolean;// = false
var _command:String;
public var owner;
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 responseFormat():String{
return (this._dataFormat);
}
public function set responseFormat(_arg1:String):void{
this._dataFormat = _arg1;
}
public function get response(){
return (this._urlLoader.data);
}
public function get hasFiles():Boolean{
return (Boolean(this._files));
}
public function get method():String{
return (this._method);
}
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;
}
public function get openBrowser():Boolean{
return (this._openBrowser);
}
public function set openBrowser(_arg1:Boolean):void{
this._openBrowser = _arg1;
}
public function get preventCache():Boolean{
return (this._preventCache);
}
public function set preventCache(_arg1:Boolean):void{
this._preventCache = _arg1;
}
public function addVariable(_arg1:String, _arg2=""):void{
this._variables[_arg1] = _arg2;
if (_arg2){
this._hasVariables = true;
};
}
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 clearVariables():void{
this._variables = new Dictionary();
}
public function clearFiles():void{
this._files = null;
}
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 close():void{
try {
this._urlLoader.close();
} catch(e:Error) {
};
}
public function dispose():void{
this.close();
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;
delete _loaders[this];
}
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;
_local2.position = 0;
return (_local2);
}
private function onComplete(_arg1:Event):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onProgress(_arg1:ProgressEvent):void{
dispatchEvent(_arg1);
}
private function onIOError(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onSecurityError(_arg1:SecurityErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onHTTPStatus(_arg1:HTTPStatusEvent):void{
dispatchEvent(_arg1);
}
public static function closeAll():void{
var _local1:SmartURLLoader;
for each (_local1 in _loaders) {
if (_local1){
_local1.dispose();
};
};
_loaders = new Dictionary();
}
}
}//package com.newgrounds
import flash.utils.*;
class File {
private var fileName:String;
private var data:ByteArray;
private var dataField:String;
private var contentType:String;
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 37
//NewgroundsAPIAsset_FlashAd_Container_2 (FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2)
package FlashAd_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_FlashAd_Container_2 extends MovieClip {
public var adMask:MovieClip;
public var ngLinkButton:SimpleButton;
public function NewgroundsAPIAsset_FlashAd_Container_2(){
addFrameScript(0, this.frame1, 10, this.frame11);
}
public function onNGLinkClicked(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
function frame1(){
this.ngLinkButton.addEventListener(MouseEvent.CLICK, this.onNGLinkClicked);
}
function frame11(){
gotoAndPlay(1);
}
}
}//package FlashAd_fla
Section 38
//NewgroundsAPIAsset_Load_Indicator_5 (FlashAd_fla.NewgroundsAPIAsset_Load_Indicator_5)
package FlashAd_fla {
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_Load_Indicator_5 extends MovieClip {
public function NewgroundsAPIAsset_Load_Indicator_5(){
addFrameScript(0, this.frame1);
}
public function onEnterFrame(_arg1:Event):void{
if (((visible) && (stage))){
rotation = (rotation + 30);
} else {
removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
};
}
function frame1(){
addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
}
}
}//package FlashAd_fla
Section 39
//artist_bios_over_42 (N64_fla.artist_bios_over_42)
package N64_fla {
import flash.display.*;
public dynamic class artist_bios_over_42 extends MovieClip {
public function artist_bios_over_42(){
addFrameScript(19, frame20);
}
function frame20(){
gotoAndPlay(10);
}
}
}//package N64_fla
Section 40
//button_bg_over_41 (N64_fla.button_bg_over_41)
package N64_fla {
import flash.display.*;
public dynamic class button_bg_over_41 extends MovieClip {
public function button_bg_over_41(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package N64_fla
Section 41
//loading_clip_37 (N64_fla.loading_clip_37)
package N64_fla {
import flash.display.*;
public dynamic class loading_clip_37 extends MovieClip {
public function loading_clip_37(){
addFrameScript(0, frame1);
}
function frame1(){
play();
}
}
}//package N64_fla
Section 42
//main_menu_over_56 (N64_fla.main_menu_over_56)
package N64_fla {
import flash.display.*;
public dynamic class main_menu_over_56 extends MovieClip {
public function main_menu_over_56(){
addFrameScript(19, frame20);
}
function frame20(){
gotoAndPlay(10);
}
}
}//package N64_fla
Section 43
//more_over_clip_8 (N64_fla.more_over_clip_8)
package N64_fla {
import flash.display.*;
public dynamic class more_over_clip_8 extends MovieClip {
public function more_over_clip_8(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package N64_fla
Section 44
//NGI_MASK_CUBE_23 (N64_fla.NGI_MASK_CUBE_23)
package N64_fla {
import flash.display.*;
public dynamic class NGI_MASK_CUBE_23 extends MovieClip {
public function NGI_MASK_CUBE_23(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package N64_fla
Section 45
//NGI_MASK_IN_22 (N64_fla.NGI_MASK_IN_22)
package N64_fla {
import flash.display.*;
public dynamic class NGI_MASK_IN_22 extends MovieClip {
public function NGI_MASK_IN_22(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package N64_fla
Section 46
//play_all_over_44 (N64_fla.play_all_over_44)
package N64_fla {
import flash.display.*;
public dynamic class play_all_over_44 extends MovieClip {
public function play_all_over_44(){
addFrameScript(19, frame20);
}
function frame20(){
gotoAndPlay(10);
}
}
}//package N64_fla
Section 47
//scene_select_over_46 (N64_fla.scene_select_over_46)
package N64_fla {
import flash.display.*;
public dynamic class scene_select_over_46 extends MovieClip {
public function scene_select_over_46(){
addFrameScript(19, frame20);
}
function frame20(){
gotoAndPlay(10);
}
}
}//package N64_fla
Section 48
//Timeline_5 (PreloaderBar_fla.Timeline_5)
package PreloaderBar_fla {
import flash.display.*;
public dynamic class Timeline_5 extends MovieClip {
public function Timeline_5(){
addFrameScript(39, this.frame40);
}
function frame40(){
stop();
}
}
}//package PreloaderBar_fla
Section 49
//score_period_dropdown_5 (ScoreBoard_fla.score_period_dropdown_5)
package ScoreBoard_fla {
import flash.display.*;
import flash.text.*;
public dynamic class score_period_dropdown_5 extends MovieClip {
public var periodListButton:SimpleButton;
public var periodText:TextField;
public var period0:SimpleButton;
public var period1:SimpleButton;
public var period2:SimpleButton;
public var period3:SimpleButton;
public var period4:SimpleButton;
public var periodListUpButton:SimpleButton;
public function score_period_dropdown_5(){
addFrameScript(0, this.frame1);
}
function frame1(){
stop();
}
}
}//package ScoreBoard_fla
Section 50
//ArtistBG (ArtistBG)
package {
import flash.display.*;
public dynamic class ArtistBG extends MovieClip {
}
}//package
Section 51
//ArtistScrollBG (ArtistScrollBG)
package {
import flash.display.*;
public dynamic class ArtistScrollBG extends MovieClip {
}
}//package
Section 52
//Audrey_Kare (Audrey_Kare)
package {
import flash.display.*;
public dynamic class Audrey_Kare extends BitmapData {
public function Audrey_Kare(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 53
//AuthorIconCover (AuthorIconCover)
package {
import flash.display.*;
public dynamic class AuthorIconCover extends MovieClip {
}
}//package
Section 54
//AuthorSelect (AuthorSelect)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class AuthorSelect extends MovieClip {
public var kongFont:Font;
public var destination:Number;// = 0
public var spinner:MovieClip;
public var buMainMenu:SimpleButton;
public var artistNames:Array;
public var BG:MovieClip;
public var textBG:MovieClip;
public var mcDisplay:MovieClip;
public var buffer:Number;// = 0
public var infoTitle:TextField;
public var speed:Number;// = 0
public var stars:MovieClip;
public var authorMC:MovieClip;
public var minY:Number;// = 0
public var artistInfos:Array;
public var posY:Number;// = 0
public var authScroll:MovieClip;
public var iconView:MovieClip;
public var iconCover:MovieClip;
public var authorList:MovieClip;
public var icnMinis:Array;
public var icnMaxes:Array;
public var infoTitleFormat:TextFormat;
public var accel:Number;// = 0
public var authorListContents:MovieClip;
public var authorMask:MovieClip;
public var nasaFont:Font;
public var authScrollMask:MovieClip;
public var infoBody:TextField;
public var infoBG:MovieClip;
public var maxY:Number;// = 0
public var current:Number;// = 0
public var infoBodyFormat:TextFormat;
public var btns:Array;
public var artistBDs:Array;
public var titleArtist:MovieClip;
public var scrollBG:MovieClip;
public var logo1:MovieClip;
public var logo2:MovieClip;
public var window:Number;// = 0
public function AuthorSelect(_arg1:Font, _arg2:Font){
authorMC = new MovieClip();
authorListContents = new MovieClip();
authorList = new MovieClip();
authorMask = new MovieClip();
authScroll = new MovieClip();
authScrollMask = new MovieClip();
accel = 0;
speed = 0;
buffer = 0;
window = 0;
posY = 0;
maxY = 0;
minY = 0;
destination = 0;
current = 0;
super();
kongFont = _arg1;
nasaFont = _arg2;
infoTitleFormat = new TextFormat();
infoTitleFormat.font = kongFont.fontName;
infoTitleFormat.size = 18;
infoTitleFormat.align = TextFormatAlign.CENTER;
infoTitleFormat.color = 11189247;
infoBodyFormat = new TextFormat();
infoBodyFormat.font = nasaFont.fontName;
infoBodyFormat.size = 14;
infoBodyFormat.align = TextFormatAlign.JUSTIFY;
infoBodyFormat.color = 0xFFFFFF;
infoTitle = new TextField();
infoTitle.x = -110;
infoTitle.y = -145;
infoTitle.selectable = false;
infoTitle.width = 300;
infoTitle.height = 50;
infoTitle.wordWrap = true;
infoTitle.embedFonts = true;
infoTitle.defaultTextFormat = infoTitleFormat;
infoTitle.text = "";
infoBody = new TextField();
infoBody.x = 0;
infoBody.y = 0;
infoBody.selectable = false;
infoBody.height = 500;
infoBody.width = 335;
infoBody.wordWrap = true;
infoBody.embedFonts = true;
infoBody.defaultTextFormat = infoBodyFormat;
infoBody.text = "";
infoBody.multiline = true;
BG = new MovieClip();
BG.graphics.beginFill(0xFFFFFF, 1);
BG.graphics.drawRect(-275, -200, 550, 400);
BG.graphics.endFill();
titleArtist = new titleArtistBios();
titleArtist.x = 38;
titleArtist.y = -180;
logo1 = new N64Title1();
logo1.x = 275;
logo1.y = 0;
logo1.rotation = 90;
logo2 = new N64Title1();
logo2.x = -275;
logo2.y = 0;
logo2.rotation = 90;
spinner = new N64Logo();
spinner.scaleX = (spinner.scaleY = 3.125);
spinner.x = -798;
spinner.y = -90;
spinner.rotation = -30;
N64.TintMC(spinner, 0xFF, 0xFF, 0xFF, 0.8);
buMainMenu = new button_MAINMENU();
buMainMenu.x = -11;
buMainMenu.y = 179;
iconView = new MovieClip();
iconView.x = 168;
iconView.y = -189;
iconCover = new AuthorIconCover();
iconCover.x = 215;
iconCover.y = -136.5;
textBG = new ArtistBG();
textBG.x = 76;
textBG.y = 0;
scrollBG = new ArtistScrollBG();
scrollBG.x = -190;
scrollBG.y = -5;
stars = new starsAuthor();
stars.x = 199;
stars.y = 150;
mcDisplay = new MovieClip();
addChild(mcDisplay);
mcDisplay.addChild(BG);
mcDisplay.addChild(spinner);
mcDisplay.addChild(logo1);
mcDisplay.addChild(logo2);
mcDisplay.addChild(stars);
mcDisplay.addChild(titleArtist);
mcDisplay.addChild(scrollBG);
mcDisplay.addChild(textBG);
mcDisplay.addChild(iconView);
mcDisplay.addChild(iconCover);
mcDisplay.addChild(infoTitle);
mcDisplay.addChild(buMainMenu);
scrollBG.getChildAt(2).addEventListener(MouseEvent.MOUSE_DOWN, clickUp);
scrollBG.getChildAt(1).addEventListener(MouseEvent.MOUSE_DOWN, clickDown);
textBG.getChildAt(2).addEventListener(MouseEvent.MOUSE_DOWN, authorDown);
textBG.getChildAt(1).addEventListener(MouseEvent.MOUSE_DOWN, authorUp);
setupBD();
setupBits();
setupIcons();
mcDisplay.addChild(authScroll);
authScroll.addChild(infoBody);
authScroll.addChild(authScrollMask);
authScroll.x = -75;
authScroll.y = -85;
authScrollMask.graphics.beginFill(0xFFFFFF);
authScrollMask.graphics.drawRect(0, 0, 335, 235);
infoBody.mask = authScrollMask;
updateStats(0);
}
public function removeEF():void{
authorList.removeEventListener(Event.ENTER_FRAME, OCE_EF);
}
public function clickUp(_arg1:MouseEvent):void{
destination = Math.min((destination + speed), maxY);
}
public function clickDown(_arg1:MouseEvent):void{
destination = Math.max((destination - speed), minY);
}
public function setBodyText(_arg1:String):void{
infoBody.text = _arg1;
}
public function setupIcons():void{
var _local1:uint;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:SimpleButton;
authorMC.x = -187;
authorMC.y = -5;
mcDisplay.addChild(authorMC);
authorList.addChild(authorListContents);
authorMC.addChild(authorList);
authorMC.addChild(authorMask);
authorMask.graphics.beginFill(0xFF0000);
authorMask.graphics.drawRect(-56, -148, (56 * 2), (148 * 2));
authorList.mask = authorMask;
_local2 = 2;
_local3 = 60;
_local4 = 60;
_local5 = 0;
_local6 = 0;
_local7 = 0;
btns = new Array();
_local1 = 0;
while (_local1 < icnMinis.length) {
icnMinis[_local1].x = _local6;
icnMinis[_local1].y = _local7;
authorListContents.addChild(icnMinis[_local1]);
_local8 = new invisabutton();
_local8.width = 50;
_local8.height = 50;
_local8.x = (_local6 + (_local8.width / 2));
_local8.y = (_local7 + (_local8.height / 2));
btns.push(_local8);
authorListContents.addChild(_local8);
_local8.addEventListener(MouseEvent.MOUSE_DOWN, clickBtn);
_local5++;
_local6 = (_local6 + _local3);
if (_local5 >= _local2){
_local5 = 0;
_local6 = 0;
_local7 = (_local7 + _local4);
};
_local1++;
};
authorListContents.x = (-(authorListContents.width) / 2);
authorListContents.y = (-(authorListContents.height) / 2);
accel = 3;
speed = 150;
buffer = 5;
window = authorMask.height;
posY = authorList.y;
maxY = ((((authorList.height / 2) - (window / 2)) + posY) + buffer);
minY = ((((-(authorList.height) / 2) + (window / 2)) + posY) - buffer);
destination = maxY;
current = destination;
authorList.y = current;
}
public function OCE_EF(_arg1:Event):void{
var _local2:Number;
if (this.current != destination){
_local2 = Math.abs((destination - current));
if (current < destination){
current = Math.max((current + (_local2 / accel)), minY);
} else {
current = Math.min((current - (_local2 / accel)), maxY);
};
authorList.y = current;
};
}
public function authorDown(_arg1:MouseEvent):void{
if (infoBody.y > (-(infoBody.textHeight) + authScrollMask.height)){
infoBody.y = (infoBody.y - 20);
};
}
public function addEF():void{
authorList.addEventListener(Event.ENTER_FRAME, OCE_EF);
}
public function setupBits():void{
var _local1:uint;
icnMinis = new Array();
icnMaxes = new Array();
_local1 = 0;
while (_local1 < artistBDs.length) {
icnMinis.push(new Bitmap(artistBDs[_local1]));
icnMinis[_local1].scaleX = (icnMinis[_local1].scaleY = 0.5);
icnMaxes.push(new Bitmap(artistBDs[_local1]));
_local1++;
};
}
public function updateStats(_arg1:uint):void{
while (iconView.numChildren > 0) {
iconView.removeChildAt(0);
};
iconView.addChild(icnMaxes[_arg1]);
setTitleText(artistNames[_arg1]);
setBodyText(artistInfos[_arg1]);
infoBody.y = 0;
}
public function setTitleText(_arg1:String):void{
infoTitle.text = _arg1;
}
public function setupBD(){
artistBDs = new Array();
artistNames = new Array();
artistInfos = new Array();
artistNames.push("Audrey\nKare");
artistInfos.push("Audrey is an artist from the mysterious land of Canada, living in the even more mysterious city of Vancouver. She's been a hardcore fan of games, obsessively so with the likes of the Legend of Zelda, Mario and MegaMan, as well as some lesser-known titles such as Boktai and Inazuma Eleven. She participated in the first installment of NiN10Doh! a few years back and was thought to have vanished from the bowels of the internet, but resurfaced to join the party! The Mario Party...the Pario Marty?\n-NiN10Doh!: Pokemon Animation\n-NiN10Doh! to the 64th Power: Boktai Animation");
artistBDs.push(new Audrey_Kare(0, 0));
artistNames.push("Carly\nCrawford");
artistInfos.push("I'm a 2009 graduate of School of Visual Arts, majoring in Animation.\nI've interned for Stretch Films, Silver Sky Studios, \"Animation Collaboration 2009\", the TV series \"MAD\" for Bunko Studios on Cartoon Network. My own personal film is \"Star\". I've been published in Antheria's con-book; a convention in LA and have also had my own gallery show in Garden City, NY. I dream to be a great asset to the Animation industry and dazzle with my skill. My main choice of weapons are Photoshop, After Effects, Flash and Premiere Pro. Heroes include Ron Spencer and Dan Hasket.\n-NiN10Doh! to the 64th Power: Starfox Animation");
artistBDs.push(new Carly_Crawford(0, 0));
artistNames.push("Chris\nNiosi");
artistInfos.push("Well it's been a long time coming, but here it is! Working on these collabs since my days as a College bum started in 2007 has been quite an interesting experience. I really care about Nintendo and the gaming industry in general, so doing these collaborations has been a really fun way of strengthening my ability as an animation director and to show my support for these memorable games I grew up with. Never could've done it without my amazing crew of animators, writers and actors. I really think we pulled through on this one...and although the future is unclear on if we'll have the time, I won't say for sure that this will be the last one we ever make!\n-Animation Director & Head Writer\nof the \"NiN10Doh!\" Series\n-NiN10Doh!: Animal Crossing, Starfox & Megaman Star Force Animations\n-$00pah NiN10Doh!: Excitebike, LoLo, Pokemon & Smash Bros. Animations\n-NiN10Doh! to the 64th Power: Chrono Trigger, Earthbound & Sonic Animations");
artistBDs.push(new Chris_Niosi(0, 0));
artistNames.push("Cory\nHolmes");
artistInfos.push("Cory is a freelance animator hailing from Las Vegas. A graduate of the Art Institute and a longtime Don Bluth fan, Cory's also been a dedicated video game fan. He's a lover of all things MegaMan and Phantasy Star, as well as an obscure little game called \"Mischief Makers\" lost to the Nintendo ether from the 64 days. Through blood, sweat, tears and a grueling full year of hardship, he's delighted to be on board the newest installment to the NiN10Doh! series.\n-$00pah NiN10Doh!: Warioware Animation\n-NiN10Doh! to the 64th Power: Mischief Makers Animation");
artistBDs.push(new Cory_Holmes(0, 0));
artistNames.push("Dave\nSmith");
artistInfos.push("Hailing from the continent of Australia, the animator known as \"SupaDave\" strikes again with contribution in the awesome Nin10Doh collab series. Since we last left our hero, he had been continuing to draw the popular GG-Guys webcomic series, buying various epic toys and collectibles he didn't need and freelancing across the merry city of Brisbane in order to pay for said collectibles. He's thoroughly enjoyed this round of Nin10Doh tom-foolery and hope you've enjoyed this as much as he enjoyed animating for it; Professor E-Gad was a hoot!\n-NiN10Doh!: F-Zero Animation\n-$00pah NiN10Doh!: Starfox Animation\n-NiN10Doh! to the 64th Power:\nMario Sports Animation");
artistBDs.push(new Dave_Smith(0, 0));
artistNames.push("Dorn\nMatthews");
artistInfos.push("Dorn likes his women and he likes his beer, but never had he tried to mix the two until his genetic scientist friend Gerald Fronk came to town. Demonstrating his patented mutagenic ray gun, Fronk successfully combined a woman and a beer. The result was a woman that puked up beer all the time.\n-NiN10Doh!: Pokemon, Zelda & Ninja Gaiden Animations\n-$00pah NiN10Doh!: Mario Party Animation\n-NiN10Doh! to the 64th Power: Metroid Animation");
artistBDs.push(new Dorn_Matthews(0, 0));
artistNames.push("Joel\nMalc");
artistInfos.push("Joel was born and raised in England, drinks England, eats England, and pretty much IS England. He began drawing at a young age out of boredom and to insult his friends. Years later, he is still offending people with his horrible drawings. His fave video game character is Ganon, which explains a lot about his segment.\n-NiN10Doh! to the 64th Power:\nSmash Bros. Animation");
artistBDs.push(new Joel_Malc(0, 0));
artistNames.push("Joey\nBlachette");
artistInfos.push("I was quick to jump on the opportunity to be in the \"never going to happen\" 3rd NiN10Doh!, having always been a fan of Nintendo. I get the parody bug from time to time, as I've been working with my friends Casey and Mark on original movies over at Toonwerks...shameless self-promotion!\n-$00pah NiN10Doh!: Pikmin, Donkey Kong, Fire Emblem & Tetris Animations\n-NiN10Doh! to the 64th Power: Diddy Kong Racing Animation");
artistBDs.push(new Joey_Blachette(0, 0));
artistNames.push("Laura\nKerger");
artistInfos.push("I was a huge fan of the first two NiN10Doh! collabs so when Chris invited me to do an animation for the 3rd installment I was really excited! I grew up playing every major Nintendo game from the NES all the way up to the Wii. I have a soft spot for The Legend of Zelda series so it was just icing on the cake when I was asked to do a Majora's Mask segment. I used to draw Link all the time as a kid so doing animations of him was much easier. I'm currently studying animation in college and hope to do it professionally someday if I can! I hope you guys enjoy my segment and my future work!\n-NiN10Doh! to the 64th Power: Zelda Animation");
artistBDs.push(new Lauren_Kerger(0, 0));
artistNames.push("Melissa\nAlbino");
artistInfos.push("Melissa Albino, or “nalem” is an amateur animator and comic artist from New York City who now lives in Northern Kentucky. She assures you there is more than fried chicken to eat. She will soon be getting her degree in Fine Art which she will use to get all the chicks...wait.\n-NiN10Doh! to the 64th Power: Megaman Animation");
artistBDs.push(new Melissa_Albino(0, 0));
artistNames.push("Pierre\nJackson");
artistInfos.push("THE PENGUIN IS BACK and it feels good! Thank you for letting me join this collab once again, I'm so happy to be in this one I could pop! I've been a Flash Animator for about 3 years now and I always loved making action animations, but I don't really get enough time and space to really work on my skills the way I've wished. With this done I feel I can push for more crazy things and I hope to do more collabs in the near future. Thank you Kirb, you made me a happy bird!\n-$00pah NiN10Doh!: Zelda & Kirby Animation\n-NiN10Doh! to the 64th Power:\nBomberman Animation");
artistBDs.push(new Pierre_Jackson(0, 0));
artistNames.push("Richie\nZirbes");
artistInfos.push("It seems Kirbopher enjoys my softcore furry porn, so I'm back again for the final NiN10Doh! Collab. Again, I ended up dropping other projects to work on my Krystal piece for this collab. I'm sure it's because it gives me a chance to make deep, intellectually-provocative movies - not because I enjoy animating bouncy spheres. Go Newgrounds!\n-Programmer of the \"NiN10Doh!\" Series\n-NiN10Doh!: Kirby, Yoshi & Pokemon Animations\n-$00pah NiN10Doh!: Pokemon Snap Animation\n-NiN10Doh! to the 64th Power: Starfox Animation");
artistBDs.push(new Richie_Zirbes(0, 0));
artistNames.push("Steve\nBryant");
artistInfos.push("Steve is a freelance cartoonist, animator, and total nerd who hails from the frozen wasteland known to the world as Ontario, Canada. Life for an aspiring Flash animator can be tough when you live in an igloo, but Steve has persevered thanks to his sense of humor, wacky art style, and copious amounts of body hair.\n-NiN10Doh! to the 64th Power: Pokemon Animation");
artistBDs.push(new Steve_Bryant(0, 0));
artistNames.push("Tyson\nHesse");
artistInfos.push("Tyson has a degree in Animation from the Savannah College of Art and Design, for whatever the hell that's worth. He is best known for doing a webcomic called \"Boxer Hockey\" at boxerhockey.com as well as an independently published comic, \"Diesel\". A current resident of Charlotte, NC, Tyson makes the sun come up morning, and puts the dew on the lilies.\n-NiN10Doh! to the 64th Power: F-Zero Animation");
artistBDs.push(new Tyson_Hesse(0, 0));
}
public function authorUp(_arg1:MouseEvent):void{
if (infoBody.y < 0){
infoBody.y = (infoBody.y + 20);
};
}
public function clickBtn(_arg1:Event):void{
var _local2:uint;
_local2 = 0;
while (_local2 < btns.length) {
if (btns[_local2] == _arg1.target){
updateStats(_local2);
break;
};
_local2++;
};
}
}
}//package
Section 55
//BG_DOTS (BG_DOTS)
package {
import flash.display.*;
public dynamic class BG_DOTS extends MovieClip {
}
}//package
Section 56
//Blu01 (Blu01)
package {
import flash.display.*;
public dynamic class Blu01 extends MovieClip {
}
}//package
Section 57
//Blu02 (Blu02)
package {
import flash.display.*;
public dynamic class Blu02 extends MovieClip {
}
}//package
Section 58
//button_ARTISTBIOS (button_ARTISTBIOS)
package {
import flash.display.*;
public dynamic class button_ARTISTBIOS extends SimpleButton {
}
}//package
Section 59
//button_MAINMENU (button_MAINMENU)
package {
import flash.display.*;
public dynamic class button_MAINMENU extends SimpleButton {
}
}//package
Section 60
//button_PLAYALL (button_PLAYALL)
package {
import flash.display.*;
public dynamic class button_PLAYALL extends SimpleButton {
}
}//package
Section 61
//button_SCENESELECT (button_SCENESELECT)
package {
import flash.display.*;
public dynamic class button_SCENESELECT extends SimpleButton {
}
}//package
Section 62
//Carly_Crawford (Carly_Crawford)
package {
import flash.display.*;
public dynamic class Carly_Crawford extends BitmapData {
public function Carly_Crawford(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 63
//checkbox (checkbox)
package {
import flash.display.*;
public dynamic class checkbox extends MovieClip {
}
}//package
Section 64
//Chris_Niosi (Chris_Niosi)
package {
import flash.display.*;
public dynamic class Chris_Niosi extends BitmapData {
public function Chris_Niosi(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 65
//Cory_Holmes (Cory_Holmes)
package {
import flash.display.*;
public dynamic class Cory_Holmes extends BitmapData {
public function Cory_Holmes(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 66
//Dave_Smith (Dave_Smith)
package {
import flash.display.*;
public dynamic class Dave_Smith extends BitmapData {
public function Dave_Smith(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 67
//Dorn_Matthews (Dorn_Matthews)
package {
import flash.display.*;
public dynamic class Dorn_Matthews extends BitmapData {
public function Dorn_Matthews(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 68
//DotsBG2 (DotsBG2)
package {
import flash.display.*;
public dynamic class DotsBG2 extends MovieClip {
}
}//package
Section 69
//invisabutton (invisabutton)
package {
import flash.display.*;
public dynamic class invisabutton extends SimpleButton {
}
}//package
Section 70
//Joel_Malc (Joel_Malc)
package {
import flash.display.*;
public dynamic class Joel_Malc extends BitmapData {
public function Joel_Malc(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 71
//Joey_Blachette (Joey_Blachette)
package {
import flash.display.*;
public dynamic class Joey_Blachette extends BitmapData {
public function Joey_Blachette(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 72
//Lauren_Kerger (Lauren_Kerger)
package {
import flash.display.*;
public dynamic class Lauren_Kerger extends BitmapData {
public function Lauren_Kerger(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 73
//Melissa_Albino (Melissa_Albino)
package {
import flash.display.*;
public dynamic class Melissa_Albino extends BitmapData {
public function Melissa_Albino(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 74
//MenuLoadingBar (MenuLoadingBar)
package {
import flash.display.*;
public dynamic class MenuLoadingBar extends MovieClip {
}
}//package
Section 75
//MenuLoadingPercent (MenuLoadingPercent)
package {
import flash.display.*;
public dynamic class MenuLoadingPercent extends MovieClip {
public function MenuLoadingPercent(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 76
//MyNGFlashAd (MyNGFlashAd)
package {
import flash.display.*;
public dynamic class MyNGFlashAd extends MovieClip {
}
}//package
Section 77
//N64 (N64)
package {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import com.newgrounds.components.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.media.*;
import flash.ui.*;
import flash.xml.*;
public class N64 extends MovieClip {
public var urls:Array;
public var mcMenu:MovieClip;
public var menus:SceneHolder;
public var timer:Timer;
public var mcDisplay:MovieClip;
public var stateCurr:int;
public var completes:Array;
public var feedback:TextField;
public var mcs:Array;
public var mcMovie:MovieClip;
public var totals:Array;
public var urlReqs:Array;
public var time:uint;// = 0
public var domain:String;// = ""
public var loaders:Array;
public static var LOAD_UNKNOWN:Number = 2000000;
public static var STATE_PRELOAD:int = 0;
public static var STATE_MENU:int = 2;
public function N64(){
feedback = new TextField();
mcDisplay = new MovieClip();
mcMovie = new MovieClip();
mcMenu = new MovieClip();
menus = new SceneHolder();
mcs = new Array();
urls = new Array();
urlReqs = new Array();
loaders = new Array();
completes = new Array();
totals = new Array();
time = 0;
domain = "";
stateCurr = STATE_PRELOAD;
super();
Security.allowDomain("uploads.ungrounded.net");
addChild(mcDisplay);
mcDisplay.addChild(mcMenu);
mcDisplay.addChild(mcMovie);
mcDisplay.graphics.beginFill(0xFFFFFF);
mcDisplay.graphics.drawRect(0, 0, 550, 400);
mcDisplay.graphics.endFill();
mcMenu.addChild(menus);
timer = new Timer(1000, 0);
timer.addEventListener(TimerEvent.TIMER, trig);
timer.start();
feedback.x = 200;
feedback.y = 0;
feedback.width = 300;
feedback.height = 200;
feedback.selectable = false;
feedback.background = true;
}
public function onAPIAdAttached(_arg1:APIEvent):void{
trace("AD_ATTACHED");
}
public function doAd():void{
var _local1:MyNGFlashAd;
_local1 = new MyNGFlashAd();
_local1.x = 0;
_local1.y = -70;
_local1.scaleX = (_local1.scaleY = 0.8);
menus.preload.mcAD.addChild(_local1);
API.addEventListener(APIEvent.API_CONNECTED, onAPIConnected);
API.addEventListener(APIEvent.ADS_APPROVED, onAPIAdsApproved);
API.addEventListener(APIEvent.AD_ATTACHED, onAPIAdAttached);
API.connect(loaderInfo, "15973:u8TYd0GI", "S66zXYo1TbOR1t6aOw8yxGIACdjoctMu");
}
public function trig(_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, trig);
doAd();
feedback.appendText("AD DONE\n");
setURLS();
feedback.appendText("URLS SET\n");
setTransistions();
feedback.appendText("TRANSITIONS SET\n");
loadAll();
feedback.appendText("LOADED ALL\n");
mcDisplay.addEventListener(Event.ENTER_FRAME, efF);
feedback.appendText("EF SET\n");
}
public function completeF(_arg1:Event):void{
var _local2:uint;
var _local3:MovieClip;
_local2 = 0;
while (_local2 < loaders.length) {
if (loaders[_local2].contentLoaderInfo == _arg1.target){
removeLoaderListeners(loaders[_local2]);
completes[_local2] = totals[_local2];
if ((loaders[_local2].contentLoaderInfo.content is AVM1Movie)){
trace("AVM1Movie : ", _local2, " - ", urls[_local2]);
} else {
_local3 = (loaders[_local2].contentLoaderInfo.content as MovieClip);
if ((((_local3.numChildren == 1)) && (!(((_local3.getChildAt(0) as MovieClip) == null))))){
_local3 = (_local3.getChildAt(0) as MovieClip);
};
_local3.stop();
_local3.gotoAndStop(1);
mcs[_local2] = _local3;
trace("loaded : ", _local2, " - ", urls[_local2]);
};
return;
};
_local2++;
};
}
public function errorF(_arg1:IOErrorEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < loaders.length) {
if (loaders[_local2].contentLoaderInfo == _arg1.target){
removeLoaderListeners(loaders[_local2]);
trace("error on : ", _local2, " - ", urls[_local2]);
completes[_local2] = (totals[_local2] = 0);
return;
};
_local2++;
};
}
public function removeLoaderListeners(_arg1:Loader):void{
_arg1.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeF);
_arg1.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, completeF);
_arg1.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorF);
}
public function preloadEF():void{
var _local1:uint;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Boolean;
SoundMixer.stopAll();
_local2 = 0;
_local3 = 0;
_local4 = 0;
_local5 = false;
_local1 = 0;
while (_local1 < totals.length) {
if (totals[_local1] < 0){
_local3 = (_local3 + LOAD_UNKNOWN);
} else {
_local3 = (_local3 + totals[_local1]);
};
if (completes[_local1] > 0){
_local2 = (_local2 + completes[_local1]);
};
_local1++;
};
if (_local3 <= 0){
_local4 = 0;
} else {
_local4 = (_local2 / _local3);
};
menus.preload.setPercentage((_local4 * 100));
trace(_local4);
if (_local4 == 1){
_local5 = true;
_local1 = 0;
while (_local1 < mcs.length) {
if (mcs[_local1] == null){
_local5 = false;
break;
};
_local1++;
};
if (_local5){
stateCurr = STATE_MENU;
menus.setMCA(mcs);
menus.gotoMainMenu();
};
};
}
public function kill():void{
while (mcDisplay.numChildren > 0) {
mcDisplay.removeChildAt(0);
};
while (mcs.length > 0) {
mcs.pop();
};
while (urls.length > 0) {
urls.pop();
};
while (urlReqs.length > 0) {
urlReqs.pop();
};
while (loaders.length > 0) {
urlReqs.pop().unload();
};
while (completes.length > 0) {
completes.pop();
};
while (totals.length > 0) {
totals.pop();
};
}
public function setURLS():void{
domain = "http://uploads.ungrounded.net/userassets/923000/923408/";
urls.push("");
urls.push((domain + "f8e4b5354e101ddcdedbe9fc38d6f5bb.swf"));
urls.push((domain + "30cbf0d23a91f4e78045c5d5276a9808.swf"));
urls.push((domain + "9618a74f8f8483c010cfced886288b34.swf"));
urls.push((domain + "5196249bba1ccdc748ebe252b04413ed.swf"));
urls.push((domain + "0bd903b2ca21e95f624b1d8b9847add2.swf"));
urls.push((domain + "3f6ff50d2a45e15e5a526b2ebf517cbb.swf"));
urls.push((domain + "827e4b2bc29dd81ef7c079a0033ed99e.swf"));
urls.push((domain + "547dcea788bfacd35ec399c48f225f18.swf"));
urls.push((domain + "4332bdcddb3299afe4c984c8ebfe77bd.swf"));
urls.push((domain + "d53414d5c1a3717eeea1df35d98672ed.swf"));
urls.push((domain + "3b55d77a9cb339976c9d4f75d270d33b.swf"));
urls.push((domain + "f2156b9594fdce274086d6c6c1cc451c.swf"));
urls.push((domain + "c718e713c4685c6379eed1661d62ee42.swf"));
urls.push((domain + "202d2687cdc4ee27e2ad4b86ddf9c4d8.swf"));
urls.push((domain + "c001e580efd274cd33c8ff32f214c12a.swf"));
urls.push((domain + "43218758b8f8b23d91236d760936a5e8.swf"));
urls.push((domain + "2d5a91ec680a7df32d17661062f8ac64.swf"));
urls.push((domain + "58a5e2f90c548eaab3ffafcd6155887e.swf"));
}
public function onAPIConnected(_arg1:APIEvent):void{
trace("API_CONNECTED");
}
public function progressF(_arg1:ProgressEvent):void{
var _local2:uint;
_local2 = 0;
while (_local2 < loaders.length) {
if (loaders[_local2].contentLoaderInfo == _arg1.target){
completes[_local2] = _arg1.bytesLoaded;
totals[_local2] = _arg1.bytesTotal;
return;
};
_local2++;
};
}
public function efF(_arg1:Event):void{
time++;
if (stateCurr == STATE_PRELOAD){
preloadEF();
} else {
mcDisplay.removeEventListener(Event.ENTER_FRAME, efF);
};
}
public function onAPIAdsApproved(_arg1:APIEvent):void{
trace("ADS_APPROVED");
}
public function addLoaderListeners(_arg1:Loader):void{
_arg1.contentLoaderInfo.addEventListener(Event.COMPLETE, completeF);
_arg1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressF);
_arg1.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorF);
}
public function setTransistions():void{
var _local1:MovieClip;
_local1 = new N64_Transition();
_local1.gotoAndStop(1);
_local1.x = 275;
_local1.y = 200;
trace("tra: ", _local1);
menus.pushTransition(null);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(_local1);
menus.pushTransition(null);
menus.pushTransition(null);
menus.pushTransition(null);
}
public function loadAll():void{
var _local1:uint;
urlReqs.push("");
loaders.push(new Loader());
mcs.push(new N64_Intro());
mcs[0].gotoAndStop(0);
mcs[0].x = 275;
mcs[0].y = 200;
completes.push(1);
totals.push(1);
_local1 = 1;
while (_local1 < urls.length) {
feedback.appendText((("i: " + _local1) + " -----------\n"));
urlReqs.push(new URLRequest(urls[_local1]));
feedback.appendText((urls[_local1] + "\n"));
loaders.push(new Loader());
feedback.appendText(" listeners - ");
addLoaderListeners(loaders[_local1]);
feedback.appendText(" load: ");
loaders[_local1].load(urlReqs[_local1]);
feedback.appendText(" .. loading .. \n");
completes.push(-1);
totals.push(-1);
mcs.push(null);
_local1++;
};
feedback.appendText("END\n");
}
public static function TintMC(_arg1:MovieClip, _arg2:int, _arg3:int, _arg4:int, _arg5:Number):void{
_arg1.transform.colorTransform = createColorTransform(_arg2, _arg3, _arg4, _arg5);
}
public static function createColorTransform(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):ColorTransform{
var _local5:ColorTransform;
_local5 = new ColorTransform();
_local5.redMultiplier = (1 - _arg4);
_local5.greenMultiplier = (1 - _arg4);
_local5.blueMultiplier = (1 - _arg4);
_local5.redOffset = Math.round((_arg4 * _arg1));
_local5.greenOffset = Math.round((_arg4 * _arg2));
_local5.blueOffset = Math.round((_arg4 * _arg3));
return (_local5);
}
public static function moveToCenter(_arg1:MovieClip):void{
_arg1.x = 275;
_arg1.y = 200;
}
}
}//package
Section 78
//N64_Intro (N64_Intro)
package {
import flash.display.*;
public dynamic class N64_Intro extends MovieClip {
}
}//package
Section 79
//N64_Transition (N64_Transition)
package {
import flash.display.*;
public dynamic class N64_Transition extends MovieClip {
}
}//package
Section 80
//N64Logo (N64Logo)
package {
import flash.display.*;
public dynamic class N64Logo extends MovieClip {
}
}//package
Section 81
//N64Title1 (N64Title1)
package {
import flash.display.*;
public dynamic class N64Title1 extends MovieClip {
}
}//package
Section 82
//NewgroundsAPIAsset_big_popup_background (NewgroundsAPIAsset_big_popup_background)
package {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_big_popup_background extends MovieClip {
public var tl:MovieClip;
public var br:MovieClip;
public var tr:MovieClip;
public var l:MovieClip;
public var shadow:MovieClip;
public var r:MovieClip;
public var b:MovieClip;
public var bl:MovieClip;
public var t:MovieClip;
public var c:MovieClip;
}
}//package
Section 83
//Pierre_Jackson (Pierre_Jackson)
package {
import flash.display.*;
public dynamic class Pierre_Jackson extends BitmapData {
public function Pierre_Jackson(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 84
//play_scene_button (play_scene_button)
package {
import flash.display.*;
public dynamic class play_scene_button extends SimpleButton {
}
}//package
Section 85
//playSSText (playSSText)
package {
import flash.display.*;
public dynamic class playSSText extends MovieClip {
}
}//package
Section 86
//Red01 (Red01)
package {
import flash.display.*;
public dynamic class Red01 extends MovieClip {
}
}//package
Section 87
//Red01BG (Red01BG)
package {
import flash.display.*;
public dynamic class Red01BG extends MovieClip {
}
}//package
Section 88
//Red02 (Red02)
package {
import flash.display.*;
public dynamic class Red02 extends MovieClip {
}
}//package
Section 89
//Richie_Zirbes (Richie_Zirbes)
package {
import flash.display.*;
public dynamic class Richie_Zirbes extends BitmapData {
public function Richie_Zirbes(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 90
//SCENE_DEFAULT (SCENE_DEFAULT)
package {
import flash.display.*;
public dynamic class SCENE_DEFAULT extends BitmapData {
public function SCENE_DEFAULT(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 91
//scene10diddykong (scene10diddykong)
package {
import flash.display.*;
public dynamic class scene10diddykong extends BitmapData {
public function scene10diddykong(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 92
//scene11earthbound (scene11earthbound)
package {
import flash.display.*;
public dynamic class scene11earthbound extends BitmapData {
public function scene11earthbound(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 93
//scene12pokemon2 (scene12pokemon2)
package {
import flash.display.*;
public dynamic class scene12pokemon2 extends BitmapData {
public function scene12pokemon2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 94
//scene13boktai (scene13boktai)
package {
import flash.display.*;
public dynamic class scene13boktai extends BitmapData {
public function scene13boktai(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 95
//scene14starfox2 (scene14starfox2)
package {
import flash.display.*;
public dynamic class scene14starfox2 extends BitmapData {
public function scene14starfox2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 96
//scene15fzero (scene15fzero)
package {
import flash.display.*;
public dynamic class scene15fzero extends BitmapData {
public function scene15fzero(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 97
//scene16bomberman2 (scene16bomberman2)
package {
import flash.display.*;
public dynamic class scene16bomberman2 extends BitmapData {
public function scene16bomberman2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 98
//scene17mischiefmakers (scene17mischiefmakers)
package {
import flash.display.*;
public dynamic class scene17mischiefmakers extends BitmapData {
public function scene17mischiefmakers(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 99
//scene18ganon (scene18ganon)
package {
import flash.display.*;
public dynamic class scene18ganon extends BitmapData {
public function scene18ganon(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 100
//scene1mario (scene1mario)
package {
import flash.display.*;
public dynamic class scene1mario extends BitmapData {
public function scene1mario(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 101
//scene2starfox1 (scene2starfox1)
package {
import flash.display.*;
public dynamic class scene2starfox1 extends BitmapData {
public function scene2starfox1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 102
//scene3chrono (scene3chrono)
package {
import flash.display.*;
public dynamic class scene3chrono extends BitmapData {
public function scene3chrono(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 103
//scene4zelda (scene4zelda)
package {
import flash.display.*;
public dynamic class scene4zelda extends BitmapData {
public function scene4zelda(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 104
//scene5megaman (scene5megaman)
package {
import flash.display.*;
public dynamic class scene5megaman extends BitmapData {
public function scene5megaman(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 105
//scene6pokemon1 (scene6pokemon1)
package {
import flash.display.*;
public dynamic class scene6pokemon1 extends BitmapData {
public function scene6pokemon1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 106
//scene7bomberman1 (scene7bomberman1)
package {
import flash.display.*;
public dynamic class scene7bomberman1 extends BitmapData {
public function scene7bomberman1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 107
//scene8sonic (scene8sonic)
package {
import flash.display.*;
public dynamic class scene8sonic extends BitmapData {
public function scene8sonic(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 108
//scene9metroid (scene9metroid)
package {
import flash.display.*;
public dynamic class scene9metroid extends BitmapData {
public function scene9metroid(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 109
//SceneHolder (SceneHolder)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class SceneHolder extends MovieClip {
public var preload:SceneLoader;
public var nasaText:Font;
public var minDist:Number;// = 5
public var startY:Number;// = 0
public var mcDisplay:MovieClip;
public var arialText:Font;
public var menuScene:SceneSelect;
public var stopY:Number;// = 0
public var mcOld:MovieClip;
public var menuAuthor:AuthorSelect;
public var time:Number;// = 0
public var menuMain:SceneMenuMain;
public var player:ScenePlayer;
public var kongText:Font;
public function SceneHolder(){
startY = 0;
stopY = 0;
minDist = 5;
time = 0;
kongText = new TextKongText();
nasaText = new TextNasa();
arialText = new TextArial();
preload = new SceneLoader();
menuMain = new SceneMenuMain();
menuScene = new SceneSelect(kongText, arialText);
menuAuthor = new AuthorSelect(kongText, arialText);
player = new ScenePlayer();
super();
N64.moveToCenter(preload.mcDisplay);
N64.moveToCenter(menuMain.mcDisplay);
N64.moveToCenter(menuScene.mcDisplay);
N64.moveToCenter(menuAuthor.mcDisplay);
mcOld = new MovieClip();
mcDisplay = new MovieClip();
addChild(mcOld);
addChild(mcDisplay);
preload.buMain.addEventListener(MouseEvent.MOUSE_DOWN, bummMD);
menuMain.buPre.addEventListener(MouseEvent.MOUSE_DOWN, buplMD);
menuMain.buPlay.addEventListener(MouseEvent.MOUSE_DOWN, buPlayAll);
menuMain.buScenes.addEventListener(MouseEvent.MOUSE_DOWN, buSceneSelect);
menuMain.buAuthors.addEventListener(MouseEvent.MOUSE_DOWN, buAuthors);
menuScene.buMainMenu.addEventListener(MouseEvent.MOUSE_DOWN, buMain);
menuAuthor.buMainMenu.addEventListener(MouseEvent.MOUSE_DOWN, buMain);
menuScene.buPlay.addEventListener(MouseEvent.MOUSE_DOWN, buPlayCheck);
menuScene.buCheckBox.addEventListener(MouseEvent.MOUSE_DOWN, buCheck);
player.completeFunction = movieComplete;
gotoPreload();
}
public function buPlayAll(_arg1:MouseEvent):void{
menuScene.removeEF();
menuAuthor.removeEF();
gotoPlayer();
player.initPlayAll();
}
public function pushTransition(_arg1:MovieClip):void{
player.pushTransition(_arg1);
}
public function bummMD(_arg1:MouseEvent):void{
gotoMainMenu();
}
public function gotoPlayer():void{
transition(player, -500, 0);
}
public function gotoPreload():void{
transition(preload, -500, 0);
}
public function gotoMainMenu():void{
transition(menuMain, 500, 0);
}
public function buPlayCheck(_arg1:MouseEvent):void{
menuScene.removeEF();
menuAuthor.removeEF();
gotoPlayer();
player.initPlaySingle(menuScene.selectedScene);
}
public function gotoSceneSelect():void{
transition(menuScene, 500, 0);
}
public function buplMD(_arg1:MouseEvent):void{
gotoPreload();
}
public function gotoAuthorSelect():void{
transition(menuAuthor, 500, 0);
}
public function setTA(_arg1:Array):void{
player.setTA(_arg1);
}
public function buSceneSelect(_arg1:MouseEvent):void{
menuScene.addEF();
gotoSceneSelect();
}
public function buCheck(_arg1:Event):void{
if (menuScene.buCheckBox.currentFrame == 1){
player.playAll = false;
menuScene.buCheckBox.gotoAndStop(2);
} else {
player.playAll = true;
menuScene.buCheckBox.gotoAndStop(1);
};
}
public function buAuthors(_arg1:MouseEvent):void{
menuAuthor.addEF();
gotoAuthorSelect();
}
public function movieComplete():void{
if (player.playAll){
gotoMainMenu();
} else {
menuScene.addEF();
gotoSceneSelect();
};
}
public function transition(_arg1:MovieClip, _arg2:Number=500, _arg3:Number=0):void{
startY = _arg2;
stopY = _arg3;
while (mcOld.numChildren > 0) {
mcOld.removeChildAt(0);
};
while (mcDisplay.numChildren > 0) {
mcOld.addChild(mcDisplay.getChildAt(0));
};
trace(mcDisplay.numChildren);
mcDisplay.addChild(_arg1);
_arg1.x = 0;
_arg1.y = startY;
time = 0;
mcDisplay.addEventListener(Event.ENTER_FRAME, efF);
}
public function buMain(_arg1:MouseEvent):void{
menuScene.removeEF();
menuAuthor.removeEF();
gotoMainMenu();
}
public function efF(_arg1:Event):void{
var _local2:MovieClip;
var _local3:Number;
time++;
if (mcDisplay.numChildren > 0){
_local2 = (mcDisplay.getChildAt(0) as MovieClip);
_local3 = ((stopY - _local2.y) / 2);
_local2.y = (_local2.y + _local3);
if (Math.abs((_local2.y - stopY)) < minDist){
_local2.y = stopY;
mcDisplay.removeEventListener(Event.ENTER_FRAME, efF);
while (mcOld.numChildren > 0) {
mcOld.removeChildAt(0);
};
};
} else {
mcDisplay.removeEventListener(Event.ENTER_FRAME, efF);
};
}
public function setMCA(_arg1:Array):void{
player.setMCA(_arg1);
}
}
}//package
Section 110
//SceneInfoBG (SceneInfoBG)
package {
import flash.display.*;
public dynamic class SceneInfoBG extends MovieClip {
}
}//package
Section 111
//SceneLoader (SceneLoader)
package {
import flash.display.*;
public class SceneLoader extends MovieClip {
public var red1BG:MovieClip;
public var bar:MovieClip;
public var per:MovieClip;
public var blu1:MovieClip;
public var BG:MovieClip;
public var mcAD:MovieClip;
public var mcDisplay:MovieClip;
public var stars:MovieClip;
public var tit:MovieClip;
public var buMain:SimpleButton;
public var logo:MovieClip;
public var red1:MovieClip;
public function SceneLoader(){
buMain = new invisabutton();
buMain.x = 0;
buMain.y = 200;
buMain.scaleX = 15;
buMain.scaleY = 5;
BG = new MovieClip();
BG.graphics.beginFill(0xFFFFFF, 1);
BG.graphics.drawRect(-275, -200, 550, 400);
BG.graphics.endFill();
tit = new N64Title1();
tit.x = 0;
tit.y = 160;
bar = new MenuLoadingBar();
bar.x = 2.5;
bar.y = 96;
trace("bar.numChildren: ", bar.numChildren);
(bar.getChildAt(1) as MovieClip).play();
red1 = new Red01();
red1.x = -177;
red1.y = 12;
red1BG = new Red01BG();
red1BG.x = -193;
red1BG.y = 66;
blu1 = new Blu01();
blu1.x = 168;
blu1.y = 23;
per = new MenuLoadingPercent();
per.x = 2.5;
per.y = 32;
logo = new N64Logo();
logo.x = -626;
logo.y = -464;
logo.scaleX = (logo.scaleY = 3.125);
N64.TintMC(logo, 0xFF, 0xFF, 0xFF, 0.8);
stars = new BG_DOTS();
stars.x = -1;
stars.y = -126;
mcDisplay = new MovieClip();
mcAD = new MovieClip();
addChild(mcDisplay);
mcDisplay.addChild(BG);
mcDisplay.addChild(logo);
mcDisplay.addChild(stars);
mcDisplay.addChild(mcAD);
mcDisplay.addChild(red1BG);
mcDisplay.addChild(bar);
mcDisplay.addChild(per);
mcDisplay.addChild(blu1);
mcDisplay.addChild(red1);
mcDisplay.addChild(tit);
}
public function setPercentage(_arg1:int):void{
per.gotoAndStop((_arg1 + 1));
bar.gotoAndStop((_arg1 + 1));
if (_arg1 == 100){
mcDisplay.addChild(buMain);
};
}
}
}//package
Section 112
//SceneMenuMain (SceneMenuMain)
package {
import flash.display.*;
public class SceneMenuMain extends MovieClip {
public var blu2:MovieClip;
public var logoBG:MovieClip;
public var buPlay:SimpleButton;
public var BG:MovieClip;
public var mcDisplay:MovieClip;
public var buPre:SimpleButton;
public var stars:MovieClip;
public var buAuthors:SimpleButton;
public var buScenes:SimpleButton;
public var tit:MovieClip;
public var logo:MovieClip;
public var red2:MovieClip;
public function SceneMenuMain(){
buPlay = new button_PLAYALL();
buPlay.x = 5.5;
buPlay.y = 131;
buScenes = new button_SCENESELECT();
buScenes.x = -125;
buScenes.y = 176;
buAuthors = new button_ARTISTBIOS();
buAuthors.x = 144;
buAuthors.y = 176;
buPre = new invisabutton();
buPre.x = 0;
buPre.y = -170;
buPre.scaleY = 1.5;
buPre.scaleX = 8;
BG = new MovieClip();
BG.graphics.beginFill(0xFFFFFF, 1);
BG.graphics.drawRect(-275, -200, 550, 400);
BG.graphics.endFill();
tit = new N64Title1();
tit.x = 0;
tit.y = -168;
red2 = new Red02();
red2.x = 155;
red2.y = 32;
blu2 = new Blu02();
blu2.x = -147;
blu2.y = 44;
logo = new N64Logo();
logo.x = -205;
logo.y = -203;
logoBG = new N64Logo();
logoBG.x = -626;
logoBG.y = -455;
logoBG.scaleX = (logoBG.scaleY = 3.125);
N64.TintMC(logoBG, 0xFF, 0xFF, 0xFF, 0.8);
stars = new DotsBG2();
stars.x = 1;
stars.y = 11;
mcDisplay = new MovieClip();
addChild(mcDisplay);
mcDisplay.addChild(BG);
mcDisplay.addChild(logoBG);
mcDisplay.addChild(logo);
mcDisplay.addChild(stars);
mcDisplay.addChild(blu2);
mcDisplay.addChild(red2);
mcDisplay.addChild(tit);
mcDisplay.addChild(buPlay);
mcDisplay.addChild(buScenes);
mcDisplay.addChild(buAuthors);
mcDisplay.addChild(buPre);
}
}
}//package
Section 113
//ScenePlayer (ScenePlayer)
package {
import flash.display.*;
import flash.events.*;
public class ScenePlayer extends MovieClip {
public var completeFunction:Function;// = null
public var mcDisplay:MovieClip;
public var currM:int;// = 0
public var stateCurr:uint;
public var currT:int;// = 0
public var mcs:Array;// = null
public var transitions:Array;
public var playAll:Boolean;// = true
public static var STATE_T:uint = 1;
public static var STATE_M:uint = 0;
public function ScenePlayer(){
transitions = new Array();
mcs = null;
currM = 0;
currT = 0;
playAll = true;
completeFunction = null;
stateCurr = STATE_M;
super();
mcDisplay = new MovieClip();
addChild(mcDisplay);
}
public function removeListeners():void{
mcDisplay.removeEventListener(Event.ENTER_FRAME, efF);
}
public function pushTransition(_arg1:MovieClip):void{
transitions.push(_arg1);
}
public function nextTrans():Boolean{
var _local1:MovieClip;
currT++;
while (mcDisplay.numChildren > 0) {
mcDisplay.removeChildAt(0);
};
if (currT >= transitions.length){
currT = -1;
nextTrans();
};
if (transitions[currT] != null){
mcDisplay.addChild(transitions[currT]);
_local1 = transitions[currT];
_local1.gotoAndPlay(1);
return (false);
};
return (true);
}
public function setTA(_arg1:Array):void{
transitions = _arg1;
}
public function initPlayAll():void{
var _local1:Boolean;
currM = -1;
currT = -1;
playAll = true;
stateCurr = STATE_M;
_local1 = nextMC();
if (_local1){
finish();
};
addListeners();
}
public function finish():void{
removeListeners();
if (completeFunction != null){
completeFunction();
} else {
trace("complete");
};
}
public function efF(_arg1:Event):void{
var _local2:MovieClip;
var _local3:Boolean;
if (stateCurr == STATE_M){
_local2 = mcs[currM];
if (_local2 == null){
stateCurr = STATE_T;
nextTrans();
return;
};
} else {
_local2 = transitions[currT];
if (_local2 == null){
trace("NULL TRANSITION - next MC");
stateCurr = STATE_M;
nextMC();
return;
};
};
if (_local2.currentFrame == _local2.totalFrames){
_local2.gotoAndStop(_local2.totalFrames);
if (!playAll){
finish();
} else {
if (stateCurr == STATE_M){
trace("next - M");
stateCurr = STATE_T;
nextTrans();
} else {
trace("next - T");
stateCurr = STATE_M;
_local3 = nextMC();
if (_local3){
finish();
};
};
};
};
}
public function nextMC():Boolean{
var _local1:MovieClip;
currM++;
while (mcDisplay.numChildren > 0) {
mcDisplay.removeChildAt(0);
};
while ((((mcs[currM] == null)) && ((currM < mcs.length)))) {
currM++;
};
if (currM >= mcs.length){
return (true);
};
mcDisplay.addChild(mcs[currM]);
_local1 = mcs[currM];
_local1.gotoAndStop(_local1.totalFrames);
_local1.gotoAndPlay(1);
return (false);
}
public function initPlaySingle(_arg1:int):void{
var _local2:Boolean;
currM = (_arg1 - 1);
currT = currM;
stateCurr = STATE_M;
_local2 = nextMC();
if (_local2){
finish();
};
addListeners();
}
public function setMCA(_arg1:Array):void{
mcs = _arg1;
}
public function addListeners():void{
mcDisplay.addEventListener(Event.ENTER_FRAME, efF);
}
}
}//package
Section 114
//SceneSelect (SceneSelect)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class SceneSelect extends MovieClip {
public var kongFont:Font;
public var destination:Number;// = 0
public var spinner:MovieClip;
public var buPlay:SimpleButton;
public var buMainMenu:SimpleButton;
public var BG:MovieClip;
public var scroller:MovieClip;
public var infoTitle:TextField;
public var mcDisplay:MovieClip;
public var buffer:Number;// = 0
public var buUp:SimpleButton;
public var icns:Array;
public var stars:MovieClip;
public var speed:Number;// = 0
public var sceneListContents:MovieClip;
public var posY:Number;// = 0
public var playSS:MovieClip;
public var selectedScene:uint;// = 0
public var minY:Number;// = 0
public var infoTitleFormat:TextFormat;
public var accel:Number;// = 0
public var titleScene:MovieClip;
public var sceneMC:MovieClip;
public var buCheckBox:MovieClip;
public var nasaFont:Font;
public var infoBody:TextField;
public var infoBG:MovieClip;
public var maxY:Number;// = 0
public var sceneList:MovieClip;
public var current:Number;// = 0
public var infoBodyFormat:TextFormat;
public var buDown:SimpleButton;
public var btns:Array;
public var sceneMask:MovieClip;
public var bods:Array;
public var tits:Array;
public var logo1:MovieClip;
public var logo2:MovieClip;
public var window:Number;// = 0
public function SceneSelect(_arg1:Font, _arg2:Font){
selectedScene = 0;
btns = new Array();
icns = new Array();
tits = new Array();
bods = new Array();
sceneMC = new MovieClip();
sceneList = new MovieClip();
sceneListContents = new MovieClip();
sceneMask = new MovieClip();
accel = 0;
speed = 0;
buffer = 0;
window = 0;
posY = 0;
maxY = 0;
minY = 0;
destination = 0;
current = 0;
super();
kongFont = _arg1;
nasaFont = _arg2;
BG = new MovieClip();
BG.graphics.beginFill(0xFFFFFF, 1);
BG.graphics.drawRect(-275, -200, 550, 400);
BG.graphics.endFill();
infoTitleFormat = new TextFormat();
infoTitleFormat.font = kongFont.fontName;
infoTitleFormat.size = 12;
infoTitleFormat.align = TextFormatAlign.CENTER;
infoTitleFormat.color = 11189247;
infoBodyFormat = new TextFormat();
infoBodyFormat.font = nasaFont.fontName;
infoBodyFormat.size = 12;
infoBodyFormat.align = TextFormatAlign.LEFT;
infoBodyFormat.color = 0xFFFFFF;
infoTitle = new TextField();
infoTitle.x = -61;
infoTitle.y = -163;
infoTitle.selectable = false;
infoTitle.width = 330;
infoTitle.height = 30;
infoTitle.wordWrap = true;
infoTitle.embedFonts = true;
infoTitle.defaultTextFormat = infoTitleFormat;
infoTitle.text = "";
infoBody = new TextField();
infoBody.x = -55;
infoBody.y = -131;
infoBody.selectable = false;
infoBody.height = 360;
infoBody.width = 310;
infoBody.wordWrap = true;
infoBody.embedFonts = true;
infoBody.defaultTextFormat = infoBodyFormat;
infoBody.text = "";
infoBG = new SceneInfoBG();
infoBG.x = 100;
infoBG.y = 1;
playSS = new playSSText();
playSS.x = 180;
playSS.y = 180;
stars = new starsBG1();
stars.x = 216;
stars.y = -155;
titleScene = new titleSceneSelect();
titleScene.x = 38;
titleScene.y = -180;
scroller = new slider();
scroller.x = -166.5;
scroller.y = -13;
logo1 = new N64Title1();
logo1.x = 275;
logo1.y = 0;
logo1.rotation = 90;
logo2 = new N64Title1();
logo2.x = -275;
logo2.y = 0;
logo2.rotation = 90;
spinner = new N64Logo();
spinner.scaleX = (spinner.scaleY = 3.125);
spinner.x = -798;
spinner.y = -90;
spinner.rotation = -30;
N64.TintMC(spinner, 0xFF, 0xFF, 0xFF, 0.8);
buCheckBox = new checkbox();
buCheckBox.x = 91;
buCheckBox.y = 179;
buCheckBox.gotoAndStop(1);
buMainMenu = new button_MAINMENU();
buMainMenu.x = -44;
buMainMenu.y = 179;
buPlay = new play_scene_button();
buPlay.x = -208;
buPlay.y = 178;
mcDisplay = new MovieClip();
addChild(mcDisplay);
mcDisplay.addChild(BG);
mcDisplay.addChild(spinner);
mcDisplay.addChild(logo1);
mcDisplay.addChild(logo2);
mcDisplay.addChild(stars);
mcDisplay.addChild(scroller);
mcDisplay.addChild(infoBG);
mcDisplay.addChild(infoTitle);
mcDisplay.addChild(infoBody);
mcDisplay.addChild(titleScene);
mcDisplay.addChild(buPlay);
mcDisplay.addChild(buMainMenu);
mcDisplay.addChild(buCheckBox);
mcDisplay.addChild(playSS);
scroller.getChildAt(2).addEventListener(MouseEvent.MOUSE_DOWN, clickUp);
scroller.getChildAt(1).addEventListener(MouseEvent.MOUSE_DOWN, clickDown);
setupArrays();
setupIcons();
setTitleText(tits[0]);
setBodyText(bods[0]);
}
public function setupArrays():void{
tits.push("Superbowl Mario\nFootball");
bods.push("[Written by: Chris Niosi]\n[Animated by: Dave Smith]\n[Music:\n \"Football Game\" by K. Uehara\n \"Victorious Game\" by Y. Morimoto]\n[Voices:\n Wario played and improved by\n Bryon Beaubien\n Waluigi played and improved by\n Martin Billany\n Peach played and improved by\n Kira Buckland\n Daisy played by\n Corinne Sudberg\n E. Gadd played and improved by\n Kajet West\n Shyguy played and improved by\n Johnny Rivera]");
icns.push(new Bitmap(new scene1mario(0, 0)));
tits.push("Termina Illness");
bods.push("[Written by: Chris Niosi, Bryon Beaubien & Chris Zito]\n[Animated by: Laura Kerger]\n[Bowser Animation by: Dave Smith]\n[Music:\n Creepy Steeple by Yoshito Hirano\n Twilight Trail by Yoshito Hirano\n Majora's Theme by Tooru Minegishi\n Bowser's Theme by Yasunori Mitsuda]\n[Voices:\n Weapon Seller played by Dave Smith\n Mask Seller played by Bryon Beaubien\n Fish Monger played by Chris Niosi\n The Moon played and improved by\n Zach Bellissimo\n Majora played by Mel Albino\n Bowser played and improved by\n Chris Zito\n Bowser Jr. played and improved by\n Joe Gran]");
icns.push(new Bitmap(new scene4zelda(0, 0)));
tits.push("Annoyance the\nTranscends Time");
bods.push("[Written and Animated by Chris Niosi]\n[Music: Corridors of Time by Mathew \"TSSF\" Valente\n (Originally by Yasunori Mitsuda)\n[Voices:\n Crono screamed by Lawrence Simpson\n Marle voiced by Jessie Nowack\n Lucca voiced by Kimlinh Tran\n Robo voiced by D. Mack Jr.\n Frog voiced by Chris Niosi\n Ayla voiced by Carolyn Stevens\n Magus voiced by Curtis Arnott\n Spekkio voiced by Michael J. Ruocco]");
icns.push(new Bitmap(new scene3chrono(0, 0)));
tits.push("Starfox Skype Drama\nPart 1");
bods.push("[Written by: Chris Niosi & Bryon Beaubien]\n[Animated by: Carly Crawford]\n[Moon Animation by: Laura Kerger]\n[Clean-up & Coloring by: Shelley Low & Giorgio Renna]\n[Music:\n \"Start Demo\" by Koji Kondo\n \"Star Wolf Theme\" by Hajime Wakai]\n[Voices:\n Fox McCloud played by Nick Tiner\n Peppy Hare played by Joey Blanchette\n Falco Zito played by Chris Zito\n Slippy Toad played by Kenny Ashcorp\n The Moon played and improved by Zach Bellissimo\n Wolf O'Donnel played by Marc Swint\n Leon Powalski played by Lawrence Simpson\n Andrew Oikonny played by Danny Boyer\n Pigmar Dengar played by D. Mack Jr.]");
icns.push(new Bitmap(new scene2starfox1(0, 0)));
tits.push("I Beat Airman");
bods.push("[Written by: Chris Niosi]\n[Animated by: Melissa Albino]\n[Additional Art by: Michael Spanier]\n[Music:\n \"I Can't Beat Airman\" by acceleSSK\n (Originally by TEAMnyannyan, Mixed by Psyguy)]\n \"Victory\" by Yoshihiro Sakaguchi]\n[Voices:\n Megaman performed by Chris Niosi\n Airman performed by Cailen Denton]");
icns.push(new Bitmap(new scene5megaman(0, 0)));
tits.push("You're a Pikachu!\nPart 1");
bods.push("[Jokes by: Chris Zito, Corinne Sudberg, Michael J. Ruocco, Marc Swint]\n[Animated by: Steve Bryant]\n[Hospital Scene Animated by: Tyson Hesse]\n[Music:\n \"Wii Shop Channel\" by NINTENDO\n \"Indiana Jones Theme\" by John Williams\n \"Credits\" by Koji Kondo]\n[Voices:\n Questioner played and improved by Chris Zito\n Pikachu played by Anthony Sardhina\n Pichu played and improved by Corinne Sudberg\n Chikorita & Taillow played by Brittney Butler\n Cyndaquil played by Lawrence Simpson\n Totodile hissed by Michael J. Ruocco\n Dr. Clash played by Lucien Dodge\n Dr. Stewart played by Martin Billany]");
icns.push(new Bitmap(new scene6pokemon1(0, 0)));
tits.push("Bomberman's Business\nPart 1");
bods.push("[Written by: Chris Niosi]\n[Animated by: Pierre Jackson]\n[Voices:\n White Bomb played by Faye Mata\n Pommy played by Francine Louise\n MaX played by Noah Scammon\n Black Bomb played by Pierre Jackson]");
icns.push(new Bitmap(new scene7bomberman1(0, 0)));
tits.push("Sonic's Dark Secret");
bods.push("[Written by: Chris Niosi]\n[Animated by: Richie Zirbes]\n[Sonic Animation by: Chris Niosi]\n[Music: Krystal's Theme by David Wise]\n[Voices:\n Krystal played and improved by Marianne Miller\n Lucy Hare walla'd by Francine Louise\n Amanda walla'd by Kira Buckland\n Sonic the Hedgehog played and improved by Bryon Beaubien\n Miles \"Tails\" Prower played and improved by Chris Niosi\n Knuckles the Echidna played and improved by Dave Smith]");
icns.push(new Bitmap(new scene8sonic(0, 0)));
tits.push("Samus' Birthday\nBlowout");
bods.push("[Written & Animated by: Dorn Matthews]\n[Music:\n \"Samus vs. Meta Ridley\" by Kenji Yamamoto\n \"Big Boss Confrontation 1\" by Kenji Yamamoto]\n[Voices:\n Samus played by Marianne Miller\n Enemies voiced by Johnny Staggs, Phil Brute & Duke Beersponge\n Laughtrack tittered by Kelli Giggles\n Solid Snake & Ridley voiced by Jerk Douglass]");
icns.push(new Bitmap(new scene9metroid(0, 0)));
tits.push("Don't Diddy And Drive");
bods.push("[Written by: Joey Blanchette & Chris Niosi]\n[Animated by: Joey Blanchette]\n[Music:\n \"Ancient Lake\" by David Wise\n \"Sloprano\" by Robin Beanland]\n[Voices:\n Diddy Kong played by Joey Blanchette\n Banjo played by Richie Zirbes\n Conker T. Squirrel played by Joshua Tomar\n The Great Mighty Poo performed by Harry Partridge]");
icns.push(new Bitmap(new scene10diddykong(0, 0)));
tits.push("Mother @#$%ers");
bods.push("[Written & Animated by: Chris Niosi]\n[Music:\n \"Tatsumarii Village\" by Shogo Sakai\n \"Battle\" by Shogo Sakai\n \"Instant Victory\" by Keiichi Suzuki]\n[Voices:\n Ness played by Cailen Denton\n Poo played by Michael J. Ruocco\n Jeff played by Edwyn Tiong\n Paula played by Kira Buckland\n The Dog played by Chris Niosi\n Mr. Saturn played by Anthony Kresky]");
icns.push(new Bitmap(new scene11earthbound(0, 0)));
tits.push("You're a Pikachu!\nPart 2");
bods.push(bods[5]);
icns.push(new Bitmap(new scene12pokemon2(0, 0)));
tits.push("Tonight on...Boktai");
bods.push("[Written by: Chris Niosi]\n[Animated by: Audrey Kare]\n[Amy Animation by: Chris Niosi]\n[Music:\n \"East of the Sun\" by \n \"Sunflower Girl 2\" by]\n[Voices:\n Narration by Chris Niosi\n Lita played by Crystal Lonnquist\n Django played by Corey Holland\n Sabata played by Lucien Dodge\n Amy Rose played by Jessi Nowack]");
icns.push(new Bitmap(new scene13boktai(0, 0)));
tits.push("Starfox Skype Drama\nPart 2");
bods.push(bods[3]);
icns.push(new Bitmap(new scene14starfox2(0, 0)));
tits.push("Falcon's Walk of\nShame");
bods.push("[Jokes by: Marc Swint, Bryon Beaubien, Chris Niosi, Joey Blanchette]\n[Animated by: Tyson Hesse]\n[Music:\n \"The Loney Man\" by Joe Harnell\n \"Falcon in the Storm\" by Majesty]\n[Voices:\n Fanboys improved by Scott Frerichs, Anthony Sardhina & Richard Jao\n Captain Falcon played by Marc Swint\n Samurai Goroh & Daigoroh played by Curtis Arnott\n Jody Summer played by Marianne Miller\n Dr. Stewart played by Martin Billany\n The Elite Beat Agents squeaked by Chris Niosi]");
icns.push(new Bitmap(new scene15fzero(0, 0)));
tits.push("Bomberman's Business\nPart 2");
bods.push(bods[6]);
icns.push(new Bitmap(new scene16bomberman2(0, 0)));
tits.push("Yuketora OP");
bods.push("[Animated by: Cory Holmes]\n[Shadow Animation by: Chris Niosi]\n[Storyboarded by: Chris Niosi]\n[Music: \"TROUBLE MAKER by Suzuki Masaki]\n[Translations by Julia Tam]\n[Additional Sound Design by Chris Niosi]\n[Voices:\n Shadow the Hedgehog played by Chris Niosi\n Marina Lightyears played by Audrey Kare]\n Prof. Theo & Leo played by Martin Billany]");
icns.push(new Bitmap(new scene17mischiefmakers(0, 0)));
tits.push("The Conspiracy");
bods.push("[Animated by Joel Malc]\n[Written & Storyboarded by: Chris Niosi]\n[Music: \"Inside Ganon's Castle\" by Koji Kondo]\n[Voices:\n Gannondorf played by Matt Mercer\n Master Hand played by Joshua Tomar]");
icns.push(new Bitmap(new scene18ganon(0, 0)));
}
public function removeEF():void{
sceneList.removeEventListener(Event.ENTER_FRAME, OCE_EF);
}
public function clickUp(_arg1:MouseEvent):void{
trace("up");
destination = Math.min((destination + speed), maxY);
}
public function clickDown(_arg1:MouseEvent):void{
trace("down");
destination = Math.max((destination - speed), minY);
}
public function setBodyText(_arg1:String):void{
infoBody.text = _arg1;
}
public function setupIcons():void{
var _local1:uint;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:SimpleButton;
sceneMC.x = -166;
sceneMC.y = -13;
mcDisplay.addChild(sceneMC);
sceneList.addChild(sceneListContents);
sceneMC.addChild(sceneList);
sceneMC.addChild(sceneMask);
sceneMask.graphics.beginFill(0xFF0000);
sceneMask.graphics.drawRect(-88, -140, (88 * 2), (140 * 2));
sceneList.mask = sceneMask;
_local2 = 2;
_local3 = 85;
_local4 = 64;
_local5 = 0;
_local6 = 0;
_local7 = 0;
_local1 = 0;
while (_local1 < icns.length) {
icns[_local1].x = _local6;
icns[_local1].y = _local7;
sceneListContents.addChild(icns[_local1]);
_local8 = new invisabutton();
_local8.width = 74;
_local8.height = 54;
_local8.x = (_local6 + (_local8.width / 2));
_local8.y = (_local7 + (_local8.height / 2));
btns.push(_local8);
sceneListContents.addChild(_local8);
_local8.addEventListener(MouseEvent.MOUSE_DOWN, clickBtn);
_local5++;
_local6 = (_local6 + _local3);
if (_local5 >= _local2){
_local5 = 0;
_local6 = 0;
_local7 = (_local7 + _local4);
};
_local1++;
};
sceneListContents.x = (-(sceneListContents.width) / 2);
sceneListContents.y = (-(sceneListContents.height) / 2);
accel = 3;
speed = 105;
buffer = 8;
window = sceneMask.height;
posY = sceneList.y;
maxY = ((((sceneList.height / 2) - (window / 2)) + posY) + buffer);
minY = ((((-(sceneList.height) / 2) + (window / 2)) + posY) - buffer);
destination = maxY;
current = destination;
sceneList.y = current;
}
public function OCE_EF(_arg1:Event):void{
var _local2:Number;
trace("EF");
if (this.current != destination){
_local2 = Math.abs((destination - current));
if (current < destination){
current = Math.max((current + (_local2 / accel)), minY);
} else {
current = Math.min((current - (_local2 / accel)), maxY);
};
sceneList.y = current;
};
}
public function addEF():void{
sceneList.addEventListener(Event.ENTER_FRAME, OCE_EF);
}
public function setTitleText(_arg1:String):void{
infoTitle.text = _arg1;
}
public function clickBtn(_arg1:Event):void{
var _local2:uint;
_local2 = 0;
_local2 = 0;
while (_local2 < btns.length) {
if (btns[_local2] == _arg1.target){
setTitleText(tits[_local2]);
setBodyText(bods[_local2]);
selectedScene = (_local2 + 1);
break;
};
_local2++;
};
}
}
}//package
Section 115
//slider (slider)
package {
import flash.display.*;
public dynamic class slider extends MovieClip {
}
}//package
Section 116
//starsAuthor (starsAuthor)
package {
import flash.display.*;
public dynamic class starsAuthor extends MovieClip {
}
}//package
Section 117
//starsBG1 (starsBG1)
package {
import flash.display.*;
public dynamic class starsBG1 extends MovieClip {
}
}//package
Section 118
//Steve_Bryant (Steve_Bryant)
package {
import flash.display.*;
public dynamic class Steve_Bryant extends BitmapData {
public function Steve_Bryant(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 119
//TextArial (TextArial)
package {
import flash.text.*;
public dynamic class TextArial extends Font {
}
}//package
Section 120
//TextKongText (TextKongText)
package {
import flash.text.*;
public dynamic class TextKongText extends Font {
}
}//package
Section 121
//TextNasa (TextNasa)
package {
import flash.text.*;
public dynamic class TextNasa extends Font {
}
}//package
Section 122
//titleArtistBios (titleArtistBios)
package {
import flash.display.*;
public dynamic class titleArtistBios extends MovieClip {
}
}//package
Section 123
//titleSceneSelect (titleSceneSelect)
package {
import flash.display.*;
public dynamic class titleSceneSelect extends MovieClip {
}
}//package
Section 124
//Transition01 (Transition01)
package {
import flash.display.*;
public dynamic class Transition01 extends MovieClip {
}
}//package
Section 125
//Tyson_Hesse (Tyson_Hesse)
package {
import flash.display.*;
public dynamic class Tyson_Hesse extends BitmapData {
public function Tyson_Hesse(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package