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

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

Lust and Passion Short - Halloween 2012 by Flaxington.swf

This is the info page for
Flash #161682

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


Text
FIGHTERMARTH

BEGIN

FIGHTERMARTH'S NG

FIGHTERMARTH'S NG

FIGHTERMARTH'S NG

FIGHTERMARTH'S DA

FIGHTERMARTH'S DA

FIGHTERMARTH'S DA

Play

Play

Play

Play

Magic

Magic

magic

ABOUT

Pointless Halloween
Short

BACK

Two spells are used this time:

Screen:
Illusion (2nd tier light)
Screen creates a wall out of solid light, which can serve as a temporary
barricade or shield. It can also be used to trap a target. An example of
screen's practical use would be patching a dam, since screen would
hold the water while the repairs would be done. Can be casted instantly

Prime Sun:
Sol (3rd Tier light), Ember (2nd tier fire)
Prime sun is one of the most powerful offensive spells. By combining
Ember, one of the most destructive elements, with sol, one of the three
3rd tier elements, a powerful beam of solar plasma is sent shooting forward,
incinerating everything in its path. This Spell requires charging, chanting,
and a large amount of energy and mana. After its use, the user is often left
in a vulnerable state.

Fightermarth Presents

An Anna and Lola
Halloween Short

Anna's Secret

Flash V-Cam

Screen

Prime Sun

HAPPY HALLOWEEN >:U

HAPPY HALLOWEEN >:U

HAPPY HALLOWEEN >:U

HAPPY HALLOWEEN >:U

Not sure what
the point of this
was...

ActionScript [AS1/AS2]

