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

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

Just or Unjust - masterpiece of randomness and weirdness.swf

This is the info page for
Flash #129762

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


Text
Newgrounds API Connector

Connecting to the Newgrounds Gateway...

Connection Established!

medal unlocked!

MEDAL GET!

100pts

YOU ARE NOT LOGGED IN!

You will not be able to use any
members-only features!

Some features may be
temporarily unavailable.

API CONNECTION FAILED

NOTICE!

A new version is now available!
Click the button below to check it out.

View latest version

UNAUTHORIZED USE!!

This website is hosting this file without proper consent!
Click the button below to view a legal version.

View authorized version

Tired of loading?
Stream dat shit!

ActionScript [AS1/AS2]

Instance of Symbol 72 MovieClip [API Connector (NewgroundsAPI)] in Frame 1
//component parameters onClipEvent (construct) { api_id = "17376:TkNqbjvy"; encryption_key = "r2MuqIvXznf74QvckoYk03sFxpN2PxiV"; version = ""; fake_session = true; debug = true; error_screens = true; medal_popups = true; }
Frame 3077
stop();
Symbol 9 MovieClip Frame 1
onEnterFrame = function () { if (_visible) { _rotation = (_rotation + 30); } else { delete onEnterFrame; } };
Symbol 11 MovieClip Frame 10
stop();
Symbol 13 MovieClip Frame 37
_parent.setGotoFrame("done"); stop();
Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _visible = true; icon._visible = false; pop_delay = setInterval(endDelay, 3000);
Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 2
medal.attachIcon(icon);
Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 10
icon._visible = true; medal_name = medal.getName(); medal_value = medal.getValue() + "pts"; stop();
Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 30 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _x = 0; _y = 0; _visible = true; pop_delay = setInterval(endDelay, 6000);
Symbol 30 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 10
stop();
Symbol 30 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 33 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _x = 0; _y = 0; _visible = true; pop_delay = setInterval(endDelay, 6000);
Symbol 33 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 10
stop();
Symbol 33 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1
var w = Math.round(this._width); var h = Math.round(this._height); if (w < 80) { w = 80; } if (h < 80) { h = 80; } this._width = 350; this._height = 120; t._width = w - 2; t._x = 1; b._width = w - 2; b._x = 1; c._width = w - 2; c._x = 1; c._height = h - 2; c._y = 1; l._height = h - 2; l._y = 1; r._height = h - 2; r._y = 1; tr._x = w - 7; r._x = w - 7; br._x = w - 7; b._y = h - 7; bl._y = h - 7; br._y = h - 7; shadow._width = w + 10; shadow._height = h + 10;
Symbol 58 Button
on (release) { this._visible = false; this.removeMovieClip(); }
Symbol 64 Button
on (release) { getURL (official_version_url, "_blank"); }
Symbol 66 MovieClip [NewgroundsAsset_New_Version_Available] Frame 1
_x = (Stage.width / 2); _y = (Stage.height / 2); background._width = Stage.width + 200; background._height = Stage.height + 200; background._x = -(_x + 100); background._y = -(_y + 100);
Symbol 67 Button
on (release) { getURL (official_version_url, "_blank"); }
Symbol 71 MovieClip [NewgroundsAsset_Illegal_Host] Frame 1
_x = (Stage.width / 2); _y = (Stage.height / 2); background._width = Stage.width + 200; background._height = Stage.height + 200; background._x = -(_x + 100); background._y = -(_y + 100);
Symbol 72 MovieClip [API Connector (NewgroundsAPI)] Frame 1
#initclip 23 Object.registerClass("API Connector (NewgroundsAPI)", com.newgrounds.components.APIConnector); #endinitclip
Symbol 72 MovieClip [API Connector (NewgroundsAPI)] Frame 20
_visible = false;
Symbol 105 Button
on (release) { getURL ("http://www.youtube.com/watch?v=Z9v6nSYb2Mo", "_Watch on Youtube"); }
Symbol 116 Button
on (release) { _root.play(); }
Symbol 117 MovieClip Frame 1
function timerHandler() { if (!loadingComplete) { var _local2 = _root.getBytesLoaded() / _root.getBytesTotal(); bar._xscale = 100 * _local2; if (_local2 == 1) { loadingComplete = true; if (AUTO_PLAY) { startMovie(); } else { gotoAndStop ("loaded"); } return(undefined); } } } function startMovie() { _root.play(); } _root.stop(); stop(); var AUTO_PLAY = false; var loadingComplete = false; timerHandler();
Instance of Symbol 109 MovieClip in Symbol 117 MovieClip Frame 1
onClipEvent (enterFrame) { _parent.timerHandler(); }
Symbol 117 MovieClip Frame 2
stop();
Symbol 1 MovieClip [__Packages.com.newgrounds.components.APIConnector] Frame 0
class com.newgrounds.components.APIConnector extends MovieClip { var _x, _y, fake_session, api_id, nextFrame, _visible, error_screens, medal_popups, debug, version, local_data, encryption_key, stop, gotoframe_interval, _totalframes, _framesloaded, gotoAndStop; function APIConnector () { super(); _x = Math.round(_x); _y = Math.round(_y); if (fake_session and (com.newgrounds.API.getHost() == "localhost")) { com.newgrounds.API.setFakeSession(true); } if (api_id && (!com.newgrounds.API.isConnected())) { nextFrame(); _visible = false; setGotoFrame("connecting"); if (error_screens) { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.NEW_VERSION_AVAILABLE, onNewVersion, this); com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.HOST_BLOCKED, onBadHost, this); } if (medal_popups) { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.UNLOCK_MEDAL, doUnlock, this); } com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, onConnected, this); if (com.newgrounds.API.isPublishedHost()) { debug = false; } if (version) { com.newgrounds.API.setVersion(version); } if (!com.newgrounds.API.hasUserSession()) { var _local3 = com.newgrounds.API.loadLocal("api_connector_data"); if (_local3) { local_data = _local3; } else { local_data = {medals_unlocked:new Array()}; } } com.newgrounds.API.setPreload(true); com.newgrounds.API.connect(api_id, encryption_key, debug); } else if (api_id && (com.newgrounds.API.isConnected())) { _visible = false; setGotoFrame("done"); } stop(); } function doUnlock(e) { var _local5 = _root.attachMovie("NewgroundsAPIAsset_Medal_Popup", "medal_pop_" + e.data.medal.getID(), _root.getNextHighestDepth()); if (e.data.x != undefined) { _local5._x = e.data.x + 254; } else { _local5._x = Stage.width; } if (e.data.x != undefined) { _local5._y = e.data.y + 73; } else { _local5._y = Stage.height; } _local5.medal = e.data.medal; var _local3 = com.newgrounds.API.getMedals(); var _local2 = 0; while (_local2 < _local3.length) { if ((_local3[_local2].getID() != e.data.medal.getID()) && (_root["medal_pop_" + _local3[_local2].getID()])) { _root["medal_pop_" + _local3[_local2].getID()]._y = _root["medal_pop_" + _local3[_local2].getID()]._y - 70; } _local2++; } } function onLoginError() { var _local2 = _root.attachMovie("Asset_Login_Warning", "Asset_Login_Warning", _root.getNextHighestDepth()); } function onConnectionError() { var _local3 = _root.attachMovie("Asset_Connection_Error", "Asset_Connection_Error", _root.getNextHighestDepth()); setGotoFrame("done"); } function onConnected(event, params) { if (event.success) { setGotoFrame("connected"); if (((error_screens && (com.newgrounds.API.isPublishedHost())) && (com.newgrounds.API.hasPublisher())) && (!com.newgrounds.API.hasUserSession())) { onLoginError(); } } else if (error_screens) { onConnectionError(); } } function onNewVersion() { var _local2 = _root.attachMovie("NewgroundsAsset_New_Version_Available", "NewgroundsAsset_New_Version_Available", _root.getNextHighestDepth()); _local2.official_version_url = com.newgrounds.API.getOfficialURL(); } function onBadHost() { var _local2 = _root.attachMovie("NewgroundsAsset_Illegal_Host", "NewgroundsAsset_Illegal_Host", _root.getNextHighestDepth()); _local2.official_version_url = com.newgrounds.API.getOfficialURL(); } function setGotoFrame(frame) { if (goto_frame == null) { goto_frame = frame; gotoframe_interval = setInterval(this, "gotoFrameIfLoaded", 50); } } function gotoFrameIfLoaded() { if ((goto_frame != null) && (_framesloaded == _totalframes)) { _visible = true; gotoAndStop(goto_frame); goto_frame = null; clearInterval(gotoframe_interval); } } var goto_frame = null; }
Symbol 73 MovieClip [__Packages.com.newgrounds.APIError] Frame 0
class com.newgrounds.APIError { var message, name, alias; function APIError (error, msg) { if (Number(error).toString() == String(error)) { error = Number(error); } else if (error_codes[String(error)]) { error = error_codes[String(error)]; } else { error = 0; } code = error; message = msg; name = error_names[error]; alias = aliases[error]; } static function init_codes() { var _local2 = new Object(); var _local1 = 0; while (_local1 < aliases.length) { _local2[aliases[_local1]] = _local1; _local1++; } return(_local2); } static function init_names() { var _local5 = new Array(); var _local3 = 0; while (_local3 < aliases.length) { var _local2 = aliases[_local3].toLowerCase().split("_"); var _local1 = 0; while (_local1 < _local2.length) { _local2[_local1] = _local2[_local1].substr(0, 1).toUpperCase() + _local2[_local1].substr(1, _local2[_local1].length); for (var _local4 in always_caps) { if (_local2[_local1].toUpperCase() == always_caps[_local4]) { _local2[_local1] = _local2[_local1].toUpperCase(); } } _local1++; } _local5[_local3] = _local2.join(" "); _local3++; } return(_local5); } function isError() { return(true); } static var aliases = 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_SAVE_GROUP", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "ILLEGAL_REQUEST", "CONNECTION_FAILED", "QUERY_INCOMPLETE", "SAVE_FILE_ERROR", "INVALID_VALUE", "SERVER_ERROR", "INVALID_SCOREBOARD"); static var always_caps = new Array("API", "URL", "ID"); static var error_codes = init_codes(); static var error_names = init_names(); var code = 0; }
Symbol 74 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API { static var version, user_email, movie_id, debug, session_id, connected, tracker_id, user_id, user_name, timeout, encryption_key, host, remote_auth, ad_url, eventDispatcher, last_command, ad_swf_url; function API () { } static function setVersion(v) { version = v; } static function setUserEmail(e) { user_email = e; } static function setFakeSession(fake) { fake_session = fake; } static function setPreload(p) { preload = p; } static function getPercentLoaded() { var _local2; if (preload && (preload_items > 0)) { _local2 = 80; var _local4 = Math.round((preload_items_loaded / preload_items) * 20); var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * _local2) + _local4; } else { _local2 = 100; var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * _local2); } return(_local3); } static function reportNewAsset() { if (preload) { preload_items++; } } static function reportAssetLoaded() { if (preload) { preload_items_loaded++; } } static function populateMedals(medal_list) { if (medals === null) { medals = new Array(); var _local2 = 0; while (_local2 < medal_list.length) { var _local1 = medal_list[_local2]; medals.push(new com.newgrounds.Medal(_local1.medal_id, _local1.medal_name, _local1.medal_value, _local1.medal_difficulty, _local1.medal_unlocked, _local1.medal_icon)); _local2++; } } } static function populateSaveGroups(save_group_list, file_path, image_path) { com.newgrounds.SaveFile.setFilePath(file_path); com.newgrounds.SaveFile.setImagePath(image_path); save_groups = new Array(); var _local6 = 0; while (_local6 < save_group_list.length) { var _local2 = save_group_list[_local6]; var _local5 = new com.newgrounds.SaveGroup(_local2.group_id, _local2.group_name, _local2.group_type); var _local4 = 0; while (_local4 < _local2.keys.length) { var _local3 = _local2.keys[_local4]; _local5.addKey(_local3.id, _local3.name, _local3.type); _local4++; } _local4 = 0; while (_local4 < _local2.ratings.length) { var _local1 = _local2.ratings[_local4]; _local5.addRating(_local1.id, _local1.name, _local1.min, _local1.max, _local1.float); _local4++; } save_groups.push(_local5); _local6++; } } static function populateScoreBoards(score_boards) { scoreboards = new Array(); var _local1 = 0; while (_local1 < score_boards.length) { scoreboards.push(new com.newgrounds.ScoreBoard(score_boards[_local1].id, score_boards[_local1].name)); _local1++; } } static function getOfficialURL() { var _local1 = (((GATEWAY_URL + "?tracker_id=") + movie_id) + "&command_id=loadOfficalVersion&seed=") + Math.random(); if (debug) { _local1 = _local1 + "&debug=1"; } return(_local1); } static function loadOfficialURL() { getURL (getOfficialURL(), "_blank"); } static function hasUserSession() { if (session_id && (publisher_id)) { return(true); } if (_root.NewgroundsAPI_PublisherID && (_root.NewgroundsAPI_SessionID)) { return(true); } return(false); } static function hostIsCompatible() { return(!(_root.NewgroundsAPI_PublisherID === undefined)); } static function isNewgrounds() { return((((publisher_id == 1) || (_root.NewgroundsAPI_PublisherID == 1)) || (getHost().toLowerCase().indexOf("ungrounded.net") > -1)) || (getHost().toLowerCase().indexOf("newgrounds.com") > -1)); } static function hasPublisher() { return(publisher_id || (_root.NewgroundsAPI_PublisherID)); } static function hasUserEmail() { if (user_email) { return(true); } return(false); } static function isConnected() { return(connected); } static function getID() { return(getTrackerID()); } static function getTrackerID() { return(tracker_id); } static function getUserID() { return(user_id); } static function getUserName() { return(user_name); } static function connectionTimeOut() { reportAssetLoaded(); clearInterval(timeout); callListener(com.newgrounds.APIEvent.API_CONNECTED, false, new com.newgrounds.APIError("CONNECTION_FAILED", "Connection to API gateway timed out.")); } static function connect(m_id, encrypt_key, debug_mode) { if (connected) { return(undefined); } sendMessage("Connecting to the Newgrounds API Gateway..."); var _local2 = function () { com.newgrounds.API.connectionTimeOut(); }; timeout = setInterval(_local2, 10000, null); if (!m_id) { fatalError("API.connect() - missing required movie_id parameter", "connect"); } movie_id = String(m_id); tracker_id = Number(movie_id.substring(0, movie_id.indexOf(":"))); encryption_key = encrypt_key; debug = debug_mode; user_id = 0; user_name = "Guest"; if (_root.NewgroundsAPI_PublisherID) { publisher_id = _root.NewgroundsAPI_PublisherID; if (_root.NewgroundsAPI_SessionID) { session_id = _root.NewgroundsAPI_SessionID; } } else if (fake_session) { publisher_id = 1; session_id = "D3bu64p1U53R"; user_id = 10; user_name = "API-Debugger"; } else { if (debug) { publisher_id = 1; } session_id = null; } if (_root.NewgroundsAPI_UserName) { user_name = _root.NewgroundsAPI_UserName; } if (_root.NewgroundsAPI_UserID) { user_id = _root.NewgroundsAPI_UserID; } if (_root.NewgroundsAPI_UserpageFormat) { userpage_format = _root.NewgroundsAPI_UserpageFormat; } reportNewAsset(); connected = true; sendCommand("connectMovie", {host:getHost(), movie_version:version}); } static function getHost() { if (!host) { var _local1 = _url; if ((_local1.toLowerCase().indexOf("http://") > -1) or (_local1.toLowerCase().indexOf("https://") > -1)) { if (_local1.toLowerCase().indexOf(NEWGROUNDS_PREVIEW) > -1) { host = NEWGROUNDS_PREVIEW; } else { host = _local1.split("/")[2].toLowerCase(); } } else { host = LOCAL_HOST; } } return(host); } static function isPublishedHost() { for (var _local1 in PREVIEW_HOSTS) { if (getHost() == PREVIEW_HOSTS[_local1]) { return(false); } } return(true); } static function loadUserPage(u_id, u_name) { if ((u_id == undefined) && (u_name == undefined)) { if (hasUserSession()) { u_id = user_id; u_name = user_name; } else { return(false); } } if (publisher_id == 1) { var _local1 = ("http://" + user_name.toLowerCase()) + ".newgrounds.com"; getURL (_local1, "_blank"); return(true); } if (userpage_format) { var _local1 = userpage_format; _local1 = _local1.split(":user_id:").join(u_id.toString()); _local1 = _local1.split(":user_name:").join(escape(u_name)); getURL (_local1, "_blank"); return(true); } return(false); } static function loadNewgrounds() { sendCommand("loadNewgrounds", {host:getHost()}, true); } static function loadMySite() { sendCommand("loadMySite", {host:getHost()}, true); } static function loadCustomLink(link) { sendCommand("loadCustomLink", {host:getHost(), link:link}, true); } static function logCustomEvent(event) { sendCommand("logCustomEvent", {host:getHost(), event:event}); } static function getScoreBoard(board) { if ((!scoreboards) || (scoreboards.length < 1)) { sendWarning("You do not have any scoreboards configured in your API setup."); return(null); } for (var _local2 in scoreboards) { if ((typeof(board) == "string") && (scoreboards[_local2].name == board)) { return(scoreboards[_local2]); } if ((typeof(board) == "number") && (scoreboards[_local2].id == board)) { return(scoreboards[_local2]); } } sendWarning(("Could not find any scoreboards named '" + board) + "'."); return(null); } static function postScore(board_name, value, tag) { var _local3 = getScoreBoard(board_name); if (tag === undefined) { tag = ""; } if (!_local3) { sendError({command_id:"postScore"}, new com.newgrounds.APIError("INVALID_SCOREBOARD", "Failed to post score. Check the spelling of your board name.")); return(undefined); } if (value == undefined) { sendError({command_id:"postScore"}, new com.newgrounds.APIError("MISSING_PARAM", "Missing score value")); return(undefined); } sendSecureCommand("postScore", {user_name:user_name, board:_local3.id, value:value, tag:tag, publisher_id:publisher_id}); } static function loadScores(board_name, period, tag) { var _local3 = "loadScores"; var _local2 = getScoreBoard(board_name); if (!_local2) { sendError({command_id:_local3}, new com.newgrounds.APIError("INVALID_SCOREBOARD", "Failed to load scores. Check the spelling of your board name.")); return(undefined); } var _local1 = {}; _local1.publisher_id = publisher_id; _local1.board = _local2.id; _local1.num_results = _local2.num_results; _local1.page = _local2.page; if (period === undefined) { _local1.period = _local2.period; } else { _local1.period = period; } if (tag === undefined) { _local1.tag = _local2.tag; } else { _local1.tag = tag; } sendCommand(_local3, _local1); } static function unlockMedal(medal, x, y) { if (!medal) { sendError({command_id:"unlockMedal"}, new com.newgrounds.APIError("MISSING_PARAM", "missing required medal name")); return(undefined); } if (typeof(medal) != "object") { medal = getMedal(medal); } if (!medal) { sendError({command_id:"unlockMedal"}, new com.newgrounds.APIError("INVALID_MEDAL", "medal unlock failed, check your medal name for correct spelling.")); return(undefined); } callListener(com.newgrounds.APIEvent.UNLOCK_MEDAL, true, {medal:medal, x:x, y:y}); if (hasUserSession() or debug) { sendMessage(("Attempting to unlock '" + medal.getName()) + "'"); var _local3 = new Object(); _local3.medal_id = medal.getID(); sendSecureCommand("unlockMedal", _local3); } else { sendMessage(("Unlocking '" + medal.getName()) + "'"); medal.setUnlocked(true); var _local2 = loadLocal("medals_unlocked"); if (!_local2) { _local2 = new Object(); } _local2[medal.getID()] = true; saveLocal("medals_unlocked", _local2); } } static function loadMedals() { if (medals) { callListener(com.newgrounds.APIEvent.MEDALS_LOADED, true, {medals:medals}); return(undefined); } var _local1 = new Object(); if (hasUserSession()) { _local1.publisher_id = publisher_id; _local1.user_id = user_id; } sendCommand("getMedals", _local1); } static function getMedals() { return(medals); } static function getMedal(identifier) { if ((!medals) || (medals.length < 1)) { sendWarning("You do not have any medals configured on your API setup!"); return(false); } for (var _local3 in medals) { var _local1 = medals[_local3]; if ((typeof(identifier) == "string") && (_local1.getName() == identifier)) { return(_local1); } if (_local1.getID() == identifier) { return(_local1); } } sendWarning(("Could not find any medals named '" + identifier) + "'."); return(false); } static function saveLocal(save_id, save_data, size_allocation) { if (!sharedObjects[save_id]) { sharedObjects[save_id] = SharedObject.getLocal((("ng_ap_secure_" + movie_id) + "_") + save_id); } sharedObjects[save_id].data[save_id] = encodeData(save_data); sharedObjects[save_id].flush(); } static function loadLocal(save_id) { if (!sharedObjects[save_id]) { sharedObjects[save_id] = SharedObject.getLocal((("ng_ap_secure_" + movie_id) + "_") + save_id); } sharedObjects[save_id].flush(); echo((("sharedobject " + save_id) + " is: ") + sharedObjects[save_id].data[save_id]); if (sharedObjects[save_id].data[save_id]) { echo("decoded: " + decodeData(sharedObjects[save_id].data[save_id])); return(decodeData(sharedObjects[save_id].data[save_id])); } return(null); } static function encodeData(data) { return(compressHex(com.newgrounds.encoders.RC4.encrypt(com.newgrounds.encoders.JSON.encode(data), encryption_key))); } static function decodeData(base) { return(com.newgrounds.encoders.JSON.decode(com.newgrounds.encoders.RC4.decrypt(uncompressHex(base), encryption_key))); } static function compressHex(hex_value) { var _local6 = hex_value.length % 6; var _local4 = ""; var _local5 = new com.newgrounds.encoders.BaseN(compression_radix); var _local1 = 0; while (_local1 < hex_value.length) { var _local2 = Number("0x" + hex_value.substr(_local1, 6)); _local4 = _local4 + _local5.encode(_local2, 4); _local1 = _local1 + 6; } return(_local6 + _local4); } static function uncompressHex(base_value) { var _local9 = Number(base_value.charAt(0)); var _local7 = ""; var _local3; var _local8 = new com.newgrounds.encoders.BaseN(compression_radix); var _local2 = 1; while (_local2 < base_value.length) { var _local6 = base_value.substr(_local2, 4); var _local5 = _local8.decode(_local6); var _local1 = dec2hex(_local5); if ((_local2 + 4) < base_value.length) { _local3 = 6; } else { _local3 = _local9; } while (_local1.length < _local3) { _local1 = "0" + _local1; } _local7 = _local7 + _local1; _local2 = _local2 + 4; } return(_local7); } static function dec2hex(dec) { var _local4 = "0123456789ABCDEF"; var _local3 = ""; while (dec > 0) { var _local2 = dec % 16; _local3 = _local4.charAt(_local2) + _local3; dec = (dec - _local2) / 16; } return(_local3); } static function getSaveGroup(group) { if ((save_groups == null) || (save_groups.length < 1)) { sendWarning("You do not have any save groups configured in your API setup!"); return(null); } var _local1 = 0; while (_local1 <= save_groups.length) { if ((typeof(group) == "number") or (Number(group).toString() == String(group))) { if (save_groups[_local1].getID() == Number(group)) { return(save_groups[_local1]); } } else if (typeof(group) == "string") { if (save_groups[_local1].getName().toLowerCase() == group.toLowerCase()) { return(save_groups[_local1]); } } _local1++; } sendWarning(("Could not find any save groups named '" + group) + "'."); return(null); } static function getCurrentSaveFile() { return(save_file); } static function setCurrentSaveFile(current) { save_file = current; } static function loadSaveFile(save_id, get_contents) { if (get_contents === undefined) { get_contents = true; } var _local1 = "loadSaveFile"; var _local2 = {publisher_id:publisher_id, save_id:save_id, get_contents:get_contents}; save_file = null; sendCommand(_local1, _local2); } static function loadFilesByDate(group_name, sort_descending, key_name, key_value) { if (sort_descending === undefined) { sort_descending = true; } var _local2 = getSaveGroup(group_name); if (!_local2) { var _local3 = new com.newgrounds.APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByDate"}, _local3); return(undefined); } var _local1 = new com.newgrounds.SaveGroupQuery(_local2); if (key_name) { _local1.addKeyCondition(key_name, "=", key_value); } _local1.sortOn("CREATED_ON", (sort_descending ? "DESC" : "ASC")); _local1.execute(); } static function loadFilesByViews(group_name, sort_descending, key_name, key_value) { if (sort_descending === undefined) { sort_descending = true; } var _local2 = getSaveGroup(group_name); if (!_local2) { var _local3 = new com.newgrounds.APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByViews"}, _local3); return(undefined); } var _local1 = new com.newgrounds.SaveGroupQuery(_local2); if (key_name) { _local1.addKeyCondition(key_name, "=", key_value); } _local1.sortOn("TOTAL_VIEWS", (sort_descending ? "DESC" : "ASC")); _local1.execute(); } static function loadFilesByRating(group_name, rating_name, sort_descending, key_name, key_value) { if (sort_descending === undefined) { sort_descending = true; } var _local2 = getSaveGroup(group_name); if (!_local2) { var _local3 = new com.newgrounds.APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByRating"}, _local3); return(undefined); } var _local1 = new com.newgrounds.SaveGroupQuery(_local2); if (key_name) { _local1.addKeyCondition(key_name, "=", key_value); } _local1.sortOnRating(rating_name, (sort_descending ? "DESC" : "ASC"), "score"); _local1.execute(); } static function lookupSaveFiles(save_group) { var _local1 = "lookupSaveFiles"; var _local2 = {publisher_id:publisher_id, group_id:save_group.getID(), query:com.newgrounds.encoders.JSON.encode(save_group.getQuery(true))}; sendCommand(_local1, _local2); } static function newSaveFile(group) { var _local1 = getSaveGroup(group); if (_local1) { return(_local1.newFile()); } var _local2 = new com.newgrounds.APIError("INVALID_SAVE_GROUP", "You can not create new files in invalid groups."); sendError({command_id:"newSaveFile"}, _local2); } static function newSaveQuery(group) { var _local1 = getSaveGroup(group); if (_local1) { return(_local1.newQuery()); } var _local2 = new com.newgrounds.APIError("INVALID_SAVE_GROUP", ("'" + group) + "' is not a valid save group."); sendError({command_id:"newSaveQuery"}, _local2); } static function checkFilePrivs(file) { if (user_id) { var _local1 = user_id; } else { var _local1 = 0; } var _local2 = {group:file.getGroup().getID(), filename:file.getName(), user_id:_local1, publisher_id:publisher_id}; sendCommand("checkFilePrivs", _local2); } static function saveFile(file, overwrite) { var _local1; _local1 = {group:file.getGroup().getID(), filename:file.getName(), description:file.getDescription(), draft:file.__get__draft(), user_name:user_name}; if (overwrite) { _local1.overwrite = overwrite; } if (file.getDuplicateID()) { _local1.save_id = file.getDuplicateID(); } if (file.getKeys().length > 0) { _local1.keys = file.getKeys(); } var _local3; _local3 = {file:file.getRawContents()}; if (file.getThumbnailImageScan()) { _local3.thumbnail = file.getThumbnailImageScan(); } save_file = file; sendSecureCommand("saveFile", _local1, null, _local3); } static function rateSaveFile(file, rating, vote) { var _local1 = {group:file.getGroup().getID(), save_id:file.getID(), rating_id:rating.rating_id, vote:vote, user_id:user_id}; sendSecureCommand("rateSaveFile", _local1); } static function getConfirmation(command_name, event, msg, target, confirm, cancel) { var _local1 = new com.newgrounds.APIError("CONFIRM_REQUEST", msg); _local1.confirm = function () { target[confirm](); }; _local1.cancel = function () { target[cancel](); }; _local1.command = command_name; callListener(event, false, _local1); } static function onRemoteAuthentication(auth_result) { var _local1 = com.newgrounds.encoders.JSON.decode(com.newgrounds.encoders.RC4.decrypt(auth_result, encryption_key)); delete remote_auth; user_id = _local1.NewgroundsAPI_UserID; user_name = _local1.NewgroundsAPI_UserName; session_id = _local1.NewgroundsAPI_SessionID; publisher_id = _local1.NewgroundsAPI_PublisherID; } static function doEvent(e) { switch (e.command_id) { case "connectMovie" : clearInterval(timeout); sendMessage("You have successfully connected to the Newgrounds API Gateway"); sendMessage(("Movie identified as \"" + e.movie_name) + "\""); callListener(com.newgrounds.APIEvent.API_CONNECTED, e.success, {title:e.movie_name}); var _local7 = false; if (e.ad_status === -1) { var _local11 = "This movie was not approved to run Flash Ads."; sendWarning(_local11); sendWarning(("visit " + AD_TERMS_URL) + " to view our approval guidelines"); if (!e.ad_url) { callListener(com.newgrounds.APIEvent.ADS_APPROVED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", _local11)); } else { _local7 = true; } } else if (e.ad_status === 0) { var _local11 = "Flash Ads are currently awaiting approval."; sendNotice(_local11); if (!e.ad_url) { callListener(com.newgrounds.APIEvent.ADS_APPROVED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", _local11)); } else { _local7 = true; } } if (e.ad_url) { ad_url = unescape(e.ad_url); if (!_local7) { sendMessage("This movie has been approved to run Flash Ads!"); } callListener(com.newgrounds.APIEvent.ADS_APPROVED, true); } if (e.deny_host) { var _local11 = getHost() + " does not have permission to run this movie!"; sendWarning(_local11); sendWarning("\tUpdate your API configuration to unblock " + getHost()); callListener(com.newgrounds.APIEvent.HOST_BLOCKED, true, {real_url:unescape(e.movie_url), url:getOfficialURL()}); } else if (e.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 " + e.movie_version); callListener(com.newgrounds.APIEvent.NEW_VERSION_AVAILABLE, true, {version:e.movie_version, real_url:unescape(e.movie_url), url:getOfficialURL()}); } if (e.request_portal_url) { sendCommand("setPortalID", {portal_url:_url}); } if (preload) { reportNewAsset(); var _local8 = {}; if (hasUserSession()) { _local8.publisher_id = publisher_id; _local8.user_id = user_id; } sendCommand("preloadSettings", _local8); } reportAssetLoaded(); break; case "preloadSettings" : if (e.medals) { populateMedals(e.medals); if ((!hasUserSession()) and (!debug)) { echo("checking for sharedobject medals..."); var _local4 = loadLocal("medals_unlocked"); if (_local4) { for (var _local32 in _local4) { var _local32 = Number(_local32); if (_local4[_local32]) { var _local3 = getMedal(_local32); echo("now unlocking " + _local3.getName()); _local3.setUnlocked(true); } } } } } if (e.save_groups) { populateSaveGroups(e.save_groups, e.save_file_path); } if (e.score_boards) { populateScoreBoards(e.score_boards); } if (_root.NewgroundsAPI_SaveFileID && (_root.NewgroundsAPI_SaveGroupID)) { callListener(com.newgrounds.APIEvent.FILE_REQUESTED, true, {save_id:_root.NewgroundsAPI_SaveFileID, group:getSaveGroup(_root.NewgroundsAPI_SaveGroupID)}); } callListener(com.newgrounds.APIEvent.METADATA_LOADED, true); reportAssetLoaded(); break; case "logCustomEvent" : if (e.success) { sendMessage(("Event '" + e.event) + "' was logged."); } callListener(com.newgrounds.APIEvent.EVENT_LOGGED, e.success, {event:e.event}); break; case "postScore" : var _local9; if (e.success) { var _local5 = "User"; if (user_email) { _local5 = user_email; } else if (user_name) { _local5 = user_name; } var _local19 = getScoreBoard(e.board); sendMessage(((((_local5 + " posted ") + e.value) + " to '") + _local19.name) + "'"); _local9 = {board:_local19, value:e.value, username:_local5}; } callListener(com.newgrounds.APIEvent.SCORE_POSTED, e.success, _local9); break; case "loadScores" : _local9 = new Object(); var _local19 = getScoreBoard(e.board); if (_local19.exists()) { _local19.setScores(e.scores, e.period, e.page, e.num_results); } callListener(com.newgrounds.APIEvent.SCORES_LOADED, e.success, {board:_local19}); break; case "unlockMedal" : var _local24 = getMedal(e.medal_name); _local24.setUnlocked(true); sendMessage(("Successfuly unlocked '" + _local24.getName()) + "'"); callListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, e.success, {medal_id:_local24.id, medal:_local24}); break; case "getMedals" : populateMedals(e.medals); callListener(com.newgrounds.APIEvent.MEDALS_LOADED, e.success, {medals:medals}); break; case "loadSaveFile" : var _local16 = getSaveGroup(e.group_id); var _local14 = new com.newgrounds.SaveFile(_local16); _local14.id = e.file.save_id; _local14.name = e.file.filename; _local14.fileUrl = e.file.file; _local14.thumbnailUrl = e.file.thumb; _local14.authorName = e.file.user_name; _local14.authorId = e.file.user_id; _local14.description = e.file.description; _local14.setPermissions(e.file.status, e.file.locked); for (var _local6 in e.file.keys) { _local14.setKey(e.file.keys[_local6].id, e.file.keys[_local6].value); } for (var _local6 in e.file.ratings) { _local14.setRating(e.file.ratings[_local6].id, e.file.ratings[_local6].votes, e.file.ratings[_local6].score); } if (e.get_contents) { _local14.loadContents(); } callListener(com.newgrounds.APIEvent.FILE_INITIALIZED, e.success, {save_id:_local14.id, file:_local14}); save_file = _local14; break; case "lookupSaveFiles" : var _local12 = getSaveGroup(e.group_id).getQuery(); _local12.onExecuted(e.files); break; case "rateSaveFile" : _local16 = getSaveGroup(e.group_id); _local14 = _local16.getFile(e.save_id); if (e.already_voted) { var _local27 = new com.newgrounds.APIError("PERMISSION_DENIED", "You have already voted on this item today"); callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, false, {error:_local27, file:_local14, save_id:_local14.id}); return(undefined); } if (e.success) { var _local10 = _local14.onVoted(e); callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, e.success, {rating:_local10, file:_local14, save_id:_local14.id}); } else { callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, e.success, {file:_local14, save_id:_local14.id}); sendError("Your vote was not accepted."); } break; case "saveFile" : if (save_file) { if (!save_file.exists()) { save_file.setID(e.save_id, true); } save_file.onSaved(e); callListener(com.newgrounds.APIEvent.FILE_SAVED, e.success, {save_id:save_file.__get__id(), file:save_file}); if (e.success) { sendMessage(((("You just saved a new file (id #" + e.save_id) + ") to the '") + save_file.__get__group().__get__name()) + "' save group."); } } save_file = null; break; case "checkFilePrivs" : _local9 = {file:save_file, filename:e.filename, group:e.group, exists:e.exists, can_write:e.can_write}; if (e.duplicate_id) { _local9.duplicate_id = e.duplicate_id; } if (!e.success) { sendWarning("You do not have permission to save this file!"); } callListener(com.newgrounds.APIEvent.FILE_PRIVS_LOADED, e.success, _local9); } } static function getDispatcher() { if (!eventDispatcher) { eventDispatcher = new com.newgrounds.APIEventDispatcher(); } return(eventDispatcher); } static function hasEventListener(event) { return(getDispatcher().hasEventListener(event)); } static function addEventListener(event, listener, target) { echo(("Adding a listener for '" + event) + "'"); getDispatcher().addEventListener(event, listener, target); } static function removeEventListener(event, target) { getDispatcher().removeEventListener(event, target); } static function callListener(event, success, data, target) { echo("Fired Event: " + event); var _local2 = new com.newgrounds.APIEvent(event, success, data); getDispatcher().dispatchEvent(_local2); if ((event == com.newgrounds.APIEvent.API_CONNECTED) && (!success)) { connected = false; } bridge.sendEvent(event, {success:success, data:data}); } static function sendError(c, e) { switch (c.command_id) { case "connectMovie" : clearInterval(timeout); callListener(com.newgrounds.APIEvent.API_CONNECTED, false, {error:e, response:c}); break; case "saveFile" : callListener(com.newgrounds.APIEvent.FILE_SAVED, false, {error:e, file:save_file, response:c}); save_file = null; } var _local3 = (((((("[Newgrounds API ERROR] :: " + c.command_id) + "() - ") + e.name) + ":") + newline) + "\t\t\t\t") + e.message; trace(_local3); bridge.sendEvent("trace", {data:_local3}); } static function sendWarning(m, c) { if (c) { m = m + ((("\r[Newgrounds API WARNING] :: \tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information."); } var _local1 = "[Newgrounds API WARNING] :: " + m; trace(_local1); bridge.sendEvent("trace", {data:_local1}); } static function sendNotice(m, c) { if (c) { m = m + ((("\r[Newgrounds API NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information."); } trace("[Newgrounds API NOTICE] :: " + m); } static function fatalError(m, c) { if (c) { m = m + ((("\r\tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information."); } throw (((("***ERROR*** frame=" + _root._currentframe) + ", class=API") + newline) + newline) + m; } static function openLoginPage() { if (hasUserSession()) { return(undefined); } if (!remote_auth) { var _local1 = com.newgrounds.encoders.MD5.calculate((Math.random() + "a") + movie_id); _local1 = "POOPYPANTS"; remote_auth = new com.newgrounds.RemoteAuth(_local1); } var _local2 = com.newgrounds.encoders.RC4.encrypt(remote_auth.__get__token(), encryption_key); trace(_local2); getURL ((((LOGIN_URL + "?api_auth_id=") + movie_id) + "&api_auth_key=") + _local2, "_blank"); } static function sendSecureCommand(command, secure_params, unsecure_params, files) { if (((!debug) && (!hasUserSession())) && (!hasUserEmail())) { sendError({command_id:command}, new com.newgrounds.APIError("IDENTIFICATION_REQUIRED", ("You must be logged in, or provide an e-mail address using 'API.setUserEmail(\"name@domain.com\");' to use " + command) + "().")); return(undefined); } if (!command) { fatalError("Missing command", "sendSecureCommand"); } if (!secure_params) { fatalError("Missing secure_params", "sendSecureCommand"); } if (!unsecure_params) { unsecure_params = new Object(); } var _local2 = ""; var _local1 = 0; while (_local1 < 16) { _local2 = _local2 + compression_radix.charAt(Math.floor(Math.random() * compression_radix.length)); _local1++; } if ((debug && (!fake_session)) && (!session_id)) { secure_params.session_id = ""; } else { secure_params.session_id = session_id; } secure_params.as_version = 2; secure_params.user_email = user_email; secure_params.publisher_id = publisher_id; secure_params.seed = _local2; secure_params.command_id = command; var _local6 = com.newgrounds.encoders.JSON.encode(secure_params); trace(("JSON: " + _local6) + newline); var _local9 = com.newgrounds.encoders.MD5.calculate(_local2); var _local7 = com.newgrounds.encoders.RC4.encrypt(_local6, encryption_key); var _local8 = _local9 + _local7; unsecure_params.secure = compressHex(_local8); sendCommand("securePacket", unsecure_params, false, files); } static function sendCommand(command, params, open_browser, files) { if ((!connected) and (command != "connectMovie")) { var _local12 = (("API." + command) + "() - API.connect() must be called before this command can be called") + newline; fatalError(_local12, "connect"); } if (open_browser) { var _local2 = new Object(); } else { var _local2 = new LoadVars(); } _local2.command_id = command; _local2.tracker_id = movie_id; if (debug) { _local2.debug = debug; } if (params) { for (var _local9 in params) { _local2[_local9] = params[_local9]; } } if (files) { for (var _local9 in files) { _local2[_local9] = files[_local9]; } } if (open_browser) { var _local6 = (GATEWAY_URL + "?seed=") + Math.random(); for (var _local9 in _local2) { _local6 = _local6 + ((("&" + escape(_local9)) + "=") + escape(_local2[_local9])); } trace("OPENING " + _local6); getURL (_local6, "_blank"); _local2.removeMovieClip(); } else { var _local10 = new LoadVars(); _local10.remember_command_id = _local2.command_id; _local10.onData = function (data) { com.newgrounds.API.echo(("INPUT: \r" + data) + newline); if (data) { var _local2 = com.newgrounds.encoders.JSON.decode(data); } else { var _local2 = {success:false}; } if (!_local2.success) { if ((!_local2.error_code) && (!_local2.error_msg)) { _local2.error_code = "CONNECTION_FAILED"; _local2.error_msg = "Could not contact the API Gateway"; _local2.command_id = this.remember_command_id; } var _local4 = new com.newgrounds.APIError(_local2.error_code, _local2.error_msg); com.newgrounds.API.sendError(_local2, _local4); } else { com.newgrounds.API.doEvent(_local2); } }; var _local7 = new Array(); for (var _local8 in _local2) { _local7.push((_local8 + "=") + escape(_local2[_local8])); } echo((("POST " + GATEWAY_URL) + "?") + _local7.join("&")); _local2.sendAndLoad((GATEWAY_URL + "?seed=") + Math.random(), _local10, "POST"); last_command = _local2.command_id; } } static function renderAd(target) { if (ad_swf_url) { target.background = target.createEmptyMovieClip("background", 100); target.background.beginFill(0); target.background.moveTo(0, 0); target.background.lineTo(300, 0); target.background.lineTo(300, 250); target.background.lineTo(0, 250); target.background.lineTo(0, 0); target.background.endFill(); target.mask = target.createEmptyMovieClip("mask", 101); target.mask.beginFill(0); target.mask.moveTo(0, 0); target.mask.lineTo(300, 0); target.mask.lineTo(300, 250); target.mask.lineTo(0, 250); target.mask.lineTo(0, 0); target.mask.endFill(); target.clip = target.createEmptyMovieClip("clip", 102); target.clip.ad = target.clip.createEmptyMovieClip("ad", 100); target.clip.setMask(target.mask); target.clip.ad._lockroot = true; loadMovie (ad_swf_url, target.clip.ad); callListener(com.newgrounds.APIEvent.AD_ATTACHED, true, {target:target}); } else { callListener(com.newgrounds.APIEvent.AD_ATTACHED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")); } } static function attachFlashAd(target) { if (checkAdFlood()) { ad_swf_url = null; } else if (checkAdCache()) { reportNewAsset(); var _local1 = new LoadVars(); _local1.onData = function (data) { if (data) { com.newgrounds.API.ad_swf_url = data; } else { com.newgrounds.API.ad_swf_url = null; } com.newgrounds.API.reportAssetLoaded(); com.newgrounds.API.renderAd(target); }; if (ad_url.indexOf("?") > -1) { _local1.load((ad_url + "&random=") + Math.random()); } else { _local1.load((ad_url + "?random=") + Math.random()); } if (!ad_warning) { ad_warning = true; sendMessage("You may get a security sandbox violation from this ad. This is nothing to worry about!"); } } else if (ad_swf_url) { renderAd(target); } } static function checkAdFlood() { if (!ad_url) { return(false); } var _local2 = new Date(); var _local1 = _local2.getTime(); if (_local1 >= ad_flood) { if ((_local1 - ad_flood) > 1000) { ad_flood = _local1 + 1000; } else { ad_flood = _local1; sendWarning("This movie is attempting to load multiple ads at too high of a frequency; you may have a bad preloader loop."); return(true); } } return(false); } static function checkAdCache() { if (!ad_url) { return(false); } var _local2 = new Date(); var _local1 = _local2.getTime(); if (_local1 >= ad_url_cache) { ad_url_cache = _local1 + 300000; return(true); } return(false); } static function sendMessage(m, r) { var _local1 = "[Newgrounds API] :: " + m; if (r) { return(_local1); } trace(_local1); bridge.sendEvent("trace", {data:_local1}); } static function echo(m) { if (do_echo) { trace(m); } } static var LOGIN_URL = "http://ng-local.newgrounds.com/apilogin/"; static var do_echo = true; static var GATEWAY_URL = "http://www.ngads.com/gateway_v2.php"; static var NEWGROUNDS_PREVIEW = "uploads.ungrounded.net/previews"; static var AD_TERMS_URL = "http://www.newgrounds.com/wiki/using-the-site/terms-of-use/flash-ads/"; static var COMMANDS_WIKI_URL = "http://www.newgrounds.com/wiki/developer-resources/flash-api/commands/"; static var LOCAL_HOST = "localhost"; static var NEWGROUNDS_WWW = "www.newgrounds.com"; static var PREVIEW_HOSTS = new Array(LOCAL_HOST, NEWGROUNDS_PREVIEW); static var ad_url_cache = 0; static var ad_flood = 0; static var ad_warning = false; static var save_file = null; static var publisher_id = 1; static var fake_session = false; static var medals = null; static var userpage_format = null; static var scoreboards = new Array(); static var save_groups = null; static var compression_radix = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; static var errors = com.newgrounds.APIError.init_codes(); static var sharedObjects = new Object(); static var bridge = new com.newgrounds.Bridge(_root.NewgroundsAPI_SandboxID); static var preload = true; static var preload_items = 0; static var preload_items_loaded = 0; }
Symbol 75 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge { var widget_id, receiver, transmitter; function Bridge (id) { widget_id = id; receiver = new LocalConnection(); transmitter = new LocalConnection(); receiver.receiveEvent = function (event, params) { com.newgrounds.API.callListener(event, params.success, params.data); }; try { receiver.connect("rec_" + widget_id); } catch(error:Error) { } } function sendEvent(event, params) { if (widget_id) { transmitter.send(widget_id, "sendEvent", event, validateParams(params)); } } function sendCommand(command, params) { if (widget_id) { transmitter.send(widget_id, "sendCommand", command, validateParams(params)); } } function validateParams(params) { var _local2 = {}; for (var _local3 in params) { if ((typeof(params[_local3]) == "string") || (typeof(params[_local3]) == "number")) { _local2[_local3] = params[_local3]; } } return(_local2); } }
Symbol 76 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile { static var file_path, image_path; var _group, _filename, _file_id, _contents, _thumbnail, _thumbnail_url, raw, img, _file_url, _description, scanner; function SaveFile (_group) { this._group = _group; _filename = null; _file_id = null; _contents = null; _thumbnail = null; _thumbnail_url = null; raw = null; img = null; _draft = false; _keys = new Array(); _ratings = new Array(); _file_url = null; com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.FILE_PRIVS_LOADED, checkPrivs, this); } static function setFilePath(path) { file_path = path + "/"; } static function setImagePath(path) { image_path = path + "/"; } function get name() { return(_filename); } function set name(s) { _filename = s; //return(name); } function get id() { return(_file_id); } function get description() { return(_description); } function set description(s) { _description = s; //return(description); } function get contents() { return(_contents); } function set contents(o) { _contents = o; //return(contents); } function get thumbnailUrl() { return(image_path + _thumbnail_url); } function set thumbnailUrl(s) { _thumbnail_url = s; //return(thumbnailUrl); } function get fileUrl() { return(file_path + _file_url); } function set fileUrl(s) { _file_url = s; //return(fileUrl); } function get authorID() { return(_author_id); } function set authorID(i) { _author_id = i; //return(authorID); } function get authorName() { return(_author_name); } function set authorName(n) { _author_name = n; //return(authorName); } function get views() { return(_views); } function get draft() { return(_draft); } function set draft(d) { _draft = d; //return(draft); } function get group() { return(_group); } function get groupId() { return(_group.getID()); } function get groupName() { return(_group.getName()); } function get groupType() { return(_group.getType()); } function get locked() { return(_locked); } function get shared() { return(_isShared()); } function get isPrivate() { return(_isPrivate()); } function get isPublic() { return(_isPublic()); } function get approved() { return(_isApproved()); } function get keys() { return(_keys); } function get ratings() { return(_ratings); } function loadAuthorPage() { com.newgrounds.API.loadUserPage(_author_id, _author_name); } function getID() { return(_file_id); } function exists() { return(!(_file_id === null)); } function getGroup() { return(_group); } function getName() { return(_filename); } function _isPrivate() { return(status == STATUS.PRIVATE); } function _isShared() { return(status > STATUS.PRIVATE); } function _isApproved() { return(status > STATUS.UNAPPROVED); } function _isPublic() { if (_isPrivate()) { return(false); } if (_group.isType("SYSTEM") or _group.isType("PRIVATE")) { return(false); } if (_group.isType("PUBLIC")) { return(true); } if (_isApproved()) { return(true); } return(false); } function isLocked() { return(_locked); } function getDescription() { return(_description); } function getShared() { return(_draft); } function getThumbnailImageScan() { return(img); } function getRawContents() { return(raw); } function getDuplicateID() { return(duplicate_id); } function getKeys() { return(_keys); } function getKey(key) { var _local3 = getGroup().getKey(key); var _local2 = 0; while (_local2 < _keys.length) { if (_keys[_local2].id == _local3.key_id) { return(_keys[_local2].value); } _local2++; } } function getRating(rating) { var _local2 = getGroup().getRating(rating); if (_ratings[_local2.rating_id]) { return(_ratings[_local2.rating_id]); } return(null); } function overwriteAllowed() { return(overwrite); } function getFileURL() { return(file_path + _file_url); } function getThumbnailURL() { return(image_path + _thumbnail_url); } function overwriteExisting() { overwrite = true; } function setID(id, add_to_group) { _file_id = id; if (add_to_group) { getGroup().addFile(this); } } function setName(filename, locked) { _filename = filename; _locked = locked; } function setDescription(description) { _description = description; } function setDraft(draft) { _draft = draft; } function setContents(_contents) { this._contents = _contents; } function setThumbnail(thumb) { if (thumb) { _thumbnail = thumb; } else { _thumbnail = null; } } function setThumbnailURL(url) { _thumbnail_url = url; } function setFileURL(url) { _file_url = url; } function setPermissions(status, _locked) { this._locked = _locked; this.status = status; } function setKey(key, val) { var _local4 = getGroup().getKeyID(key); var _local2; if (!_local4) { onError(((("'" + key) + "' is not a valid key for the '") + _group.__get__name()) + "' save group", "setKey", "INVALID_VALUE", true); return(undefined); } if ((!_group.keyValueIsValid(key, val)) && (!(val === null))) { onError((("'" + val) + "' is not a valid ") + _group.getKeyType(key, true), "setKey", "INVALID_VALUE", true); return(undefined); } switch (_group.getKeyType(key, true)) { case "string" : if (val) { val = String(val); } else { val = undefined; } break; default : val = Number(val); } var _local5 = {id:_local4, value:val}; for (var _local6 in _keys) { _local2 = _keys[_local6]; if (_local2.id == _local4) { _keys[_local6] = _local5; return(undefined); } } _keys.push(_local5); } function setRating(rating, votes, score) { var _local2 = getGroup().getRating(rating); if (!votes) { votes = 0; } if (!score) { score = 0; } if (!_local2.is_float) { score = Math.round(Number(score)); } _ratings[_local2.rating_id] = {id:Number(_local2.rating_id), name:_local2.rating_name, votes:Number(votes), score:Number(score)}; return(_ratings[_local2.rating_id]); } function clearBuffer() { _contents = null; raw = null; img = null; scanner = null; overwrite = false; duplicate_id = null; } function onError(msg, funct, code) { busy = false; if (!code) { code = "SAVE_FILE_ERROR"; } if (!funct) { funct = "unknown_function"; } var _local3 = ("getSaveGroup('" + _group.getName()) + "')"; if (exists()) { funct = (((_local3 + ".getFile('") + getName()) + "').") + funct; } else { funct = (_local3 + ".getNewFile().") + funct; } var _local5 = new com.newgrounds.APIError(code, msg); com.newgrounds.API.sendError({command_id:funct}, _local5); } function onSaved(p) { busy = false; if (!exists()) { setID(p.save_id, true); } setName(p.filename); setFileURL(p.file_url); if (p.thumbnail) { _thumbnail_url = p.thumbnail; } } function onVoted(p) { trace("ONVOTED WAS CALLED"); return(setRating(p.rating_id, p.votes, p.score)); } function sendRating(rating, vote) { var _local6 = null; if (!com.newgrounds.API.hasUserSession()) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", "You must be logged in to vote on save files"); } var _local2 = _group.getRating(rating); if (!_local2) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", ((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' save group"); } if (voted === true) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", "You have already voted on this item today"); } if ((vote < _local2.min_value) or (vote > _local2.max_value)) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", (((("'" + rating) + "' votes must be between ") + _local2.min_value) + " and ") + _local2.max_value); } if (_local6) { com.newgrounds.API.callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, false, {error:_local6, file:this}); return(undefined); } voted = true; com.newgrounds.API.rateSaveFile(this, _local2, vote); } function replace() { if (busy) { onError("Another file is currently being saved, please try again later", "replace"); return(undefined); } overwriteExisting(); save(); } function save() { if ((com.newgrounds.API.hasUserSession() && (!_author_id)) && (!_author_name)) { _author_id = com.newgrounds.API.getUserID(); _author_name = com.newgrounds.API.getUserName(); } if (busy) { onError("Another file is currently being saved, please try again later", "save", "UPLOAD_IN_PROGRESS"); return(undefined); } busy = true; if (isLocked()) { onError("This file is _locked and cannot be overwritten.", "save", "PERMISSION_DENIED"); return(undefined); } if (!_filename) { onError("Please provide a name for your file.", "save", "MISSING_PARAM"); return(undefined); } if (!_contents) { onError("The file is empty.", "save", "MISSING_PARAM"); return(undefined); } img = null; com.newgrounds.API.checkFilePrivs(this); } function checkPrivs(e) { if (e.data.file.id != id) { return(undefined); } if (e.success) { if (e.data.can_write) { can_write = e.data.can_write; if (e.data.duplicate_id) { duplicate_id = e.data.duplicate_id; } if (e.data.exists && (!overwriteAllowed())) { onError(("You already have a file named '" + getName()) + "'", "save", "CONFIRM_REQUEST"); } else { startFile(); } } else { onError("This file is _locked and cannot be overwritten", "save", "PERMISSION_DENIED"); } } else { onError("There was a problem looking up your file's details. The server may be down.", "save", "UNKNOWN_ERROR"); } } function startFile() { if (can_write) { if (_thumbnail) { scanner = new com.newgrounds.encoders.ImageScanner(_thumbnail); scanner.setCallback(this, "encodeFile"); scanner.startScan(100, 100, true); } else { encodeFile(); } } else { onError("You do not have permission to save this file.", "save", "PERMISSION_DENIED"); } } function encodeFile(img) { this.img = img; raw = com.newgrounds.encoders.SerialXML.encode(_contents).toString(); compressFile(); } function compressFile() { com.newgrounds.encoders.LZW2.compress(raw, function (s, p) { p.file.onCompressed(s); }, {file:this}); } function onCompressed(compressed) { raw = escape(compressed); writeFile(); } function getProgress() { } function writeFile() { getGroup().getQuery().clearCache(); com.newgrounds.API.saveFile(this); clearBuffer(); } function loadContents() { if (_contents) { com.newgrounds.API.setCurrentSaveFile(this); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, true, {file:this}); return(undefined); } if (!getFileURL()) { var _local4 = new com.newgrounds.APIError("FILE_NOT_FOUND", "Attempted to load contents of an unsaved file."); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, false, {file:this, error:_local4}); return(undefined); } var _local2 = new LoadVars(); _local2.target = this; var target = this; _local2.onData = function (encoded) { target.onLoaded(encoded); }; _local2.load(getFileURL()); } function onLoaded(encoded) { if (encoded == undefined) { var _local3 = new com.newgrounds.APIError("FILE_NOT_FOUND", "We could not find the contents for this file. It may have been deleted."); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, false, {file:this, error:_local3}); return(undefined); } com.newgrounds.encoders.LZW.setXMLSafe(true); _contents = com.newgrounds.encoders.SerialXML.decode(com.newgrounds.encoders.LZW.decompress(encoded)); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, true, {file:this}); } function setViews(n) { _views = n; } static var busy = false; var can_write = false; var _draft = false; var status = 0; var voted = false; var _views = 0; var _locked = false; var overwrite = false; var duplicate_id = null; var _keys = null; var _ratings = null; var _author_id = null; var _author_name = null; static var STATUS = {PRIVATE:1, PUBLIC:2, UNAPPROVED:3, APPROVED:4}; }
Symbol 77 MovieClip [__Packages.com.newgrounds.SaveGroup] Frame 0
class com.newgrounds.SaveGroup { var group_name, group_id, group_type, query, ratings, keys, files; function SaveGroup (group_id, group_name, group_type) { this.group_name = group_name; this.group_id = group_id; this.group_type = group_type; query = new com.newgrounds.SaveGroupQuery(this); ratings = new Array(); keys = new Array(); files = new Array(); } function get id() { return(group_id); } function get name() { return(group_name); } function get type() { return(group_type); } function addFile(file) { var _local2 = 0; while (_local2 < files.length) { if (files[_local2].getID() == file.getID()) { files[_local2] = file; return(undefined); } _local2++; } files.push(file); } function getFile(file_id) { trace("getting the file " + file_id); var _local2 = 0; while (_local2 < files.length) { trace((((("Looking up " + file_id) + " :: ") + files[_local2].getID()) + " || ") + files[_local2].getName()); if (isNumeric(file_id) and (files[_local2].getID() == Number(file_id))) { return(files[_local2]); } if (files[_local2].getName() == file_id) { return(files[_local2]); } _local2++; } return(null); } function addRating(rating_id, rating_name, min_value, max_value, is_float) { var _local3 = {rating_id:rating_id, rating_name:rating_name, min_value:min_value, max_value:max_value, is_float:is_float}; if (!getRatingID(rating_name)) { ratings.push(_local3); } } function getRating(rating_id) { var _local2 = 0; while (_local2 < ratings.length) { if (isNumeric(rating_id) and (ratings[_local2].rating_id == rating_id)) { return(ratings[_local2]); } if (ratings[_local2].rating_name == rating_id) { return(ratings[_local2]); } _local2++; } return(null); } function getRatingID(rating_id) { var _local2 = getRating(rating_id); if (_local2) { return(_local2.rating_id); } return(null); } function getRatingName(rating_id) { var _local2 = getRating(rating_id); if (_local2) { return(_local2.rating_name); } return(null); } function addKey(key_id, key_name, key_type) { trace(((((">>>>>>>>>>> ADDING KEY " + key_id) + " ") + key_name) + " ") + key_type); var _local2 = {key_id:key_id, key_name:key_name, key_type:key_type}; if (!getKey(key_name)) { keys.push(_local2); } } function getKey(key_id) { var _local2 = 0; while (_local2 < keys.length) { if (isNumeric(key_id) and (keys[_local2].key_id == key_id)) { return(keys[_local2]); } if (keys[_local2].key_name == key_id) { return(keys[_local2]); } _local2++; } return(null); } function getKeyType(key_name, as_string) { var _local2 = getKey(key_name); if (_local2) { return((as_string ? (KEY_TYPES[_local2.key_type]) : (_local2.key_type))); } return(null); } function getKeyID(key_id) { var _local2 = getKey(key_id); if (_local2) { return(_local2.key_id); } return(null); } function getKeyName(key_id) { var _local2 = getKey(key_id); if (_local2) { return(_local2.key_name); } return(null); } function keyValueIsValid(key, value) { var _local4; var _local7; if ((typeof(value) == "number") or (Number(value).toString() == String(value))) { value = Number(value); _local4 = ((Math.round(value) === value) ? "integer" : "float"); } else { _local4 = typeof(value); if (_local4 == "string") { var _local6 = "01234567890.-"; var _local5 = true; var _local2 = 0; while (_local2 < value.length) { if (_local6.indexOf(value.charAt(_local2)) < 0) { _local5 = false; break; } _local2++; } if (_local5) { value = Number(value); _local4 = "float"; } } } switch (getKeyType(key, true)) { case "integer" : _local7 = (_local4 == "integer") or (_local4 == "boolean"); break; case "float" : _local7 = ((_local4 == "float") or (_local4 == "integer")) or (_local4 == "boolean"); break; case "string" : _local7 = (((_local4 == "string") or (_local4 == "float")) or (_local4 == "integer")) or (_local4 == "boolean"); break; case "boolean" : _local7 = (((_local4 == "boolean") or (value == 1)) or (value == 0)) or (value == ""); break; default : _local7 = false; } return(_local7); } function isType(type) { return(group_type == TYPES[type.toUpperCase()]); } function getID() { return(group_id); } function getName() { return(group_name); } function getType() { return(group_type); } function isSystem() { return(undefined); } function getQuery(as_object) { if (as_object) { return(query.toObject()); } return(query); } function newQuery() { query.reset(); return(query); } function clearQuery() { query.reset(); } function newFile() { var _local2 = new com.newgrounds.SaveFile(this); return(_local2); } static function isNumeric(value) { return((typeof(value) == "number") or (Number(value).toString() == String(value))); } static var KEY_TYPES = [null, "float", "integer", "string", "boolean"]; static var TYPES = {SYSTEM:0, PRIVATE:1, PUBLIC:2, MODERATED:3}; }
Symbol 78 MovieClip [__Packages.com.newgrounds.ValidationTools] Frame 0
class com.newgrounds.ValidationTools { function ValidationTools () { } static function isNumber(v) { if (typeof(v) == "number") { return(true); } if ((typeof(v) == "string") and (Number(v).toString() == v)) { return(true); } return(false); } static function isInteger(v) { if (isNumber(v)) { v = Number(v); return(Math.floor(v) == v); } return(false); } static function isFloat(v) { return(isNumber(v)); } static function isString(v) { if ((typeof(v) == "string") or (typeof(v) == "number")) { return(true); } return(false); } static function isEmpty(o) { for (var _local2 in o) { return(false); } return(true); } }
Symbol 79 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent { var _type, _success, _error, data; function APIEvent (type, success, data) { _type = type; _success = success; if (data.isError()) { _error = data; this.data = null; } else if (data.error && (data.error.isError())) { _error = data.error; this.data = data; } else { this.data = data; _error = null; } } function get error() { return(_error); } function get type() { return(_type); } function get success() { return(_success); } static var API_CONNECTED = "apiConnected"; static var ADS_APPROVED = "adsApproved"; static var AD_ATTACHED = "adAttached"; static var HOST_BLOCKED = "hostBlocked"; static var NEW_VERSION_AVAILABLE = "newVersionAvailable"; static var EVENT_LOGGED = "eventLogged"; static var SCORE_POSTED = "scorePosted"; static var SCORES_LOADED = "scoresLoaded"; static var UNLOCK_MEDAL = "unlockMedal"; static var MEDAL_UNLOCKED = "medalUnlocked"; static var MEDALS_LOADED = "medalsLoaded"; static var METADATA_LOADED = "metadataLoaded"; static var FILE_PRIVS_LOADED = "filePrivsLoaded"; static var FILE_SAVED = "fileSaved"; static var FILE_LOADED = "fileLoaded"; static var FILE_INITIALIZED = "fileInitialized"; static var FILE_REQUESTED = "fileRequested"; static var QUERY_COMPLETE = "queryComplete"; static var VOTE_COMPLETE = "voteComplete"; static var API_ERROR = "apiError"; static var UNCAUGHT_EVENT = "uncaughtEvent"; }
Symbol 80 MovieClip [__Packages.com.newgrounds.SaveGroupQuery] Frame 0
class com.newgrounds.SaveGroupQuery { var _group, _num_results, _pages, _page, _randomize_results, file_conditions, key_conditions, rating_conditions, sort_conditions, lookup_keys, lookup_ratings, _group_by; function SaveGroupQuery (_group) { this._group = _group; reset(); } function get group() { return(_group); } function get groupId() { return(_group.getID()); } function get resultsPerPage() { return(_num_results); } function set resultsPerPage(n) { _num_results = n; //return(resultsPerPage); } function get pages() { return(_pages); } function get page() { return(_page); } function set page(n) { _page = n; //return(page); } function get randomize() { return(_randomize_results); } function set randomize(b) { _randomize_results = b; //return(randomize); } function get results() { return(_results); } function clearCache() { _results = []; } function reset() { file_conditions = new Array(); key_conditions = new Array(); rating_conditions = new Array(); sort_conditions = new Array(); lookup_keys = new Object(); lookup_ratings = new Object(); _num_results = 20; _page = 1; _randomize_results = false; _group_by = new Array(); clearCache(); } function getGroup() { return(_group); } function getGroupID() { return(_group.getID()); } function isRandomized() { return(_randomize_results); } function toObject() { var _local2; var _local11 = {page:_page, num_results:_num_results}; if (_randomize_results) { _local11.randomize = 1; } if (!com.newgrounds.ValidationTools.isEmpty(file_conditions)) { var _local12 = []; _local2 = 0; while (_local2 < file_conditions.length) { var _local6 = file_conditions[_local2]; _local12.push({field:file_fields[_local6.field.toUpperCase()].id, operator:_local6.operator, value:_local6.value}); _local2++; } _local11.file_conditions = _local12; } if (!com.newgrounds.ValidationTools.isEmpty(key_conditions)) { _local11.key_conditions = key_conditions; } if (!com.newgrounds.ValidationTools.isEmpty(rating_conditions)) { _local11.rating_conditions = rating_conditions; } if (!com.newgrounds.ValidationTools.isEmpty(sort_conditions)) { var _local14 = []; _local2 = 0; while (_local2 < sort_conditions.length) { var _local3 = sort_conditions[_local2]; if (_local3.table == TABLE_FILES) { var _local8 = file_fields[_local3.field.toUpperCase()].id; } else { var _local8 = _local3.field; } var _local5 = {field:_local8, table:_local3.table}; if (_local3.desc) { _local5.desc = 1; } if (_local3.extra) { _local5.extra = _local3.extra; } _local14.push(_local5); _local2++; } _local11.sort_conditions = _local14; } if (!com.newgrounds.ValidationTools.isEmpty(lookup_keys)) { var _local15 = []; for (_local2 in lookup_keys) { _local15.push(_local2); } _local11.lookup_keys = _local15; } if (!com.newgrounds.ValidationTools.isEmpty(lookup_ratings)) { var _local13 = []; for (_local2 in lookup_ratings) { _local13.push(_local2); } _local11.lookup_ratings = _local13; } if (!com.newgrounds.ValidationTools.isEmpty(_group_by)) { var _local16 = []; _local2 = 0; while (_local2 < _group_by.length) { var _local4 = _group_by[_local2]; if (_local4.table == TABLE_FILES) { var _local8 = file_fields[_local4.field.toUpperCase()].id; } else { var _local8 = _local4.field; } _local16.push({field:_local8, table:_local4.table}); _local2++; } _local11.group_by = _local16; } return(_local11); } function toString() { var _local9; var _local2; var _local11 = []; _local9 = "Lookup:\r"; var _local14 = []; for (var _local6 in file_fields) { _local14.push(" " + _local6); _local2 = true; } _local9 = _local9 + _local14.join(newline); _local11.push(_local9); _local9 = ""; _local2 = false; var _local16 = []; for (var _local6 in lookup_keys) { _local16.push((" KEY '" + _group.getKeyName(_local6)) + "'"); _local2 = true; } if (_local2) { _local9 = _local9 + _local16.join(newline); _local11.push(_local9); } _local9 = ""; _local2 = false; var _local15 = []; for (var _local6 in lookup_ratings) { _local15.push((" RATING '" + _group.getRatingName(_local6)) + "'"); _local2 = true; } if (_local2) { _local9 = _local9 + _local15.join(newline); _local11.push(_local9); } _local9 = "Where:\r"; _local2 = false; var _local8 = []; var _local6 = 0; while (_local6 < file_conditions.length) { var _local7 = file_conditions[_local6]; var _local10 = ((((" " + _local7.field) + " ") + _local7.operator) + " ") + _local7.value; _local8.push(_local10); _local2 = true; _local6++; } _local6 = 0; while (_local6 < key_conditions.length) { var _local7 = key_conditions[_local6]; var _local10 = ((((" KEY '" + _group.getKeyName(_local7.key_id)) + "' ") + _local7.operator) + " ") + _local7.value; _local8.push(_local10); _local2 = true; _local6++; } _local6 = 0; while (_local6 < rating_conditions.length) { var _local7 = rating_conditions[_local6]; var _local10 = ((((" RATING '" + _group.getRatingName(_local7.rating_id)) + "' ") + _local7.operator) + " ") + _local7.value; _local8.push(_local10); _local2 = true; _local6++; } if (_local2) { _local9 = _local9 + _local8.join(newline); _local11.push(_local9); } _local9 = "Group By:\r"; _local2 = false; var _local13 = []; _local6 = 0; while (_local6 < _group_by.length) { var _local4 = _group_by[_local6]; var _local5; if (_local4.table == TABLE_KEYS) { _local5 = (" KEY '" + _group.getKeyName(_local4.field)) + "'"; } else if (_local4.table == TABLE_RATINGS) { _local5 = (" RATING '" + _group.getRatingName(_local4.field)) + "'"; } else { _local5 = " " + _local4.field; } _local13.push(_local5); _local2 = true; _local6++; } if (_local2) { _local9 = _local9 + _local13.join(newline); _local11.push(_local9); } _local9 = "Order By:\r"; _local2 = false; var _local12 = []; if (isRandomized()) { _local12.push(" RANDOM"); _local2 = true; } _local6 = 0; while (_local6 < sort_conditions.length) { var _local3 = sort_conditions[_local6]; if (_local3.table == TABLE_KEYS) { var _local5 = (" KEY '" + _group.getKeyName(_local3.field)) + "'"; } else if (_local3.table == TABLE_RATINGS) { var _local5 = ((" RATING '" + _group.getRatingName(_local3.field)) + "' ") + ((_local3.extra == "votes") ? "VOTES" : "SCORE"); } else { var _local5 = " " + _local3.field; } var _local5 = _local5 + (_local3.desc ? " (DESCENDING)" : ""); _local12.push(_local5); _local2 = true; _local6++; } if (_local2) { _local9 = _local9 + _local12.join(newline); _local11.push(_local9); } _local11.push("Page:\r " + _page); _local11.push("Results Per Page:\r " + _num_results); return(_local11.join(newline)); } function setResultsPerPage(r) { _num_results = r; clearCache(); } function setPage(p) { _page = p; clearCache(); } function setRandomize(bool) { _randomize_results = ((bool === false) ? false : true); } function includeKey(key) { if (!_group.getKeyID(key)) { trace(((("[SaveGroupQuery Error] :: '" + key) + "' is not a valid key for the '") + _group.__get__name()) + "' group."); return(undefined); } lookup_keys[_group.getKeyID(key)] = 1; clearCache(); } function includeRating(rating) { if (!_group.getRatingID(rating)) { trace(((("[SaveGroupQuery Error] :: '" + rating) + "' is not a valid rating for the '") + _group.__get__name()) + "' group."); return(undefined); } lookup_ratings[_group.getRatingID(rating)] = 1; clearCache(); } function groupBy(field) { addGroupItem(TABLE_FILES, field); } function groupByKey(key) { if (!_group.getKeyID(key)) { error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' _group"); return(undefined); } addGroupItem(TABLE_KEYS, _group.getKeyID(key)); } function groupByRating(rating) { if (!_group.getRatingID(rating)) { error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' _group"); return(undefined); } addGroupItem(TABLE_RATINGS, _group.getRatingID(rating)); } function addGroupItem(table, field) { _group_by.push({table:table, field:field}); clearCache(); } function excludeKey(key) { delete lookup_keys[_group.getKeyID(key)]; clearCache(); } function excludeRating(rating) { delete lookup_ratings[_group.getRatingID(rating)]; clearCache(); } function addCondition(field, operator, value) { if (((field == "FILE_STATUS") && (typeof(value) == "string")) && (!(com.newgrounds.SaveFile.STATUS[value.toUpperCase()] === undefined))) { value = com.newgrounds.SaveFile.STATUS[value.toUpperCase()]; } if (operator == "==") { operator = "="; } if ((!validateOperator(operator)) or (!validateValue(field, value))) { return(undefined); } file_conditions.push({field:field, operator:operator, value:value}); clearCache(); } function addKeyCondition(key, operator, value) { if (!_group.getKeyID(key)) { error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' save _group"); } else if ((!validateOperator(operator)) or (!validateKeyValue(key, value))) { return(undefined); } key_conditions.push({key_id:_group.getKeyID(key), operator:operator, value:value}); clearCache(); } function addRatingCondition(rating, operator, value, column) { if (!column) { column = "SCORE"; } if (!_group.getRatingID(rating)) { error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' save _group"); } else { if (!validateOperator(operator)) { return(undefined); } if (!com.newgrounds.ValidationTools.isNumber(value)) { error(("Expected numeric value for rating '" + rating) + "'"); return(undefined); } } if (!rating_columns[column]) { var _local2 = []; for (var _local3 in rating_columns) { _local2.push(_local3); } error((("Invalid rating column '" + column) + "'. Valid columns are ") + _local2.join(", ")); return(undefined); } rating_conditions.push({rating_id:_group.getRatingID(rating), operator:operator, value:value, column:rating_columns[column]}); clearCache(); } function sortOn(field, order) { if (!file_fields[field]) { var _local2 = []; for (var _local3 in file_fields) { _local2.push(_local3); } error((("'" + field) + "' is not a valid sort field. Valid fields are: ") + _local2.join(", ")); return(undefined); } addSortCondition(TABLE_FILES, field, order); } function sortOnKey(key, order) { if (!_group.getKeyID(key)) { error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' _group"); return(undefined); } addSortCondition(TABLE_KEYS, _group.getKeyID(key), order); } function sortOnRating(rating, order, column) { if (!_group.getRatingID(rating)) { error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' _group"); return(undefined); } if (!column) { column = "score"; } addSortCondition(TABLE_RATINGS, _group.getRatingID(rating), order, column); } function sortOnRatingScore(rating, order) { sortOnRating(rating, order, "score"); } function sortOnRatingVotes(rating, order) { sortOnRating(rating, order, "votes"); } function addSortCondition(table, field, order, extra) { var _local7; if (((!order) or (order == "")) or (order.toUpperCase() == "ASC")) { _local7 = false; } else if (order.toUpperCase() == "DESC") { _local7 = true; } else { error(("'" + order) + "' is not a valid sort order!"); return(undefined); } var _local3 = {table:table, field:field, desc:_local7}; if (extra) { _local3.extra = extra; } sort_conditions.push(_local3); clearCache(); } function onExecuted(results) { _results = []; var _local6 = 0; while (_local6 < results.length) { var _local2 = results[_local6]; var _local3 = new com.newgrounds.SaveFile(_group); _local3.setName(_local2.filename); _local3.setID(_local2.save_id); _local3.setDescription(_local2.description); _local3.setThumbnailURL(_local2.thumb); _local3.setFileURL(_local2.file); if (_local2.views) { _local3.setViews(_local2.views); } _local3.setPermissions(_local2.status, _local2.locked); _local3.authorName = _local2.user_name; _local3.authorID = _local2.user_id; var _local5 = 0; while (_local5 < _local2.keys.length) { _local3.setKey(_local2.keys[_local5].id, _local2.keys[_local5].value); _local5++; } var _local4 = 0; while (_local4 < _local2.ratings.length) { _local3.setRating(_local2.ratings[_local4].id, _local2.ratings[_local4].votes, _local2.ratings[_local4].score); _local4++; } getGroup().addFile(_local3); _results.push(_local3); _local6++; } callEventDispatcher(); } function hasResults() { return(_results && (_results.length > 0)); } function callEventDispatcher() { com.newgrounds.API.callListener(com.newgrounds.APIEvent.QUERY_COMPLETE, true, {query:this}); } function execute() { if (hasResults() && (!isRandomized())) { callEventDispatcher(); return(undefined); } _group.query = this; com.newgrounds.API.lookupSaveFiles(_group); } function processResults(files) { return(null); } function validateKeyValue(key, value) { var _local3 = _group.getKeyType(key); if (_local3) { var _local2 = com.newgrounds.SaveGroup.KEY_TYPES[_local3]; if ((_local2 == "float") and com.newgrounds.ValidationTools.isFloat(value)) { return(true); } if ((_local2 == "integer") and com.newgrounds.ValidationTools.isInteger(value)) { return(true); } if ((_local2 == "string") and com.newgrounds.ValidationTools.isString(value)) { return(true); } error(((("Expected type " + _local2) + " for key '") + key) + "'"); } return(false); } function validateValue(field, value) { if (file_fields[field]) { if ((file_fields[field].type == "integer") and com.newgrounds.ValidationTools.isInteger(value)) { return(true); } if ((file_fields[field].type == "float") and com.newgrounds.ValidationTools.isFloat(value)) { return(true); } if ((file_fields[field].type == "string") and com.newgrounds.ValidationTools.isString(value)) { return(true); } error(((("Expecting " + file_fields[field].type) + " value on '") + field) + "' condition"); } else { var _local2 = []; for (var _local4 in file_fields) { _local2.push(_local4); } error((("'" + field) + "' is not a searchable field. Valid fields are: ") + _local2.join(", ")); } return(false); } function validateOperator(operator) { var _local2 = 0; while (_local2 < valid_operators.length) { if (operator == valid_operators[_local2]) { return(true); } _local2++; } error((("'" + operator) + "' is not a valid lookup operation. Valid operations are: ") + valid_operators.join(", ")); return(false); } function error(msg) { trace("[QUERY ERROR] :: " + msg); } static var TABLE_FILES = 1; static var TABLE_KEYS = 2; static var TABLE_RATINGS = 3; var _results = []; static var file_fields = {FILE_ID:{id:0, field:"file_id", type:"integer"}, AUTHOR_ID:{id:1, field:"user_id", type:"integer"}, AUTHOR_NAME:{id:2, field:"user_name", type:"string"}, FILE_NAME:{id:3, field:"file_name", type:"string"}, CREATED_ON:{id:4, field:"created", type:"string"}, UPDATED_ON:{id:5, field:"last_update", type:"string"}, TOTAL_VIEWS:{id:6, field:"views", type:"integer"}, FILE_STATUS:{id:7, field:"status", type:"integer"}}; static var rating_columns = {TOTAL_VOTES:"votes", SCORE:"score"}; static var valid_operators = ["=", "<", ">", "!=", "<>", "<=", ">=", "*", "!*", "!*=", "!=*", "*=", "=*"]; }
Symbol 81 MovieClip [__Packages.com.newgrounds.encoders.BaseN] Frame 0
class com.newgrounds.encoders.BaseN { var ceiling, hashIndex, bitSize, hashVal, i; function BaseN (hash) { ceiling = 100000000000000; if (hash) { hashIndex = hash; } else { hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; } bitSize = hashIndex.length; hashVal = new Object(); i = 0; while (i < bitSize) { hashVal[hashIndex.charAt(i)] = i; i++; } } function verify(s) { if (hashVal[s] != undefined) { return(true); } return(false); } function encode(n, minchars) { debug.lastencode = ""; if (typeof(i) != "string") { n = n.toString(); } if (n.charAt(0) == "-") { var _local3 = "-"; n = n.substring(1); } else { var _local3 = ""; } if (String(n).indexOf(".") > -1) { var _local4 = String(n).split(".", 2); return(((_local3 + baseNEncoder(_local4[0], minchars)) + ".") + baseNEncoder(_local4[1])); } debug.lastencode = debug.lastencode + "\tNo decimal\r"; return(_local3 + baseNEncoder(n, minchars)); } function decode(s) { var _local4 = 1; if (s.charAt(0) == "-") { _local4 = -1; s = s.substring(1, s.length); } var _local3 = s.indexOf("."); if (_local3 > -1) { var _local5 = Math.pow(10, baseNDecoder(s.substring(_local3 + 1, s.length))); return((baseNDecoder(s.substring(0, _local3)) / _local5) * _local4); } return(baseNDecoder(s) * _local4); } function baseNEncoder(n, minchars) { if (!minchars) { minchars = 1; } var _local4 = ""; while (n != 0) { n = Math.round(n); var _local3 = n % bitSize; if (Math.round(_local3) != _local3) { trace((((((((("BaseN failed on " + n) + "%") + bitSize) + " = ") + _local3) + " ") + int(n)) + " ") + int(bitSize)); } _local4 = hashIndex.charAt(_local3) + _local4; debug.lastencode = debug.lastencode + (((((((("\t-> n:" + n) + " % bitSize:") + bitSize) + " = ") + _local3) + ", final char=") + _local4) + newline); n = n - _local3; n = n / bitSize; } if (minchars) { while (_local4.length < minchars) { _local4 = hashIndex.charAt(0) + _local4; } } return(_local4); } function baseNDecoder(s) { var _local2 = 0; var _local6 = 0; i = 0; while (i < s.length) { var _local3 = s.charAt((s.length - i) - 1); if (_local3 == hashIndex.charAt(0)) { var _local5 = 0; } else { var _local5 = hashVal[_local3] * Math.pow(bitSize, i); } _local2 = _local2 + _local5; if (_local2 >= ceiling) { _local6 = _local6 + ((_local2 - (_local2 % ceiling)) / ceiling); _local2 = _local2 % ceiling; } i++; } if (_local6 > 0) { _local2 = "" + _local2; while (_local2.length < (ceiling.toString().length - 1)) { _local2 = "0" + _local2; } _local2 = ("" + _local6) + _local2; } return(_local2); } var debug = new Object(); }
Symbol 82 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner { var image_source, source_width, source_height, sourceBitmap, callback_target, callback_function, hash, cube, basen, xpos, ypos, pixels, busy, canvas_width, canvas_height, resizedBitmap, copyBitmap, output, draw_interval, callback_interval; function ImageScanner (the_source) { if (the_source) { image_source = the_source; } else { image_source = _root; } reset(); if (typeof(image_source) == "movieclip") { if (image_source == _root) { source_width = Stage.width; source_height = Stage.height; } else { source_width = Math.floor(image_source._width); source_height = Math.floor(image_source._height); } sourceBitmap = new flash.display.BitmapData(source_width, source_height, false, 4294967295); sourceBitmap.draw(_root); } else if (image_source.width) { source_width = image_source.width; source_height = image_source.height; sourceBitmap = image_source; } else { error("You can only use BitMaptData and MovieClip objects to create images"); } } function setCallback(target, funct) { if (target && (funct)) { callback_target = target; callback_function = funct; } } function reset() { callback_target = null; callback_function = null; debug.bad_pixels = 0; hash = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&"; var _local3 = Math.pow(hash.length, 2); trace("MAX COLORS: " + _local3); var _local2 = Math.floor(Math.pow(_local3, 0.333333333333333)) - 1; var _local4 = Math.pow(_local2, 3); cube = _local2; basen = new com.newgrounds.encoders.BaseN(hash); xpos = 0; ypos = 0; pixels = 0; busy = false; } function startScan(w, h, s) { if (w) { image_width = w; } if (h) { image_height = h; } if (s != undefined) { crop = s; } var _local7 = _root.getNextHighestDepth(); var _local6 = _root.createEmptyMovieClip("API_image_container_" + _local7, _local7); var _local5 = _local6.createEmptyMovieClip("canvas", 100); _local5.attachBitmap(sourceBitmap, 100); if (crop) { if ((image_width / source_width) > (image_height / source_height)) { canvas_width = image_width; canvas_height = Math.ceil(source_height * (image_width / source_width)); } else { canvas_height = image_height; canvas_width = Math.ceil(source_width * (image_height / source_height)); } } else { canvas_width = image_width; canvas_height = image_height; } _local5._x = Math.round((image_width - canvas_width) / 2); _local5._width = canvas_width; _local5._height = canvas_height; resizedBitmap = new flash.display.BitmapData(image_width, image_height, false, 4294967295); resizedBitmap.draw(_local6); _local6.removeMovieClip(); copyBitmap = new flash.display.BitmapData(image_width, image_height, false, 4294967295); var _local3 = "" + image_width; while (_local3.length < 3) { _local3 = "0" + _local3; } var _local4 = "" + image_height; while (_local4.length < 3) { _local4 = "0" + _local4; } output = _local3 + _local4; draw_interval = setInterval(this, "drawChunk", 10); busy = false; return(resizedBitmap); } function getBitmapData() { return(copyBitmap); } function getBytesTotal() { return((image_width * image_height) * 2); } function getBytesScanned() { return(pixels * 2); } function getProgress() { return(Math.round((getBytesScanned() / getBytesTotal()) * 100)); } function drawChunk() { if (!busy) { busy = true; var _local2 = 0; while (_local2 < pixels_per_chunk) { if (!nextPixel()) { clearInterval(draw_interval); callback_interval = setInterval(this, "doCallback", 25); busy = true; break; } _local2++; } busy = false; } } function doCallback() { busy = false; clearInterval(callback_interval); if (callback_target and callback_function) { callback_target[callback_function](output); } else { onScanComplete(output); } } function onScanComplete(packet) { sendMessage(("packet size: " + output.length) + " bytes", "onScanComplete"); } function nextPixel() { var _local15 = xpos; var _local14 = ypos; var _local7 = resizedBitmap.getPixel(_local15, _local14); var _local17 = (_local7 >> 16) & 255; var _local20 = (_local7 >> 8) & 255; var _local16 = (_local7 >> 0) & 255; var _local11 = Math.round(((_local17 + 1) / 256) * cube); var _local10 = Math.round(((_local20 + 1) / 256) * cube); var _local13 = Math.round(((_local16 + 1) / 256) * cube); var _local12 = (((_local11 * (cube + 1)) * (cube + 1)) + (_local10 * (cube + 1))) + _local13; var _local6 = basen.encode(_local12, 2); output = output + _local6; if (_local6.length != 2) { trace("bad pixel " + _local6); } var _local5 = basen.decode(_local6); var _local18 = _local5; var _local8 = _local5 % (cube + 1); _local5 = (_local5 - _local8) / (cube + 1); var _local9 = _local5 % (cube + 1); var _local19 = (_local5 - _local9) / (cube + 1); if (((_local13 != _local8) and (_local10 != _local9)) and (_local11 != _local10)) { debug.bad_pixels++; trace((((((("BAD PIXEL " + debug.bad_pixels) + ") ") + _local12) + " != ") + _local18) + " ") + _local6); trace(basen.debug.lastencode); } var _local2 = Math.round((_local19 / cube) * 255).toString(16); var _local4 = Math.round((_local9 / cube) * 255).toString(16); var _local3 = Math.round((_local8 / cube) * 255).toString(16); while (_local2.length < 2) { _local2 = "0" + _local2; } while (_local4.length < 2) { _local4 = "0" + _local4; } while (_local3.length < 2) { _local3 = "0" + _local3; } copyBitmap.setPixel(_local15, _local14, Number((("0x" + _local2) + _local4) + _local3)); pixels++; if (pixels >= (image_width * image_height)) { return(false); } xpos++; if (xpos >= image_width) { xpos = 0; ypos++; } return(true); } function error(e, f) { sendMessage(e, f, "ERROR"); } function sendMessage(msg, func, type) { var _local1 = "ImageScanner"; if (func) { _local1 = _local1 + (("." + func) + "()"); } if (type) { _local1 = (type + " in ") + _local1; } _local1 = _local1 + (" :: " + msg); trace(_local1); } var image_width = 100; var image_height = 100; var crop = true; var pixels_per_chunk = 500; var debug = new Object(); }
Symbol 83 MovieClip [__Packages.com.newgrounds.encoders.SerialXML] Frame 0
class com.newgrounds.encoders.SerialXML { function SerialXML () { } static function decode(xml) { if (!(xml instanceof XML)) { xml = new XML(xml); } var _local2 = populateObject(xml.firstChild, {}); return(_local2.DATA); } static function encode(obj) { var _local1 = new XML(); populateXML(_local1, obj, "DATA"); return(_local1); } static function populateObject(child, object) { var _local6 = child.nodeName; var _local5 = getValue(_local6, child.attributes.v); var _local4 = child.attributes.n; if (object instanceof Array) { _local4 = object.length; object.push(_local5); } else { object[_local4] = _local5; } if (child.hasChildNodes()) { var _local1 = 0; while (_local1 < child.childNodes.length) { populateObject(child.childNodes[_local1], object[_local4]); _local1++; } } return(object); } static function populateXML(child, obj, name) { if (obj === undefined) { return(undefined); } var _local5 = new XML(); var _local2; if (obj instanceof Array) { _local2 = _local5.createElement(getType(obj)); if (name) { _local2.attributes.n = name; } child.appendChild(_local2); var _local4 = 0; while (_local4 < obj.length) { populateXML(_local2, obj[_local4]); _local4++; } } else if (typeof(obj) == "object") { _local2 = _local5.createElement(getType(obj)); if (name) { _local2.attributes.n = name; } child.appendChild(_local2); for (var _local4 in obj) { populateXML(_local2, obj[_local4], _local4); } } else { _local2 = _local5.createElement(getType(obj)); if (name) { _local2.attributes.n = name; } if (getType(obj).length == 1) { _local2.attributes.v = obj; } child.appendChild(_local2); } } static function getValue(type, stringval) { switch (type.toUpperCase()) { case "O" : return(new Object()); case "A" : return(new Array()); case "N" : return(Number(stringval)); case "S" : return(String(stringval)); case "TRUE" : return(true); case "FALSE" : return(false); } return(null); } static function getType(obj) { switch (((obj instanceof Array) ? "array" : (typeof(obj)))) { case "array" : return("A"); case "object" : return("O"); case "string" : return("S"); case "number" : return("N"); case "boolean" : return(((obj === true) ? "TRUE" : "FALSE")); } return("NULL"); } }
Symbol 84 MovieClip [__Packages.com.newgrounds.encoders.LZW2] Frame 0
class com.newgrounds.encoders.LZW2 { static var comp_dict, pos, result, buffer, nbChar, splitStr, len, local, interval; function LZW2 () { } static function doCompressorConfig() { comp_dict = []; var _local1 = 0; while (_local1 < 256) { comp_dict[String.fromCharCode(_local1)] = _local1; _local1++; } comp_dict["<"] = 256; comp_dict[">"] = 257; comp_dict["&"] = 258; comp_dict["\""] = 259; comp_dict["'"] = 260; pos = 0; result = ""; buffer = ""; nbChar = 256 + skipnum; } static function compress(string, callback, callback_params) { doCompressorConfig(); if (busy) { trace("[LZW COMPRESSOR] :: Compression can not begin until previous compression or decompression is complete!"); return(undefined); } splitStr = string.split(""); string = ""; len = splitStr.length; local = {delay:30, callback:callback, callback_params:callback_params, compress_chunk:function () { com.newgrounds.encoders.LZW2.compress_chunk(); }, busy:false, complete:false}; interval = setInterval(local, "compress_chunk", 5); } static function getProgress() { return(Math.round((pos / len) * 100)); } static function compress_chunk() { if (local.delay > 0) { local.delay--; } else if (!local.busy) { local.busy = true; var _local1 = 0; while (_local1 < max_chunk_length) { encode_next(); if (local.complete) { break; } _local1++; } local.busy = false; } if (local.complete) { trace((((((((("LZW2 complete " + nbChar) + " ") + comp_dict.length) + " ") + len) + " ") + pos) + " ") + skipnum); clearInterval(interval); local.callback(result, local.callback_params); result = ""; buffer = ""; } } static function encode_next() { if (pos <= len) { var _local1 = splitStr[pos]; if (!(comp_dict[buffer + _local1] === undefined)) { buffer = buffer + _local1; } else { result = result + String.fromCharCode(comp_dict[buffer]); comp_dict[buffer + _local1] = nbChar; nbChar++; buffer = _local1; } pos++; } else { local.complete = true; return(undefined); } } static var comp_config = false; static var skipnum = 5; static var busy = false; static var max_chunk_length = 12000; }
Symbol 85 MovieClip [__Packages.com.newgrounds.encoders.LZW] Frame 0
class com.newgrounds.encoders.LZW { function LZW () { } static function setXMLSafe(x) { xmlsafe = x; } static function compress(str, escape_chars) { var _local2 = new Array(); var _local11 = (xmlsafe ? 5 : 0); var _local5 = 0; while (_local5 < 256) { _local2[String.fromCharCode(_local5)] = _local5; _local5++; } if (xmlsafe) { _local2["<"] = 256; _local2[">"] = 257; _local2["&"] = 258; _local2["\""] = 259; _local2["'"] = 260; } var _local7 = ""; var _local8 = str.split(""); var _local9 = _local8.length; var _local6 = 256 + _local11; var _local1 = ""; var _local4; _local5 = 0; while (_local5 <= _local9) { var _local3 = _local8[_local5]; if (!(_local2[_local1 + _local3] === undefined)) { _local1 = _local1 + _local3; } else { _local4 = String.fromCharCode(_local2[_local1]); if (escape_chars and (((_local2[_local1] < 33) or (_local2[_local1] > 126)) or (_local4 == "%"))) { _local4 = escape(_local4); } _local7 = _local7 + _local4; _local2[_local1 + _local3] = _local6; _local6++; _local1 = _local3; } _local5++; } return(_local7); } static function decompress(str) { var _local4 = new Array(); var _local10 = (xmlsafe ? 5 : 0); var _local6 = 0; while (_local6 < 256) { var _local9 = String.fromCharCode(_local6); _local4[_local6] = _local9; _local6++; } if (xmlsafe) { _local4[256] = "<"; _local4[257] = ">"; _local4[258] = "&"; _local4[259] = "\""; _local4[260] = "'"; } var _local11 = str; var _local13 = _local11.split(""); var _local12 = _local13.length; var _local7 = 256 + _local10; var _local1 = ""; var _local2 = ""; var _local8 = ""; _local6 = 0; while (_local6 < _local12) { var _local5 = _local11.charCodeAt(_local6); var _local3 = _local4[_local5]; if (_local1 == "") { _local1 = _local3; _local8 = _local8 + _local3; } else if (_local5 <= (255 + _local10)) { _local8 = _local8 + _local3; _local2 = _local1 + _local3; _local4[_local7] = _local2; _local7++; _local1 = _local3; } else { _local2 = _local4[_local5]; if (_local2 == undefined) { _local2 = _local1 + _local1.slice(0, 1); } _local8 = _local8 + _local2; _local4[_local7] = _local1 + _local2.slice(0, 1); _local7++; _local1 = _local2; } _local6++; } return(_local8); } static function compress_fp6(str) { var _local3 = new Array(); var _local10 = (xmlsafe ? 5 : 0); var _local4 = 0; while (_local4 < 256) { _local3[String(_local4)] = _local4; _local4++; } if (xmlsafe) { var _local14 = String(new String("<").charCodeAt(0)); var _local11 = String(new String(">").charCodeAt(0)); var _local13 = String(new String("&").charCodeAt(0)); var _local15 = String(new String("\"").charCodeAt(0)); var _local12 = String(new String("'").charCodeAt(0)); _local3[_local14] = 256; _local3[_local11] = 257; _local3[_local13] = 258; _local3[_local15] = 259; _local3[_local12] = 260; } var _local7 = ""; var _local16 = str; var _local8 = _local16.split(""); var _local9 = _local8.length; var _local6 = 256 + _local10; var _local1 = new Array(); _local4 = 0; while (_local4 <= _local9) { var _local2 = _local8[_local4]; if (_local1.length == 0) { var _local5 = String(_local2.charCodeAt(0)); } else { var _local5 = (_local1.join("-") + "-") + String(_local2.charCodeAt(0)); } if (!(_local3[_local5] === undefined)) { _local1.push(_local2.charCodeAt(0)); } else { _local7 = _local7 + String.fromCharCode(_local3[_local1.join("-")]); _local3[_local5] = _local6; _local6++; _local1 = new Array(); _local1.push(_local2.charCodeAt(0)); } _local4++; } return(_local7); } static var xmlsafe = false; }
Symbol 86 MovieClip [__Packages.com.newgrounds.RemoteAuth] Frame 0
class com.newgrounds.RemoteAuth { var auth_token, receiver; function RemoteAuth (id) { auth_token = id; System.security.allowDomain("*"); receiver = new LocalConnection(); receiver.allowDomain = function () { return(true); }; receiver.onAuth = function (auth_result) { trace("remote login is a success! " + auth_result); com.newgrounds.API.onRemoteAuthentication(auth_result); }; receiver.connect("_" + auth_token); } function get token() { return(auth_token); } }
Symbol 87 MovieClip [__Packages.com.newgrounds.Medal] Frame 0
class com.newgrounds.Medal { var _medal_id, _medal_name, _medal_value, _medal_difficulty; function Medal (id, name, value, difficulty, unlocked, _icon_url) { if ((((id == undefined) || (name == undefined)) || (value == undefined)) || (difficulty == undefined)) { com.newgrounds.API.fatalError("Medal instances require an id, name, value and difficulty"); } _medal_id = id; _medal_name = name; _medal_value = value; _medal_difficulty = difficulty; if (unlocked) { _medal_unlocked = true; } if (_icon_url) { this._icon_url = _icon_url; } } function get difficulty() { return(difficulty_names[_medal_difficulty]); } function get difficultyId() { return(_medal_difficulty); } function get icon_url() { return(_icon_url); } function get id() { return(_medal_id); } function get name() { return(_medal_name); } function get unlocked() { return(_medal_unlocked); } function get value() { return(_medal_value); } function isUnlocked() { return(_medal_unlocked); } function unlock() { if (!isUnlocked()) { com.newgrounds.API.unlockMedal(this); } } function setUnlocked(u) { _medal_unlocked = u; } function attachIcon(target, depth) { if (!depth) { depth = target.getNextHighestDepth(); } var _local3 = target.createEmptyMovieClip("Asset_Medal_Icon_" + getID(), depth); if (_icon_url) { _local3.loadMovie(_icon_url); } else { var _local4 = flash.display.BitmapData.loadBitmap("Asset_default_medal_icon_" + getDifficulty(), depth); _local3.attachBitmap(_local4, depth, true); } } function getID() { return(_medal_id); } function getName() { return(_medal_name); } function getValue() { return(_medal_value); } function getDifficulty(as_string) { if (as_string) { return(difficulty_names[_medal_difficulty]); } return(_medal_difficulty); } var _medal_unlocked = false; var _icon_loaded = false; var _icon_width = 50; var _icon_height = 50; var _icon_url = null; static var difficulty_names = new Array(null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"); }
Symbol 88 MovieClip [__Packages.com.newgrounds.ScoreBoard] Frame 0
class com.newgrounds.ScoreBoard { var _name, _id, _scores; function ScoreBoard (id, name, tag) { _name = name; _id = id; if (!(tag === undefined)) { _tag = tag; } } function exists() { return(Number(_id) > 0); } function get id() { return(_id); } function get name() { return(_name); } function get period() { return(_period); } function get tag() { return(_tag); } function get page() { return(_page); } function get num_results() { return(_num_results); } function get scores() { return(_scores); } function postScore(value, tag) { if (!(tag === undefined)) { _tag = tag; } com.newgrounds.API.postScore(_name, value, _tag); } function loadScores(period, page, num_results, tag) { if (period) { _period = period; } if (page) { _page = page; } if (num_results) { _num_results = num_results; } _scores = []; com.newgrounds.API.loadScores(_name, _period, tag); } function setScores(scores, period, page, num_results) { if (period) { _period = period; } if (page) { _page = page; } if (num_results) { _num_results = num_results; } _scores = []; var _local2 = 0; while (_local2 < scores.length) { var _local4 = ((_num_results * (_page - 1)) + 1) + _local2; _scores.push(new com.newgrounds.Score(this, _local4, scores[_local2].username, scores[_local2].value, scores[_local2].numeric_value)); _local2++; } } var _period = "Today"; var _num_results = 10; var _page = 1; var _tag = ""; }
Symbol 89 MovieClip [__Packages.com.newgrounds.Score] Frame 0
class com.newgrounds.Score { var _board, _position, _username, _value, _numeric_value; function Score (board, position, username, value, numeric_value) { _board = board; _position = position; _username = username; _value = value; _numeric_value = numeric_value; } function get board() { return(_board); } function get position() { return(_position); } function get username() { return(_username); } function get value() { return(_value); } function get numeric_value() { return(_numeric_value); } static function fromTime(time) { var _local1 = time.split(":"); var _local2 = Math.round(Number(_local1.pop()) * 1000); if (_local1.length > 0) { _local2 = _local2 + (Number(_local1.pop()) * 60); } if (_local1.length > 0) { _local2 = _local2 + (Number(_local1.pop()) * 3600); } return(_local2); } static function fromDistance(distance) { var _local1 = distance.indexOf("'"); var _local5 = distance.indexOf("\"", _local1); var _local3 = Number(distance.substr(0, _local1)); var _local4 = Number(distance.substring(_local1 + 1, _local5)); return(Math.round((_local3 * 12) + _local4)); } }
Symbol 90 MovieClip [__Packages.com.newgrounds.encoders.RC4] Frame 0
class com.newgrounds.encoders.RC4 { function RC4 () { } static function encrypt(src, key) { var _local3 = strToChars(src); var _local1 = strToChars(key); var _local2 = calculate(_local3, _local1); return(charsToHex(_local2)); } static function encryptbin(src, key) { var _local3 = strToChars(src); var _local1 = strToChars(key); var _local2 = calculate(_local3, _local1); return(_local2); } static function decrypt(src, key) { var _local3 = hexToChars(src); var _local1 = strToChars(key); var _local2 = calculate(_local3, _local1); return(charsToStr(_local2)); } static function initialize(pwd) { var _local2 = 0; var _local3; var _local4 = pwd.length; var _local1 = 0; while (_local1 <= 255) { mykey[_local1] = pwd[_local1 % _local4]; sbox[_local1] = _local1; _local1++; } _local1 = 0; while (_local1 <= 255) { _local2 = ((_local2 + sbox[_local1]) + mykey[_local1]) % 256; _local3 = sbox[_local1]; sbox[_local1] = sbox[_local2]; sbox[_local2] = _local3; _local1++; } } static function calculate(plaintxt, psw) { initialize(psw); var _local1 = 0; var _local2 = 0; var _local9 = new Array(); var _local7; var _local5; var _local6; var _local3 = 0; while (_local3 < plaintxt.length) { _local1 = (_local1 + 1) % 256; _local2 = (_local2 + sbox[_local1]) % 256; _local5 = sbox[_local1]; sbox[_local1] = sbox[_local2]; sbox[_local2] = _local5; var _local4 = (sbox[_local1] + sbox[_local2]) % 256; _local7 = sbox[_local4]; _local6 = plaintxt[_local3] ^ _local7; _local9.push(_local6); _local3++; } return(_local9); } static function charsToHex(chars) { var _local4 = new String(""); var _local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local1 = 0; while (_local1 < chars.length) { _local4 = _local4 + (_local3[chars[_local1] >> 4] + _local3[chars[_local1] & 15]); _local1++; } return(_local4); } static function hexToChars(hex) { var _local3 = new Array(); var _local1 = ((hex.substr(0, 2) == "0x") ? 2 : 0); while (_local1 < hex.length) { _local3.push(parseInt(hex.substr(_local1, 2), 16)); _local1 = _local1 + 2; } return(_local3); } static function charsToStr(chars) { var _local3 = new String(""); var _local1 = 0; while (_local1 < chars.length) { _local3 = _local3 + String.fromCharCode(chars[_local1]); _local1++; } return(_local3); } static function strToChars(str) { var _local3 = new Array(); var _local1 = 0; while (_local1 < str.length) { _local3.push(str.charCodeAt(_local1)); _local1++; } return(_local3); } static var sbox = new Array(255); static var mykey = new Array(255); }
Symbol 91 MovieClip [__Packages.com.newgrounds.encoders.JSON] Frame 0
class com.newgrounds.encoders.JSON { static var start, cache, interval; function JSON () { } static function encode(arg, noquotes) { var _local3; var _local2; var _local6; var _local1 = ""; var _local4; if (arg.isSServerVar()) { var _local8 = "sservervariable"; } else { var _local8 = typeof(arg); } switch (_local8) { case "sservervariable" : return("?" + arg.getEncodedValue()); case "object" : if (arg) { if (arg instanceof Array) { _local2 = 0; while (_local2 < arg.length) { _local4 = encode(arg[_local2]); if (_local1) { _local1 = _local1 + ","; } _local1 = _local1 + _local4; _local2++; } return(("[" + _local1) + "]"); } if (typeof(arg.toString) != "undefined") { for (_local2 in arg) { _local4 = arg[_local2]; if ((typeof(_local4) != "undefined") && (typeof(_local4) != "function")) { _local4 = encode(_local4); if (_local1) { _local1 = _local1 + ","; } _local1 = _local1 + ((encode(_local2) + ":") + _local4); } } return(("{" + _local1) + "}"); } } return("null"); case "number" : return((isFinite(arg) ? (String(arg)) : "null")); case "string" : _local6 = arg.length; if (noquotes) { var _local7 = ""; } else { var _local7 = "\""; } _local1 = _local7; _local2 = 0; while (_local2 < _local6) { _local3 = arg.charAt(_local2); if (_local3 >= " ") { if ((_local3 == "\\") || (_local3 == "\"")) { _local1 = _local1 + "\\"; } _local1 = _local1 + _local3; } else { switch (_local3) { case "\b" : _local1 = _local1 + "\\b"; break; case "\f" : _local1 = _local1 + "\\f"; break; case newline : _local1 = _local1 + "\\n"; break; case "\r" : _local1 = _local1 + "\\r"; break; case "\t" : _local1 = _local1 + "\\t"; break; default : _local3 = _local3.charCodeAt(); _local1 = _local1 + (("\\u00" + Math.floor(_local3 / 16).toString(16)) + (_local3 % 16).toString(16)); } } _local2 = _local2 + 1; } return(_local1 + _local7); case "boolean" : return(String(arg)); } return("null"); } static function background_encode(arg, callback) { if (busy) { trace("[Newgrounds Encoder] :: Cannot encode a new file until the previous file is completed"); return(false); } if (!callback) { trace("[Newgrounds Encoder] :: Missing a callback function, skipping encode"); return(false); } busy = true; var _local2 = new Date(); start = _local2.getTime(); cache = {busy:false, complete:false, arg:arg, target:arg, parents:[], encoded:"", callback:callback, encode_chunk:function () { com.newgrounds.encoders.JSON.encode_chunk(); }}; if (getType(arg) == "object") { cache.encoded = "{"; } else if (getType(arg) == "array") { cache.encoded = "["; } interval = setInterval(cache, "encode_chunk", 25); return(true); } static function background_decode(arg, callback) { if (busy) { trace("[Newgrounds Encoder] :: Cannot decode a new file until the previous file is completed"); return(false); } if (!callback) { trace("[Newgrounds Encoder] :: Missing a callback function, skipping decode"); return(false); } busy = true; var _local1 = new Date(); start = _local1.getTime(); cache = {busy:false, callback:callback, complete:false, arg:arg, pos:0, parents:["root"], target:null, scratch:"", decode_chunk:function () { com.newgrounds.encoders.JSON.decode_chunk(); }}; interval = setInterval(cache, "decode_chunk", 25); return(true); } static function decode(text) { var at = 0; var ch = " "; var _value; var _error = function (m) { throw {name:"JSONError", message:m, at:at - 1, text:text}; }; var _next = function () { ch = text.charAt(at); at = at + 1; return(ch); }; var _white = function () { while (ch) { if (ch <= " ") { _next(); } else if (ch == "/") { switch (_next()) { case "/" : while ((_next() && (ch != newline)) && (ch != "\r")) { } break; case "*" : _next(); for(;;){ if (ch) { if (ch == "*") { if (_next() == "/") { _next(); // unexpected jump } } else { _next(); } } else { _error("Unterminated comment"); } }; break; default : _error("Syntax error"); } } else { return; } } }; var _string = function () { var _local4; var _local1 = ""; var _local3; var _local2; var _local5 = false; if (ch == "\"") { while (_next()) { if (ch == "\"") { _next(); return(_local1); } if (ch == "\\") { switch (_next()) { case "b" : _local1 = _local1 + "\b"; break; case "f" : _local1 = _local1 + "\f"; break; case "n" : _local1 = _local1 + newline; break; case "r" : _local1 = _local1 + "\r"; break; case "t" : _local1 = _local1 + "\t"; break; case "u" : _local2 = 0; _local4 = 0; while (_local4 < 4) { _local3 = parseInt(_next(), 16); if (!isFinite(_local3)) { _local5 = true; break; } _local2 = (_local2 * 16) + _local3; _local4 = _local4 + 1; } if (_local5) { _local5 = false; break; } _local1 = _local1 + String.fromCharCode(_local2); break; default : _local1 = _local1 + ch; } } else { _local1 = _local1 + ch; } } } _error("Bad string"); }; var _array = function () { var _local1 = []; if (ch == "[") { _next(); _white(); if (ch == "]") { _next(); return(_local1); } while (ch) { _local1.push(_value()); _white(); if (ch == "]") { _next(); return(_local1); } if (ch != ",") { break; } _next(); _white(); } } _error("Bad array"); }; var _object = function () { var _local2; var _local1 = {}; if (ch == "{") { _next(); _white(); if (ch == "}") { _next(); return(_local1); } while (ch) { _local2 = _string(); _white(); if (ch != ":") { break; } _next(); _local1[_local2] = _value(); _white(); if (ch == "}") { _next(); return(_local1); } if (ch != ",") { break; } _next(); _white(); } } _error("Bad object"); }; var _number = function () { var _local1 = ""; var _local2; if (ch == "-") { _local1 = "-"; _next(); } while ((ch >= "0") && (ch <= "9")) { _local1 = _local1 + ch; _next(); } if (ch == ".") { _local1 = _local1 + "."; while ((_next() && (ch >= "0")) && (ch <= "9")) { _local1 = _local1 + ch; } } _local2 = 1 * _local1; if (!isFinite(_local2)) { _error("Bad number"); } else { return(_local2); } }; var _word = function () { switch (ch) { case "t" : if (((_next() == "r") && (_next() == "u")) && (_next() == "e")) { _next(); return(true); } break; case "f" : if ((((_next() == "a") && (_next() == "l")) && (_next() == "s")) && (_next() == "e")) { _next(); return(false); } break; case "n" : if (!(((_next() == "u") && (_next() == "l")) && (_next() == "l"))) { break; } _next(); return(null); } _error("Syntax error"); }; _value = function () { _white(); switch (ch) { case "{" : return(_object()); case "[" : return(_array()); case "\"" : return(_string()); case "-" : return(_number()); } return((((ch >= "0") && (ch <= "9")) ? (_number()) : (_word()))); }; return(_value()); } static function getType(v) { if (v instanceof Array) { return("array"); } return(typeof(v)); } static function decode_chunk() { if ((!cache.busy) && (!cache.complete)) { cache.busy = true; var _local1 = 0; while (_local1 < decode_chunks) { chunk_decoder(); if (cache.complete) { break; } _local1++; } trace(Math.round((cache.pos / cache.arg.length) * 100) + "% decoded"); cache.busy = false; } if (cache.complete) { var _local2 = new Date(); busy = false; clearInterval(interval); cache.callback(cache.root, _local2.getTime() - start); cache.arg = ""; } } static function encode_chunk() { if ((!cache.busy) && (!cache.complete)) { cache.busy = true; var _local1 = 0; while (_local1 < encode_chunks) { chunk_encoder(); if (cache.complete) { break; } _local1++; } cache.busy = false; } if (cache.complete) { var _local3 = new Date(); var _local2 = _local3.getTime(); busy = false; clearInterval(interval); cache.callback(cache.encoded, _local2 - start); cache.encoded = ""; } } static function chunk_decoder() { function _object() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (!com.newgrounds.encoders.JSON.cache.mode) { com.newgrounds.encoders.JSON.cache.mode = "object"; com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.JSON.cache.scratch = ""; _setTargetValue({}); } else if (_local1 == ",") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.JSON.cache.scratch = ""; } else if (_local1 == "}") { _useParent(); } else if (_local1 == "\"") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 != ":") { throw "Malformed object notation. Object keys and values must be separated by colons(:)"; } _addParent(com.newgrounds.encoders.JSON.cache.scratch); com.newgrounds.encoders.JSON.cache.mode = null; } else { if (_local1 == "\\") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); } com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1; } com.newgrounds.encoders.JSON.cache.pos++; } function _array() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (!com.newgrounds.encoders.JSON.cache.mode) { com.newgrounds.encoders.JSON.cache.mode = "array"; com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); _setTargetValue([]); if (_local1 != "]") { _addArrayKey(); } else { _useParent(); } return(undefined); } if (_local1 == ",") { _addArrayKey(); } else if (_local1 == "]") { _useParent(); } com.newgrounds.encoders.JSON.cache.pos++; } function _boolean() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 == "t") { _setTargetValue(true); com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 3; } else if (_local1 == "f") { _setTargetValue(false); com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 4; } else { throw "Bool values must be true or false"; } _useParent(); } function _null() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 == "n") { _setTargetValue(null); com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 2; } else { throw "Null values must be null"; } _useParent(); } function _string() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (!com.newgrounds.encoders.JSON.cache.mode) { if (_local1 != "\"") { throw "Strings must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.JSON.cache.scratch = ""; com.newgrounds.encoders.JSON.cache.mode = "string"; } else if (_local1 == "\"") { _setTargetValue(com.newgrounds.encoders.JSON.cache.scratch); _useParent(); } else { if (_local1 == "\\") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); switch (_local1) { case "n" : _local1 = newline; break; case "r" : _local1 = newline; break; case "t" : _local1 = "\t"; break; case "u" : _local1 = "\\" + _local1; } } com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1; } com.newgrounds.encoders.JSON.cache.pos++; } function _number() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); var _local2 = "01234567890.-"; if (!com.newgrounds.encoders.JSON.cache.mode) { com.newgrounds.encoders.JSON.cache.mode = "number"; com.newgrounds.encoders.JSON.cache.scratch = ""; } if (_local2.indexOf(_local1) < 0) { _setTargetValue(Number(com.newgrounds.encoders.JSON.cache.scratch)); _useParent(); } else { com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1; com.newgrounds.encoders.JSON.cache.pos++; } } function _setTargetValue(newval) { var _local2 = _getParent().obj; var _local1 = com.newgrounds.encoders.JSON.cache.parents[com.newgrounds.encoders.JSON.cache.parents.length - 1]; _local2[_local1] = newval; } function _useParent() { com.newgrounds.encoders.JSON.cache.mode = com.newgrounds.encoders.JSON.getType(_getParent().obj); com.newgrounds.encoders.JSON.cache.parents.pop(); } function _getParent() { var _local2 = com.newgrounds.encoders.JSON.cache; var _local1 = 0; while (_local1 < (com.newgrounds.encoders.JSON.cache.parents.length - 1)) { _local2 = _local2[com.newgrounds.encoders.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.JSON.cache.parents[_local1]}); } function _getCurrent() { var _local2 = com.newgrounds.encoders.JSON.cache; var _local1 = 0; while (_local1 < com.newgrounds.encoders.JSON.cache.parents.length) { _local2 = _local2[com.newgrounds.encoders.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.JSON.cache.parents[_local1]}); } function _addParent(child) { com.newgrounds.encoders.JSON.cache.parents.push(child); } function _addArrayKey() { var _local1 = _getCurrent().obj.length; com.newgrounds.encoders.JSON.cache.parents.push(_local1); com.newgrounds.encoders.JSON.cache.mode = null; } if (cache.pos >= cache.arg.length) { cache.complete = true; return(undefined); } if (cache.mode) { eval ("_" + cache.mode)(); } else { var char = cache.arg.charAt(cache.pos); switch (char) { case "{" : _object(); return; case "[" : _array(); return; case "\"" : _string(); return; case "n" : _null(); return; case "t" : _boolean(); return; case "f" : _boolean(); return; default : _number(); } } } static function chunk_encoder() { if (cache.complete) { return(undefined); } var _local2 = getType(cache.target); switch (_local2) { case "number" : cache.encoded = cache.encoded + cache.target; getParent(); break; case "string" : cache.encoded = cache.encoded + (("\"" + cache.target.split("\"").join("\\\"")) + "\""); getParent(); break; case "boolean" : cache.encoded = cache.encoded + ((cache.target == true) ? "true" : "false"); getParent(); break; case "null" : cache.encoded = cache.encoded + "null"; getParent(); break; case "array" : if (cache.target.length < 1) { cache.encoded = cache.encoded + "]"; getParent(); } else { cache.parents.push(cache.target); cache.target = cache.target[0]; if (getType(cache.target) == "array") { cache.encoded = cache.encoded + "["; } else if (getType(cache.target) == "object") { cache.encoded = cache.encoded + "{"; } } break; case "object" : for (var _local1 in cache.target) { break; } if (_local1 === undefined) { cache.encoded = cache.encoded + "}"; getParent(); } else { cache.parents.push(cache.target); cache.target = cache.target[_local1]; cache.encoded = cache.encoded + (("\"" + _local1.split("\"").join("\\\"")) + "\":"); if (getType(cache.target) == "array") { cache.encoded = cache.encoded + "["; } else if (getType(cache.target) == "object") { cache.encoded = cache.encoded + "{"; } } break; default : cache.encoded = cache.encoded + "null"; getParent(); } } static function getParent() { if (cache.parents.length > 0) { var _local1 = cache.parents.pop(); if (getType(_local1) == "array") { _local1.shift(); } else { for (var _local3 in _local1) { delete _local1[_local3]; break; } } if ((getType(_local1) == "object") or (getType(_local1) == "array")) { for (var _local2 in _local1) { break; } if (!(_local2 === undefined)) { cache.encoded = cache.encoded + ","; } } cache.target = _local1; } else { cache.complete = true; } } static var encode_chunks = 20000; static var decode_chunks = 20000; static var busy = false; }
Symbol 92 MovieClip [__Packages.com.newgrounds.APIEventDispatcher] Frame 0
class com.newgrounds.APIEventDispatcher { function APIEventDispatcher () { } function addEventListener(event, callback, target) { if (!target) { throw "Attempted to create a listener without providing a target object."; } if (!listeners[event]) { listeners[event] = []; } else { removeEventListener(event, target); } listeners[event].push({target:target, callback:callback}); } function removeEventListener(event, target) { if (!target) { throw "Attempted to remove a listener without providing a target object."; } if ((!listeners[event]) || (listeners[event].length < 1)) { return(undefined); } var _local4 = []; var _local2 = 0; while (_local2 < listeners[event].length) { if (listeners[event][_local2].target != target) { _local4.push(listeners[event][_local2]); } _local2++; } listeners[event] = _local4; } function dispatchEvent(event) { if (!hasEventListener(event.__get__type())) { return(false); } collectGarbage(event.__get__type()); var _local2 = 0; while (_local2 < listeners[event.__get__type()].length) { var _local4 = listeners[event.__get__type()][_local2].callback; if (listeners[event.__get__type()][_local2].target) { var _local5 = listeners[event.__get__type()][_local2].target; _local4.call(_local5, event); } else { _local4(event); } _local2++; } return(true); } function hasEventListener(event) { return((listeners[event] != undefined) && (listeners[event].length > 0)); } function collectGarbage(event) { var _local5 = []; if (!hasEventListener) { return(undefined); } var _local2 = 0; while (_local2 < listeners[event].length) { var _local4 = listeners[event][_local2].target; if (_local4) { _local5.push(listeners[event][_local2]); } _local2++; } listeners[event] = _local5; } var listeners = {}; }
Symbol 93 MovieClip [__Packages.com.newgrounds.encoders.MD5] Frame 0
class com.newgrounds.encoders.MD5 { function MD5 () { } static function calculate(src) { return(hex_md5(src)); } static function hex_md5(src) { return(binl2hex(core_md5(str2binl(src), src.length * 8))); } static function core_md5(x, len) { x[len >> 5] = x[len >> 5] | (128 << (len % 32)); x[(((len + 64) >>> 9) << 4) + 14] = len; var _local4 = 1732584193 /* 0x67452301 */; var _local3 = -271733879; var _local2 = -1732584194; var _local1 = 271733878 /* 0x10325476 */; var _local5 = 0; while (_local5 < x.length) { var _local10 = _local4; var _local9 = _local3; var _local8 = _local2; var _local7 = _local1; _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 0], 7, -680876936); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 1], 12, -389564586); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 2], 17, 606105819); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 3], 22, -1044525330); _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 4], 7, -176418897); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 5], 12, 1200080426); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 6], 17, -1473231341); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 7], 22, -45705983); _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 8], 7, 1770035416); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 9], 12, -1958414417); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 10], 17, -42063); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 11], 22, -1990404162); _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 12], 7, 1804603682); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 13], 12, -40341101); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 14], 17, -1502002290); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 15], 22, 1236535329); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 1], 5, -165796510); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 6], 9, -1069501632); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 11], 14, 643717713); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 0], 20, -373897302); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 5], 5, -701558691); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 10], 9, 38016083); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 15], 14, -660478335); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 4], 20, -405537848); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 9], 5, 568446438); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 14], 9, -1019803690); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 3], 14, -187363961); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 8], 20, 1163531501); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 13], 5, -1444681467); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 2], 9, -51403784); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 7], 14, 1735328473); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 12], 20, -1926607734); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 5], 4, -378558); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 8], 11, -2022574463); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 11], 16, 1839030562); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 14], 23, -35309556); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 1], 4, -1530992060); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 4], 11, 1272893353); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 7], 16, -155497632); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 10], 23, -1094730640); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 13], 4, 681279174); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 0], 11, -358537222); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 3], 16, -722521979); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 6], 23, 76029189); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 9], 4, -640364487); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 12], 11, -421815835); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 15], 16, 530742520); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 2], 23, -995338651); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 0], 6, -198630844); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 7], 10, 1126891415); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 14], 15, -1416354905); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 5], 21, -57434055); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 12], 6, 1700485571); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 3], 10, -1894986606); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 10], 15, -1051523); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 1], 21, -2054922799); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 8], 6, 1873313359); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 15], 10, -30611744); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 6], 15, -1560198380); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 13], 21, 1309151649); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 4], 6, -145523070); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 11], 10, -1120210379); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 2], 15, 718787259); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 9], 21, -343485551); _local4 = safe_add(_local4, _local10); _local3 = safe_add(_local3, _local9); _local2 = safe_add(_local2, _local8); _local1 = safe_add(_local1, _local7); _local5 = _local5 + 16; } return(new Array(_local4, _local3, _local2, _local1)); } static function md5_cmn(q, a, b, x, s, t) { return(safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b)); } static function md5_ff(a, b, c, d, x, s, t) { return(md5_cmn((b & c) | ((~b) & d), a, b, x, s, t)); } static function md5_gg(a, b, c, d, x, s, t) { return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t)); } static function md5_hh(a, b, c, d, x, s, t) { return(md5_cmn((b ^ c) ^ d, a, b, x, s, t)); } static function md5_ii(a, b, c, d, x, s, t) { return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t)); } static function bit_rol(num, cnt) { return((num << cnt) | (num >>> (32 - cnt))); } static function safe_add(x, y) { var _local1 = (x & 65535) + (y & 65535); var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16); return((_local2 << 16) | (_local1 & 65535)); } static function str2binl(str) { var _local3 = new Array(); var _local4 = 255; var _local1 = 0; while (_local1 < (str.length * 8)) { _local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / 8) & _local4) << (_local1 % 32)); _local1 = _local1 + 8; } return(_local3); } static function binl2hex(binarray) { var _local4 = new String(""); var _local3 = new String("0123456789abcdef"); var _local1 = 0; while (_local1 < (binarray.length * 4)) { _local4 = _local4 + (_local3.charAt((binarray[_local1 >> 2] >> (((_local1 % 4) * 8) + 4)) & 15) + _local3.charAt((binarray[_local1 >> 2] >> ((_local1 % 4) * 8)) & 15)); _local1++; } return(_local4); } }
Symbol 125 Button
on (release) { getURL ("http://www.viennafilms.com", "_viennafilms"); }
Symbol 130 Button
on (release) { gotoAndPlay (2); }
Symbol 134 Button
on (release) { getURL ("http://www.facebook.com/sharer.php?u=%20http://www.newgrounds.com/portal/view/564065", "_facebook"); }
Symbol 138 Button
on (release) { getURL ("http://www.stumbleupon.com/submit?url=http://www.newgrounds.com/portal/view/564065", "_stumbleupon"); }

