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

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

TF2_sandwich.swf

This is the info page for
Flash #119590

(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

Loading

Play

Team Fortress 2

"The Question"

Animated short

m

L

h

Movie Quality:

Heavy...

How do I make sandvich?

All you have to do is take a cup of flour...

...add it to the mix!

Now just take a little something sweet, not sour...

A bit of salt, just a pinch!

Baking these treats is such a sinch!

Add a teaspoon of

BoLOGNA!

Add a little more and you count to four

And you never get your

FILLA!!!

Sandvich!

So moist and delicious~

I'm coming for you!

Sandvich!

this did not just happen...

Replay

Original Audio splicing by 2007excalibur2007

Watch the original video!

Art & Animation by
Joshua Palmer

Team fortress 2 (c) Valve

My Little Pony FiM (c) Hasbro inc

Also avalible
on my YouTube
channel!

ActionScript [AS1/AS2]

Instance of Symbol 106 MovieClip [API Connector (NewgroundsAPI)] in Frame 1
//component parameters onClipEvent (construct) { api_id = "20657:SclQ3cn4"; encryption_key = "KAx1twTjz3SCyYCvjnNyoOf4tHTusrae"; version = ""; fake_session = true; debug = true; error_screens = true; medal_popups = true; }
Instance of Symbol 14 MovieClip [Flash Ad (NewgroundsAPI)] in Frame 1
//component parameters onClipEvent (construct) { show_background = true; }
Frame 2
stop();
Frame 3
stop();
Symbol 6 Button
on (release) { com.newgrounds.API.loadNewgrounds(); }
Symbol 12 MovieClip Frame 1
onEnterFrame = function () { if (_visible) { _rotation = (_rotation + 30); } else { delete onEnterFrame; } };
Symbol 13 MovieClip Frame 11
gotoAndPlay (1);
Symbol 14 MovieClip [Flash Ad (NewgroundsAPI)] Frame 1
#initclip 24 Object.registerClass("Flash Ad (NewgroundsAPI)", com.newgrounds.components.FlashAd); #endinitclip
Symbol 44 MovieClip Frame 10
stop();
Symbol 46 MovieClip Frame 37
_parent.setGotoFrame("done"); stop();
Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _visible = true; icon._visible = false; pop_delay = setInterval(endDelay, 3000);
Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 2
medal.attachIcon(icon);
Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 10
icon._visible = true; medal_name = medal.getName(); medal_value = medal.getValue() + "pts"; stop();
Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 64 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 64 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 10
stop();
Symbol 64 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 67 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 67 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 10
stop();
Symbol 67 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 88 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 92 Button
on (release) { this._visible = false; this.removeMovieClip(); }
Symbol 98 Button
on (release) { getURL (official_version_url, "_blank"); }
Symbol 100 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 101 Button
on (release) { getURL (official_version_url, "_blank"); }
Symbol 105 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 106 MovieClip [API Connector (NewgroundsAPI)] Frame 1
#initclip 25 Object.registerClass("API Connector (NewgroundsAPI)", com.newgrounds.components.APIConnector); #endinitclip
Symbol 106 MovieClip [API Connector (NewgroundsAPI)] Frame 20
_visible = false;
Symbol 123 Button
on (release) { _root.play(); }
Symbol 124 MovieClip Frame 1
_root.stop(); PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100; if (PercentLoaded != 100) { setProperty(bar, _xscale , PercentLoaded); } else { gotoAndStop ("loaded"); }
Symbol 124 MovieClip Frame 2
gotoAndPlay (1);
Symbol 134 Button
on (release) { _quality = "medium"; }
Symbol 136 Button
on (release) { _quality = "low"; }
Symbol 138 Button
on (release) { _quality = "high"; }
Symbol 1 MovieClip [__Packages.com.newgrounds.components.FlashAd] Frame 0
class com.newgrounds.components.FlashAd extends MovieClip { var show_background, background, _x, _y, _xscale, _yscale, clip, mask; function FlashAd () { super(); background._visible = show_background; if (show_background) { _x = Math.round(_x); _y = Math.round(_y); _xscale = 100; _yscale = 100; } com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.ADS_APPROVED, loadAd, this); } function onLoad() { com.newgrounds.API.attachFlashAd(this); } function loadAd(event, params) { com.newgrounds.API.attachFlashAd(this); } function onUnload() { clip.ad.unloadMovie(); clip.ad.removeMovieClip(); clip.removeMovieClip(); mask.removeMovieClip(); background.removeMovieClip(); com.newgrounds.API.removeEventListener(com.newgrounds.APIEvent.ADS_APPROVED, this); } }
Symbol 15 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 16 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 17 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 18 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 19 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 20 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 21 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 22 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 23 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 24 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 25 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 26 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 27 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 28 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 29 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 30 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 31 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 32 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 33 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 34 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 35 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 36 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 708 MovieClip Frame 750
_root.nextFrame();
Symbol 712 Button
on (release) { getURL ("http://www.youtube.com/watch?v=xWfRy0yZKW0", "_blank"); }
Symbol 714 Button
on (release) { gotoAndPlay (2); }
Symbol 722 Button
on (release) { getURL ("http://www.youtube.com/user/Zeurel?feature=mhee", "_blank"); }

Library Items