Frame 1
stop();
Instance of Symbol 77 MovieClip [APIConnector] in Frame 1
//component parameters onClipEvent (construct) { apiId = "28501:oJ4aW8kd"; encryptionKey = "BuXUhifMXTZ10igWyrTQSBH5GLghMJDV"; debugMode = "Simulate Logged-in User"; movieVersion = ""; connectorType = "Flash Ad + Preloader"; redirectOnNewVersion = true; redirectOnHostBlocked = true; adType = "Video"; }
Frame 2
stop();
Frame 3
stop();
Symbol 8 MovieClip Frame 1
stop();
Symbol 18 MovieClip Frame 1
stop();
Symbol 19 MovieClip [Preloader] Frame 1
function enterFrameHandler() { var _local2 = 0; _local2 = _root.getBytesLoaded() / _root.getBytesTotal(); if (loadingBar) { loadingBar.gotoAndStop(int(_local2 * (loadingBar._totalframes - 1)) + 1); } if (_local2 >= 1) { onEnterFrame = null; gotoAndStop ("loaded"); } } stop(); var autoPlay; var className; onEnterFrame = enterFrameHandler;
Symbol 19 MovieClip [Preloader] Frame 10
function _onPlayClick() { _root.nextFrame(); _root.play(); _parent._onLoaded(); } if (playButton) { playButton.onRelease = _onPlayClick; playButton.stop(); } if (autoPlay) { _onPlayClick(null); }
Symbol 21 MovieClip [Newgrounds API Classes] Frame 1
#initclip 26 Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim); #endinitclip
Symbol 76 MovieClip [FlashAd] Frame 1
#initclip 27 Object.registerClass("FlashAd", com.newgrounds.components.FlashAdBase); #endinitclip function initPlayButton() { if (this.playButton) { this.playButton.onRelease = onPlayClick; if (!this.showPlayButton) { this.playButton._visible = false; } } } function onPlayClick() { removeAd(); _visible = false; } stop();
Symbol 76 MovieClip [FlashAd] Frame 2
initPlayButton();
Symbol 76 MovieClip [FlashAd] Frame 10
initPlayButton();
Symbol 76 MovieClip [FlashAd] Frame 20
initPlayButton();
Symbol 77 MovieClip [APIConnector] Frame 1
function _onLoaded() { gotoAndStop ("invisible"); if (_redirect) { com.newgrounds.API.loadOfficialVersion(); return(undefined); } } function _apiConnect() { var _local2 = com.newgrounds.API; if (_local2 && (!_local2.connected)) { if (!apiId) { com.newgrounds.Logger.logError("No API ID entered in the API Connector component.", "You can create an API ID for this submission at http://newgrounds.com/account/flashapi", "Enter your API ID into the API Connector using the Component Inspector (Window -> Component Inspector)."); return(undefined); } switch (debugMode) { case "Off" : default : _local2.debugMode = _local2.RELEASE_MODE; break; case "Simulate Logged-in User" : _local2.debugMode = _local2.DEBUG_MODE_LOGGED_IN; break; case "Simulate Logged-out User" : _local2.debugMode = _local2.DEBUG_MODE_LOGGED_OUT; break; case "Simulate New Version" : _local2.debugMode = _local2.DEBUG_MODE_NEW_VERSION; break; case "Simulate Host Blocked" : _local2.debugMode = _local2.DEBUG_MODE_HOST_BLOCKED; } _local2.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, _onConnected); _local2.connect(_root, apiId, encryptionKey, movieVersion); } } function _onConnected(event) { if ((redirectOnNewVersion && (event.__get__success())) && (event.__get__data().newVersion)) { _redirect = true; } if ((redirectOnHostBlocked && (!event.__get__success())) && (event.__get__error() == com.newgrounds.APIEvent.ERROR_HOST_BLOCKED)) { _redirect = true; } if (_redirect) { gotoAndStop ("adPreloader"); forceAlwaysOnTop(); } } function forceAlwaysOnTop() { var _local2 = getNextHighestDepth(); swapDepths(_local2); if (Stage) { _x = ((Stage.width - _width) / 2); _y = ((Stage.height - _height) / 2); _visible = true; } if (_root && (_root instanceof MovieClip)) { MovieClip(_root).stop(); } } stop(); if (_root && (_root instanceof MovieClip)) { MovieClip(_root).stop(); } var apiId; var encryptionKey; var movieVersion; var debugMode; var connectorType; var redirectOnHostBlocked; var redirectOnNewVersion; var adType; var className; var _redirect; _x = int(_x); _y = int(_y); if (!debugMode) { debugMode = "Simulate Logged-in User"; } if (!connectorType) { connectorType = "Flash Ad + Preloader"; } if (!adType) { adType = "Video"; } if (ad) { ad.adType = adType; } switch (connectorType) { case "Flash Ad + Preloader" : gotoAndStop ("adPreloader"); break; case "Flash Ad Only" : gotoAndStop ("ad"); break; case "Invisible" : gotoAndStop ("invisible"); } _apiConnect();
Instance of Symbol 76 MovieClip [FlashAd] "ad" in Symbol 77 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { apiId = ""; showBorder = true; adType = "Video"; }
Instance of Symbol 19 MovieClip [Preloader] "loader" in Symbol 77 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { autoPlay = false; mainClass = ""; }
Symbol 187 Button
on (release) { getURL ("http://fightermarth.newgrounds.com", "_blank"); }
Symbol 195 Button
on (release) { startMovie(); }
Symbol 197 MovieClip Frame 1
function timerHandler() { if (!loadingComplete) { var _local4 = _root.getBytesLoaded() / _root.getBytesTotal(); bar._xscale = 100 * _local4; if (_local4 == 1) { loadingComplete = true; if (AUTO_PLAY) { startMovie(); } else { gotoAndStop ("loaded"); } return(undefined); } } dt = getTimer() - time; time = time + dt; frameAccum = frameAccum + dt; var _local3 = 0; while ((frameAccum >= FRAME_TIME) && (_local3 < MAX_FRAME_SKIP)) { advanceFrame(tankLogo, true, true); advanceFrame(loadingText, false, true); advanceFrame(barGfx, false, true); if (loadingComplete) { advanceFrame(this, false, false); } (frameAccum = frameAccum - FRAME_TIME); _local3++; } updateAfterEvent(); } function advanceFrame(clip, recurse, loop) { if (!clip) { return(undefined); } clip.stop(); if (clip._currentframe == clip._totalframes) { if (loop) { clip.gotoAndStop(1); } } else { clip.nextFrame(); } if (recurse) { for (childName in clip) { if (typeof(clip[childName]) == "movieclip") { advanceFrame(clip[childName], recurse, loop); } } } } function startMovie() { clearInterval(intervalId); _root.play(); } _root.stop(); stop(); var FRAME_TIME = 33.3333333333333; var AUTO_PLAY = false; var MAX_FRAME_SKIP = 5; var loadingComplete; var intervalId; var time; var frameAccum; loadingComplete = false; intervalId = setInterval(this, "timerHandler", FRAME_TIME / 2); frameAccum = 0; time = getTimer(); timerHandler();
Symbol 197 MovieClip Frame 2
stop();
Symbol 29 MovieClip [__Packages.com.newgrounds.APIConnection] Frame 0
class com.newgrounds.APIConnection { var _hostURL, hostDomain, sessionId, publisherId, encryptionKey, userEmail, username, userId, userpageFormat, initialized; function APIConnection () { reset(); } function get hostURL() { return(_hostURL); } function set hostURL(value) { _hostURL = value; hostDomain = null; if (_hostURL) { var _local2 = _hostURL.split("/"); if ((_local2[0] != "file:") && (_hostURL != "localhost")) { hostDomain = _local2[2]; } } if (!hostDomain) { hostDomain = "localhost"; } //return(hostURL); } function get sandboxType() { return(System.security.sandboxType); } function get isNetworkHost() { switch (sandboxType) { case "localWithFile" : case "localWithNetwork" : case "localTrusted" : case "application" : return(false); case "remote" : } return(true); } function get hasUserSession() { return(((sessionId != null) && (sessionId != "")) && (publisherId != 0)); } function get connected() { return(connectionState == CONNECTED); } function reset() { connectionState = NOT_CONNECTED; encryptionKey = null; sessionId = null; userEmail = null; username = null; userId = 0; userpageFormat = 0; } function assertInitialized() { if (!initialized) { com.newgrounds.Logger.logError("You must initialized the API using API.connect() before using this command."); return(false); } return(true); } function assertConnected() { if ((!connectionState) == CONNECTED) { com.newgrounds.Logger.logError("You must establish a connection using API.connect() before using this command."); return(false); } return(true); } function sendSimpleCommand(command, completeHandler, parameters, secureParameters) { if (parameters == undefined) { parameters = null; } if (secureParameters == undefined) { secureParameters = null; } var _local2 = new com.newgrounds.APICommand(command); _local2.__set__parameters(parameters); _local2.__set__secureParameters(secureParameters); if (completeHandler != null) { _local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, completeHandler); } _local2.send(this); } function sendCommand(command) { command.send(this); } function loadInBrowser(command, newWindow, parameters) { if (newWindow == undefined) { newWindow = true; } if (parameters == undefined) { parameters = null; } var _local2 = new com.newgrounds.APICommand(command); _local2.__set__parameters(parameters); _local2.loadInBrowser(this, newWindow); } static var NOT_CONNECTED = "notConnected"; static var CONNECTING = "connecting"; static var CONNECTED = "connected"; var connectionState = NOT_CONNECTED; var apiURL = "http://www.ngads.com/gateway_v2.php"; }
Symbol 23 MovieClip [__Packages.com.newgrounds.EventDispatcher] Frame 0
class com.newgrounds.EventDispatcher { var _listeners; function EventDispatcher () { _listeners = {}; } function addEventListener(type, listener) { if (!_listeners[type]) { _listeners[type] = []; } if (typeof(listener) == "function") { _listeners[type].push({target:null, func:listener}); } else { _listeners[type].push(listener); } } function removeEventListener(type, listener) { var _local3 = _listeners[type]; if (_local3) { var _local5 = _local3.length; var _local2 = 0; while (_local2 < _local5) { if ((_local3[_local2].func == listener) || (_local3[_local2] == listener)) { _local3.splice(_local2, 1); return(undefined); } _local2++; } } } function dispatchEvent(event) { var _local4 = _listeners[event.__get__type()]; if (_local4) { var _local5 = _local4.length; var _local2 = 0; while (_local2 < _local5) { var _local3 = _local4[_local2]; _local3.func.call(_local3.target, event); _local2++; } } return(true); } }
Symbol 22 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event { var _type; function Event (type) { _type = type; } function get type() { return(_type); } }
Symbol 24 MovieClip [__Packages.com.newgrounds.APIEventDispatcher] Frame 0
class com.newgrounds.APIEventDispatcher extends com.newgrounds.EventDispatcher { static var _globalDispatcher; function APIEventDispatcher () { super(); } static function get globalDispatcher() { return(_globalDispatcher); } static function set globalDispatcher(value) { _globalDispatcher = value; //return(globalDispatcher); } static function initEventQueue() { setInterval(runEventQueue, 50); return([]); } function dispatchEvent(event) { _eventQueue.push({dispatcher:this, event:event}); return(true); } function actualDispatchEvent(event) { var _local3 = super.dispatchEvent(event); if (_globalDispatcher && (this != _globalDispatcher)) { _globalDispatcher.dispatchEvent(event); } } static function runEventQueue(event) { var _local3 = _eventQueue.length; if (_local3) { var _local4 = _eventQueue; _eventQueue = []; var _local1 = 0; while (_local1 < _local3) { var _local2 = _local4[_local1]; _local2.dispatcher.actualDispatchEvent(_local2.event); _local1++; } } } static var _eventQueue = initEventQueue(); }
Symbol 27 MovieClip [__Packages.com.newgrounds.encoders.BaseN] Frame 0
class com.newgrounds.encoders.BaseN { var _hash, _base, _reverseHash; function BaseN (hash) { if (hash) { _hash = hash; } else { _hash = DEFAULT_HASH; } _base = _hash.length; _reverseHash = new Object(); var _local2 = 0; while (_local2 < _hash.length) { _reverseHash[_hash.charAt(_local2)] = _local2; _local2++; } } function encodeUint(number, minimumChars) { if (minimumChars == undefined) { minimumChars = 1; } var _local2 = ""; var _local3 = number; while (_local3 != 0) { _local2 = _hash.charAt(_local3 % _base) + _local2; _local3 = _local3 / _base; _local3 = int(_local3); } while (_local2.length < minimumChars) { _local2 = _hash.charAt(0) + _local2; } return(_local2); } function decodeUint(encodedNumber) { var _local3 = 0; var _local2 = 0; while (_local2 < encodedNumber.length) { _local3 = _local3 * _base; _local3 = _local3 + _reverseHash[encodedNumber.charAt(_local2)]; _local2++; } return(_local3); } static var DEFAULT_HASH = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; }
Symbol 33 MovieClip [__Packages.com.newgrounds.APICommand] Frame 0
class com.newgrounds.APICommand extends com.newgrounds.APIEventDispatcher { static var _throttleTimestamp, bridge; var _command, _parameters, _secureParameters, _hasTimeout, _preventCache, _files, _loader, _timeoutTimer, dispatchEvent; function APICommand (command) { super(); _command = command; _parameters = new Object(); _secureParameters = new Object(); _hasTimeout = true; } static function stopPendingCommands() { for (var _local2 in _pendingCommands) { var _local1 = _pendingCommands[_local2]; _local1.close(); } _pendingCommands = []; } static function onThrottleTimer(event) { if ((getTimer() - _throttleTimestamp) >= THROTTLE_INTERVAL) { _throttleCount = 0; _throttleCount = 0; while (_commandQueue.length && (_throttleCount < THROTTLE_THRESHOLD)) { var _local1 = _commandQueue.shift(); _local1.command.send(_local1.connection); _throttleCount++; } } } static function encryptHex(hexValue) { var _local4 = hexValue.length % 6; var _local3 = ""; var _local1 = 0; while (_local1 < hexValue.length) { _local3 = _local3 + _encryptor.encodeUint(int("0x" + hexValue.substr(_local1, 6)), 4); _local1 = _local1 + 6; } return(_local4.toString() + _local3); } function get command() { return(_command); } function set command(value) { _command = value; //return(command); } function get hasTimeout() { return(_hasTimeout); } function set hasTimeout(val) { _hasTimeout = val; //return(hasTimeout); } function get parameters() { return(_parameters); } function set parameters(object) { _parameters = new Object(); if (object) { for (var _local3 in object) { _parameters[_local3] = object[_local3]; } } //return(parameters); } function get preventCache() { return(_preventCache); } function set preventCache(value) { _preventCache = value; //return(preventCache); } function get secureParameters() { return(_secureParameters); } function set secureParameters(object) { _secureParameters = new Object(); if (object) { for (var _local3 in object) { _secureParameters[_local3] = object[_local3]; } } //return(secureParameters); } function get hasSecureParameters() { for (var _local2 in _secureParameters) { return(true); } return(false); } function addFile(filename, data, dataField, contentType) { if (contentType == undefined) { contentType = "application/octet-stream"; } if (!_files) { _files = new Object(); } var _local3 = {filename:filename, data:data, dataField:dataField, contentType:contentType}; _files[filename] = _local3; } function removeFile(filename) { if (_files) { delete _files[filename]; } } function clearFiles() { _files = null; } function close() { if (_loader) { clearInterval(_timeoutTimer); var _local2 = 0; while (_local2 < _pendingCommands.length) { if (_pendingCommands[_local2] == this) { _pendingCommands.splice(_local2, 1); break; } _local2++; } _loader = null; } } function loadInBrowser(connection, newWindow) { _parameters.command_id = _command; _parameters.tracker_id = (connection.apiId ? (connection.apiId) : 1); if (connection.debug) { _parameters.debug = 1; } var _local3 = (connection.apiURL + "?host=") + escape(connection.hostDomain); for (var _local4 in _parameters) { _local3 = _local3 + ((("&" + escape(_local4)) + "=") + escape(_parameters[_local4])); } var _local6; if (newWindow) { _local6 = "_blank"; } else { _local6 = "_top"; } _root.getURL(_local3, _local6); } function send(connection) { if (_throttleCount >= THROTTLE_THRESHOLD) { _commandQueue.push({connection:connection, command:this}); } else { sendInternal(connection); } } function sendInternal(connection) { var _local4; _local4 = new LoadVars(); _local4.command_id = _command; _local4.tracker_id = connection.apiId; if (connection.debug) { _local4.debug = 1; } if (_preventCache) { _local4.seed = Math.random(); } var _local2; var _local3; var _local7; for (_local2 in _parameters) { _local3 = _parameters[_local2]; if (_local3 != null) { if (typeof(_local3) == "boolean") { _local4[_local2] = int(_local3); } else { _local4[_local2] = _local3; } } } if (hasSecureParameters) { var _local6 = new Object(); for (_local2 in _secureParameters) { _local3 = _secureParameters[_local2]; if (_local3 != null) { if (typeof(_local3) == "boolean") { _local6[_local2] = int(_local3); } else { _local6[_local2] = _local3; } } } var _local8 = ""; _local7 = 0; while (_local7 < 16) { _local8 = _local8 + ENCRYPTOR_RADIX.charAt(int(Math.random() * ENCRYPTOR_RADIX.length)); _local7++; } _local4.command_id = "securePacket"; _local6.command_id = _command; _local6.as_version = 3; _local6.session_id = connection.sessionId; _local6.user_email = connection.userEmail; _local6.publisher_id = connection.publisherId; _local6.seed = _local8; var _local13 = com.newgrounds.crypto.MD5.hash(_local8); var _local11 = com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(_local6), connection.encryptionKey); _local4.secure = encryptHex(_local13 + _local11); } com.newgrounds.Logger.logInternal("Sending packet:", _local4); var _local12; _local12 = "application/x-www-form-urlencoded"; for (_local2 in _local4) { if (typeof(_local4[_local2]) == "object") { _local4[_local2] = com.newgrounds.encoders.json.JSON.encode(_local4[_local2]); } } if (_files) { for (var _local10 in _files) { var _local5 = _files[_local10]; if (typeof(_local5.data) == "string") { _local4[_local10] = _local5.data; } else { _local4[_local10] = com.newgrounds.encoders.json.JSON.encode(_local5.data); } } } _pendingCommands.push(this); _throttleCount++; _throttleTimestamp = getTimer(); startLoader(connection.apiURL, _local4, _local12); } function startLoader(url, data, contentType) { _loader = LoadVars(data); _loader.onData = as2CompleteHandler; _loader.contentType = contentType; _loader.sendAndLoad(url, _loader, "POST"); if (_hasTimeout) { setInterval(this, onTimeout, TIMEOUT_INTERVAL); } } function as2CompleteHandler(data) { var _local3; var _local2 = 0; while (_local2 < _pendingCommands.length) { if (_pendingCommands[_local2]._loader == this) { _local3 = _pendingCommands[_local2]; break; } _local2++; } _local3.onComplete(data); } function onTimeout(event) { close(); com.newgrounds.Logger.logError("Command timed out."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_TIMED_OUT)); } function onError(error) { com.newgrounds.Logger.logError("Error when sending command:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_UNKNOWN)); close(); } function onComplete(data) { try { com.newgrounds.Logger.logInternal("Received packet:", data); if (bridge) { bridge.sendEvent(response.command_id, response); } } catch(e) { } try { if ((!data) || (data == "")) { throw new Error(); } var response = com.newgrounds.encoders.json.JSON.decode(data); if (!response) { throw new Error(); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, response, ((response && (response.success)) ? (com.newgrounds.APIEvent.ERROR_NONE) : (com.newgrounds.APIEvent.ERROR_COMMAND_FAILED)))); } catch(e) { com.newgrounds.Logger.logError("Invalid response returned from server: " + data); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_BAD_RESPONSE)); } close(); } static var TIMEOUT_INTERVAL = 10000; static var THROTTLE_INTERVAL = 10050; static var THROTTLE_TICK_INTERVAL = 1000; static var THROTTLE_THRESHOLD = 24; static var _throttleCount = 0; static var _commandQueue = []; static var _throttleTimer = setInterval(onThrottleTimer, THROTTLE_TICK_INTERVAL); static var ENCRYPTOR_RADIX = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; static var _encryptor = new com.newgrounds.encoders.BaseN(ENCRYPTOR_RADIX); static var _pendingCommands = []; static var CRLF = "\r\n"; }
Symbol 28 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge { var _widgetId, _inConnection, _outConnection; function Bridge (id) { _widgetId = id; _inConnection = new LocalConnection(); _outConnection = new LocalConnection(); _inConnection.receiveEvent = receiveEvent; try { _inConnection.connect("rec_" + _widgetId); } catch(error) { } com.newgrounds.Logger.addEventListener(com.newgrounds.APIEvent.LOG, {target:this, func:onLogMessage}); } function onLogMessage(event) { try { _outConnection.send(_widgetId, "sendEvent", "trace", String(event.__get__data())); } catch(error) { } } function sendEvent(command, parameters) { if (_outConnection) { parameters = {data:parameters}; _outConnection.send(_widgetId, "sendEvent", command, parameters); } } function receiveEvent(event, parameters) { } function onStatus(event) { } }
Symbol 25 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent extends com.newgrounds.Event { var _error, _success, _data, __get__type; function APIEvent (type, data, error) { super(type); if (data == undefined) { data = null; } if (error == undefined) { error = null; } if (((!error) || (error == "")) || (error == ERROR_NONE)) { _error = ERROR_NONE; _success = true; } else { _error = error; _success = false; } if (data) { _data = data; } else { _data = {}; } } function clone() { return(new com.newgrounds.APIEvent(__get__type(), _data, _error)); } function get success() { return(_success); } function get data() { return(_data); } function get error() { return(_error); } static var COMMAND_COMPLETE = "commandComplete"; static var MEDAL_UNLOCK_CONFIRMED = "medalUnlockConfirmed"; static var ICON_LOADED = "iconLoaded"; static var API_CONNECTED = "movieConnected"; static var LOG = "log"; static var MEDAL_UNLOCKED = "medalUnlocked"; static var SCORES_LOADED = "scoresLoaded"; static var SCORE_POSTED = "scorePosted"; static var QUERY_COMPLETE = "queryComplete"; static var FILE_LOADED = "fileLoaded"; static var FILE_SAVED = "fileSaved"; static var FILE_DELETED = "fileDeleted"; static var FILE_REQUESTED = "fileRequested"; static var VOTE_COMPLETE = "voteComplete"; static var ERROR_NONE = "noError"; static var ERROR_UNKNOWN = "unknownError"; static var ERROR_COMMAND_FAILED = "commandFailed"; static var ERROR_NOT_CONNECTED = "notConnected"; static var ERROR_INVALID_ARGUMENT = "invalidArgument"; static var ERROR_TIMED_OUT = "timedOut"; static var ERROR_BAD_FILE = "badFile"; static var ERROR_BAD_RESPONSE = "badResponse"; static var ERROR_SENDING_COMMAND = "errorSendingCommand"; static var ERROR_HOST_BLOCKED = "hostBlocked"; static var ERROR_ALREADY_VOTED = "alreadyVoted"; static var ERROR_NOT_LOGGED_IN = "notLoggedIn"; static var ERROR_WRONG_ENCRYPTION_KEY = "wrongEncryptionKey"; }
Symbol 44 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API { static var _adFeedURL, _movieVersion, _bridge, _requestedSaveGroupId, _requestedSaveFileId, _movieName, _newVersion, _saveFilePath, _imageFilePath; function API () { } static function get connected() { return(_connection.__get__connected()); } static function get isNetworkHost() { return(_connection.__get__isNetworkHost()); } static function get apiId() { _connection.assertInitialized(); return(_connection.apiId); } static function get debugMode() { return(_debugMode); } static function set debugMode(val) { _debugMode = val; //return(debugMode); } static function get publisherId() { _connection.assertInitialized(); return(_connection.publisherId); } static function get sessionId() { _connection.assertInitialized(); return(_connection.sessionId); } static function get hostDomain() { _connection.assertInitialized(); return(_connection.hostDomain); } static function get hostURL() { _connection.assertInitialized(); return(_connection.__get__hostURL()); } static function get isNewgrounds() { return(_connection.publisherId == 1); } static function get hasUserSession() { _connection.assertInitialized(); return(_connection.__get__hasUserSession()); } static function get username() { _connection.assertInitialized(); return(_connection.username); } static function get userId() { _connection.assertInitialized(); return(_connection.userId); } static function assertConnected(eventType) { if (eventType == undefined) { eventType = null; } if (_connection.assertConnected()) { return(true); } if (eventType) { dispatchEvent(eventType, null, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED); } return(false); } static function get adsApproved() { return(_adsApproved); } static function get adFeedURL() { return(_adFeedURL); } static function get medals() { return(_medalsArray); } static function get scoreBoards() { return(_scoreBoardsArray); } static function get saveGroups() { return(_saveGroupsArray); } static function connect(_root, apiId, encryptionKey, movieVersion) { if (encryptionKey == undefined) { encryptionKey = null; } if (movieVersion == undefined) { movieVersion = ""; } com.newgrounds.APIEventDispatcher.__set__globalDispatcher(_dispatcher); System.security.loadPolicyFile("http://apifiles.ngfiles.com/crossdomain.xml"); if (_connection.initialized) { com.newgrounds.Logger.logError("Connection already in progress. Please call API.disconnect() before attempting another connection."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED); return(undefined); } apiId = trimWhitespace(apiId); if (encryptionKey) { encryptionKey = trimWhitespace(encryptionKey); } if ((!apiId) || (apiId == "")) { com.newgrounds.Logger.logError("No apiId given. Please use the API ID from your API settings page."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } com.newgrounds.Logger.logMessage(("====== Newgrounds API v" + VERSION) + " ======"); _connection.connectionState = com.newgrounds.APIConnection.CONNECTING; _root=_root;//parameter overwritten _movieVersion = movieVersion; _connection.apiId = apiId; var _local4; _local4 = apiId.indexOf(":"); if (_local4 != -1) { _connection.trackerId = int(apiId.substring(0, _local4)); } else { _connection.trackerId = int(apiId); } if (!_connection.trackerId) { com.newgrounds.Logger.logError("Invalid API ID: " + apiId); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } _connection.encryptionKey = encryptionKey; _connection.initialized = true; _connection.__set__hostURL(_root._url); doConnect(_root); } static function doConnect(flashVars) { if (isNetworkHost && (_debugMode != RELEASE_MODE)) { com.newgrounds.Logger.logMessage("Live file detected, turning off debug mode."); _debugMode = RELEASE_MODE; } if (flashVars && (flashVars.NewgroundsAPI_SandboxID)) { _bridge = new com.newgrounds.Bridge(flashVars.NewgroundsAPI_SandboxID); com.newgrounds.APICommand.bridge = _bridge; } if (_debugMode == RELEASE_MODE) { if (flashVars) { if (flashVars.NewgroundsAPI_UserName) { _connection.username = flashVars.NewgroundsAPI_UserName; } if (flashVars.NewgroundsAPI_UserID) { _connection.userId = flashVars.NewgroundsAPI_UserID; } if (flashVars.NewgroundsAPI_PublisherID) { _connection.publisherId = flashVars.NewgroundsAPI_PublisherID; } if (flashVars.NewgroundsAPI_UserpageFormat) { _connection.userpageFormat = flashVars.NewgroundsAPI_UserpageFormat; } if (flashVars.NewgroundsAPI_SessionID) { _connection.sessionId = flashVars.NewgroundsAPI_SessionID; } if (flashVars.NewgroundsAPI_SaveGroupID) { _requestedSaveGroupId = flashVars.NewgroundsAPI_SaveGroupID; } if (flashVars.NewgroundsAPI_SaveFileID) { _requestedSaveFileId = flashVars.NewgroundsAPI_SaveFileID; } } } else { _connection.debug = true; if ((_debugMode == DEBUG_MODE_LOGGED_IN) || (_debugMode == DEBUG_MODE_LOGGED_OUT)) { _connection.publisherId = 1; } if (_debugMode == DEBUG_MODE_LOGGED_IN) { _connection.sessionId = "D3bu64p1U53R"; _connection.userId = 10; _connection.username = "API-Debugger"; } } _connection.sendSimpleCommand("connectMovie", onConnect, {host:_connection.hostDomain, movie_version:_movieVersion, publisher_id:_connection.publisherId}); } static function onConnect(event) { var _local1 = event.__get__data(); if (!event.__get__success()) { com.newgrounds.Logger.logError("Unable to connect to the API."); _connection.reset(); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, event.__get__data(), event.__get__error()); return(undefined); } if (debugMode != RELEASE_MODE) { _adFeedURL = TEST_AD_FEED_URL; } else if (_local1.ad_url) { _adFeedURL = unescape(_local1.ad_url); } switch (_local1.ad_status) { case -1 : com.newgrounds.Logger.logWarning("Your movie is not approved to run Flash Ads."); break; case 0 : com.newgrounds.Logger.logWarning("Your movie is still awaiting approval to run Flash Ads."); break; case 1 : com.newgrounds.Logger.logMessage("Your movie is approved to run Flash Ads!"); } _adsApproved = _local1.ad_status == 1; if ((_debugMode == DEBUG_MODE_HOST_BLOCKED) || (_local1.deny_host)) { com.newgrounds.Logger.logWarning(_connection.hostDomain + " does not have permission to host this movie!", "Update your API configuration to allow this host."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {officialURL:unescape(_local1.movie_url)}, com.newgrounds.APIEvent.ERROR_HOST_BLOCKED); _connection.reset(); return(undefined); } _movieName = (_local1.movieName ? (_local1.movieName) : ""); com.newgrounds.Logger.logMessage("Connecting to the Newgrounds API Gateway...", ("----- " + _local1.movie_name) + " -----"); if (_debugMode == DEBUG_MODE_NEW_VERSION) { _local1.movie_version = "Debug Mode"; } if (_local1.movie_version) { com.newgrounds.Logger.logMessage("A new version of this movie is available.", "Current version:\t" + _movieVersion, "Newest version:\t" + _local1.movie_version, "Use API.loadOfficialVersion() to link to the latest version."); _newVersion = true; } else { _newVersion = false; } if (_local1.request_portal_url) { _connection.sendSimpleCommand("setPortalID", null, {portal_url:_connection.__get__hostURL()}); } _connection.sendSimpleCommand("preloadSettings", onMetadataLoaded, {publisher_id:_connection.publisherId, user_id:_connection.userId}); } static function onMetadataLoaded(event) { var _local11 = event.__get__data(); var _local4; var _local1; if (!event.__get__success()) { com.newgrounds.Logger.logWarning("Unable to load movie metadata."); disconnect(); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, null, event.__get__error()); return(undefined); } var _local10 = 0; if (_local11.medals) { _local10 = _local11.medals.length; var _local18; if (hasUserSession) { _local18 = loadLocal("medals_unlocked_" + username); } else { _local18 = loadLocal("medals_unlocked"); } _local4 = 0; while (_local4 < _local10) { var _local5 = _local11.medals[_local4]; var _local15 = _local5.medal_unlocked; var _local17 = _local18 && (_local18[_local5.medal_id]); var _local14 = (hasUserSession ? (_local15) : (_local17)); if (debugMode != RELEASE_MODE) { _local14 = false; } var _local6 = new com.newgrounds.Medal(_connection, _local5.medal_id, _local5.medal_name, _local5.medal_description, Boolean(int(_local5.secret)), _local14, _local5.medal_value, _local5.medal_difficulty, _local5.medal_icon); _local6.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true); _local6.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true); _medals[_local6.__get__name()] = _local6; _medalsArray.push(_local6); com.newgrounds.Logger.logMessage(_local6); if ((hasUserSession && (_local17)) && (!_local15)) { com.newgrounds.Logger.logMessage(("Server missed the \"" + _local6.__get__name()) + "\" unlock. Resending..."); _local6.unlock(); } _local4++; } } com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.score_boards) { _local10 = _local11.score_boards.length; _local4 = 0; while (_local4 < _local10) { var _local16 = _local11.score_boards[_local4]; var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id); _scoreBoards[_local9.__get__name()] = _local9; _scoreBoardsArray.push(_local9); com.newgrounds.Logger.logMessage(_local9); _local4++; } } com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.save_groups) { _local10 = _local11.save_groups.length; _local4 = 0; while (_local4 < _local10) { var _local2 = _local11.save_groups[_local4]; var _local13 = []; if (_local2.keys) { _local1 = 0; while (_local1 < _local2.keys.length) { var _local7 = _local2.keys[_local1]; _local13.push(new com.newgrounds.SaveKey(_local7.name, _local7.id, _local7.type)); _local1++; } } var _local12 = []; if (_local2.ratings) { _local1 = 0; while (_local1 < _local2.ratings.length) { var _local3 = _local2.ratings[_local1]; _local12.push(new com.newgrounds.SaveRating(_local3.name, _local3.id, _local3.float, _local3.min, _local3.max)); _local1++; } } var _local8 = new com.newgrounds.SaveGroup(_connection, _local2.group_name, _local2.group_id, _local2.group_type, _local13, _local12); _saveGroups[_local8.__get__name()] = _local8; _saveGroupsArray.push(_local8); com.newgrounds.Logger.logMessage(_local8); _local4++; } } com.newgrounds.Logger.logMessage(((_local10 + " save group") + ((_local10 != 1) ? "s" : "")) + " initialized."); if (_local11.save_file_path) { _saveFilePath = _local11.save_file_path + "/"; com.newgrounds.SaveFile._saveFilePath = _saveFilePath; com.newgrounds.Logger.logInternal("Save file path: " + _saveFilePath); } if (_local11.image_file_path) { _imageFilePath = _local11.image_file_path + "/"; com.newgrounds.SaveFile._imageFilePath = _imageFilePath; com.newgrounds.Logger.logInternal("Image file path: " + _imageFilePath); } com.newgrounds.Logger.logMessage("Connection complete!"); _connection.connectionState = com.newgrounds.APIConnection.CONNECTED; dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {movieName:_movieName, newVersion:_newVersion}); if (_requestedSaveFileId && (_requestedSaveGroupId)) { addEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded); loadSaveFile(_requestedSaveFileId, false); } } static function disconnect() { if (!_connection.__get__connected()) { com.newgrounds.Logger.logWarning("The Newgrounds API is already disconnected."); return(undefined); } _connection.reset(); for (var _local2 in _medals) { var _local1 = _medals[_local2]; _local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked); _local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed); } _newVersion = false; _medals = new Object(); _medalsArray = []; _scoreBoards = new Object(); _scoreBoardsArray = []; _saveGroups = new Object(); _saveGroupsArray = []; _sharedObjects = new Object(); _imageFilePath = null; _saveFilePath = null; com.newgrounds.Logger.logMessage("Disconnected from the Newgrounds API."); } static function loadNewgrounds() { _connection.loadInBrowser("loadNewgrounds"); } static function loadOfficialVersion() { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadOfficialVersion", false); } } static function loadMySite() { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadMySite"); } } static function loadCustomLink(linkName) { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadCustomLink", true, {link:linkName}); } } static function getMedal(medalName) { return(_medals[medalName]); } static function unlockMedal(medalName) { if (!assertConnected()) { return(undefined); } var _local1 = _medals[medalName]; if (!_local1) { com.newgrounds.Logger.logError(("No medal named \"" + medalName) + "\" w."); return(undefined); } _local1.unlock(); } static function onMedalUnlocked(event) { if (event.__get__success()) { var _local2 = com.newgrounds.Medal(event.__get__data()); var _local1; if (hasUserSession) { _local1 = loadLocal("medals_unlocked_" + username); if (!_local1) { _local1 = new Object(); } _local1[_local2.__get__id()] = true; saveLocal("medals_unlocked_" + username, _local1); } else { _local1 = loadLocal("medals_unlocked"); if (!_local1) { _local1 = new Object(); } _local1[com.newgrounds.Medal(event.__get__data()).__get__id()] = true; saveLocal("medals_unlocked", _local1); com.newgrounds.Logger.logMessage(("User instanceof not logged in. Medal \"" + _local2.__get__name()) + "\" unlocked locally."); } } } static function onMedalUnlockConfirmed(event) { if (hasUserSession) { var _local1 = loadLocal("medals_unlocked_" + username); if (!_local1) { _local1 = new Object(); } else { delete _local1[com.newgrounds.Medal(event.__get__data()).__get__id()]; } saveLocal("medals_unlocked_" + username, _local1); } } static function clearLocalMedals() { for (var _local2 in _medals) { var _local1 = _medals[_local2]; _local1.setUnlocked(false); } if (!hasUserSession) { saveLocal("medals_unlocked", new Object()); } } static function getScoreBoard(scoreBoardName) { if (!assertConnected()) { return(null); } return(_scoreBoards[scoreBoardName]); } static function loadScores(scoreBoardName, period, firstResult, numResults, tag) { if (period == undefined) { period = "All-Time"; } if (firstResult == undefined) { firstResult = 1; } if (numResults == undefined) { numResults = 10; } if (tag == undefined) { tag = null; } if (!assertConnected()) { return(null); } var _local1 = _scoreBoards[scoreBoardName]; if (!_local1) { com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w."); dispatchEvent(com.newgrounds.APIEvent.SCORES_LOADED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(null); } _local1.__set__period(period); _local1.__set__firstResult(firstResult); _local1.__set__numResults(numResults); _local1.__set__tag(tag); _local1.loadScores(); return(_local1); } static function postScore(scoreBoardName, numericScore, tag) { if (tag == undefined) { tag = null; } if (!assertConnected()) { return(undefined); } if (!hasUserSession) { com.newgrounds.Logger.logError("The user must be logged-in to post a score."); dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN); return(undefined); } var _local1 = _scoreBoards[scoreBoardName]; if (!_local1) { com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w."); dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } _local1.postScore(numericScore, tag); } static function getSaveGroup(groupName) { if (!assertConnected()) { return(null); } return(_saveGroups[groupName]); } static function getSaveGroupById(id) { for (var _local3 in _saveGroups) { var _local1 = _saveGroups[_local3]; if (_local1.__get__id() == id) { return(_local1); } } return(null); } static function createSaveFile(groupName) { if (!assertConnected()) { return(null); } var _local1 = getSaveGroup(groupName); if (!_local1) { com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found."); return(null); } return(new com.newgrounds.SaveFile(_local1)); } static function loadSaveFile(saveId, loadContents) { if (loadContents == undefined) { loadContents = true; } _connection.sendSimpleCommand("loadSaveFile", onFileLoaded, {save_id:saveId, get_contents:loadContents}); } static function onFileLoaded(event) { var _local2; if (event.__get__success()) { _local2 = com.newgrounds.SaveFile.fromObject(getSaveGroupById(event.__get__data().group_id), event.__get__data().file); if (event.__get__data().get_contents) { _local2.load(); } else { dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, _local2); } } else { com.newgrounds.Logger.logError("Unable to load file:", event.__get__error()); dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, null, event.__get__error()); } } static function createSaveQuery(groupName) { if (!assertConnected()) { return(null); } var _local1 = getSaveGroup(groupName); if (!_local1) { com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found."); return(null); } var _local2 = new com.newgrounds.SaveQuery(_local1); return(_local2); } static function createSaveQueryByDate(groupName, sortDescending) { if (sortDescending == undefined) { sortDescending = true; } var _local1 = createSaveQuery(groupName); if (!_local1) { return(null); } _local1.sortOn(com.newgrounds.SaveQuery.CREATED_ON, sortDescending); return(_local1); } static function createSaveQueryByName(groupName, filename, exactMatch, sortDescending) { if (exactMatch == undefined) { exactMatch = false; } if (sortDescending == undefined) { sortDescending = false; } var _local1 = createSaveQuery(groupName); _local1.addCondition(com.newgrounds.SaveQuery.FILE_NAME, (exactMatch ? (com.newgrounds.SaveQuery.OPERATOR_EQUAL) : (com.newgrounds.SaveQuery.OPERATOR_CONTAINS)), filename); return(_local1); } static function createSaveQueryByRating(groupName, ratingName, sortDescending) { if (sortDescending == undefined) { sortDescending = true; } var _local1 = createSaveQuery(groupName); _local1.sortOn(ratingName, sortDescending); return(_local1); } static function onRequestedFileLoaded(event) { removeEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded); if (event.__get__success()) { var _local1 = event.__get__data(); if (_local1) { dispatchEvent(com.newgrounds.APIEvent.FILE_REQUESTED, _local1); } } } static function addEventListener(eventType, listener, priority, useWeakReference) { if (priority == undefined) { priority = 0; } if (useWeakReference == undefined) { useWeakReference = true; } _dispatcher.addEventListener(eventType, listener, false, priority, useWeakReference); } static function removeEventListener(eventType, listener) { _dispatcher.removeEventListener(eventType, listener); } static function dispatchEvent(event, data, error) { if (data == undefined) { data = null; } if (error == undefined) { error = null; } _dispatcher.dispatchEvent(new com.newgrounds.APIEvent(event, data, error)); } static function saveLocal(saveId, saveData) { try { var _local3; var _local2 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey); if (!_sharedObjects[saveId]) { _sharedObjects[saveId] = SharedObject.getLocal(_local2); } _local3 = _sharedObjects[saveId]; _local3.data.data = encodeData(saveData); } catch(_local) { if (Error( /* Error999 */ ) != null) { var error = Error( /* Error999 */ ); com.newgrounds.Logger.logError("Unable to save local data.", error); return(false); } Error( /* Error999 */ ); throw /* Error999 */ ; } return(true); } static function loadLocal(saveId) { try { var _local1; var _local3 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey); if (!_sharedObjects[saveId]) { _sharedObjects[saveId] = SharedObject.getLocal(_local3); } _local1 = _sharedObjects[saveId]; if ((_local1 && (_local1.data)) && (_local1.data.data)) { return(decodeData(_local1.data.data)); } return(null); } catch(error:Error) { com.newgrounds.Logger.logError("Unable to load local data.", error); } return(null); } static function logCustomEvent(eventName) { if (assertConnected()) { com.newgrounds.Logger.logMessage("Logged event: " + eventName); _connection.sendSimpleCommand("logCustomEvent", null, {event:eventName}); } } static function encodeData(data) { if (!_connection.assertInitialized()) { return(null); } return(com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(data), _connection.encryptionKey)); } static function decodeData(data) { if (!_connection.assertInitialized()) { return(null); } try { return(com.newgrounds.encoders.json.JSON.decode(com.newgrounds.crypto.RC4.decrypt(data, _connection.encryptionKey))); } catch(error:Error) { } return(null); } static function stopPendingCommands() { com.newgrounds.APICommand.stopPendingCommands(); com.newgrounds.Logger.logMessage("Pending commands stopped."); } static function trimWhitespace(string) { if (!string) { return(null); } var _local3 = 0; while (string.charAt(_local3) == " ") { _local3++; } var _local1 = string.length - 1; while ((string.charAt(_local1) == " ") && (_local1 >= 0)) { _local1--; } return(string.slice(_local3, _local1 + 1)); } static var VERSION = "3.1.10 AS2"; static var RELEASE_MODE = "releaseMode"; static var DEBUG_MODE_LOGGED_IN = "debugModeLoggedIn"; static var DEBUG_MODE_LOGGED_OUT = "debugModeLoggedOut"; static var DEBUG_MODE_NEW_VERSION = "debugModeNewVersion"; static var DEBUG_MODE_HOST_BLOCKED = "debugModeHostBlocked"; static var TEST_AD_FEED_URL = "http://www.ngads.com/adtest.php"; static var _dispatcher = new com.newgrounds.APIEventDispatcher(); static var _connection = new com.newgrounds.APIConnection(); static var _debugMode = DEBUG_MODE_LOGGED_IN; static var _adsApproved = false; static var _medals = new Object(); static var _medalsArray = []; static var _scoreBoards = new Object(); static var _scoreBoardsArray = []; static var _saveGroups = new Object(); static var _saveGroupsArray = []; static var _sharedObjects = new Object(); }
Symbol 41 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner { var _baseN, _encodeAlpha, _maxPerChannel; function ImageScanner (hashLength, charsPerPixel) { if (hashLength) { _hash = DEFAULT_HASH.substr(0, hashLength); } _baseN = new com.newgrounds.encoders.BaseN(_hash); if (charsPerPixel) { _charsPerPixel = charsPerPixel; } encodeAlpha = (false); } function get encodeAlpha() { return(_encodeAlpha); } function set encodeAlpha(v) { _encodeAlpha = v; _maxPerChannel = int(Math.pow(_hash.length, _charsPerPixel / (_encodeAlpha ? 4 : 3))); if (_maxPerChannel > 256) { _maxPerChannel = 256; } //return(encodeAlpha); } function encode(source, callbackFunction, callbackObject) { var _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, x:0, y:0, output:null}; var _local2 = source.width.toString(); var _local3 = source.height.toString(); while (_local2.length < 3) { _local2 = "0" + _local2; } while (_local3.length < 3) { _local3 = "0" + _local3; } _local4.output = _local2 + _local3; var _local6 = setInterval(this, "doEncode", WORK_INTERVAL, _local4); _local4.interval = _local6; } function decode(source, callbackFunction, callbackObject) { var _local2 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, i:6, x:0, y:0, output:null}; var _local5 = int(source.substr(0, 3)); var _local6 = int(source.substr(3, 3)); _local2.output = new flash.display.BitmapData(_local5, _local6, _encodeAlpha); var _local4 = setInterval(this, "doDecode", WORK_INTERVAL, _local2); _local2.interval = _local4; } function doEncode(state) { var _local3 = getTimer(); while ((state.y < state.source.height) && ((getTimer() - _local3) < WORK_INTERVAL)) { state.output = state.output + encodePixel(state.source.getPixel32(state.x, state.y)); state.x++; if (state.x == state.source.width) { state.x = 0; state.y++; } } if (state.y == state.source.height) { clearInterval(state.interval); state.callbackFunction.call(state.callbackObject, state.output); } } function doDecode(state) { var _local4 = getTimer(); while ((state.y < state.output.height) && ((getTimer() - _local4) < WORK_INTERVAL)) { var _local3 = decodePixel(state.source.substr(state.i, _charsPerPixel)); state.output.setPixel32(state.x, state.y, _local3); state.i = state.i + _charsPerPixel; state.x++; if (state.x == state.output.width) { state.x = 0; state.y++; } } if (state.y == state.output.height) { clearInterval(state.interval); state.callbackFunction.call(state.callbackObject, state.output); } } function encodePixel(pixel) { var _local3 = (pixel >> 24) & 255; var _local4 = (pixel >> 16) & 255; var _local5 = (pixel >> 8) & 255; var _local2 = pixel & 255; _local3 = int((_local3 / 256) * _maxPerChannel); _local4 = int((_local4 / 256) * _maxPerChannel); _local5 = int((_local5 / 256) * _maxPerChannel); _local2 = int((_local2 / 256) * _maxPerChannel); var _local7 = (((_local4 * _maxPerChannel) * _maxPerChannel) + (_local5 * _maxPerChannel)) + _local2; if (_encodeAlpha) { _local7 = _local7 + (((_local3 * _maxPerChannel) * _maxPerChannel) * _maxPerChannel); } return(_baseN.encodeUint(_local7, _charsPerPixel)); } function decodePixel(encodedPixel) { var _local3 = 255; var _local5; var _local6; var _local4; var _local7 = 0; var _local2 = _baseN.decodeUint(encodedPixel); _local4 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); _local6 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); _local5 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); if (_encodeAlpha) { _local3 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); } return((((_local3 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local4); } static var DEFAULT_HASH = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&"; var _hash = DEFAULT_HASH; var _charsPerPixel = 2; static var WORK_INTERVAL = 33.3333333333333; }
Symbol 42 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher { static var _currentFile; var _iconLoader, _group, _keys, _ratings, _numVotes, _name, _description, _id, _data, _dataLoader, _fileSize, _readOnly, _draft, _authorId, _authorName, _views, _createdDate, _modifiedDate, dispatchEvent, _encodedIcon, _encodedData, _encoderQueue, _encoding, _dataLoaded, _encodingParent, _encodingProperty, _dataURL; function SaveFile (group) { super(); _iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, null); _group = group; _keys = {}; _ratings = {}; _numVotes = {}; } static function get currentFile() { return(_currentFile); } static function fromObject(group, fileData) { var _local3 = new com.newgrounds.SaveFile(group); _local3._name = fileData.filename; _local3._description = fileData.description; _local3._id = fileData.save_id; _local3._authorId = fileData.user_id; _local3._authorName = fileData.user_name; _local3._createdDate = fileData.created; _local3._modifiedDate = fileData.last_update; _local3._views = fileData.views; if (fileData.thumb && (fileData.thumb != "")) { _local3._iconLoader.__set__url(_imageFilePath + fileData.thumb); } _local3._dataURL = _saveFilePath + fileData.file; _local3._fileSize = fileData.file_size; _local3._approved = fileData.status != STATUS_UNAPPROVED; _local3._readOnly = false; _local3._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED); for (var _local8 in fileData.keys) { var _local6 = fileData.keys[_local8]; var _local4 = group.getKeyById(_local6.id); if (_local4) { _local3._keys[_local4.__get__name()] = _local4.validateValue(_local6.value); } } for (var _local9 in fileData.ratings) { var _local5 = fileData.ratings[_local9]; var _local2 = group.getRatingById(_local5.id); if (_local2) { _local3._ratings[_local2.__get__name()] = _local2.validateValue(_local5.score); _local3._numVotes[_local2.__get__name()] = int(_local5.votes); } } return(_local3); } function get group() { return(_group); } function get name() { return(_name); } function set name(val) { _name = val; //return(name); } function get description() { return(_description); } function set description(val) { _description = val; //return(description); } function get id() { return(_id); } function get data() { return(_data); } function set data(val) { _data = val; //return(data); } function get bytesLoaded() { if (_data) { return(bytesTotal); } if (!_dataLoader) { return(0); } return(_dataLoader.getBytesLoaded()); } function get bytesTotal() { return(_fileSize); } function get readOnly() { return(_readOnly); } function get draft() { return(_draft); } function set draft(v) { _draft = v; //return(draft); } function get authorId() { return(_authorId); } function get authorName() { return(_authorName); } function get keys() { return(_keys); } function get ratings() { return(_ratings); } function get numVotes() { return(_numVotes); } function get views() { return(_views); } function get createdDate() { return(_createdDate); } function get updatedDate() { return(_modifiedDate); } function toString() { return("Save File: " + _name); } function get icon() { return(_iconLoader.__get__bitmapData()); } function set icon(v) { createIcon(v); //return(icon); } function get iconLoaded() { return(_iconLoader.__get__loaded()); } function createIcon(source) { var _local9 = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0); var _local7; var _local6; var _local10 = 0; var _local8 = 0; if (source instanceof flash.display.BitmapData) { _local7 = source.width; _local6 = source.height; } else if (source instanceof MovieClip) { var _local2 = MovieClip(source).getBounds(source); _local7 = _local2.xMax - _local2.xMin; _local6 = _local2.yMax - _local2.yMin; _local10 = _local2.xMin; _local8 = _local2.yMin; } var _local4 = new flash.geom.Matrix(); var _local5; _local5 = Math.min(ICON_WIDTH / _local7, ICON_HEIGHT / _local6); _local4.translate(-_local10, -_local8); _local4.scale(_local5, _local5); _local4.translate((ICON_WIDTH - (_local7 * _local5)) / 2, (ICON_HEIGHT - (_local6 * _local5)) / 2); _local9.draw(source, _local4); _iconLoader.__set__bitmapData(_local9); } function attachIcon(parent) { if (_iconLoader) { return(_iconLoader.attachBitmap(parent)); } com.newgrounds.Logger.logError("No icon available for this sumbission."); return(null); } function deleteFile() { if (!_group.__get__connection().__get__hasUserSession()) { com.newgrounds.Logger.logError("The user must be logged-in to delete a file."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } if (!_id) { com.newgrounds.Logger.logError("The file does not exist."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } var _local2 = new com.newgrounds.APICommand("deleteSaveFile"); _local2.__get__secureParameters().save_id = _id; _local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onFileDeleted}); _group.__get__connection().sendCommand(_local2); } function save() { if (!_group.__get__connection().__get__hasUserSession()) { com.newgrounds.Logger.logError("The user must be logged-in to save a file."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } com.newgrounds.BitmapLoader._cacheSeed++; _currentFile = this; if (iconLoaded) { ICON_IMAGE_SCANNER.encode(icon, onIconEncoded, this); } else { encodeData(true); } } function onIconEncoded(encodedIcon) { _encodedIcon = encodedIcon; encodeData(true); } function doSave() { var _local4 = new com.newgrounds.APICommand("saveFile"); _local4.__get__secureParameters().group = _group.id; _local4.__get__secureParameters().user_name = _group.__get__connection().username; _local4.__get__secureParameters().filename = _name; _local4.__get__secureParameters().description = _description; if (_draft) { _local4.__get__secureParameters().draft = true; } if (_id && (!_readOnly)) { _local4.__get__secureParameters().overwrite = 1; _local4.__get__secureParameters().save_id = _id; } var _local8 = []; for (var _local9 in _keys) { var _local2 = _group.getKey(_local9); if (_local2) { _local8.push({id:_local2.__get__id(), value:_local2.validateValue(_keys[_local9])}); } else { com.newgrounds.Logger.logError(((("No key named \"" + _local9) + "\" in save group \"") + _group.__get__name()) + "\"."); } } _local4.__get__secureParameters().keys = _local8; var _local7 = []; for (var _local10 in _ratings) { var _local3 = _group.getRating(_local10); if (_local3) { _local7.push({id:_local3.__get__id(), value:_local3.validateValue(_ratings[_local10])}); } else { com.newgrounds.Logger.logError(((("No rating named \"" + _local10) + "\" in save group \"") + _group.__get__name()) + "\"."); } } _local4.__get__secureParameters().ratings = _local7; if (typeof(_encodedData) == "string") { _local4.addFile("file", _encodedData, "file"); } else { _local4.addFile("file", com.newgrounds.encoders.json.JSON.encode(_encodedData), "file"); } if (iconLoaded) { _local4.addFile("thumbnail", _encodedIcon, "thumbnail"); } _local4.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onSaveComplete}); _group.__get__connection().sendCommand(_local4); } function encodeData(encode) { _encoderQueue = []; _encoding = encode; if (encode) { _encodedData = _data; preEncodeObject(this, "_encodedData"); } else { preEncodeObject(this, "_data"); } encodeObject(); } function preEncodeObject(parent, property) { var _local3 = parent[property]; var _local5; try { if (_encoding) { _local5 = _local3 instanceof flash.display.BitmapData; } else { _local5 = _local3.type == "__bitmap"; } } catch(error) { } var _local2 = _local3; var _local8; if (_local5) { _encoderQueue.push({parent:parent, property:property}); } else if ((typeof(_local3) == "object") && (!_local8)) { if (_encoding) { if (_local3 instanceof Array) { _local2 = []; } else { _local2 = {}; } for (var _local4 in _local3) { _local2[_local4] = _local3[_local4]; } parent[property] = _local2; } for (var _local4 in _local2) { preEncodeObject(_local2, _local4); } } } function encodeObject() { if (!_encoderQueue.length) { if (_encoding) { doSave(); } else { _dataLoaded = true; checkLoadComplete(); } return(undefined); } var _local6 = _encoderQueue.pop(); var _local4 = _local6.parent; var _local3 = _local6.property; var _local2 = _local4[_local3]; var _local5; if (_encoding) { _local5 = {type:"__bitmap", width:_local2.width, height:_local2.height, transparent:_local2.transparent}; _local4[_local3] = _local5; _encodingParent = _local5; _encodingProperty = "data"; DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent); DATA_IMAGE_SCANNER.encode(flash.display.BitmapData(_local2), encodeBitmapComplete, this); } else { _encodingParent = _local4; _encodingProperty = _local3; DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent); DATA_IMAGE_SCANNER.decode(String(_local2.data), encodeBitmapComplete, this); } } function encodeBitmapComplete(data) { _encodingParent[_encodingProperty] = data; encodeObject(); } function load() { _currentFile = this; _dataLoaded = false; _data = null; if (!iconLoaded) { _iconLoader.addEventListener(com.newgrounds.APIEvent.ICON_LOADED, {target:this, func:onIconLoaded}); _iconLoader.load(); } _dataLoader = new LoadVars(); var file = this; _dataLoader.onData = function (data) { file.onDataLoaded(data); }; _dataLoader.load((_dataURL + "&random=") + Math.random()); } function onIconLoaded(event) { if ((!event.__get__success()) && (_iconLoader.__get__url())) { com.newgrounds.Logger.logWarning("Unable to load the icon for this save file."); } _iconLoader.removeEventListener(com.newgrounds.APIEvent.ICON_LOADED, onIconLoaded); checkLoadComplete(); } function checkLoadComplete() { if (_dataLoaded && (iconLoaded)) { com.newgrounds.Logger.logMessage("Data loaded."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this)); } } function onDataLoaded(data) { try { if (data) { if (data.charAt(0) == "{") { _data = com.newgrounds.encoders.json.JSON.decode(String(data)); } else { _data = String(data); } encodeData(false); } } catch(error:Error) { com.newgrounds.Logger.logError("Error while loading data:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE)); } } function onDataError(error) { com.newgrounds.Logger.logError("Unable to load data:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE)); } function onSaveComplete(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage(("File \"" + _name) + "\" saved!"); if (event.__get__data()) { _id = event.__get__data().save_id; _dataURL = unescape(event.__get__data().file_url); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this)); } else { com.newgrounds.Logger.logError(("Error saving file \"" + _name) + "\":", event.__get__error()); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this, event.__get__error())); } } function sendVote(ratingName, vote) { var _local2 = _group.getRating(ratingName); if (!_local2) { com.newgrounds.Logger.logError(("No save rating named \"" + ratingName) + "\" exists for this save group."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } vote = _local2.validateValue(vote); if (isNaN(vote)) { com.newgrounds.Logger.logError(((((((("Invalid vote (" + vote) + "). ") + ratingName) + " allows a range of ") + _local2.__get__minimum()) + "-") + _local2.__get__maximum()) + "."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } com.newgrounds.Logger.logMessage(((((("Voting " + vote) + " for ") + ratingName) + " on ") + _name) + "..."); _group.__get__connection().sendSimpleCommand("rateSaveFile", {target:this, func:onVoteComplete}, null, {group:_group.__get__id(), save_id:_id, rating_id:_local2.__get__id(), vote:vote}); } function onVoteComplete(event) { var _local2 = event.__get__error(); if (event.__get__data().already_voted) { com.newgrounds.Logger.logError("Vote failed. You've already voted on this rating today."); _local2 = com.newgrounds.APIEvent.ERROR_ALREADY_VOTED; } if (_local2 == com.newgrounds.APIEvent.ERROR_NONE) { var _local3 = _group.getRatingById(event.__get__data().rating_id); if (_local3) { _ratings[_local3.__get__name()] = _local3.validateValue(event.__get__data().score); } com.newgrounds.Logger.logMessage("Vote complete!"); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, this, _local2)); } function onFileDeleted(event) { if (event.__get__success()) { _id = 0; } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, this, event.__get__error())); } function clone() { var _local3 = new com.newgrounds.SaveFile(_group); _local3._data = _data; _local3._description = _description; _local3._draft = _draft; _local3._fileSize = _fileSize; _local3._iconLoader.__set__bitmapData(_iconLoader.bitmapData); var _local2; for (_local2 in _keys) { _local3._keys[_local2] = _keys[_local2]; } for (_local2 in _ratings) { _local3._ratings[_local2] = _ratings[_local2]; } for (_local2 in _numVotes) { _local3._numVotes[_local2] = _numVotes[_local2]; } _local3._name = _name; return(_local3); } static var ICON_WIDTH = 90; static var ICON_HEIGHT = 90; static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultSaveIcon"); static var STATUS_PRIVATE = 0; static var STATUS_SHARED = 1; static var STATUS_UNAPPROVED = 2; static var STATUS_APPROVED = 3; static var _imageFilePath = ""; static var _saveFilePath = ""; static var ICON_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(); static var DATA_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(64, 6); }
Symbol 40 MovieClip [__Packages.com.newgrounds.SaveGroup] Frame 0
class com.newgrounds.SaveGroup { var _connection, _id, _name, _type, _keysArray, _ratingsArray, _keys, _ratings; function SaveGroup (connection, name, id, type, keys, ratings) { _connection = connection; _id = id; _name = name; _type = type; _keysArray = keys; _ratingsArray = ratings; _keys = new Object(); _ratings = new Object(); var _local11; for (var _local7 in keys) { var _local2 = keys[_local7]; _keys[_local2.__get__name()] = _local2; } for (var _local6 in ratings) { var _local3 = ratings[_local6]; _ratings[_local3.__get__name()] = _local3; } } function get connection() { return(_connection); } function get name() { return(_name); } function get type() { return(_type); } function get id() { return(_id); } function get keys() { return(_keysArray); } function get ratings() { return(_ratingsArray); } function getKey(name) { return(_keys[name]); } function getRating(name) { return(_ratings[name]); } function getKeyById(id) { for (var _local4 in _keys) { var _local2 = _keys[_local4]; if (_local2.__get__id() == id) { return(_local2); } } return(null); } function getRatingById(id) { for (var _local4 in _ratings) { var _local2 = _ratings[_local4]; if (_local2.__get__id() == id) { return(_local2); } } return(null); } function toString() { return((((("SaveGroup: " + name) + " Keys: ") + _keysArray) + " Ratings: ") + _ratingsArray); } static var TYPE_SYSTEM = 0; static var TYPE_PRIVATE = 1; static var TYPE_PUBLIC = 2; static var TYPE_MODERATED = 3; }
Symbol 38 MovieClip [__Packages.com.newgrounds.SaveKey] Frame 0
class com.newgrounds.SaveKey { var _name, _id, _type; function SaveKey (name, id, type) { _name = name; _id = id; _type = type; } function get name() { return(_name); } function get id() { return(_id); } function get type() { return(_type); } function validateValue(value) { switch (_type) { case TYPE_INTEGER : value = Number(value); if (!isNaN(value)) { var _local3 = int(value); if (_local3 != value) { com.newgrounds.Logger.logWarning(((((("Float value " + value) + " given for integer key \"") + _name) + "\". Clamping to ") + _local3) + "."); } return(_local3); } break; case TYPE_FLOAT : value = Number(value); if (!isNaN(value)) { return(isNaN(Number(value))); } break; case TYPE_BOOLEAN : return(Boolean(value) && (int(value) != 0)); case TYPE_STRING : return((value ? (value.toString()) : "")); } return(null); } function toString() { return(_name); } static var TYPE_FLOAT = 1; static var TYPE_INTEGER = 2; static var TYPE_STRING = 3; static var TYPE_BOOLEAN = 4; }
Symbol 39 MovieClip [__Packages.com.newgrounds.SaveRating] Frame 0
class com.newgrounds.SaveRating { var _name, _id, _isFloat, _minimum, _maximum; function SaveRating (name, id, isFloat, minimum, maximum) { _name = name; _id = id; _isFloat = isFloat; _minimum = minimum; _maximum = maximum; } function get name() { return(_name); } function get id() { return(_id); } function get isFloat() { return(_isFloat); } function get minimum() { return(_minimum); } function get maximum() { return(_maximum); } function validateValue(value) { var _local2 = Number(value); if (isNaN(_local2)) { com.newgrounds.Logger.logError(("Invalid value for rating \"" + _name) + "\"."); return(NaN); } if (_local2 < _minimum) { com.newgrounds.Logger.logWarning(((((_local2 + " is out of acceptable range for rating \"") + _name) + "\". Clamping to ") + _minimum) + "."); return(_minimum); } if (_local2 > _maximum) { com.newgrounds.Logger.logWarning(((((_local2 + " is out of acceptable range for rating \"") + _name) + "\". Clamping to ") + _maximum) + "."); return(_maximum); } if (!isFloat) { var _local3 = int(_local2); if (_local3 != _local2) { com.newgrounds.Logger.logWarning(((((("Float value " + _local2) + " given for integer rating \"") + _name) + "\". Clamping to ") + _local3) + "."); } return(_local3); } return(_local2); } function toString() { return(_name); } }
Symbol 34 MovieClip [__Packages.com.newgrounds.BitmapLoader] Frame 0
class com.newgrounds.BitmapLoader extends com.newgrounds.APIEventDispatcher { var _bitmapData, _url, _loader, _loaderClip, dispatchEvent; function BitmapLoader (defaultBitmap, url) { super(); _bitmapData = defaultBitmap; _url = url; } function get url() { return(_url); } function set url(v) { _loaded = false; _url = v; //return(url); } function get bitmapData() { return(_bitmapData); } function set bitmapData(v) { _bitmapData = v; _loaded = true; //return(bitmapData); } function get loaded() { return(_loaded); } function disposeLoader() { if (_loader) { if (_loaderClip._parent == _root) { _loader.unloadClip(_loaderClip.bitmap); _loaderClip.removeMovieClip(); } _loader = null; _loaderClip = null; } } function load() { if ((!_url) || (_url == "")) { onLoadComplete(); return(undefined); } _loaded = false; if (_bitmapData) { _bitmapData.dispose(); _bitmapData = null; } disposeLoader(); attachBitmap(null); } function attachBitmap(parent) { if (!parent) { parent = _root; } var _local5 = parent.getNextHighestDepth(); var _local3 = parent.createEmptyMovieClip("__bitmap" + _local5, _local5); if (((!_loaded) && (_url)) && (_url != "")) { _local3.createEmptyMovieClip("bitmap", 0); _loader = new MovieClipLoader(); _loaderClip = _local3; if (parent == _root) { _loaderClip._visible = false; } var thisObj = this; _loaderClip.onEnterFrame = function () { thisObj.pollLoad(); }; _loader.addListener({onLoadError:function () { thisObj.onLoadComplete(); }}); _loader.loadClip(_url, _local3.bitmap); } else { _local3.attachBitmap(_bitmapData, 0); } return(_local3); } function pollLoad() { if (_loaderClip._width) { onLoadComplete(); } } function onLoadComplete() { var _local2; if ((_loader && (_loaderClip)) && (_loaderClip._width)) { try { _loaderClip.onEnterFrame = null; _local2 = new flash.display.BitmapData(_loaderClip._width, _loaderClip._height, true, 0); _local2.draw(_loaderClip); _bitmapData = _local2; _loaded = true; } catch(error) { if (_local2) { _local2.dispose(); } } } disposeLoader(); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.ICON_LOADED, this, (_loaded ? null : (com.newgrounds.APIEvent.ERROR_BAD_FILE)))); } static var _cacheSeed = 0; var _loaded = true; }
Symbol 43 MovieClip [__Packages.com.newgrounds.SaveQuery] Frame 0
class com.newgrounds.SaveQuery extends com.newgrounds.APIEventDispatcher { var _group, _connection, _files, _lookupKeys, _lookupRatings, _fileConditions, _keyConditions, _ratingConditions, _sortFields, dispatchEvent; function SaveQuery (group) { super(); _group = group; _connection = group.connection; reset(); } function get group() { return(_group); } function get resultsPerPage() { return(_resultsPerPage); } function set resultsPerPage(val) { _resultsPerPage = Math.min(Math.max(val, 1), 100); //return(resultsPerPage); } function get page() { return(_page); } function set page(val) { _page = Math.max(val, 1); //return(page); } function prevPage() { page = ((page-1)); } function nextPage() { page = ((page+1)); } function get isRandomized() { return(_isRandomized); } function set isRandomized(val) { _isRandomized = val; //return(isRandomized); } function get files() { return(_files); } function reset() { _page = 1; _resultsPerPage = 10; _isRandomized = false; _lookupKeys = []; _lookupRatings = []; _fileConditions = []; _keyConditions = []; _ratingConditions = []; _sortFields = []; _files = []; includeAllFields(); } function clone() { var _local2 = new com.newgrounds.SaveQuery(_group); _local2._page = _page; _local2._resultsPerPage = _resultsPerPage; _local2._isRandomized = _isRandomized; _local2._lookupKeys = _lookupKeys.concat(); _local2._lookupRatings = _lookupRatings.concat(); _local2._fileConditions = _fileConditions.concat(); _local2._keyConditions = _keyConditions.concat(); _local2._ratingConditions = _ratingConditions.concat(); return(_local2); } function includeAllFields() { for (var _local5 in _group.__get__keys()) { var _local2 = _group.__get__keys()[_local5]; _lookupKeys.push(_local2.__get__id()); } for (var _local4 in _group.__get__ratings()) { var _local3 = _group.__get__ratings()[_local4]; _lookupRatings.push(_local3.__get__id()); } } function addCondition(field, operator, value) { var _local2; _local2 = 0; while (_local2 < FILE_FIELDS.length) { if (FILE_FIELDS[_local2] == field) { break; } _local2++; } if (_local2 == FILE_FIELDS.length) { _local2 = -1; } if (_local2 >= 0) { _fileConditions.push({field:_local2, operator:operator, value:value}); } else { var _local4 = _group.getKey(field); if (_local4) { value = _local4.validateValue(value); _keyConditions.push({key_id:_local4.__get__id(), operator:operator, value:value}); return(undefined); } var _local3 = field.split("."); var _local6 = _group.getRating(_local3[0]); if (_local6) { if (_local3[1] != "votes") { value = _local6.validateValue(value); } _ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_local3[1] ? (_local3[1]) : "score")}); return(undefined); } com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\"."); } } function sortOn(field, sortDescending) { if (sortDescending == undefined) { sortDescending = false; } var _local2; _local2 = 0; while (_local2 < FILE_FIELDS.length) { if (FILE_FIELDS[_local2] == field) { break; } _local2++; } if (_local2 == FILE_FIELDS.length) { _local2 = -1; } if (_local2 >= 0) { _sortFields.push({table:TABLE_FILES, field:_local2, desc:sortDescending}); } else { var _local5 = _group.getKey(field); if (_local5) { _sortFields.push({table:TABLE_KEYS, field:_local5.__get__id(), desc:sortDescending}); return(undefined); } var _local3 = field.split("."); var _local6 = _group.getRating(_local3[0]); if (_local6) { _sortFields.push({table:TABLE_RATINGS, field:_local6.__get__id(), desc:sortDescending, extra:(_local3[1] ? (_local3[1]) : "score")}); return(undefined); } com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\"."); } } function execute() { var _local5 = {}; _local5.page = _page; _local5.num_results = _resultsPerPage; if (_isRandomized) { _local5.randomize = 1; } if (_lookupKeys && (_lookupKeys.length)) { _local5.lookup_keys = _lookupKeys; } if (_lookupRatings && (_lookupRatings.length)) { _local5.lookup_ratings = _lookupRatings; } if (_fileConditions && (_fileConditions.length)) { _local5.file_conditions = _fileConditions; } if (_keyConditions && (_keyConditions.length)) { _local5.key_conditions = _keyConditions; } if (_ratingConditions && (_ratingConditions.length)) { _local5.rating_conditions = _ratingConditions; } if (_sortFields && (_sortFields.length)) { _local5.sort_conditions = _sortFields; } _connection.sendSimpleCommand("lookupSaveFiles", {target:this, func:onQueryComplete}, {publisher_id:_connection.publisherId, group_id:_group.__get__id(), query:_local5}); } function onQueryComplete(event) { if (event.__get__success()) { var _local4 = event.__get__data(); _files = []; if (_local4.files) { var _local2 = 0; while (_local2 < _local4.files.length) { var _local3 = com.newgrounds.SaveFile.fromObject(_group, _local4.files[_local2]); if (_local3) { _files.push(_local3); } _local2++; } } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this)); } else { com.newgrounds.Logger.logError("Query failed: " + event.__get__error()); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this, event.__get__error())); } } static var FILE_ID = "fileId"; static var AUTHOR_ID = "authorId"; static var AUTHOR_NAME = "authorName"; static var FILE_NAME = "fileName"; static var CREATED_ON = "createdOn"; static var UPDATED_ON = "updatedOn"; static var FILE_VIEWS = "fileViews"; static var FILE_STATUS = "fileStatus"; static var FILE_FIELDS = [FILE_ID, AUTHOR_ID, AUTHOR_NAME, FILE_NAME, CREATED_ON, UPDATED_ON, FILE_VIEWS, FILE_STATUS]; static var OPERATOR_EQUAL = "="; static var OPERATOR_LESS_THAN = "<"; static var OPERATOR_GREATER_THAN = ">"; static var OPERATOR_NOT_EQUAL = "!="; static var OPERATOR_LESS_OR_EQUAL = "<="; static var OPERATOR_GREATER_OR_EQUAL = ">="; static var OPERATOR_CONTAINS = "*"; static var OPERATOR_NOT_CONTAINS = "!*"; static var OPERATOR_NOT_BEGINS_WITH = "!*="; static var OPERATOR_NOT_ENDS_WITH = "!=*"; static var OPERATOR_BEGINS_WITH = "*="; static var OPERATOR_ENDS_WITH = "=*"; static var TABLE_FILES = 1; static var TABLE_KEYS = 2; static var TABLE_RATINGS = 3; var _page = 1; var _resultsPerPage = 10; var _isRandomized = false; }
Symbol 35 MovieClip [__Packages.com.newgrounds.Medal] Frame 0
class com.newgrounds.Medal extends com.newgrounds.APIEventDispatcher { var _connection, _id, _name, _description, _secret, _unlocked, _value, _difficulty, _iconLoader, dispatchEvent; function Medal (connection, id, name, description, secret, unlocked, value, difficultyId, iconURL) { super(); _connection = connection; _id = id; _name = name; _description = description; _secret = secret; _unlocked = unlocked; _value = value; _difficulty = DIFFICULTIES[difficultyId]; _iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, iconURL); _iconLoader.load(); } function get difficulty() { return(_difficulty); } function get icon() { return(_iconLoader.__get__bitmapData()); } function get id() { return(_id); } function get name() { return(_name); } function get description() { return(_description); } function get secret() { return(_secret); } function get unlocked() { return(_unlocked); } function get value() { return(_value); } function toString() { return((((((("Medal: " + _name) + "\t\t(") + (_unlocked ? "unlocked, " : "locked, ")) + _value) + "pts, ") + _difficulty) + ")"); } function attachIcon(parent) { return(_iconLoader.attachBitmap(parent)); } function unlock() { if (_unlocked) { com.newgrounds.Logger.logWarning(("Medal \"" + _name) + "\" is already unlocked."); return(undefined); } com.newgrounds.Logger.logMessage(("Unlocking medal \"" + name) + "\"..."); _unlocked = true; if (_connection.__get__hasUserSession()) { _connection.sendSimpleCommand("unlockMedal", {target:this, func:onUnlockConfirmed}, null, {medal_id:id}); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.MEDAL_UNLOCKED, this)); } function setUnlocked(unlocked) { _unlocked = unlocked; } function onUnlockConfirmed(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage(("Medal \"" + name) + "\" unlocked."); } else { com.newgrounds.Logger.logError(("Failed to unlock \"" + name) + "\"!"); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, this, event.__get__error())); } static var ICON_WIDTH = 50; static var ICON_HEIGHT = 50; static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultMedalIcon"); static var DIFFICULTY_EASY = "Easy"; static var DIFFICULTY_MODERATE = "Moderate"; static var DIFFICULTY_CHALLENGING = "Challenging"; static var DIFFICULTY_DIFFICULT = "Difficult"; static var DIFFICULTY_BRUTAL = "Brutal"; static var DIFFICULTIES = ["Unknown", DIFFICULTY_EASY, DIFFICULTY_MODERATE, DIFFICULTY_CHALLENGING, DIFFICULTY_DIFFICULT, DIFFICULTY_BRUTAL]; }
Symbol 37 MovieClip [__Packages.com.newgrounds.ScoreBoard] Frame 0
class com.newgrounds.ScoreBoard extends com.newgrounds.APIEventDispatcher { var _connection, _name, _id, _scores, _tag, dispatchEvent; function ScoreBoard (connection, name, id) { super(); _connection = connection; _name = name; _id = id; } function get name() { return(_name); } function get scores() { return(_scores); } function get period() { return(_period); } function set period(val) { _period = val; //return(period); } function get firstResult() { return(_firstResult); } function set firstResult(val) { _firstResult = Math.max(1, val); //return(firstResult); } function get numResults() { return(_numResults); } function set numResults(val) { _numResults = val; //return(numResults); } function get tag() { return(_tag); } function set tag(val) { _tag = val; //return(tag); } function get page() { return(Math.ceil((_firstResult - 1) / _numResults) + 1); } function prevPage() { if (firstResult > _numResults) { firstResult = firstResult - _numResults; } } function nextPage() { firstResult = firstResult + _numResults; } function loadScores() { _connection.sendSimpleCommand("loadScores", {target:this, func:onScoresLoaded}, {publisher_id:_connection.publisherId, board:_id, page:((_firstResult - 1) / _numResults) + 1, num_results:_numResults, period:_period, tag:_tag}); } function postScore(numericScore, tag) { if (tag == undefined) { tag = null; } if (isNaN(numericScore)) { com.newgrounds.Logger.logError("Cannot post invalid score: " + numericScore); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } com.newgrounds.Logger.logMessage(((((("Posting a score of " + numericScore) + " by ") + _connection.username) + " to scoreboard \"") + _name) + "\"..."); _connection.sendSimpleCommand("postScore", {target:this, func:onScorePosted}, null, {user_name:_connection.username, board:_id, value:numericScore, tag:tag}); } function onScoresLoaded(event) { var _local4 = event.__get__data(); _scores = []; var _local5; if (_local4.first_result) { _local5 = _local4.first_result; } else { _local5 = _firstResult; } if (_local4.scores) { var _local3 = 0; while (_local3 < _local4.scores.length) { var _local2 = _local4.scores[_local3]; if (_local2) { _scores[_local3] = new com.newgrounds.Score(_local5, _local2.username, _local2.value, _local2.numeric_value, _local2.tag); } _local3++; _local5++; } } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORES_LOADED, this)); } function onScorePosted(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage("Score posted!"); var _local4 = event.__get__data(); var _local2 = {}; _local2.score = _local4.value; _local2.scoreBoard = this; } else { com.newgrounds.Logger.logError("Error posting score: " + event.__get__error()); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORE_POSTED, _local2, event.__get__error())); } function toString() { return("Scoreboard: " + _name); } static var TODAY = "Today"; static var THIS_WEEK = "This Week"; static var THIS_MONTH = "This Month"; static var THIS_YEAR = "This Year"; static var ALL_TIME = "All-Time"; var _period = ALL_TIME; var _firstResult = 1; var _numResults = 10; }
Symbol 26 MovieClip [__Packages.com.newgrounds.Logger] Frame 0
class com.newgrounds.Logger { function Logger () { } static function logInternal() { var _local2 = arguments; log(PRIORITY_INTERNAL, _local2); } static function logMessage() { var _local2 = arguments; log(PRIORITY_MESSAGE, _local2); } static function logWarning() { var _local2 = arguments; log(PRIORITY_WARNING, _local2); } static function logError() { var _local2 = arguments; log(PRIORITY_ERROR, _local2); } static function log(priority, messages) { if (priority == undefined) { priority = PRIORITY_MESSAGE; } if (messages == undefined) { messages = null; } if (priority >= _messageLevel) { var _local1 = 0; while (_local1 < messages.length) { trace(HEADER + messages[_local1]); _eventDispatcher.dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.LOG, messages[_local1])); _local1++; } } if (priority >= _throwLevel) { throw new Error(messages.join(newline)); } } static function addEventListener(event, listener) { _eventDispatcher.addEventListener(event, listener, false, 0, false); } static var PRIORITY_INTERNAL = 0; static var PRIORITY_MESSAGE = 1; static var PRIORITY_WARNING = 2; static var PRIORITY_ERROR = 3; static var PRIORITY_MAX = 4; static var HEADER = "[Newgrounds API] :: "; static var _eventDispatcher = new com.newgrounds.EventDispatcher(); static var _messageLevel = PRIORITY_MESSAGE; static var _throwLevel = PRIORITY_MAX; }
Symbol 45 MovieClip [__Packages.com.newgrounds.components.FlashAdBase] Frame 0
class com.newgrounds.components.FlashAdBase extends MovieClip { var gotoAndStop, _x, _y, stop, onUnload, _adListener, adContainer, newgroundsButton, _fullScreen, clear, _ad, _adFeedLoader, _width, _height, beginFill, moveTo, lineTo, endFill; function FlashAdBase () { super(); try { System.security.allowDomain("server.cpmstar.com"); System.security.allowInsecureDomain("server.cpmstar.com"); } catch(error) { } gotoAndStop("idle"); _x = int(_x); _y = int(_y); stop(); if (_newgroundsButton) { _newgroundsButton.onRelease = onNGClick; } onUnload = removeAd; var _local4 = this; _adListener = {onLoadError:function (target, error, httpStatus) { target._parent.onAdError(target, error, httpStatus); }}; if (fullScreen) { drawFullScreenRect(); } if (com.newgrounds.API.__get__adFeedURL()) { loadAdFeed(); } else { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, {target:this, func:loadAdFeed}); } } function get _adContainer() { return(adContainer); } function get _newgroundsButton() { return(newgroundsButton); } function get fullScreen() { return(_fullScreen); } function set fullScreen(v) { _fullScreen = v; if (v) { drawFullScreenRect(); } else { clear(); } //return(fullScreen); } function get showBorder() { return(_showBorder); } function set showBorder(value) { _showBorder = value; if (_showBorder) { if (_ad) { var _local2 = _ad.getProgress(_adContainer); if (_local2.bytesLoaded >= _local2.bytesTotal) { gotoAndStop("loaded"); } else { gotoAndStop("loading"); } } else { gotoAndStop("idle"); } } else { gotoAndStop("noBorder"); } //return(showBorder); } function loadAdFeed(event) { if (event == undefined) { event = null; } _adFeedLoader = new LoadVars(); var target = this; _adFeedLoader.onData = function (data) { target.onAdFeedLoaded(data); }; _adFeedLoader.load(com.newgrounds.API.__get__adFeedURL(), _adFeedLoader); } function onAdFeedLoaded(data) { if (data && (data != "")) { loadAd(data); } else { onAdError(); } } function loadAd(adURL) { if (adType != VIDEO_ADS) { if (adURL.indexOf("?") >= 0) { adURL = adURL + "&"; } else { adURL = adURL + "?"; } adURL = adURL + "blockoverlays=1"; } _ad = new MovieClipLoader(); _ad.addListener(_adListener); _adContainer._lockroot = true; _ad.loadClip(adURL, _adContainer); } function removeAd() { _adFeedLoader.onData = null; _adFeedLoader = null; _ad.removeListener(_adListener); if (_adContainer) { _ad.unloadClip(_adContainer); } _ad = null; } function onAdError(target, error, httpStatus) { com.newgrounds.Logger.logError("Unable to load ad."); removeAd(); } function onNGClick() { com.newgrounds.API.loadNewgrounds(); } function drawFullScreenRect() { _x = (Stage.width - _width) / 2; _y = (Stage.height - _height) / 2; beginFill(0); moveTo(-Stage.width, -Stage.height); lineTo(Stage.width, -Stage.height); lineTo(Stage.width, Stage.height); lineTo(-Stage.width, Stage.height); lineTo(-Stage.width, -Stage.height); endFill(); } var _showBorder = true; var adType = com.newgrounds.components.FlashAdBase.prototype.VIDEO_ADS; var VIDEO_ADS = "Video"; var SIMPLE_ADS = "Simple"; }
Symbol 20 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip { function APIShim () { super(); } }
Symbol 30 MovieClip [__Packages.com.newgrounds.crypto.MD5] Frame 0
class com.newgrounds.crypto.MD5 { function MD5 () { } static function hash(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 31 MovieClip [__Packages.com.newgrounds.crypto.RC4] Frame 0
class com.newgrounds.crypto.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 32 MovieClip [__Packages.com.newgrounds.encoders.json.JSON] Frame 0
class com.newgrounds.encoders.json.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.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.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.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (!com.newgrounds.encoders.json.JSON.cache.mode) { com.newgrounds.encoders.json.JSON.cache.mode = "object"; com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.json.JSON.cache.scratch = ""; _setTargetValue({}); } else if (_local1 == ",") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.json.JSON.cache.scratch = ""; } else if (_local1 == "}") { _useParent(); } else if (_local1 == "\"") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 != ":") { throw "Malformed object notation. Object keys and values must be separated by colons(:)"; } _addParent(com.newgrounds.encoders.json.JSON.cache.scratch); com.newgrounds.encoders.json.JSON.cache.mode = null; } else { if (_local1 == "\\") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); } com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1; } com.newgrounds.encoders.json.JSON.cache.pos++; } function _array() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (!com.newgrounds.encoders.json.JSON.cache.mode) { com.newgrounds.encoders.json.JSON.cache.mode = "array"; com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); _setTargetValue([]); if (_local1 != "]") { _addArrayKey(); } else { _useParent(); } return(undefined); } if (_local1 == ",") { _addArrayKey(); } else if (_local1 == "]") { _useParent(); } com.newgrounds.encoders.json.JSON.cache.pos++; } function _boolean() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 == "t") { _setTargetValue(true); com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 3; } else if (_local1 == "f") { _setTargetValue(false); com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 4; } else { throw "Bool values must be true or false"; } _useParent(); } function _null() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 == "n") { _setTargetValue(null); com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 2; } else { throw "Null values must be null"; } _useParent(); } function _string() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (!com.newgrounds.encoders.json.JSON.cache.mode) { if (_local1 != "\"") { throw "Strings must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.json.JSON.cache.scratch = ""; com.newgrounds.encoders.json.JSON.cache.mode = "string"; } else if (_local1 == "\"") { _setTargetValue(com.newgrounds.encoders.json.JSON.cache.scratch); _useParent(); } else { if (_local1 == "\\") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.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.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1; } com.newgrounds.encoders.json.JSON.cache.pos++; } function _number() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); var _local2 = "01234567890.-"; if (!com.newgrounds.encoders.json.JSON.cache.mode) { com.newgrounds.encoders.json.JSON.cache.mode = "number"; com.newgrounds.encoders.json.JSON.cache.scratch = ""; } if (_local2.indexOf(_local1) < 0) { _setTargetValue(Number(com.newgrounds.encoders.json.JSON.cache.scratch)); _useParent(); } else { com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1; com.newgrounds.encoders.json.JSON.cache.pos++; } } function _setTargetValue(newval) { var _local2 = _getParent().obj; var _local1 = com.newgrounds.encoders.json.JSON.cache.parents[com.newgrounds.encoders.json.JSON.cache.parents.length - 1]; _local2[_local1] = newval; } function _useParent() { com.newgrounds.encoders.json.JSON.cache.mode = com.newgrounds.encoders.json.JSON.getType(_getParent().obj); com.newgrounds.encoders.json.JSON.cache.parents.pop(); } function _getParent() { var _local2 = com.newgrounds.encoders.json.JSON.cache; var _local1 = 0; while (_local1 < (com.newgrounds.encoders.json.JSON.cache.parents.length - 1)) { _local2 = _local2[com.newgrounds.encoders.json.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.json.JSON.cache.parents[_local1]}); } function _getCurrent() { var _local2 = com.newgrounds.encoders.json.JSON.cache; var _local1 = 0; while (_local1 < com.newgrounds.encoders.json.JSON.cache.parents.length) { _local2 = _local2[com.newgrounds.encoders.json.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.json.JSON.cache.parents[_local1]}); } function _addParent(child) { com.newgrounds.encoders.json.JSON.cache.parents.push(child); } function _addArrayKey() { var _local1 = _getCurrent().obj.length; com.newgrounds.encoders.json.JSON.cache.parents.push(_local1); com.newgrounds.encoders.json.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 36 MovieClip [__Packages.com.newgrounds.Score] Frame 0
class com.newgrounds.Score { var _rank, _username, _score, _numericValue, _tag; function Score (rank, username, score, numericValue, tag) { (_rank = rank); (_username = username); _score = score; _numericValue = numericValue; _tag = tag; } function get numericValue() { return(_numericValue); } function get rank() { return(_rank); } function get score() { return(_score); } function get tag() { return(_tag); } function get username() { return(_username); } function toString() { return((((_rank + ".\t") + _username) + "\t") + _score); } }
Symbol 212 Button
on (release) { getURL ("http://fightermarth.newgrounds.com", "_blank"); }
Symbol 216 Button
on (release) { getURL ("http://fightermarth.deviantart.com/", "_blank"); }
Symbol 224 Button
on (release) { gotoAndPlay (4); }
Symbol 229 Button
on (release) { nextFrame(); }
Symbol 243 Button
on (release) { prevFrame(); }
Symbol 349 MovieClip Frame 1
function camControl() { parentColor.setTransform(camColor.getTransform()); var _local4 = sX / this._width; var _local3 = sY / this._height; _parent._x = cX - (this._x * _local4); _parent._y = cY - (this._y * _local3); _parent._xscale = 100 * _local4; _parent._yscale = 100 * _local3; } function resetStage() { var _local2 = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0}; parentColor.setTransform(_local2); _parent._xscale = 100; _parent._yscale = 100; _parent._x = 0; _parent._y = 0; } parentColor.setTransform(camColor.getTransform()); this._visible = false; var oldMode = Stage.scaleMode; Stage.scaleMode = "exactFit"; var cX = (Stage.width / 2); var cY = (Stage.height / 2); var sX = Stage.width; var sY = Stage.height; Stage.scaleMode = oldMode; var camColor = new Color(this); var parentColor = new Color(_parent); this.onEnterFrame = camControl; camControl(); this.onUnload = resetStage;