Library Items

Symbol 2 GraphicUsed by:11 13 72
Symbol 3 GraphicUsed by:11 13 72
Symbol 4 GraphicUsed by:11 13 72
Symbol 5 GraphicUsed by:11 13 72
Symbol 6 FontUsed by:7 10 12 18 21 26 29 31 59 60 68 69
Symbol 7 TextUses:6Used by:72
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:11
Symbol 10 TextUses:6Used by:11
Symbol 11 MovieClipUses:2 3 4 5 9 10Used by:72
Symbol 12 TextUses:6Used by:13
Symbol 13 MovieClipUses:2 3 4 5 12Used by:72
Symbol 14 GraphicUsed by:15
Symbol 15 MovieClipUses:14Used by:24 30 33
Symbol 16 GraphicUsed by:17 25 67
Symbol 17 MovieClip [NewgroundsAPIAsset_Medal_Icon_Placeholder]Uses:16Used by:24
Symbol 18 EditableTextUses:6Used by:24
Symbol 19 FontUsed by:20 32 65 70
Symbol 20 TextUses:19Used by:24
Symbol 21 EditableTextUses:6Used by:24
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:24
Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup]Uses:15 17 18 20 21 23Used by:72
Symbol 25 ButtonUses:16Used by:66 72
Symbol 26 TextUses:6Used by:30
Symbol 27 BitmapUsed by:28
Symbol 28 GraphicUses:27Used by:30 33
Symbol 29 TextUses:6Used by:30
Symbol 30 MovieClip [NewgroundsAPIAsset_Login_Warning]Uses:15 26 28 29Used by:72
Symbol 31 TextUses:6Used by:33
Symbol 32 TextUses:19Used by:33
Symbol 33 MovieClip [NewgroundsAPIAsset_Connection_Error]Uses:15 31 32 28Used by:72
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:54
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:54
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:54
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClipUses:40Used by:54
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:42Used by:54
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:44Used by:54
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:46Used by:54
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClipUses:48Used by:54
Symbol 50 GraphicUsed by:51
Symbol 51 MovieClipUses:50Used by:54
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:52Used by:54
Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background]Uses:35 37 39 41 43 45 47 49 51 53Used by:66 71
Symbol 55 GraphicUsed by:66
Symbol 56 GraphicUsed by:58
Symbol 57 GraphicUsed by:58
Symbol 58 ButtonUses:56 57Used by:66
Symbol 59 TextUses:6Used by:66
Symbol 60 TextUses:6Used by:66
Symbol 61 GraphicUsed by:64
Symbol 62 GraphicUsed by:64
Symbol 63 GraphicUsed by:64
Symbol 64 ButtonUses:61 62 63Used by:66 71
Symbol 65 TextUses:19Used by:66
Symbol 66 MovieClip [NewgroundsAsset_New_Version_Available]Uses:25 54 55 58 59 60 64 65Used by:72
Symbol 67 ButtonUses:16Used by:71
Symbol 68 TextUses:6Used by:71
Symbol 69 TextUses:6Used by:71
Symbol 70 TextUses:19Used by:71
Symbol 71 MovieClip [NewgroundsAsset_Illegal_Host]Uses:67 54 68 69 64 70Used by:72
Symbol 72 MovieClip [API Connector (NewgroundsAPI)]Uses:2 3 4 5 7 11 13 24 25 30 33 66 71Used by:Timeline
Symbol 94 Bitmap
Symbol 95 Bitmap
Symbol 96 Bitmap
Symbol 97 Bitmap
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:Timeline
Symbol 100 BitmapUsed by:101 104
Symbol 101 GraphicUses:100Used by:105
Symbol 102 FontUsed by:103
Symbol 103 TextUses:102Used by:105
Symbol 104 GraphicUses:100Used by:105
Symbol 105 ButtonUses:101 103 104Used by:Timeline
Symbol 106 GraphicUsed by:107
Symbol 107 MovieClipUses:106Used by:117
Symbol 108 GraphicUsed by:117
Symbol 109 MovieClipUsed by:117
Symbol 110 GraphicUsed by:116
Symbol 111 GraphicUsed by:116
Symbol 112 GraphicUsed by:116
Symbol 113 GraphicUsed by:116
Symbol 114 GraphicUsed by:116
Symbol 115 GraphicUsed by:116
Symbol 116 ButtonUses:110 111 112 113 114 115Used by:117
Symbol 117 MovieClipUses:107 108 109 116Used by:Timeline
Symbol 1 MovieClip [__Packages.com.newgrounds.components.APIConnector]
Symbol 73 MovieClip [__Packages.com.newgrounds.APIError]
Symbol 74 MovieClip [__Packages.com.newgrounds.API]
Symbol 75 MovieClip [__Packages.com.newgrounds.Bridge]
Symbol 76 MovieClip [__Packages.com.newgrounds.SaveFile]
Symbol 77 MovieClip [__Packages.com.newgrounds.SaveGroup]
Symbol 78 MovieClip [__Packages.com.newgrounds.ValidationTools]
Symbol 79 MovieClip [__Packages.com.newgrounds.APIEvent]
Symbol 80 MovieClip [__Packages.com.newgrounds.SaveGroupQuery]
Symbol 81 MovieClip [__Packages.com.newgrounds.encoders.BaseN]
Symbol 82 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner]
Symbol 83 MovieClip [__Packages.com.newgrounds.encoders.SerialXML]
Symbol 84 MovieClip [__Packages.com.newgrounds.encoders.LZW2]
Symbol 85 MovieClip [__Packages.com.newgrounds.encoders.LZW]
Symbol 86 MovieClip [__Packages.com.newgrounds.RemoteAuth]
Symbol 87 MovieClip [__Packages.com.newgrounds.Medal]
Symbol 88 MovieClip [__Packages.com.newgrounds.ScoreBoard]
Symbol 89 MovieClip [__Packages.com.newgrounds.Score]
Symbol 90 MovieClip [__Packages.com.newgrounds.encoders.RC4]
Symbol 91 MovieClip [__Packages.com.newgrounds.encoders.JSON]
Symbol 92 MovieClip [__Packages.com.newgrounds.APIEventDispatcher]
Symbol 93 MovieClip [__Packages.com.newgrounds.encoders.MD5]
Symbol 118 VideoUsed by:Timeline
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:Timeline
Symbol 121 GraphicUsed by:125
Symbol 122 GraphicUsed by:125
Symbol 123 GraphicUsed by:125
Symbol 124 GraphicUsed by:125
Symbol 125 ButtonUses:121 122 123 124Used by:Timeline
Symbol 126 GraphicUsed by:130
Symbol 127 GraphicUsed by:130
Symbol 128 GraphicUsed by:130
Symbol 129 GraphicUsed by:130
Symbol 130 ButtonUses:126 127 128 129Used by:Timeline
Symbol 131 BitmapUsed by:132 133
Symbol 132 GraphicUses:131Used by:134
Symbol 133 GraphicUses:131Used by:134
Symbol 134 ButtonUses:132 133Used by:Timeline
Symbol 135 BitmapUsed by:136 137
Symbol 136 GraphicUses:135Used by:138
Symbol 137 GraphicUses:135Used by:138
Symbol 138 ButtonUses:136 137Used by:Timeline
Streaming Sound 1Used by:Timeline