Symbol 2 GraphicUsed by:13
Symbol 3 GraphicUsed by:6
Symbol 4 GraphicUsed by:6
Symbol 5 GraphicUsed by:6
Symbol 6 ButtonUses:3 4 5Used by:13
Symbol 7 BitmapUsed by:8
Symbol 8 GraphicUses:7Used by:13
Symbol 9 GraphicUsed by:13
Symbol 10 GraphicUsed by:13
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClipUses:11Used by:13 44
Symbol 13 MovieClipUses:2 6 8 9 10 12Used by:14
Symbol 14 MovieClip [Flash Ad (NewgroundsAPI)]Uses:13Used by:Timeline
Symbol 37 GraphicUsed by:44 46 106
Symbol 38 GraphicUsed by:44 46 106
Symbol 39 GraphicUsed by:44 46 106
Symbol 40 GraphicUsed by:44 46 106
Symbol 41 FontUsed by:42 43 45 51 54 60 63 65 93 94 102 103
Symbol 42 TextUses:41Used by:106
Symbol 43 TextUses:41Used by:44
Symbol 44 MovieClipUses:37 38 39 40 12 43Used by:106
Symbol 45 TextUses:41Used by:46
Symbol 46 MovieClipUses:37 38 39 40 45Used by:106
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:58 64 67
Symbol 49 GraphicUsed by:50 59 101
Symbol 50 MovieClip [NewgroundsAPIAsset_Medal_Icon_Placeholder]Uses:49Used by:58
Symbol 51 EditableTextUses:41Used by:58
Symbol 52 FontUsed by:53 66 99 104
Symbol 53 TextUses:52Used by:58
Symbol 54 EditableTextUses:41Used by:58
Symbol 55 Bitmap [NewgroundsAPIAsset_default_medal_icon_1]Used by:57
Symbol 56 Bitmap [NewgroundsAPIAsset_default_medal_icon_2]Used by:57
Symbol 57 GraphicUses:56 55Used by:58
Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup]Uses:48 50 51 53 54 57Used by:106
Symbol 59 ButtonUses:49Used by:100 106
Symbol 60 TextUses:41Used by:64
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:64 67
Symbol 63 TextUses:41Used by:64
Symbol 64 MovieClip [NewgroundsAPIAsset_Login_Warning]Uses:48 60 62 63Used by:106
Symbol 65 TextUses:41Used by:67
Symbol 66 TextUses:52Used by:67
Symbol 67 MovieClip [NewgroundsAPIAsset_Connection_Error]Uses:48 65 66 62Used by:106
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:68Used by:88
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:88
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:88
Symbol 74 GraphicUsed by:75
Symbol 75 MovieClipUses:74Used by:88
Symbol 76 GraphicUsed by:77
Symbol 77 MovieClipUses:76Used by:88
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:88
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:88
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:88
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClipUses:84Used by:88
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClipUses:86Used by:88
Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background]Uses:69 71 73 75 77 79 81 83 85 87Used by:100 105
Symbol 89 GraphicUsed by:100
Symbol 90 GraphicUsed by:92
Symbol 91 GraphicUsed by:92
Symbol 92 ButtonUses:90 91Used by:100
Symbol 93 TextUses:41Used by:100
Symbol 94 TextUses:41Used by:100
Symbol 95 GraphicUsed by:98
Symbol 96 GraphicUsed by:98
Symbol 97 GraphicUsed by:98
Symbol 98 ButtonUses:95 96 97Used by:100 105
Symbol 99 TextUses:52Used by:100
Symbol 100 MovieClip [NewgroundsAsset_New_Version_Available]Uses:59 88 89 92 93 94 98 99Used by:106
Symbol 101 ButtonUses:49Used by:105
Symbol 102 TextUses:41Used by:105
Symbol 103 TextUses:41Used by:105
Symbol 104 TextUses:52Used by:105
Symbol 105 MovieClip [NewgroundsAsset_Illegal_Host]Uses:101 88 102 103 98 104Used by:106
Symbol 106 MovieClip [API Connector (NewgroundsAPI)]Uses:37 38 39 40 42 44 46 58 59 64 67 100 105Used by:Timeline
Symbol 107 Bitmap [NewgroundsAPIAsset_default_medal_icon_3]
Symbol 108 Bitmap [NewgroundsAPIAsset_default_medal_icon_4]
Symbol 109 Bitmap [NewgroundsAPIAsset_default_medal_icon_5]
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClipUses:110Used by:708  Timeline
Symbol 112 GraphicUsed by:Timeline
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:124
Symbol 115 GraphicUsed by:116
Symbol 116 MovieClipUses:115Used by:124
Symbol 117 FontUsed by:118 127 715 716 717 718 719 723
Symbol 118 TextUses:117Used by:119
Symbol 119 MovieClipUses:118Used by:124
Symbol 120 GraphicUsed by:123
Symbol 121 FontUsed by:122 125 133 135 137 139 153 161 199 256 297 336 407 440 459 478 548 569 584 601 637 652 685 713
Symbol 122 TextUses:121Used by:123
Symbol 123 ButtonUses:120 122Used by:124
Symbol 124 MovieClipUses:114 116 119 123Used by:Timeline
Symbol 125 TextUses:121Used by:126
Symbol 126 MovieClipUses:125Used by:Timeline
Symbol 127 TextUses:117Used by:128
Symbol 128 MovieClipUses:127Used by:Timeline
Symbol 129 FontUsed by:130
Symbol 130 TextUses:129Used by:131
Symbol 131 MovieClipUses:130Used by:Timeline
Symbol 132 GraphicUsed by:134 136 138
Symbol 133 TextUses:121Used by:134
Symbol 134 ButtonUses:132 133Used by:Timeline
Symbol 135 TextUses:121Used by:136
Symbol 136 ButtonUses:132 135Used by:Timeline
Symbol 137 TextUses:121Used by:138
Symbol 138 ButtonUses:132 137Used by:Timeline
Symbol 139 TextUses:121Used by:140
Symbol 140 MovieClipUses:139Used by:Timeline
Symbol 1 MovieClip [__Packages.com.newgrounds.components.FlashAd]
Symbol 15 MovieClip [__Packages.com.newgrounds.APIError]
Symbol 16 MovieClip [__Packages.com.newgrounds.API]
Symbol 17 MovieClip [__Packages.com.newgrounds.Bridge]
Symbol 18 MovieClip [__Packages.com.newgrounds.SaveFile]
Symbol 19 MovieClip [__Packages.com.newgrounds.SaveGroup]
Symbol 20 MovieClip [__Packages.com.newgrounds.ValidationTools]
Symbol 21 MovieClip [__Packages.com.newgrounds.APIEvent]
Symbol 22 MovieClip [__Packages.com.newgrounds.SaveGroupQuery]
Symbol 23 MovieClip [__Packages.com.newgrounds.encoders.BaseN]
Symbol 24 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner]
Symbol 25 MovieClip [__Packages.com.newgrounds.encoders.SerialXML]
Symbol 26 MovieClip [__Packages.com.newgrounds.encoders.LZW2]
Symbol 27 MovieClip [__Packages.com.newgrounds.encoders.LZW]
Symbol 28 MovieClip [__Packages.com.newgrounds.RemoteAuth]
Symbol 29 MovieClip [__Packages.com.newgrounds.Medal]
Symbol 30 MovieClip [__Packages.com.newgrounds.ScoreBoard]
Symbol 31 MovieClip [__Packages.com.newgrounds.Score]
Symbol 32 MovieClip [__Packages.com.newgrounds.encoders.RC4]
Symbol 33 MovieClip [__Packages.com.newgrounds.encoders.JSON]
Symbol 34 MovieClip [__Packages.com.newgrounds.APIEventDispatcher]
Symbol 35 MovieClip [__Packages.com.newgrounds.encoders.MD5]
Symbol 36 MovieClip [__Packages.com.newgrounds.components.APIConnector]
Symbol 141 GraphicUsed by:163 708
Symbol 142 GraphicUsed by:708
Symbol 143 GraphicUsed by:708
Symbol 144 GraphicUsed by:708
Symbol 145 GraphicUsed by:708
Symbol 146 GraphicUsed by:708
Symbol 147 GraphicUsed by:708
Symbol 148 GraphicUsed by:708
Symbol 149 GraphicUsed by:708
Symbol 150 GraphicUsed by:151
Symbol 151 MovieClipUses:150Used by:708
Symbol 152 GraphicUsed by:708
Symbol 153 TextUses:121Used by:154
Symbol 154 MovieClipUses:153Used by:708
Symbol 155 GraphicUsed by:708
Symbol 156 GraphicUsed by:708
Symbol 157 GraphicUsed by:708
Symbol 158 GraphicUsed by:708
Symbol 159 GraphicUsed by:708
Symbol 160 GraphicUsed by:708
Symbol 161 TextUses:121Used by:162
Symbol 162 MovieClipUses:161Used by:708
Symbol 163 MovieClipUses:141Used by:165
Symbol 164 GraphicUsed by:165
Symbol 165 MovieClipUses:163 164Used by:708
Symbol 166 GraphicUsed by:708
Symbol 167 GraphicUsed by:708
Symbol 168 GraphicUsed by:708
Symbol 169 GraphicUsed by:708
Symbol 170 GraphicUsed by:708
Symbol 171 GraphicUsed by:708
Symbol 172 GraphicUsed by:708
Symbol 173 GraphicUsed by:708
Symbol 174 GraphicUsed by:708
Symbol 175 GraphicUsed by:708
Symbol 176 GraphicUsed by:708
Symbol 177 GraphicUsed by:708
Symbol 178 GraphicUsed by:708
Symbol 179 GraphicUsed by:708
Symbol 180 GraphicUsed by:708
Symbol 181 GraphicUsed by:708
Symbol 182 GraphicUsed by:708
Symbol 183 GraphicUsed by:708
Symbol 184 GraphicUsed by:708
Symbol 185 GraphicUsed by:708
Symbol 186 GraphicUsed by:708
Symbol 187 GraphicUsed by:708
Symbol 188 GraphicUsed by:708
Symbol 189 GraphicUsed by:708
Symbol 190 GraphicUsed by:708
Symbol 191 GraphicUsed by:708
Symbol 192 GraphicUsed by:708
Symbol 193 GraphicUsed by:708
Symbol 194 GraphicUsed by:708
Symbol 195 GraphicUsed by:708
Symbol 196 GraphicUsed by:708
Symbol 197 GraphicUsed by:708
Symbol 198 GraphicUsed by:708
Symbol 199 TextUses:121Used by:200
Symbol 200 MovieClipUses:199Used by:708
Symbol 201 GraphicUsed by:708
Symbol 202 GraphicUsed by:708
Symbol 203 GraphicUsed by:708
Symbol 204 GraphicUsed by:708
Symbol 205 GraphicUsed by:708
Symbol 206 GraphicUsed by:708
Symbol 207 GraphicUsed by:708
Symbol 208 GraphicUsed by:708
Symbol 209 GraphicUsed by:708
Symbol 210 GraphicUsed by:708
Symbol 211 GraphicUsed by:708
Symbol 212 GraphicUsed by:708
Symbol 213 GraphicUsed by:708
Symbol 214 GraphicUsed by:708
Symbol 215 GraphicUsed by:708
Symbol 216 GraphicUsed by:708
Symbol 217 GraphicUsed by:708
Symbol 218 GraphicUsed by:708
Symbol 219 GraphicUsed by:708
Symbol 220 GraphicUsed by:708
Symbol 221 GraphicUsed by:708
Symbol 222 GraphicUsed by:708
Symbol 223 GraphicUsed by:708
Symbol 224 GraphicUsed by:708
Symbol 225 GraphicUsed by:708
Symbol 226 GraphicUsed by:708
Symbol 227 GraphicUsed by:708
Symbol 228 GraphicUsed by:708
Symbol 229 GraphicUsed by:708
Symbol 230 GraphicUsed by:708
Symbol 231 GraphicUsed by:708
Symbol 232 GraphicUsed by:708
Symbol 233 GraphicUsed by:708
Symbol 234 GraphicUsed by:708
Symbol 235 GraphicUsed by:708
Symbol 236 GraphicUsed by:708
Symbol 237 GraphicUsed by:708
Symbol 238 GraphicUsed by:708
Symbol 239 GraphicUsed by:708
Symbol 240 GraphicUsed by:708
Symbol 241 GraphicUsed by:708
Symbol 242 GraphicUsed by:708
Symbol 243 GraphicUsed by:708
Symbol 244 GraphicUsed by:708
Symbol 245 GraphicUsed by:708
Symbol 246 GraphicUsed by:708
Symbol 247 GraphicUsed by:708
Symbol 248 GraphicUsed by:708
Symbol 249 GraphicUsed by:708
Symbol 250 GraphicUsed by:708
Symbol 251 GraphicUsed by:252
Symbol 252 MovieClipUses:251Used by:708
Symbol 253 GraphicUsed by:708
Symbol 254 GraphicUsed by:708
Symbol 255 GraphicUsed by:708
Symbol 256 TextUses:121Used by:257
Symbol 257 MovieClipUses:256Used by:708
Symbol 258 GraphicUsed by:708
Symbol 259 GraphicUsed by:708
Symbol 260 GraphicUsed by:708
Symbol 261 GraphicUsed by:708
Symbol 262 GraphicUsed by:708
Symbol 263 GraphicUsed by:708
Symbol 264 GraphicUsed by:708
Symbol 265 GraphicUsed by:708
Symbol 266 GraphicUsed by:708
Symbol 267 GraphicUsed by:708
Symbol 268 GraphicUsed by:708
Symbol 269 GraphicUsed by:708
Symbol 270 GraphicUsed by:708
Symbol 271 GraphicUsed by:708
Symbol 272 GraphicUsed by:708
Symbol 273 GraphicUsed by:708
Symbol 274 GraphicUsed by:708
Symbol 275 GraphicUsed by:708
Symbol 276 GraphicUsed by:708
Symbol 277 GraphicUsed by:708
Symbol 278 GraphicUsed by:708
Symbol 279 GraphicUsed by:708
Symbol 280 GraphicUsed by:708
Symbol 281 GraphicUsed by:708
Symbol 282 GraphicUsed by:708
Symbol 283 GraphicUsed by:708
Symbol 284 GraphicUsed by:708
Symbol 285 GraphicUsed by:708
Symbol 286 GraphicUsed by:708
Symbol 287 GraphicUsed by:708
Symbol 288 GraphicUsed by:708
Symbol 289 GraphicUsed by:708
Symbol 290 GraphicUsed by:708
Symbol 291 GraphicUsed by:708
Symbol 292 GraphicUsed by:708
Symbol 293 GraphicUsed by:708
Symbol 294 GraphicUsed by:708
Symbol 295 GraphicUsed by:708
Symbol 296 GraphicUsed by:708
Symbol 297 TextUses:121Used by:298
Symbol 298 MovieClipUses:297Used by:708
Symbol 299 GraphicUsed by:708
Symbol 300 GraphicUsed by:708
Symbol 301 GraphicUsed by:708
Symbol 302 GraphicUsed by:708
Symbol 303 GraphicUsed by:708
Symbol 304 GraphicUsed by:708
Symbol 305 GraphicUsed by:708
Symbol 306 GraphicUsed by:708
Symbol 307 GraphicUsed by:708
Symbol 308 GraphicUsed by:708
Symbol 309 GraphicUsed by:708
Symbol 310 GraphicUsed by:708
Symbol 311 GraphicUsed by:708
Symbol 312 GraphicUsed by:708
Symbol 313 GraphicUsed by:708
Symbol 314 GraphicUsed by:708
Symbol 315 GraphicUsed by:708
Symbol 316 GraphicUsed by:708
Symbol 317 GraphicUsed by:708
Symbol 318 GraphicUsed by:708
Symbol 319 GraphicUsed by:708
Symbol 320 GraphicUsed by:708
Symbol 321 GraphicUsed by:708
Symbol 322 GraphicUsed by:708
Symbol 323 GraphicUsed by:708
Symbol 324 GraphicUsed by:708
Symbol 325 GraphicUsed by:708
Symbol 326 GraphicUsed by:708
Symbol 327 GraphicUsed by:708
Symbol 328 GraphicUsed by:708
Symbol 329 GraphicUsed by:708
Symbol 330 GraphicUsed by:708
Symbol 331 GraphicUsed by:708
Symbol 332 GraphicUsed by:708
Symbol 333 GraphicUsed by:708
Symbol 334 GraphicUsed by:708
Symbol 335 GraphicUsed by:708
Symbol 336 TextUses:121Used by:337
Symbol 337 MovieClipUses:336Used by:708
Symbol 338 GraphicUsed by:708
Symbol 339 GraphicUsed by:708
Symbol 340 GraphicUsed by:708
Symbol 341 GraphicUsed by:708
Symbol 342 GraphicUsed by:708
Symbol 343 GraphicUsed by:708
Symbol 344 GraphicUsed by:708
Symbol 345 GraphicUsed by:708
Symbol 346 GraphicUsed by:708
Symbol 347 GraphicUsed by:708
Symbol 348 GraphicUsed by:708
Symbol 349 GraphicUsed by:708
Symbol 350 GraphicUsed by:708
Symbol 351 GraphicUsed by:708
Symbol 352 GraphicUsed by:708
Symbol 353 GraphicUsed by:708
Symbol 354 GraphicUsed by:708
Symbol 355 GraphicUsed by:708
Symbol 356 GraphicUsed by:708
Symbol 357 GraphicUsed by:708
Symbol 358 GraphicUsed by:708
Symbol 359 GraphicUsed by:708
Symbol 360 GraphicUsed by:708
Symbol 361 GraphicUsed by:708
Symbol 362 GraphicUsed by:708
Symbol 363 GraphicUsed by:708
Symbol 364 GraphicUsed by:708
Symbol 365 GraphicUsed by:708
Symbol 366 GraphicUsed by:708
Symbol 367 GraphicUsed by:708
Symbol 368 GraphicUsed by:708
Symbol 369 GraphicUsed by:708
Symbol 370 GraphicUsed by:708
Symbol 371 GraphicUsed by:708
Symbol 372 GraphicUsed by:708
Symbol 373 GraphicUsed by:708
Symbol 374 GraphicUsed by:708
Symbol 375 GraphicUsed by:708
Symbol 376 GraphicUsed by:708
Symbol 377 GraphicUsed by:708
Symbol 378 GraphicUsed by:708
Symbol 379 GraphicUsed by:708
Symbol 380 GraphicUsed by:708
Symbol 381 GraphicUsed by:708
Symbol 382 GraphicUsed by:708
Symbol 383 GraphicUsed by:708
Symbol 384 GraphicUsed by:708
Symbol 385 GraphicUsed by:708
Symbol 386 GraphicUsed by:708
Symbol 387 GraphicUsed by:708
Symbol 388 GraphicUsed by:708
Symbol 389 GraphicUsed by:708
Symbol 390 GraphicUsed by:708
Symbol 391 GraphicUsed by:708
Symbol 392 GraphicUsed by:708
Symbol 393 GraphicUsed by:708
Symbol 394 GraphicUsed by:708
Symbol 395 GraphicUsed by:708
Symbol 396 GraphicUsed by:708
Symbol 397 GraphicUsed by:708
Symbol 398 GraphicUsed by:708
Symbol 399 GraphicUsed by:708
Symbol 400 GraphicUsed by:708
Symbol 401 GraphicUsed by:708
Symbol 402 GraphicUsed by:708
Symbol 403 GraphicUsed by:708
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:708
Symbol 406 GraphicUsed by:708
Symbol 407 TextUses:121Used by:408
Symbol 408 MovieClipUses:407Used by:708
Symbol 409 GraphicUsed by:708
Symbol 410 GraphicUsed by:708
Symbol 411 GraphicUsed by:708
Symbol 412 GraphicUsed by:708
Symbol 413 GraphicUsed by:708
Symbol 414 GraphicUsed by:708
Symbol 415 GraphicUsed by:708
Symbol 416 GraphicUsed by:708
Symbol 417 GraphicUsed by:708
Symbol 418 GraphicUsed by:708
Symbol 419 GraphicUsed by:708
Symbol 420 GraphicUsed by:421
Symbol 421 MovieClipUses:420Used by:708
Symbol 422 GraphicUsed by:708
Symbol 423 GraphicUsed by:708
Symbol 424 GraphicUsed by:708
Symbol 425 GraphicUsed by:708
Symbol 426 GraphicUsed by:708
Symbol 427 GraphicUsed by:708
Symbol 428 GraphicUsed by:708
Symbol 429 GraphicUsed by:708
Symbol 430 GraphicUsed by:708
Symbol 431 GraphicUsed by:708
Symbol 432 GraphicUsed by:708
Symbol 433 GraphicUsed by:708
Symbol 434 GraphicUsed by:708
Symbol 435 GraphicUsed by:708
Symbol 436 GraphicUsed by:708
Symbol 437 GraphicUsed by:708
Symbol 438 GraphicUsed by:708
Symbol 439 GraphicUsed by:708
Symbol 440 TextUses:121Used by:708
Symbol 441 GraphicUsed by:708
Symbol 442 GraphicUsed by:708
Symbol 443 GraphicUsed by:708
Symbol 444 GraphicUsed by:708
Symbol 445 GraphicUsed by:708
Symbol 446 GraphicUsed by:708
Symbol 447 GraphicUsed by:708
Symbol 448 GraphicUsed by:708
Symbol 449 GraphicUsed by:708
Symbol 450 GraphicUsed by:708
Symbol 451 GraphicUsed by:708
Symbol 452 GraphicUsed by:708
Symbol 453 GraphicUsed by:708
Symbol 454 GraphicUsed by:708
Symbol 455 GraphicUsed by:708
Symbol 456 GraphicUsed by:708
Symbol 457 GraphicUsed by:708
Symbol 458 GraphicUsed by:708
Symbol 459 TextUses:121Used by:460
Symbol 460 MovieClipUses:459Used by:708
Symbol 461 GraphicUsed by:708
Symbol 462 GraphicUsed by:708
Symbol 463 GraphicUsed by:708
Symbol 464 GraphicUsed by:708
Symbol 465 GraphicUsed by:708
Symbol 466 GraphicUsed by:708
Symbol 467 GraphicUsed by:708
Symbol 468 GraphicUsed by:708
Symbol 469 GraphicUsed by:708
Symbol 470 GraphicUsed by:708
Symbol 471 GraphicUsed by:708
Symbol 472 GraphicUsed by:708
Symbol 473 GraphicUsed by:708
Symbol 474 GraphicUsed by:708
Symbol 475 GraphicUsed by:708
Symbol 476 GraphicUsed by:708
Symbol 477 GraphicUsed by:708
Symbol 478 TextUses:121Used by:479
Symbol 479 MovieClipUses:478Used by:708
Symbol 480 GraphicUsed by:708
Symbol 481 GraphicUsed by:708
Symbol 482 GraphicUsed by:708
Symbol 483 GraphicUsed by:708
Symbol 484 GraphicUsed by:708
Symbol 485 GraphicUsed by:708
Symbol 486 GraphicUsed by:708
Symbol 487 GraphicUsed by:708
Symbol 488 GraphicUsed by:708
Symbol 489 GraphicUsed by:708
Symbol 490 GraphicUsed by:708
Symbol 491 GraphicUsed by:708
Symbol 492 GraphicUsed by:708
Symbol 493 GraphicUsed by:708
Symbol 494 GraphicUsed by:708
Symbol 495 GraphicUsed by:708
Symbol 496 GraphicUsed by:708
Symbol 497 GraphicUsed by:708
Symbol 498 GraphicUsed by:708
Symbol 499 GraphicUsed by:708
Symbol 500 GraphicUsed by:708
Symbol 501 GraphicUsed by:708
Symbol 502 GraphicUsed by:708
Symbol 503 GraphicUsed by:708
Symbol 504 GraphicUsed by:708
Symbol 505 GraphicUsed by:708
Symbol 506 GraphicUsed by:708
Symbol 507 GraphicUsed by:708
Symbol 508 GraphicUsed by:708
Symbol 509 GraphicUsed by:708
Symbol 510 GraphicUsed by:708
Symbol 511 GraphicUsed by:708
Symbol 512 GraphicUsed by:708
Symbol 513 GraphicUsed by:708
Symbol 514 GraphicUsed by:708
Symbol 515 GraphicUsed by:708
Symbol 516 GraphicUsed by:708
Symbol 517 GraphicUsed by:708
Symbol 518 GraphicUsed by:708
Symbol 519 GraphicUsed by:708
Symbol 520 GraphicUsed by:708
Symbol 521 GraphicUsed by:708
Symbol 522 GraphicUsed by:708
Symbol 523 GraphicUsed by:708
Symbol 524 GraphicUsed by:708
Symbol 525 GraphicUsed by:708
Symbol 526 GraphicUsed by:708
Symbol 527 GraphicUsed by:708
Symbol 528 GraphicUsed by:708
Symbol 529 GraphicUsed by:708
Symbol 530 GraphicUsed by:708
Symbol 531 GraphicUsed by:708
Symbol 532 GraphicUsed by:708
Symbol 533 GraphicUsed by:708
Symbol 534 GraphicUsed by:708
Symbol 535 GraphicUsed by:708
Symbol 536 GraphicUsed by:708
Symbol 537 GraphicUsed by:708
Symbol 538 GraphicUsed by:708
Symbol 539 GraphicUsed by:708
Symbol 540 GraphicUsed by:708
Symbol 541 GraphicUsed by:708
Symbol 542 GraphicUsed by:708
Symbol 543 GraphicUsed by:708
Symbol 544 GraphicUsed by:708
Symbol 545 GraphicUsed by:708
Symbol 546 GraphicUsed by:708
Symbol 547 GraphicUsed by:708
Symbol 548 TextUses:121Used by:708
Symbol 549 GraphicUsed by:708
Symbol 550 GraphicUsed by:708
Symbol 551 GraphicUsed by:708
Symbol 552 GraphicUsed by:708
Symbol 553 GraphicUsed by:708
Symbol 554 GraphicUsed by:708
Symbol 555 GraphicUsed by:708
Symbol 556 GraphicUsed by:708
Symbol 557 GraphicUsed by:708
Symbol 558 GraphicUsed by:708
Symbol 559 GraphicUsed by:708
Symbol 560 GraphicUsed by:708
Symbol 561 GraphicUsed by:708
Symbol 562 GraphicUsed by:708
Symbol 563 GraphicUsed by:708
Symbol 564 GraphicUsed by:708
Symbol 565 GraphicUsed by:708
Symbol 566 GraphicUsed by:708
Symbol 567 GraphicUsed by:708
Symbol 568 GraphicUsed by:708
Symbol 569 TextUses:121Used by:570
Symbol 570 MovieClipUses:569Used by:708
Symbol 571 GraphicUsed by:708
Symbol 572 GraphicUsed by:708
Symbol 573 GraphicUsed by:708
Symbol 574 GraphicUsed by:708
Symbol 575 GraphicUsed by:708
Symbol 576 GraphicUsed by:708
Symbol 577 GraphicUsed by:708
Symbol 578 GraphicUsed by:708
Symbol 579 GraphicUsed by:708
Symbol 580 GraphicUsed by:708
Symbol 581 GraphicUsed by:708
Symbol 582 GraphicUsed by:708
Symbol 583 GraphicUsed by:708
Symbol 584 TextUses:121Used by:585
Symbol 585 MovieClipUses:584Used by:708
Symbol 586 GraphicUsed by:708
Symbol 587 GraphicUsed by:708
Symbol 588 GraphicUsed by:708
Symbol 589 GraphicUsed by:708
Symbol 590 GraphicUsed by:708
Symbol 591 GraphicUsed by:708
Symbol 592 GraphicUsed by:708
Symbol 593 GraphicUsed by:708
Symbol 594 GraphicUsed by:708
Symbol 595 GraphicUsed by:708
Symbol 596 GraphicUsed by:708
Symbol 597 GraphicUsed by:708
Symbol 598 GraphicUsed by:708
Symbol 599 GraphicUsed by:708
Symbol 600 GraphicUsed by:708
Symbol 601 TextUses:121Used by:708
Symbol 602 GraphicUsed by:708
Symbol 603 GraphicUsed by:708
Symbol 604 GraphicUsed by:708
Symbol 605 GraphicUsed by:708
Symbol 606 GraphicUsed by:708
Symbol 607 GraphicUsed by:708
Symbol 608 GraphicUsed by:708
Symbol 609 GraphicUsed by:708
Symbol 610 GraphicUsed by:708
Symbol 611 GraphicUsed by:708
Symbol 612 GraphicUsed by:708
Symbol 613 GraphicUsed by:708
Symbol 614 GraphicUsed by:708
Symbol 615 GraphicUsed by:708
Symbol 616 GraphicUsed by:708
Symbol 617 GraphicUsed by:708
Symbol 618 GraphicUsed by:708
Symbol 619 GraphicUsed by:708
Symbol 620 GraphicUsed by:708
Symbol 621 GraphicUsed by:708
Symbol 622 GraphicUsed by:708
Symbol 623 GraphicUsed by:708
Symbol 624 GraphicUsed by:708
Symbol 625 GraphicUsed by:708
Symbol 626 GraphicUsed by:708
Symbol 627 GraphicUsed by:708
Symbol 628 GraphicUsed by:708
Symbol 629 GraphicUsed by:708
Symbol 630 GraphicUsed by:708
Symbol 631 GraphicUsed by:708
Symbol 632 GraphicUsed by:708
Symbol 633 GraphicUsed by:708
Symbol 634 GraphicUsed by:708
Symbol 635 GraphicUsed by:708
Symbol 636 GraphicUsed by:708
Symbol 637 TextUses:121Used by:708
Symbol 638 GraphicUsed by:708
Symbol 639 GraphicUsed by:708
Symbol 640 GraphicUsed by:708
Symbol 641 GraphicUsed by:708
Symbol 642 GraphicUsed by:708
Symbol 643 GraphicUsed by:708
Symbol 644 GraphicUsed by:708
Symbol 645 GraphicUsed by:708
Symbol 646 GraphicUsed by:708
Symbol 647 GraphicUsed by:708
Symbol 648 GraphicUsed by:708
Symbol 649 GraphicUsed by:708
Symbol 650 GraphicUsed by:708
Symbol 651 GraphicUsed by:708
Symbol 652 TextUses:121Used by:667 708
Symbol 653 GraphicUsed by:708
Symbol 654 GraphicUsed by:708
Symbol 655 GraphicUsed by:708
Symbol 656 GraphicUsed by:708
Symbol 657 GraphicUsed by:708
Symbol 658 GraphicUsed by:708
Symbol 659 GraphicUsed by:708
Symbol 660 GraphicUsed by:708
Symbol 661 GraphicUsed by:708
Symbol 662 GraphicUsed by:708
Symbol 663 GraphicUsed by:708
Symbol 664 GraphicUsed by:665
Symbol 665 MovieClipUses:664Used by:708
Symbol 666 GraphicUsed by:708
Symbol 667 MovieClipUses:652Used by:708
Symbol 668 GraphicUsed by:708
Symbol 669 GraphicUsed by:708
Symbol 670 GraphicUsed by:708
Symbol 671 GraphicUsed by:708
Symbol 672 GraphicUsed by:708
Symbol 673 GraphicUsed by:708
Symbol 674 GraphicUsed by:708
Symbol 675 GraphicUsed by:708
Symbol 676 GraphicUsed by:708
Symbol 677 GraphicUsed by:708
Symbol 678 GraphicUsed by:708
Symbol 679 GraphicUsed by:708
Symbol 680 GraphicUsed by:708
Symbol 681 GraphicUsed by:708
Symbol 682 GraphicUsed by:708
Symbol 683 GraphicUsed by:708
Symbol 684 GraphicUsed by:708
Symbol 685 TextUses:121Used by:686
Symbol 686 MovieClipUses:685Used by:708
Symbol 687 GraphicUsed by:708
Symbol 688 GraphicUsed by:708
Symbol 689 GraphicUsed by:708
Symbol 690 GraphicUsed by:708
Symbol 691 GraphicUsed by:708
Symbol 692 GraphicUsed by:708
Symbol 693 GraphicUsed by:708
Symbol 694 GraphicUsed by:708
Symbol 695 GraphicUsed by:708
Symbol 696 GraphicUsed by:708
Symbol 697 GraphicUsed by:708
Symbol 698 GraphicUsed by:708
Symbol 699 GraphicUsed by:708
Symbol 700 GraphicUsed by:708
Symbol 701 GraphicUsed by:708
Symbol 702 GraphicUsed by:708
Symbol 703 GraphicUsed by:708
Symbol 704 GraphicUsed by:708
Symbol 705 GraphicUsed by:708
Symbol 706 GraphicUsed by:708
Symbol 707 GraphicUsed by:708 714
Symbol 708 MovieClipUses:141 142 143 144 145 146 147 148 149 151 152 154 155 156 157 158 159 160 162 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 252 253 254 255 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 405 406 408 409 410 411 412 413 414 415 416 417 418 419 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 111 567 568 570 571 572 573 574 575 576 577 578 579 580 581 582 583 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 SS1Used by:Timeline
Symbol 709 GraphicUsed by:Timeline
Symbol 710 BitmapUsed by:711
Symbol 711 GraphicUses:710Used by:712
Symbol 712 ButtonUses:711Used by:Timeline
Symbol 713 TextUses:121Used by:714
Symbol 714 ButtonUses:707 713Used by:Timeline
Symbol 715 TextUses:117Used by:Timeline
Symbol 716 TextUses:117Used by:Timeline
Symbol 717 TextUses:117Used by:Timeline
Symbol 718 TextUses:117Used by:Timeline
Symbol 719 TextUses:117Used by:Timeline
Symbol 720 BitmapUsed by:721
Symbol 721 GraphicUses:720Used by:722
Symbol 722 ButtonUses:721Used by:Timeline
Symbol 723 TextUses:117Used by:Timeline
Streaming Sound 1Used by:Symbol 708 MovieClip