Library Items

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

Instance Names

"loadingBar"Symbol 19 MovieClip [Preloader] Frame 1Symbol 8 MovieClip
"playButton"Symbol 19 MovieClip [Preloader] Frame 10Symbol 18 MovieClip
"newgroundsButton"Symbol 76 MovieClip [FlashAd] Frame 1Symbol 63 Button
"adContainer"Symbol 76 MovieClip [FlashAd] Frame 1Symbol 64 MovieClip
"playButton"Symbol 76 MovieClip [FlashAd] Frame 2Symbol 18 MovieClip
"ad"Symbol 77 MovieClip [APIConnector] Frame 1Symbol 76 MovieClip [FlashAd]
"loader"Symbol 77 MovieClip [APIConnector] Frame 1Symbol 19 MovieClip [Preloader]
"bar"Symbol 197 MovieClip Frame 1Symbol 81 MovieClip
"tankLogo"Symbol 197 MovieClip Frame 1Symbol 186 MovieClip
"loadingText"Symbol 197 MovieClip Frame 1Symbol 190 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 19 as "Preloader"
ExportAssets (56)Timeline Frame 1Symbol 21 as "Newgrounds API Classes"
ExportAssets (56)Timeline Frame 1Symbol 76 as "FlashAd"
ExportAssets (56)Timeline Frame 1Symbol 77 as "APIConnector"
ExportAssets (56)Timeline Frame 1Symbol 29 as "__Packages.com.newgrounds.APIConnection"
ExportAssets (56)Timeline Frame 1Symbol 23 as "__Packages.com.newgrounds.EventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 22 as "__Packages.com.newgrounds.Event"
ExportAssets (56)Timeline Frame 1Symbol 24 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 27 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 1Symbol 33 as "__Packages.com.newgrounds.APICommand"
ExportAssets (56)Timeline Frame 1Symbol 28 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 1Symbol 25 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 1Symbol 44 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 1Symbol 41 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 1Symbol 42 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 1Symbol 40 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 1Symbol 38 as "__Packages.com.newgrounds.SaveKey"
ExportAssets (56)Timeline Frame 1Symbol 39 as "__Packages.com.newgrounds.SaveRating"
ExportAssets (56)Timeline Frame 1Symbol 34 as "__Packages.com.newgrounds.BitmapLoader"
ExportAssets (56)Timeline Frame 1Symbol 43 as "__Packages.com.newgrounds.SaveQuery"
ExportAssets (56)Timeline Frame 1Symbol 35 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 1Symbol 37 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 1Symbol 26 as "__Packages.com.newgrounds.Logger"
ExportAssets (56)Timeline Frame 1Symbol 45 as "__Packages.com.newgrounds.components.FlashAdBase"
ExportAssets (56)Timeline Frame 1Symbol 20 as "__Packages.com.newgrounds.shims.APIShim"
ExportAssets (56)Timeline Frame 1Symbol 30 as "__Packages.com.newgrounds.crypto.MD5"
ExportAssets (56)Timeline Frame 1Symbol 31 as "__Packages.com.newgrounds.crypto.RC4"
ExportAssets (56)Timeline Frame 1Symbol 32 as "__Packages.com.newgrounds.encoders.json.JSON"
ExportAssets (56)Timeline Frame 1Symbol 36 as "__Packages.com.newgrounds.Score"

Labels

"_up"Symbol 18 MovieClip Frame 1
"_over"Symbol 18 MovieClip Frame 10
"_down"Symbol 18 MovieClip Frame 20
"loading"Symbol 19 MovieClip [Preloader] Frame 1
"loaded"Symbol 19 MovieClip [Preloader] Frame 10
"idle"Symbol 76 MovieClip [FlashAd] Frame 2
"loading"Symbol 76 MovieClip [FlashAd] Frame 10
"loaded"Symbol 76 MovieClip [FlashAd] Frame 20
"noBorder"Symbol 76 MovieClip [FlashAd] Frame 30
"adPreloader"Symbol 77 MovieClip [APIConnector] Frame 2
"ad"Symbol 77 MovieClip [APIConnector] Frame 12
"invisible"Symbol 77 MovieClip [APIConnector] Frame 22
"loaded"Symbol 197 MovieClip Frame 2




http://swfchan.com/33/161682/info.shtml
Created: 21/10 -2018 00:45:26 Last modified: 21/10 -2018 00:45:26 Server time: 04/05 -2024 17:26:35