Instance Names

"icon"Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1Symbol 17 MovieClip [NewgroundsAPIAsset_Medal_Icon_Placeholder]
"shadow"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 35 MovieClip
"c"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 37 MovieClip
"b"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 39 MovieClip
"t"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 41 MovieClip
"l"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 43 MovieClip
"r"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 45 MovieClip
"tl"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 47 MovieClip
"tr"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 49 MovieClip
"bl"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 51 MovieClip
"br"Symbol 54 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 53 MovieClip
"background"Symbol 66 MovieClip [NewgroundsAsset_New_Version_Available] Frame 1Symbol 25 Button
"background"Symbol 71 MovieClip [NewgroundsAsset_Illegal_Host] Frame 1Symbol 67 Button
"connected"Symbol 72 MovieClip [API Connector (NewgroundsAPI)] Frame 11Symbol 13 MovieClip
"bar"Symbol 117 MovieClip Frame 1Symbol 107 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
Protect (24)Timeline Frame 131 bytes "..$1$kC$6hzUI6A39SUqvo7rrEne60."
ExportAssets (56)Timeline Frame 1Symbol 17 as "NewgroundsAPIAsset_Medal_Icon_Placeholder"
ExportAssets (56)Timeline Frame 1Symbol 24 as "NewgroundsAPIAsset_Medal_Popup"
ExportAssets (56)Timeline Frame 1Symbol 30 as "NewgroundsAPIAsset_Login_Warning"
ExportAssets (56)Timeline Frame 1Symbol 33 as "NewgroundsAPIAsset_Connection_Error"
ExportAssets (56)Timeline Frame 1Symbol 54 as "NewgroundsAPIAsset_big_popup_background"
ExportAssets (56)Timeline Frame 1Symbol 66 as "NewgroundsAsset_New_Version_Available"
ExportAssets (56)Timeline Frame 1Symbol 71 as "NewgroundsAsset_Illegal_Host"
ExportAssets (56)Timeline Frame 1Symbol 72 as "API Connector (NewgroundsAPI)"
ExportAssets (56)Timeline Frame 1Symbol 1 as "__Packages.com.newgrounds.components.APIConnector"
ExportAssets (56)Timeline Frame 1Symbol 73 as "__Packages.com.newgrounds.APIError"
ExportAssets (56)Timeline Frame 1Symbol 74 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 1Symbol 75 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 1Symbol 76 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 1Symbol 77 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 1Symbol 78 as "__Packages.com.newgrounds.ValidationTools"
ExportAssets (56)Timeline Frame 1Symbol 79 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 1Symbol 80 as "__Packages.com.newgrounds.SaveGroupQuery"
ExportAssets (56)Timeline Frame 1Symbol 81 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 1Symbol 82 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 1Symbol 83 as "__Packages.com.newgrounds.encoders.SerialXML"
ExportAssets (56)Timeline Frame 1Symbol 84 as "__Packages.com.newgrounds.encoders.LZW2"
ExportAssets (56)Timeline Frame 1Symbol 85 as "__Packages.com.newgrounds.encoders.LZW"
ExportAssets (56)Timeline Frame 1Symbol 86 as "__Packages.com.newgrounds.RemoteAuth"
ExportAssets (56)Timeline Frame 1Symbol 87 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 1Symbol 88 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 1Symbol 89 as "__Packages.com.newgrounds.Score"
ExportAssets (56)Timeline Frame 1Symbol 90 as "__Packages.com.newgrounds.encoders.RC4"
ExportAssets (56)Timeline Frame 1Symbol 91 as "__Packages.com.newgrounds.encoders.JSON"
ExportAssets (56)Timeline Frame 1Symbol 92 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 93 as "__Packages.com.newgrounds.encoders.MD5"

Labels

"closeme"Symbol 24 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 11
"closeme"Symbol 30 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 11
"closeme"Symbol 33 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 11
"connecting"Symbol 72 MovieClip [API Connector (NewgroundsAPI)] Frame 2
"connected"Symbol 72 MovieClip [API Connector (NewgroundsAPI)] Frame 11
"done"Symbol 72 MovieClip [API Connector (NewgroundsAPI)] Frame 20
"loaded"Symbol 117 MovieClip Frame 2

Dynamic Text Variables

medal_nameSymbol 18 EditableText"medal unlocked!"
medal_valueSymbol 21 EditableText"100pts"




http://swfchan.com/26/129762/info.shtml
Created: 22/2 -2019 22:15:17 Last modified: 22/2 -2019 22:15:17 Server time: 22/12 -2024 05:35:42