Instance Names

"background"Symbol 14 MovieClip [Flash Ad (NewgroundsAPI)] Frame 1Symbol 13 MovieClip
"icon"Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1Symbol 50 MovieClip [NewgroundsAPIAsset_Medal_Icon_Placeholder]
"shadow"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 69 MovieClip
"c"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 71 MovieClip
"b"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 73 MovieClip
"t"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 75 MovieClip
"l"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 77 MovieClip
"r"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 79 MovieClip
"tl"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 81 MovieClip
"tr"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 83 MovieClip
"bl"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 85 MovieClip
"br"Symbol 88 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 87 MovieClip
"background"Symbol 100 MovieClip [NewgroundsAsset_New_Version_Available] Frame 1Symbol 59 Button
"background"Symbol 105 MovieClip [NewgroundsAsset_Illegal_Host] Frame 1Symbol 101 Button
"connected"Symbol 106 MovieClip [API Connector (NewgroundsAPI)] Frame 11Symbol 46 MovieClip
"bar"Symbol 124 MovieClip Frame 1Symbol 114 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 14 as "Flash Ad (NewgroundsAPI)"
ExportAssets (56)Timeline Frame 1Symbol 50 as "NewgroundsAPIAsset_Medal_Icon_Placeholder"
ExportAssets (56)Timeline Frame 1Symbol 55 as "NewgroundsAPIAsset_default_medal_icon_1"
ExportAssets (56)Timeline Frame 1Symbol 56 as "NewgroundsAPIAsset_default_medal_icon_2"
ExportAssets (56)Timeline Frame 1Symbol 58 as "NewgroundsAPIAsset_Medal_Popup"
ExportAssets (56)Timeline Frame 1Symbol 64 as "NewgroundsAPIAsset_Login_Warning"
ExportAssets (56)Timeline Frame 1Symbol 67 as "NewgroundsAPIAsset_Connection_Error"
ExportAssets (56)Timeline Frame 1Symbol 88 as "NewgroundsAPIAsset_big_popup_background"
ExportAssets (56)Timeline Frame 1Symbol 100 as "NewgroundsAsset_New_Version_Available"
ExportAssets (56)Timeline Frame 1Symbol 105 as "NewgroundsAsset_Illegal_Host"
ExportAssets (56)Timeline Frame 1Symbol 106 as "API Connector (NewgroundsAPI)"
ExportAssets (56)Timeline Frame 1Symbol 107 as "NewgroundsAPIAsset_default_medal_icon_3"
ExportAssets (56)Timeline Frame 1Symbol 108 as "NewgroundsAPIAsset_default_medal_icon_4"
ExportAssets (56)Timeline Frame 1Symbol 109 as "NewgroundsAPIAsset_default_medal_icon_5"
ExportAssets (56)Timeline Frame 1Symbol 1 as "__Packages.com.newgrounds.components.FlashAd"
ExportAssets (56)Timeline Frame 1Symbol 15 as "__Packages.com.newgrounds.APIError"
ExportAssets (56)Timeline Frame 1Symbol 16 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 1Symbol 17 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 1Symbol 18 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 1Symbol 19 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 1Symbol 20 as "__Packages.com.newgrounds.ValidationTools"
ExportAssets (56)Timeline Frame 1Symbol 21 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 1Symbol 22 as "__Packages.com.newgrounds.SaveGroupQuery"
ExportAssets (56)Timeline Frame 1Symbol 23 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 1Symbol 24 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 1Symbol 25 as "__Packages.com.newgrounds.encoders.SerialXML"
ExportAssets (56)Timeline Frame 1Symbol 26 as "__Packages.com.newgrounds.encoders.LZW2"
ExportAssets (56)Timeline Frame 1Symbol 27 as "__Packages.com.newgrounds.encoders.LZW"
ExportAssets (56)Timeline Frame 1Symbol 28 as "__Packages.com.newgrounds.RemoteAuth"
ExportAssets (56)Timeline Frame 1Symbol 29 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 1Symbol 30 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 1Symbol 31 as "__Packages.com.newgrounds.Score"
ExportAssets (56)Timeline Frame 1Symbol 32 as "__Packages.com.newgrounds.encoders.RC4"
ExportAssets (56)Timeline Frame 1Symbol 33 as "__Packages.com.newgrounds.encoders.JSON"
ExportAssets (56)Timeline Frame 1Symbol 34 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 35 as "__Packages.com.newgrounds.encoders.MD5"
ExportAssets (56)Timeline Frame 1Symbol 36 as "__Packages.com.newgrounds.components.APIConnector"

Labels

"closeme"Symbol 58 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 11
"closeme"Symbol 64 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 11
"closeme"Symbol 67 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 11
"connecting"Symbol 106 MovieClip [API Connector (NewgroundsAPI)] Frame 2
"connected"Symbol 106 MovieClip [API Connector (NewgroundsAPI)] Frame 11
"done"Symbol 106 MovieClip [API Connector (NewgroundsAPI)] Frame 20
"loaded"Symbol 124 MovieClip Frame 3

Dynamic Text Variables

medal_nameSymbol 51 EditableText"medal unlocked!"
medal_valueSymbol 54 EditableText"100pts"




http://swfchan.com/24/119590/info.shtml
Created: 5/3 -2019 19:11:03 Last modified: 5/3 -2019 19:11:03 Server time: 25/04 -2024 23:26:32