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

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

601643_Name_That_Bill.swf

This is the info page for
Flash #112103

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


Text
100

<p align="left"><font face="Verdana" size="22" color="#ffffff" letterSpacing="-1.000000" kerning="1">Test Medal</font></p>

pts

not THAT
Bill Watterson

Bill S. Preston, Esq.

That's it!

Congratulations! You made it through this duuuuuumb quiz! Your score was " + score+ ", which is " + percent + "% correct!"ery impressive! Since that's a perfect score I'll go ahead and put it on the high score table, assuming you're on NewGrounds.com and logged in.

This game is based off Name That Beard
by Rob "robmanuel" Manuel and Jonti "Weebl" Picking

The drawings of PhantomCat (all of them) were
done by ShojoJim. What a hero!

The Name That Bill themesong was
(again, apologies to Weebl) voiced by GopherFrog

Honorable mention: I didn't use his stuff, but I did get
Clockalope to make a NewGrounds account for crediting.

Coding/slapping things together by moi, PhantomCat.
Special thanks to Bill.

Inspired by HallOfBill.com

Option

<p align="left"><font face="Verdana" size="22" color="#ffffff" letterSpacing="-1.000000" kerning="0">High Scores</font></p>

Page 1

1

Some-Dude-or-Chick

9,999,999,999

ActionScript [AS1/AS2]

Frame 1
stopAllSounds(); konamiCount = 0; Stage.scaleMode = "exactFit"; Stage.showMenu = false;
Instance of Symbol 133 MovieClip [APIConnector] in Frame 1
//component parameters onClipEvent (construct) { apiId = "27360:W7jl1Noe"; encryptionKey = "1CE21ylfuPcpB9pnlzpAMI6WFc5Gxd1x"; debugMode = "Off"; movieVersion = "3"; connectorType = "Invisible"; redirectOnNewVersion = true; redirectOnHostBlocked = false; adType = "Simple"; }
Frame 2
stopAllSounds(); btnAbout.onRelease = function () { gotoAndStop ("about"); }; btnPlay.onRelease = function () { gotoAndPlay ("init"); }; btnScores.onRelease = function () { gotoAndStop ("highscores"); }; billsoundyo = new Sound(); billsoundyo.attachSound("nameThatBillTheme"); billsoundyo.start();
Instance of Symbol 198 MovieClip [MedalPopup] in Frame 2
//component parameters onClipEvent (construct) { alwaysOnTop = "true"; }
Frame 8
function getUnusedBill() { returnable = ""; while ((((((returnable == txt1) or (returnable == txt2)) or (returnable == txt3)) or (returnable == txt4)) or (returnable == txt5)) or (returnable == "")) { var returnable = billNameArray[Math.floor(Math.random() * 50)]; } return(returnable); } stopAllSounds(); initWariables = function () { bgmusic = true; buzzer = new Sound(); buzzer.attachSound("buzzer"); backgroundTheme = new Sound(); backgroundTheme.attachSound("backgroundREAL"); totalBills = 50; billsLeft = totalBills - 1; score = 0; count = 120; billsAsked = 0; txt1 = ""; txt2 = ""; txt3 = ""; txt4 = ""; txt5 = ""; correct = true; konami = false; broname = com.newgrounds.API.__get__username().toUpperCase(); if (broname.indexOf("CLOCK") != -1) { com.newgrounds.API.unlockMedal("I know a good man when I see one"); } if ((broname.indexOf("BILL") != -1) or (broname.indexOf("WILL") != -1)) { com.newgrounds.API.unlockMedal("bill.u.are"); } billFrameArray = new Array(); i = 1; while (i < (totalBills + 1)) { billFrameArray[i - 1] = i; i++; } i = 0; while (i < billFrameArray.length) { rndNum = Math.floor(Math.random() * billFrameArray.length); arrayIndex = billFrameArray[i]; billFrameArray[i] = billFrameArray[rndNum]; billFrameArray[rndNum] = arrayIndex; i++; } billNameArray = new Array("Bilhelm Grimm", "bill.i.am", "just a bill", "Bill Arnett", "Bill Bixby", "Bill Faulkner", "Bill Ferrell", "Bill Hicks", "Bill Nye", "Bill Pullman", "Bill S. Preston, Esq.", "Bill the Cat", "Bill Watterson", "Bill Withers", "Billy Batson", "Billy Bob Thorton", "Billy Cobham", "Billy Crudup", "Billy Crystal", "Billy Idol", "Bill Brasky", "Billye Brim", "Buffalo Bill Cody", "Bill \"The Butcher\" Poole", "Bill Clinton", "Billiam the Conqueror", "Billicus Cosbius", "Dr. Bill Cosby", "Free Billy", "Bill Gates", "Billy, Grim Adventurer", "The Hall of Bill", "Wild Bill Hickok", "Billie Holiday", "Ill Bill", "Billy the Kid", "Bill the Lizard", "BILLY MAYS HERE", "Bill Murray", "Bill O'Reilly", "Bill Overbeck", "Pecos Bill", "Duckbill Platypus", "Billiam Shatner", "Bill Smith", "Billiam Shakespeare", "Bill Turner", "Billiam Wallace", "Billy Wonka", "Bill Winston"); billSoundArray = new Array("bilhelmGrimm", "bill-i-am", "bill", "billarnett", "billbixby", "billfaulkner", "billferrell", "billhicks", "billnye", "billpullman", "BillSPreston", "billthecat", "billwatterson", "billwithers", "billybatson", "billybob", "billycobham", "billycrudup", "billycrystal", "billyidol", "Brasky", "brim", "buffalo", "butcher", "clinton", "conqueror", "cosbius", "cosby", "free", "gates", "grim", "nameThatBillTheme", "hickock", "holiday", "illbill", "kid", "lizard", "mays", "murray", "oreilly", "Overbeck", "pecosbill", "platypus", "shatner", "smith", "spearshake", "turner", "wallace", "willywonka", "winston"); }; initWariables(); initBills = function () { txt1 = ""; txt2 = ""; txt3 = ""; txt4 = ""; txt5 = ""; switch (random(5) + 1) { case 1 : txt1 = billNameArray[billFrameArray[billsAsked] - 1]; break; case 2 : txt2 = billNameArray[billFrameArray[billsAsked] - 1]; break; case 3 : txt3 = billNameArray[billFrameArray[billsAsked] - 1]; break; case 4 : txt4 = billNameArray[billFrameArray[billsAsked] - 1]; break; case 5 : txt5 = billNameArray[billFrameArray[billsAsked] - 1]; } if (txt1 == "") { txt1 = getUnusedBill(); } if (txt2 == "") { txt2 = getUnusedBill(); } if (txt3 == "") { txt3 = getUnusedBill(); } if (txt4 == "") { txt4 = getUnusedBill(); } if (txt5 == "") { txt5 = getUnusedBill(); } }; initBills(); Key.removeListener(KeyListener); KeyListener = {}; currIndex = 0; keys = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65]; KeyListener.onKeyDown = function () { var _local1 = Key.getCode(); if (_local1 == keys[currIndex]) { currIndex++; } else { currIndex = 0; } if (currIndex == 10) { currIndex = 0; konami = !konami; buzzer.start(); if (konamiCount == 0) { com.newgrounds.API.logCustomEvent("easterEggFound"); konamiCount++; com.newgrounds.API.unlockMedal("Obvious Easter Egg!"); } } if (_local1 == 32) { com.newgrounds.API.unlockMedal("Space"); shatCheeve = new Sound(); shatCheeve.attachSound("shatchievement"); shatCheeve.start(); } if (_local1 == 20) { com.newgrounds.API.unlockMedal("HI, BILLY MAYS HERE"); maysCheeve = new Sound(); maysCheeve.attachSound("mayschievement"); maysCheeve.start(); } }; Key.addListener(KeyListener);
Frame 33
start_time = new Date();
Frame 34
stop(); obnoxiousClock._x = 192.9; stopAllSounds(); initBills(); bill.gotoAndStop(billFrameArray[billsAsked]); btn1.txt = txt1; btn2.txt = txt2; btn3.txt = txt3; btn4.txt = txt4; btn5.txt = txt5; if (bgmusic) { backgroundTheme.start(0, 65535); } btn1.onRelease = function () { if (btn1.txt == billNameArray[billFrameArray[billsAsked] - 1]) { gotoAndStop ("right"); } else if (billNameArray[billFrameArray[billsAsked] - 1] == "Bill Murray") { gotoAndStop ("murrayOver"); } else { gotoAndPlay ("wrong"); } }; btn2.onRelease = function () { if (btn2.txt == billNameArray[billFrameArray[billsAsked] - 1]) { gotoAndStop ("right"); } else if (billNameArray[billFrameArray[billsAsked] - 1] == "Bill Murray") { gotoAndStop ("murrayOver"); } else { gotoAndPlay ("wrong"); } }; btn3.onRelease = function () { if (btn3.txt == billNameArray[billFrameArray[billsAsked] - 1]) { gotoAndStop ("right"); } else if (billNameArray[billFrameArray[billsAsked] - 1] == "Bill Murray") { gotoAndStop ("murrayOver"); } else { gotoAndPlay ("wrong"); } }; btn4.onRelease = function () { if (btn4.txt == billNameArray[billFrameArray[billsAsked] - 1]) { gotoAndStop ("right"); } else if (billNameArray[billFrameArray[billsAsked] - 1] == "Bill Murray") { gotoAndStop ("murrayOver"); } else { gotoAndPlay ("wrong"); } }; btn5.onRelease = function () { if (btn5.txt == billNameArray[billFrameArray[billsAsked] - 1]) { gotoAndStop ("right"); } else if (billNameArray[billFrameArray[billsAsked] - 1] == "Bill Murray") { gotoAndStop ("murrayOver"); } else { gotoAndPlay ("wrong"); } }; clockshitinit = function () { revealed = 100; bill.clock._visible = true; bill.createEmptyMovieClip("mc_mask", 5); _root.bill.clock.setMask(bill.mc_mask); mask_x = _root.bill.clock._x; mask_y = _root.bill.clock._y; mask_ra = -400; c = 0; }; clockshitinit(); bill.onEnterFrame = function () { if (revealed < 1) { bill.mc_mask.removeMovieClip(); bill.clock._visible = false; } else { count = count - 0.3; revealed = Math.round(count); bill.mc_mask.clear(); bill.mc_mask.moveTo(mask_x, mask_y); bill.mc_mask.beginFill(0, 100); bill.mc_mask.lineStyle(1, 0, 80); i = 0; while (i <= c) { x = (Math.sin((Math.PI/90) * i) * mask_ra) + mask_x; y = (Math.cos((Math.PI/90) * i) * mask_ra) + mask_y; bill.mc_mask.lineTo(x, y); i++; } bill.mc_mask.endFill(); c = Math.round(revealed * 1.84); } }; cloxiousCount = 6; obnoxiousClock.onEnterFrame = function () { cloxiousCount--; if (cloxiousCount <= 0) { obnoxiousClock._x = 10000; delete obnoxiousClock.onEnterFrame; } }; btnMusicToggle.onEnterFrame = function () { if (bgmusic) { btnMusicToggle.gotoAndStop(1); } else { btnMusicToggle.gotoAndStop(2); } }; btnMusicToggle.onRelease = function () { stopAllSounds(); bgmusic = !bgmusic; if (bgmusic) { backgroundTheme.start(0, 65535); } };
Frame 46
stopAllSounds(); buzzer.start(); correct = false;
Frame 55
gotoAndStop ("game");
Frame 56
otherBill.secret._visible = false; otherBill.gotoAndStop(billFrameArray[billsAsked]); otherBill.secret.gotoAndStop(billFrameArray[billsAsked]); if (correct) { score++; } successTxt = ((((("That's it! Your score: " + score) + "/") + (billsAsked + 1)) + ". Now just ") + billsLeft) + " to go!"; btnNext.txt = "Continue"; displayName = billNameArray[billFrameArray[billsAsked] - 1]; if (konami) { otherBill.secret._visible = true; } stopAllSounds(); sound = new Sound(); sound.attachSound(billSoundArray[billFrameArray[billsAsked] - 1]); if (billNameArray[billFrameArray[billsAsked] - 1] == "Bill Nye") { sound.start(0, 65535); } else { sound.start(); } btnNext.onRelease = function () { billsAsked++; correct = true; count = 120; billsLeft--; if (billsAsked == 50) { end_time = new Date(); gotoAndStop ("gameOver"); } else { gotoAndStop ("game"); } };
Frame 66
stopAllSounds(); buzzer.start(0, 3); stop(); com.newgrounds.API.unlockMedal("No score: Just a Bill.");
Frame 77
stopAllSounds(); percent = score * 2; seconds = Math.ceil((end_time.getTime() - start_time.getTime()) / 1000); trace((end_time.getTime() - start_time.getTime()) + " milliseconds"); congratsText = ((((("Congratulations! You made it through this duuuuuumb quiz! It only took you " + seconds) + " seconds and your score was ") + score) + ", which is ") + percent) + "% correct!"; if (score == 50) { congratsText = congratsText + " Very impressive! Since that's a perfect score I'll go ahead and put it on the high score table, assuming you're on NewGrounds.com and logged in."; } else { congratsText = congratsText + " Unfortunately, only perfect scores go on the high score table. It's where Bill nerds go to compare how quickly they named all fifty Bills!"; } btnBack.onRelease = function () { gotoAndStop ("splash"); }; btnPlay.onRelease = function () { gotoAndPlay ("init"); }; if (score == 50) { com.newgrounds.API.unlockMedal("Perfect Score"); timemilli = end_time.getTime() - start_time.getTime(); com.newgrounds.API.postScore("Konnoisseur Korner", timemilli, null); } else if (score > 34) { com.newgrounds.API.unlockMedal("High Score: BILL BILL BILL"); } else if (score > 16) { com.newgrounds.API.unlockMedal("Medium Score: Billy Wonka"); } else if (score > 1) { com.newgrounds.API.unlockMedal("Low Score: Unimpresston"); } else { com.newgrounds.API.unlockMedal("No score: Just a Bill."); }
Frame 87
stopAllSounds(); stop(); btnPlay.onRelease = function () { gotoAndPlay ("init"); }; btnBack.onRelease = function () { gotoAndStop ("splash"); };
Frame 94
stopAllSounds(); btnBack.onRelease = function () { gotoAndStop ("splash"); };
Instance of Symbol 467 MovieClip [ScoreBrowser] in Frame 94
//component parameters onClipEvent (construct) { scoreBoardName = "Konnoisseur Korner"; period = "All-Time"; title = "Fastest 100%"; }
Symbol 64 MovieClip Frame 1
stop();
Symbol 74 MovieClip Frame 1
stop();
Symbol 75 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 75 MovieClip [Preloader] Frame 10
function _onPlayClick() { _root.nextFrame(); _root.play(); _parent._onLoaded(); } if (playButton) { playButton.onRelease = _onPlayClick; playButton.stop(); } if (autoPlay) { _onPlayClick(null); }
Symbol 77 MovieClip [Newgrounds API Classes] Frame 1
#initclip 26 Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim); #endinitclip
Symbol 132 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 132 MovieClip [FlashAd] Frame 2
initPlayButton();
Symbol 133 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 132 MovieClip [FlashAd] "ad" in Symbol 133 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { apiId = ""; showBorder = true; adType = "Video"; }
Instance of Symbol 75 MovieClip [Preloader] "loader" in Symbol 133 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { autoPlay = false; mainClass = ""; }
Symbol 143 Button
on (release) { getURL ("http://phantomcat.newgrounds.com", "_blank"); }
Symbol 152 Button
on (release) { _root.gotoAndStop("splash"); }
Symbol 153 MovieClip Frame 1
function timerHandler() { if (!loadingComplete) { var _local2 = _root.getBytesLoaded() / _root.getBytesTotal(); bar._xscale = 100 * _local2; if (_local2 == 1) { loadingComplete = true; if (AUTO_PLAY) { startMovie(); } else { gotoAndStop ("loaded"); } return(undefined); } } } function startMovie() { _root.play(); } _root.stop(); stop(); var AUTO_PLAY = false; var loadingComplete = false; timerHandler();
Instance of Symbol 144 MovieClip in Symbol 153 MovieClip Frame 1
onClipEvent (enterFrame) { _parent.timerHandler(); }
Symbol 153 MovieClip Frame 2
stop();
Symbol 85 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 79 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 78 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event { var _type; function Event (type) { _type = type; } function get type() { return(_type); } }
Symbol 80 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 83 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 89 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 { if ((!data) || (data == "")) { throw new Error(); } com.newgrounds.Logger.logInternal("Received packet:", data); var _local2 = com.newgrounds.encoders.json.JSON.decode(data); if (!_local2) { throw new Error(); } if (bridge) { bridge.sendEvent(_local2.command_id, _local2); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, _local2, ((_local2 && (_local2.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 84 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 81 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_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 100 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 _local1; var _local7; 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"); } _local1 = 0; while (_local1 < _local10) { var _local4 = _local11.medals[_local1]; var _local15 = _local4.medal_unlocked; var _local17 = _local18 && (_local18[_local4.medal_id]); var _local14 = (hasUserSession ? (_local15) : (_local17)); if (debugMode != RELEASE_MODE) { _local14 = false; } var _local5 = new com.newgrounds.Medal(_connection, _local4.medal_id, _local4.medal_name, _local4.medal_description, Boolean(int(_local4.secret)), _local14, _local4.medal_value, _local4.medal_difficulty, _local4.medal_icon); _local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true); _local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true); _medals[_local5.__get__name()] = _local5; _medalsArray.push(_local5); com.newgrounds.Logger.logMessage(_local5); if ((hasUserSession && (_local17)) && (!_local15)) { com.newgrounds.Logger.logMessage(("Server missed the \"" + _local5.__get__name()) + "\" unlock. Resending..."); _local5.unlock(); } _local1++; } } com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.score_boards) { _local10 = _local11.score_boards.length; _local1 = 0; while (_local1 < _local10) { var _local16 = _local11.score_boards[_local1]; var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id); _scoreBoards[_local9.__get__name()] = _local9; _scoreBoardsArray.push(_local9); com.newgrounds.Logger.logMessage(_local9); _local1++; } } com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.save_groups) { _local10 = _local11.save_groups.length; _local1 = 0; while (_local1 < _local10) { var _local2 = _local11.save_groups[_local1]; var _local13 = []; if (_local2.keys) { _local7 = 0; while (_local7 < _local2.keys.length) { var _local6 = _local2.keys[_local7]; _local13.push(new com.newgrounds.SaveKey(_local6.name, _local6.id, _local6.type)); _local7++; } } 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); _local1++; } } 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.3 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 97 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 98 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher { static var _currentFile; var _iconLoader, _group, _keys, _ratings, _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 = {}; } static function get currentFile() { return(_currentFile); } static function fromObject(group, fileData) { var _local4 = new com.newgrounds.SaveFile(group); _local4._name = fileData.filename; _local4._description = fileData.description; _local4._id = fileData.save_id; _local4._authorId = fileData.user_id; _local4._authorName = fileData.user_name; _local4._createdDate = fileData.created; _local4._modifiedDate = fileData.last_update; _local4._views = fileData.views; if (fileData.thumb && (fileData.thumb != "")) { _local4._iconLoader.__set__url(_imageFilePath + fileData.thumb); } _local4._dataURL = _saveFilePath + fileData.file; _local4._fileSize = fileData.file_size; _local4._approved = fileData.status != STATUS_UNAPPROVED; _local4._readOnly = false; _local4._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED); for (var _local8 in fileData.keys) { var _local6 = fileData.keys[_local8]; var _local2 = group.getKeyById(_local6.id); if (_local2) { _local4._keys[_local2.__get__name()] = _local2.validateValue(_local6.value); } } for (var _local9 in fileData.ratings) { var _local5 = fileData.ratings[_local9]; var _local3 = group.getRatingById(_local5.id); if (_local3) { _local4._ratings[_local3.__get__name()] = _local3.validateValue(_local5.score); } } return(_local4); } 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 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 _local6; var _local5; var _local10 = 0; var _local8 = 0; if (source instanceof flash.display.BitmapData) { _local6 = source.width; _local5 = source.height; } else if (source instanceof MovieClip) { _local6 = source._width; _local5 = source._height; var _local7 = MovieClip(source).getBounds(source); _local10 = _local7.xMin; _local8 = _local7.yMin; } var _local3 = new flash.geom.Matrix(); var _local4; _local4 = Math.min(ICON_WIDTH / _local6, ICON_HEIGHT / _local5); _local3.translate(-_local10, -_local8); _local3.scale(_local4, _local4); _local3.translate((ICON_WIDTH - (_local6 * _local4)) / 2, (ICON_HEIGHT - (_local5 * _local4)) / 2); _local9.draw(source, _local3); _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 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); } 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 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]; } _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 96 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 94 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)); 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 95 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 90 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 99 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 _local3 = _group.getKey(field); if (_local3) { value = _local3.validateValue(value); _keyConditions.push({key_id:_local3.__get__id(), operator:operator, value:value}); return(undefined); } var _local4 = field.split("."); var _local6 = _group.getRating(_local4[0]); if (_local6) { value = _local6.validateValue(value); _ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_local4[1] ? (_local4[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 91 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 93 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 82 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 101 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 92 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 76 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip { function APIShim () { super(); } }
Symbol 86 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 87 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 88 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 198 MovieClip [MedalPopup] Frame 1
function onMedalUnlocked(event) { if (event.__get__success()) { _medalQueue.push(event.__get__data()); showNextUnlock(); } } function showNextUnlock() { if (_unlockedMedal) { return(undefined); } if (!_medalQueue.length) { gotoAndStop ("hidden"); onEnterFrame = null; return(undefined); } _unlockedMedal = com.newgrounds.Medal(_medalQueue.shift()); gotoAndPlay ("medalUnlocked"); } gotoAndStop ("hidden"); com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked); var alwaysOnTop; _x = int(_x); _y = int(_y); var _unlockedMedal; var _medalQueue = []; var _alwaysOnTop = true; if (alwaysOnTop) { _alwaysOnTop = alwaysOnTop == "true"; }
Symbol 198 MovieClip [MedalPopup] Frame 15
function medalPopupEnterFrame() { if (_alwaysOnTop) { var _local1 = getNextHighestDepth(); swapDepths(_local1); } if (_medalScrollRect) { _medalScrollRect.offset(2, 0); medalNameClip.scrollRect = _medalScrollRect; if (_medalScrollRect.left >= (medalNameClip.textField.textWidth + 10)) { _medalScrollRect = null; play(); } } } var _medalScrollRect; if (_unlockedMedal) { if (medalNameClip && (medalNameClip.textField)) { medalNameClip.textField.text = _unlockedMedal.name; } if (medalPointsText) { medalPointsText.text = _unlockedMedal.value.toString(); } if (medalNameClip.textField.textWidth > medalNameClip._width) { _medalScrollRect = new flash.geom.Rectangle(-medalNameClip._width, 0, medalNameClip._width, medalNameClip._height); medalNameClip.textField._width = 1000; medalNameClip.scrollRect = _medalScrollRect; } onEnterFrame = medalPopupEnterFrame; }
Symbol 198 MovieClip [MedalPopup] Frame 23
if (_unlockedMedal && (medalIcon)) { _unlockedMedal.attachIcon(medalIcon); }
Symbol 198 MovieClip [MedalPopup] Frame 84
if (_medalScrollRect) { stop(); }
Symbol 198 MovieClip [MedalPopup] Frame 105
stop(); _unlockedMedal = null; showNextUnlock();
Symbol 309 MovieClip Frame 1
Symbol 439 MovieClip Frame 1
stop(); mouseChildren = false;
Symbol 445 MovieClip Frame 1
function setListItems(listItems) { if (!listItems) { _listItems = []; } else { _listItems = listItems.concat(); } var _local1 = 0; while (_local1 < _listItems.length) { if (typeof(_listItems[_local1]) == "string") { _listItems[_local1] = {label:_listItems[_local1], data:_listItems[_local1]}; } _local1++; } setSelectedIndex(0); } function setSelectedItem(data) { var _local1 = 0; while (_local1 < _listItems.length) { if (_listItems[_local1].data == data) { setSelectedIndex(_local1); return(undefined); } _local1++; } } function setSelectedIndex(i) { if (i < _listItems.length) { _selectedItem = _listItems[i]; if (currentItem && (currentItem.label)) { currentItem.label.text = _selectedItem.label; } } } function hideList() { _listDown = false; gotoAndStop ("sortUP"); } function _onListClick() { _listDown = !_listDown; if (_listDown) { gotoAndStop ("sortDOWN"); } else { gotoAndStop ("sortUP"); } } stop(); if (listButton) { listButton.onRelease = _onListClick; } if (currentItem) { currentItem.onRelease = _onListClick; if (currentItem.label) { if (_selectedItem) { currentItem.label.text = _selectedItem.label; } else { currentItem.label.text = ""; } } } var _listItems; var _listDown; var _selectedItem; if (!_listItems) { _listItems = []; }
Symbol 445 MovieClip Frame 10
function _onItemClick() { var _local3 = MovieClip(this); if (_local3.item) { setSelectedItem(_local3.item.data); } if (((_local3 && _parent) && (_parent instanceof MovieClip)) && (MovieClip(_parent)._onListChange)) { MovieClip(_parent)._onListChange(_local3.item); } } var i = 0; var itemClip = item0; while (itemClip) { if (i < _listItems.length) { itemClip.item = _listItems[i]; itemClip.label.text = _listItems[i].label; itemClip.onRelease = _onItemClick; } else { itemClip._visible = false; } i++; itemClip = this["item" + i]; }
Symbol 457 MovieClip Frame 1
stop(); mouseChildren = false;
Symbol 467 MovieClip [ScoreBrowser] Frame 1
function loadScores() { if (_scoreBoard) { _scoreBoard.removeEventListener(com.newgrounds.APIEvent.SCORES_LOADED, _onScoresLoaded); } _scoreBoard = com.newgrounds.API.getScoreBoard(scoreBoardName); if (!_scoreBoard) { if (!com.newgrounds.API.__get__scoreBoards()[0]) { com.newgrounds.Logger.logError("No scoreboards created for this movie. You can create scoreboards on your API Settings page at http://www.newgrounds.com/account/flashapi"); gotoAndPlay ("error"); return(undefined); } _scoreBoard = com.newgrounds.API.__get__scoreBoards()[0]; scoreBoardName = _scoreBoard.name; com.newgrounds.Logger.logWarning(("No scoreboard name set in the Score Browser component. Defaulting to scoreboard \"" + _scoreBoard.__get__name()) + "\"."); } _scoreBoard.addEventListener(com.newgrounds.APIEvent.SCORES_LOADED, _onScoresLoaded); _scoreBoard.__set__numResults(_numScores); _scoreBoard.__set__period(period); if (pageText) { pageText.text = "Page " + _scoreBoard.__get__page(); } _loading = true; if (listBox) { listBox.mouseChildren = false; listBox.hideList(); } gotoAndStop ("loading"); _scoreBoard.loadScores(); } function _onScoresLoaded(event) { _loading = false; if (listBox) { listBox.mouseChildren = true; } if (event.__get__success()) { gotoAndStop ("scores"); } else { gotoAndPlay ("error"); } } function _onPageClick() { var _local2 = this; if (_scoreBoard && (!_loading)) { if (_local2 == prevButton) { _scoreBoard.prevPage(); } else { _scoreBoard.nextPage(); } loadScores(); } } function _onListChange(selection) { period = selection.data; loadScores(); } var title; var scoreBoardName; var period; if (!title) { title = "High Scores"; } if (!period) { period = com.newgrounds.ScoreBoard.ALL_TIME; } var _scoreBoard; var _loading; var _numScores = 10; var _listItems = [com.newgrounds.ScoreBoard.TODAY, com.newgrounds.ScoreBoard.THIS_WEEK, com.newgrounds.ScoreBoard.THIS_MONTH, com.newgrounds.ScoreBoard.THIS_YEAR, com.newgrounds.ScoreBoard.ALL_TIME]; _x = int(_x); _y = int(_y); if (titleText) { titleText.text = title; } if (prevButton) { prevButton.onRelease = _onPageClick; } if (nextButton) { nextButton.onRelease = _onPageClick; } gotoAndPlay ("error"); loadScores();
Symbol 467 MovieClip [ScoreBrowser] Frame 2
if (listBox) { listBox.setListItems(_listItems); listBox.setSelectedItem(period); }
Symbol 467 MovieClip [ScoreBrowser] Frame 11
function onScoreClick() { var _local3 = MovieClip(this); if (_local3.usernameText) { _root.getURL(("http://" + _local3.usernameText.text) + ".newgrounds.com", "_blank"); } } var i = 0; var scoreClip = scoreContainer.score0; while (scoreClip) { var score = com.newgrounds.Score(_scoreBoard.scores[i]); if (score) { if (scoreClip.rankText) { scoreClip.rankText.text = score.__get__rank().toString(); } if (scoreClip.usernameText) { scoreClip.usernameText.text = score.username; } if (scoreClip.scoreText) { scoreClip.scoreText.text = score.score; } scoreClip.onRelease = onScoreClick; } else { if (scoreClip.rankText) { scoreClip.rankText.text = ""; } if (scoreClip.usernameText) { scoreClip.usernameText.text = ""; } if (scoreClip.scoreText) { scoreClip.scoreText.text = ""; } scoreClip.enabled = false; } i++; scoreClip = scoreContainer["score" + i]; }
Symbol 467 MovieClip [ScoreBrowser] Frame 21
function onReloadClick() { loadScores(); } if (reloadButton) { reloadButton.onRelease = onReloadClick; }
Symbol 467 MovieClip [ScoreBrowser] Frame 30
stop();

Library Items

Symbol 1 Sound [winston]
Symbol 2 Sound [willywonka]
Symbol 3 Sound [wallace]
Symbol 4 Sound [turner]
Symbol 5 Sound [spearshake]
Symbol 6 Sound [smith]
Symbol 7 Sound [shatner]
Symbol 8 Sound [shatchievement]
Symbol 9 Sound [platypus]
Symbol 10 Sound [pecosbill]
Symbol 11 Sound [Overbeck]
Symbol 12 Sound [oreilly]
Symbol 13 Sound [nameThatBillTheme]
Symbol 14 Sound [murray]
Symbol 15 Sound [mayschievement]
Symbol 16 Sound [mays]
Symbol 17 Sound [lizard]
Symbol 18 Sound [kid]
Symbol 19 Sound [illbill]
Symbol 20 Sound [holiday]
Symbol 21 Sound [hickock]
Symbol 22 Sound [grim]
Symbol 23 Sound [gates]
Symbol 24 Sound [free]
Symbol 25 Sound [cosby]
Symbol 26 Sound [cosbius]
Symbol 27 Sound [conqueror]
Symbol 28 Sound [clinton]
Symbol 29 Sound [buzzer]
Symbol 30 Sound [butcher]
Symbol 31 Sound [buffalo]
Symbol 32 Sound [brim]
Symbol 33 Sound [Brasky]
Symbol 34 Sound [billyidol]
Symbol 35 Sound [billycrystal]
Symbol 36 Sound [billycrudup]
Symbol 37 Sound [billycobham]
Symbol 38 Sound [billybob]
Symbol 39 Sound [billybatson]
Symbol 40 Sound [billwithers]
Symbol 41 Sound [billwatterson]
Symbol 42 Sound [billthecat]
Symbol 43 Sound [BillSPreston]
Symbol 44 Sound [billpullman]
Symbol 45 Sound [billnye]
Symbol 46 Sound [billhicks]
Symbol 47 Sound [billferrell]
Symbol 48 Sound [billfaulkner]
Symbol 49 Sound [billbixby]
Symbol 50 Sound [billarnett]
Symbol 51 Sound [bill]
Symbol 52 Sound [bill-i-am]
Symbol 53 Sound [bilhelmGrimm]
Symbol 54 Sound [backgroundREAL]
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClip [clock]Uses:55Used by:309  Timeline
Symbol 57 GraphicUsed by:64
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClipUses:58Used by:60
Symbol 60 MovieClipUses:59Used by:64
Symbol 61 GraphicUsed by:62 118 132 198 379
Symbol 62 MovieClipUses:61Used by:64 131 132 198
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:57 60 62 63Used by:75
Symbol 65 GraphicUsed by:74
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClipUses:66Used by:68
Symbol 68 MovieClipUses:67Used by:74
Symbol 69 GraphicUsed by:71
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:69 70Used by:74 131
Symbol 72 GraphicUsed by:74
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:65 68 71 72 73Used by:75 132
Symbol 75 MovieClip [Preloader]Uses:64 74Used by:133
Symbol 77 MovieClip [Newgrounds API Classes]Used by:133
Symbol 102 GraphicUsed by:132
Symbol 103 GraphicUsed by:132
Symbol 104 GraphicUsed by:132
Symbol 105 GraphicUsed by:132
Symbol 106 BitmapUsed by:108
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:106 107Used by:119
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:119
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:117 119
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:117
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:117
Symbol 117 MovieClipUses:112 114 116Used by:119
Symbol 118 ButtonUses:61Used by:119
Symbol 119 ButtonUses:108 110 117 112 118Used by:132
Symbol 120 MovieClipUsed by:132 198
Symbol 121 GraphicUsed by:131
Symbol 122 GraphicUsed by:131
Symbol 123 GraphicUsed by:131
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:124Used by:131
Symbol 126 GraphicUsed by:130
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:129
Symbol 129 MovieClipUses:128Used by:130
Symbol 130 MovieClipUses:126 129Used by:131
Symbol 131 MovieClipUses:121 62 122 123 125 130 71Used by:132
Symbol 132 MovieClip [FlashAd]Uses:102 103 104 105 119 62 120 74 131 61Used by:133
Symbol 133 MovieClip [APIConnector]Uses:77 132 75Used by:Timeline
Symbol 134 GraphicUsed by:Timeline
Symbol 135 GraphicUsed by:153
Symbol 136 GraphicUsed by:137 316 428
Symbol 137 MovieClipUses:136Used by:153
Symbol 138 GraphicUsed by:153
Symbol 139 GraphicUsed by:142 143
Symbol 140 GraphicUsed by:142 143
Symbol 141 GraphicUsed by:142 143
Symbol 142 MovieClipUses:139 140 141Used by:143
Symbol 143 ButtonUses:142 139 140 141Used by:153
Symbol 144 MovieClipUsed by:153
Symbol 145 GraphicUsed by:153
Symbol 146 GraphicUsed by:152
Symbol 147 GraphicUsed by:152
Symbol 148 GraphicUsed by:152
Symbol 149 GraphicUsed by:152
Symbol 150 GraphicUsed by:152
Symbol 151 GraphicUsed by:152
Symbol 152 ButtonUses:146 147 148 149 150 151Used by:153
Symbol 153 MovieClipUses:135 137 138 143 144 145 152Used by:Timeline
Symbol 85 MovieClip [__Packages.com.newgrounds.APIConnection]
Symbol 79 MovieClip [__Packages.com.newgrounds.EventDispatcher]
Symbol 78 MovieClip [__Packages.com.newgrounds.Event]
Symbol 80 MovieClip [__Packages.com.newgrounds.APIEventDispatcher]
Symbol 83 MovieClip [__Packages.com.newgrounds.encoders.BaseN]
Symbol 89 MovieClip [__Packages.com.newgrounds.APICommand]
Symbol 84 MovieClip [__Packages.com.newgrounds.Bridge]
Symbol 81 MovieClip [__Packages.com.newgrounds.APIEvent]
Symbol 100 MovieClip [__Packages.com.newgrounds.API]
Symbol 97 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner]
Symbol 98 MovieClip [__Packages.com.newgrounds.SaveFile]
Symbol 96 MovieClip [__Packages.com.newgrounds.SaveGroup]
Symbol 94 MovieClip [__Packages.com.newgrounds.SaveKey]
Symbol 95 MovieClip [__Packages.com.newgrounds.SaveRating]
Symbol 90 MovieClip [__Packages.com.newgrounds.BitmapLoader]
Symbol 99 MovieClip [__Packages.com.newgrounds.SaveQuery]
Symbol 91 MovieClip [__Packages.com.newgrounds.Medal]
Symbol 93 MovieClip [__Packages.com.newgrounds.ScoreBoard]
Symbol 82 MovieClip [__Packages.com.newgrounds.Logger]
Symbol 101 MovieClip [__Packages.com.newgrounds.components.FlashAdBase]
Symbol 92 MovieClip [__Packages.com.newgrounds.Score]
Symbol 76 MovieClip [__Packages.com.newgrounds.shims.APIShim]
Symbol 86 MovieClip [__Packages.com.newgrounds.crypto.MD5]
Symbol 87 MovieClip [__Packages.com.newgrounds.crypto.RC4]
Symbol 88 MovieClip [__Packages.com.newgrounds.encoders.json.JSON]
Symbol 154 GraphicUsed by:Timeline
Symbol 155 BitmapUsed by:156 157 158
Symbol 156 GraphicUses:155Used by:159
Symbol 157 GraphicUses:155Used by:159
Symbol 158 GraphicUses:155Used by:159
Symbol 159 MovieClipUses:156 157 158Used by:Timeline
Symbol 160 GraphicUsed by:162
Symbol 161 GraphicUsed by:162
Symbol 162 ButtonUses:160 161Used by:Timeline
Symbol 163 GraphicUsed by:165
Symbol 164 GraphicUsed by:165
Symbol 165 ButtonUses:163 164Used by:Timeline
Symbol 166 GraphicUsed by:Timeline
Symbol 167 GraphicUsed by:169
Symbol 168 GraphicUsed by:169
Symbol 169 ButtonUses:167 168Used by:Timeline
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:198
Symbol 172 GraphicUsed by:178
Symbol 173 GraphicUsed by:174
Symbol 174 MovieClipUses:173Used by:178 198
Symbol 175 GraphicUsed by:178
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:178
Symbol 178 MovieClipUses:172 174 175 177Used by:198
Symbol 179 SoundUsed by:198
Symbol 180 GraphicUsed by:198
Symbol 181 GraphicUsed by:182
Symbol 182 MovieClipUses:181Used by:198
Symbol 183 GraphicUsed by:198
Symbol 184 FontUsed by:185 189 437 451 454
Symbol 185 EditableTextUses:184Used by:198
Symbol 186 FontUsed by:187 446
Symbol 187 EditableTextUses:186Used by:188
Symbol 188 MovieClipUses:187Used by:198
Symbol 189 EditableTextUses:184Used by:190
Symbol 190 MovieClipUses:189Used by:198
Symbol 191 GraphicUsed by:192
Symbol 192 MovieClipUses:191Used by:198
Symbol 193 GraphicUsed by:194
Symbol 194 MovieClipUses:193Used by:198
Symbol 195 GraphicUsed by:196
Symbol 196 MovieClipUses:195Used by:198
Symbol 197 SoundUsed by:198
Symbol 198 MovieClip [MedalPopup]Uses:171 62 178 179 174 180 182 183 61 185 188 190 120 192 194 196 197Used by:Timeline
Symbol 199 GraphicUsed by:207
Symbol 200 GraphicUsed by:207
Symbol 201 GraphicUsed by:207
Symbol 202 GraphicUsed by:207
Symbol 203 GraphicUsed by:207
Symbol 204 GraphicUsed by:207
Symbol 205 GraphicUsed by:207
Symbol 206 GraphicUsed by:207
Symbol 207 MovieClipUses:199 200 201 202 203 204 205 206Used by:Timeline
Symbol 208 GraphicUsed by:Timeline
Symbol 209 BitmapUsed by:210
Symbol 210 GraphicUses:209Used by:309 403
Symbol 211 BitmapUsed by:212 368
Symbol 212 GraphicUses:211Used by:309
Symbol 213 BitmapUsed by:214 369
Symbol 214 GraphicUses:213Used by:309
Symbol 215 BitmapUsed by:216
Symbol 216 GraphicUses:215Used by:309 403
Symbol 217 BitmapUsed by:218
Symbol 218 GraphicUses:217Used by:309 403
Symbol 219 BitmapUsed by:220
Symbol 220 GraphicUses:219Used by:309 403
Symbol 221 BitmapUsed by:222
Symbol 222 GraphicUses:221Used by:309 403
Symbol 223 BitmapUsed by:224
Symbol 224 GraphicUses:223Used by:309 403
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:309 380
Symbol 227 BitmapUsed by:228
Symbol 228 GraphicUses:227Used by:309 403
Symbol 229 BitmapUsed by:230
Symbol 230 GraphicUses:229Used by:309 403
Symbol 231 BitmapUsed by:232
Symbol 232 GraphicUses:231Used by:309 403
Symbol 233 BitmapUsed by:234
Symbol 234 GraphicUses:233Used by:309 403
Symbol 235 BitmapUsed by:236 382
Symbol 236 GraphicUses:235Used by:309
Symbol 237 BitmapUsed by:238
Symbol 238 GraphicUses:237Used by:309 403
Symbol 239 BitmapUsed by:240
Symbol 240 GraphicUses:239Used by:309 403
Symbol 241 BitmapUsed by:242
Symbol 242 GraphicUses:241Used by:309 403
Symbol 243 BitmapUsed by:244 334 383
Symbol 244 GraphicUses:243Used by:309
Symbol 245 BitmapUsed by:246
Symbol 246 GraphicUses:245Used by:309 403
Symbol 247 BitmapUsed by:248
Symbol 248 GraphicUses:247Used by:309 403
Symbol 249 BitmapUsed by:250 337 384
Symbol 250 GraphicUses:249Used by:309
Symbol 251 BitmapUsed by:252 385
Symbol 252 GraphicUses:251Used by:309
Symbol 253 BitmapUsed by:254 386
Symbol 254 GraphicUses:253Used by:309
Symbol 255 BitmapUsed by:256
Symbol 256 GraphicUses:255Used by:309 403
Symbol 257 BitmapUsed by:258 387
Symbol 258 GraphicUses:257Used by:309
Symbol 259 BitmapUsed by:260 388
Symbol 260 GraphicUses:259Used by:309
Symbol 261 BitmapUsed by:262
Symbol 262 GraphicUses:261Used by:309 403
Symbol 263 BitmapUsed by:264
Symbol 264 GraphicUses:263Used by:309 403
Symbol 265 BitmapUsed by:266 389
Symbol 266 GraphicUses:265Used by:309
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:309 403
Symbol 269 BitmapUsed by:270
Symbol 270 GraphicUses:269Used by:309 403
Symbol 271 BitmapUsed by:272
Symbol 272 GraphicUses:271Used by:309 403
Symbol 273 BitmapUsed by:274 390
Symbol 274 GraphicUses:273Used by:309
Symbol 275 BitmapUsed by:276 391
Symbol 276 GraphicUses:275Used by:309
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:309 403
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:309 403
Symbol 281 BitmapUsed by:282 353 392
Symbol 282 GraphicUses:281Used by:309
Symbol 283 BitmapUsed by:284 393
Symbol 284 GraphicUses:283Used by:309
Symbol 285 BitmapUsed by:286 348
Symbol 286 GraphicUses:285Used by:309 403
Symbol 287 BitmapUsed by:288 394
Symbol 288 GraphicUses:287Used by:309
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:289Used by:309 403
Symbol 291 BitmapUsed by:292 395
Symbol 292 GraphicUses:291Used by:309
Symbol 293 BitmapUsed by:294 396
Symbol 294 GraphicUses:293Used by:309
Symbol 295 BitmapUsed by:296 397
Symbol 296 GraphicUses:295Used by:309
Symbol 297 BitmapUsed by:298 398
Symbol 298 GraphicUses:297Used by:309
Symbol 299 BitmapUsed by:300 399
Symbol 300 GraphicUses:299Used by:309
Symbol 301 BitmapUsed by:302 400
Symbol 302 GraphicUses:301Used by:309
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:309 403
Symbol 305 BitmapUsed by:306 401
Symbol 306 GraphicUses:305Used by:309
Symbol 307 BitmapUsed by:308 402
Symbol 308 GraphicUses:307Used by:309
Symbol 309 MovieClipUses:210 56 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 306 308Used by:Timeline
Symbol 310 GraphicUsed by:313
Symbol 311 FontUsed by:312 381 404 405 411 416 417 420 421 422 423 453 455
Symbol 312 EditableTextUses:311Used by:313
Symbol 313 MovieClipUses:310 312Used by:Timeline
Symbol 314 GraphicUsed by:316
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClipUses:136 314 315Used by:Timeline
Symbol 317 GraphicUsed by:Timeline
Symbol 318 GraphicUsed by:367
Symbol 319 GraphicUsed by:367
Symbol 320 GraphicUsed by:367
Symbol 321 GraphicUsed by:367
Symbol 322 GraphicUsed by:367
Symbol 323 GraphicUsed by:367
Symbol 324 GraphicUsed by:367
Symbol 325 GraphicUsed by:367
Symbol 326 GraphicUsed by:367
Symbol 327 GraphicUsed by:367
Symbol 328 GraphicUsed by:367
Symbol 329 GraphicUsed by:367
Symbol 330 GraphicUsed by:367
Symbol 331 GraphicUsed by:367
Symbol 332 GraphicUsed by:367
Symbol 333 GraphicUsed by:367
Symbol 334 GraphicUses:243Used by:367
Symbol 335 GraphicUsed by:367
Symbol 336 GraphicUsed by:367
Symbol 337 GraphicUses:249Used by:367
Symbol 338 GraphicUsed by:367
Symbol 339 GraphicUsed by:367
Symbol 340 GraphicUsed by:367
Symbol 341 GraphicUsed by:367
Symbol 342 GraphicUsed by:367
Symbol 343 GraphicUsed by:367
Symbol 344 GraphicUsed by:367
Symbol 345 GraphicUsed by:367
Symbol 346 GraphicUsed by:367
Symbol 347 GraphicUsed by:367
Symbol 348 GraphicUses:285Used by:367
Symbol 349 GraphicUsed by:367
Symbol 350 GraphicUsed by:367
Symbol 351 GraphicUsed by:367
Symbol 352 GraphicUsed by:367
Symbol 353 GraphicUses:281Used by:367
Symbol 354 GraphicUsed by:367
Symbol 355 GraphicUsed by:367
Symbol 356 GraphicUsed by:367
Symbol 357 GraphicUsed by:367
Symbol 358 GraphicUsed by:367
Symbol 359 GraphicUsed by:367
Symbol 360 GraphicUsed by:367
Symbol 361 GraphicUsed by:367
Symbol 362 GraphicUsed by:367
Symbol 363 GraphicUsed by:367
Symbol 364 GraphicUsed by:367
Symbol 365 GraphicUsed by:367
Symbol 366 GraphicUsed by:367
Symbol 367 MovieClipUses:318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366Used by:403
Symbol 368 GraphicUses:211Used by:403
Symbol 369 GraphicUses:213Used by:403
Symbol 370 GraphicUsed by:379
Symbol 371 GraphicUsed by:379
Symbol 372 GraphicUsed by:379
Symbol 373 GraphicUsed by:379
Symbol 374 GraphicUsed by:379
Symbol 375 GraphicUsed by:379
Symbol 376 GraphicUsed by:379
Symbol 377 GraphicUsed by:379  Timeline
Symbol 378 GraphicUsed by:379
Symbol 379 MovieClipUses:370 371 61 372 373 374 375 376 377 378Used by:380
Symbol 380 MovieClipUses:226 379Used by:403
Symbol 381 TextUses:311Used by:403
Symbol 382 GraphicUses:235Used by:403
Symbol 383 GraphicUses:243Used by:403
Symbol 384 GraphicUses:249Used by:403
Symbol 385 GraphicUses:251Used by:403
Symbol 386 GraphicUses:253Used by:403
Symbol 387 GraphicUses:257Used by:403
Symbol 388 GraphicUses:259Used by:403
Symbol 389 GraphicUses:265Used by:403
Symbol 390 GraphicUses:273Used by:403
Symbol 391 GraphicUses:275Used by:403
Symbol 392 GraphicUses:281Used by:403
Symbol 393 GraphicUses:283Used by:403
Symbol 394 GraphicUses:287Used by:403
Symbol 395 GraphicUses:291Used by:403
Symbol 396 GraphicUses:293Used by:403
Symbol 397 GraphicUses:295Used by:403
Symbol 398 GraphicUses:297Used by:403
Symbol 399 GraphicUses:299Used by:403
Symbol 400 GraphicUses:301Used by:403
Symbol 401 GraphicUses:305Used by:403
Symbol 402 GraphicUses:307Used by:403
Symbol 403 MovieClipUses:210 367 368 369 216 218 220 222 224 380 228 230 232 234 381 382 238 240 242 383 246 248 384 385 386 256 387 388 262 264 389 268 270 272 390 391 278 280 392 393 286 394 290 395 396 397 398 399 400 304 401 402Used by:Timeline
Symbol 404 EditableTextUses:311Used by:Timeline
Symbol 405 EditableTextUses:311Used by:Timeline
Symbol 406 GraphicUsed by:Timeline
Symbol 407 GraphicUsed by:408
Symbol 408 MovieClipUses:407Used by:Timeline
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:409Used by:Timeline
Symbol 411 EditableTextUses:311Used by:Timeline
Symbol 412 GraphicUsed by:414
Symbol 413 GraphicUsed by:414
Symbol 414 ButtonUses:412 413Used by:Timeline
Symbol 415 GraphicUsed by:Timeline
Symbol 416 TextUses:311Used by:Timeline
Symbol 417 TextUses:311Used by:Timeline
Symbol 418 BitmapUsed by:419
Symbol 419 GraphicUses:418Used by:Timeline
Symbol 420 TextUses:311Used by:Timeline
Symbol 421 TextUses:311Used by:Timeline
Symbol 422 TextUses:311Used by:Timeline
Symbol 423 TextUses:311Used by:Timeline
Symbol 424 GraphicUsed by:429
Symbol 425 GraphicUsed by:429
Symbol 426 GraphicUsed by:429
Symbol 427 GraphicUsed by:429
Symbol 428 MovieClipUses:136Used by:429
Symbol 429 MovieClipUses:424 425 426 427 428Used by:467
Symbol 430 GraphicUsed by:435
Symbol 431 GraphicUsed by:432
Symbol 432 MovieClipUses:431Used by:435
Symbol 433 GraphicUsed by:434
Symbol 434 MovieClipUses:433Used by:435
Symbol 435 MovieClipUses:430 432 434Used by:467
Symbol 436 GraphicUsed by:439
Symbol 437 EditableTextUses:184Used by:439
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClipUses:436 437 438Used by:445
Symbol 440 GraphicUsed by:444 450
Symbol 441 GraphicUsed by:444
Symbol 442 GraphicUsed by:444
Symbol 443 GraphicUsed by:444
Symbol 444 ButtonUses:440 441 442 443Used by:445
Symbol 445 MovieClipUses:439 444Used by:467
Symbol 446 EditableTextUses:186Used by:467
Symbol 447 GraphicUsed by:450
Symbol 448 GraphicUsed by:450
Symbol 449 GraphicUsed by:450
Symbol 450 ButtonUses:440 447 448 449Used by:467
Symbol 451 EditableTextUses:184Used by:467
Symbol 452 GraphicUsed by:457
Symbol 453 EditableTextUses:311Used by:457
Symbol 454 EditableTextUses:184Used by:457
Symbol 455 EditableTextUses:311Used by:457
Symbol 456 GraphicUsed by:457
Symbol 457 MovieClipUses:452 453 454 455 456Used by:458
Symbol 458 MovieClipUses:457Used by:467
Symbol 459 GraphicUsed by:460
Symbol 460 MovieClipUses:459Used by:467
Symbol 461 GraphicUsed by:466
Symbol 462 GraphicUsed by:466
Symbol 463 GraphicUsed by:466
Symbol 464 GraphicUsed by:466
Symbol 465 GraphicUsed by:466
Symbol 466 ButtonUses:461 462 463 464 465Used by:467
Symbol 467 MovieClip [ScoreBrowser]Uses:429 435 445 446 450 451 458 460 466Used by:Timeline

Instance Names

"btnAbout"Frame 2Symbol 162 Button
"btnPlay"Frame 2Symbol 165 Button
"btnScores"Frame 2Symbol 169 Button
"bill"Frame 34Symbol 309 MovieClip
"btn1"Frame 34Symbol 313 MovieClip
"btn2"Frame 34Symbol 313 MovieClip
"btn3"Frame 34Symbol 313 MovieClip
"btn4"Frame 34Symbol 313 MovieClip
"btn5"Frame 34Symbol 313 MovieClip
"btnMusicToggle"Frame 34Symbol 316 MovieClip
"obnoxiousClock"Frame 34Symbol 56 MovieClip [clock]
"otherBill"Frame 56Symbol 403 MovieClip
"displayName"Frame 56Symbol 404 EditableText
"btnNext"Frame 56Symbol 313 MovieClip
"successTxt"Frame 56Symbol 405 EditableText
"congratsText"Frame 77Symbol 411 EditableText
"btnPlay"Frame 77Symbol 165 Button
"btnBack"Frame 77Symbol 414 Button
"btnPlay"Frame 87Symbol 165 Button
"loadingBar"Symbol 75 MovieClip [Preloader] Frame 1Symbol 64 MovieClip
"playButton"Symbol 75 MovieClip [Preloader] Frame 10Symbol 74 MovieClip
"newgroundsButton"Symbol 132 MovieClip [FlashAd] Frame 1Symbol 119 Button
"adContainer"Symbol 132 MovieClip [FlashAd] Frame 1Symbol 120 MovieClip
"playButton"Symbol 132 MovieClip [FlashAd] Frame 2Symbol 74 MovieClip
"ad"Symbol 133 MovieClip [APIConnector] Frame 1Symbol 132 MovieClip [FlashAd]
"loader"Symbol 133 MovieClip [APIConnector] Frame 1Symbol 75 MovieClip [Preloader]
"bar"Symbol 153 MovieClip Frame 1Symbol 137 MovieClip
"textField"Symbol 188 MovieClip Frame 1Symbol 187 EditableText
"medalPointsText"Symbol 198 MovieClip [MedalPopup] Frame 15Symbol 185 EditableText
"medalNameClip"Symbol 198 MovieClip [MedalPopup] Frame 15Symbol 188 MovieClip
"medalIcon"Symbol 198 MovieClip [MedalPopup] Frame 23Symbol 120 MovieClip
"clock"Symbol 309 MovieClip Frame 1Symbol 56 MovieClip [clock]
"txt"Symbol 313 MovieClip Frame 1Symbol 312 EditableText
"secret"Symbol 403 MovieClip Frame 1Symbol 367 MovieClip
"label"Symbol 439 MovieClip Frame 1Symbol 437 EditableText
"currentItem"Symbol 445 MovieClip Frame 1Symbol 439 MovieClip
"listButton"Symbol 445 MovieClip Frame 1Symbol 444 Button
"item0"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item1"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item2"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item3"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item4"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item5"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item6"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"item7"Symbol 445 MovieClip Frame 10Symbol 439 MovieClip
"rankText"Symbol 457 MovieClip Frame 1Symbol 453 EditableText
"usernameText"Symbol 457 MovieClip Frame 1Symbol 454 EditableText
"scoreText"Symbol 457 MovieClip Frame 1Symbol 455 EditableText
"score0"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score1"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score2"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score3"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score4"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score5"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score6"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score7"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score8"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"score9"Symbol 458 MovieClip Frame 1Symbol 457 MovieClip
"listBox"Symbol 467 MovieClip [ScoreBrowser] Frame 1Symbol 445 MovieClip
"titleText"Symbol 467 MovieClip [ScoreBrowser] Frame 1Symbol 446 EditableText
"nextButton"Symbol 467 MovieClip [ScoreBrowser] Frame 1Symbol 450 Button
"prevButton"Symbol 467 MovieClip [ScoreBrowser] Frame 1Symbol 450 Button
"pageText"Symbol 467 MovieClip [ScoreBrowser] Frame 1Symbol 451 EditableText
"scoreContainer"Symbol 467 MovieClip [ScoreBrowser] Frame 11Symbol 458 MovieClip
"reloadButton"Symbol 467 MovieClip [ScoreBrowser] Frame 21Symbol 466 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 1 as "winston"
ExportAssets (56)Timeline Frame 1Symbol 2 as "willywonka"
ExportAssets (56)Timeline Frame 1Symbol 3 as "wallace"
ExportAssets (56)Timeline Frame 1Symbol 4 as "turner"
ExportAssets (56)Timeline Frame 1Symbol 5 as "spearshake"
ExportAssets (56)Timeline Frame 1Symbol 6 as "smith"
ExportAssets (56)Timeline Frame 1Symbol 7 as "shatner"
ExportAssets (56)Timeline Frame 1Symbol 8 as "shatchievement"
ExportAssets (56)Timeline Frame 1Symbol 9 as "platypus"
ExportAssets (56)Timeline Frame 1Symbol 10 as "pecosbill"
ExportAssets (56)Timeline Frame 1Symbol 11 as "Overbeck"
ExportAssets (56)Timeline Frame 1Symbol 12 as "oreilly"
ExportAssets (56)Timeline Frame 1Symbol 13 as "nameThatBillTheme"
ExportAssets (56)Timeline Frame 1Symbol 14 as "murray"
ExportAssets (56)Timeline Frame 1Symbol 15 as "mayschievement"
ExportAssets (56)Timeline Frame 1Symbol 16 as "mays"
ExportAssets (56)Timeline Frame 1Symbol 17 as "lizard"
ExportAssets (56)Timeline Frame 1Symbol 18 as "kid"
ExportAssets (56)Timeline Frame 1Symbol 19 as "illbill"
ExportAssets (56)Timeline Frame 1Symbol 20 as "holiday"
ExportAssets (56)Timeline Frame 1Symbol 21 as "hickock"
ExportAssets (56)Timeline Frame 1Symbol 22 as "grim"
ExportAssets (56)Timeline Frame 1Symbol 23 as "gates"
ExportAssets (56)Timeline Frame 1Symbol 24 as "free"
ExportAssets (56)Timeline Frame 1Symbol 25 as "cosby"
ExportAssets (56)Timeline Frame 1Symbol 26 as "cosbius"
ExportAssets (56)Timeline Frame 1Symbol 27 as "conqueror"
ExportAssets (56)Timeline Frame 1Symbol 28 as "clinton"
ExportAssets (56)Timeline Frame 1Symbol 29 as "buzzer"
ExportAssets (56)Timeline Frame 1Symbol 30 as "butcher"
ExportAssets (56)Timeline Frame 1Symbol 31 as "buffalo"
ExportAssets (56)Timeline Frame 1Symbol 32 as "brim"
ExportAssets (56)Timeline Frame 1Symbol 33 as "Brasky"
ExportAssets (56)Timeline Frame 1Symbol 34 as "billyidol"
ExportAssets (56)Timeline Frame 1Symbol 35 as "billycrystal"
ExportAssets (56)Timeline Frame 1Symbol 36 as "billycrudup"
ExportAssets (56)Timeline Frame 1Symbol 37 as "billycobham"
ExportAssets (56)Timeline Frame 1Symbol 38 as "billybob"
ExportAssets (56)Timeline Frame 1Symbol 39 as "billybatson"
ExportAssets (56)Timeline Frame 1Symbol 40 as "billwithers"
ExportAssets (56)Timeline Frame 1Symbol 41 as "billwatterson"
ExportAssets (56)Timeline Frame 1Symbol 42 as "billthecat"
ExportAssets (56)Timeline Frame 1Symbol 43 as "BillSPreston"
ExportAssets (56)Timeline Frame 1Symbol 44 as "billpullman"
ExportAssets (56)Timeline Frame 1Symbol 45 as "billnye"
ExportAssets (56)Timeline Frame 1Symbol 46 as "billhicks"
ExportAssets (56)Timeline Frame 1Symbol 47 as "billferrell"
ExportAssets (56)Timeline Frame 1Symbol 48 as "billfaulkner"
ExportAssets (56)Timeline Frame 1Symbol 49 as "billbixby"
ExportAssets (56)Timeline Frame 1Symbol 50 as "billarnett"
ExportAssets (56)Timeline Frame 1Symbol 51 as "bill"
ExportAssets (56)Timeline Frame 1Symbol 52 as "bill-i-am"
ExportAssets (56)Timeline Frame 1Symbol 53 as "bilhelmGrimm"
ExportAssets (56)Timeline Frame 1Symbol 54 as "backgroundREAL"
ExportAssets (56)Timeline Frame 1Symbol 56 as "clock"
ExportAssets (56)Timeline Frame 1Symbol 75 as "Preloader"
ExportAssets (56)Timeline Frame 1Symbol 77 as "Newgrounds API Classes"
ExportAssets (56)Timeline Frame 1Symbol 132 as "FlashAd"
ExportAssets (56)Timeline Frame 1Symbol 133 as "APIConnector"
ExportAssets (56)Timeline Frame 1Symbol 85 as "__Packages.com.newgrounds.APIConnection"
ExportAssets (56)Timeline Frame 1Symbol 79 as "__Packages.com.newgrounds.EventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 78 as "__Packages.com.newgrounds.Event"
ExportAssets (56)Timeline Frame 1Symbol 80 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 83 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 1Symbol 89 as "__Packages.com.newgrounds.APICommand"
ExportAssets (56)Timeline Frame 1Symbol 84 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 1Symbol 81 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 1Symbol 100 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 1Symbol 97 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 1Symbol 98 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 1Symbol 96 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 1Symbol 94 as "__Packages.com.newgrounds.SaveKey"
ExportAssets (56)Timeline Frame 1Symbol 95 as "__Packages.com.newgrounds.SaveRating"
ExportAssets (56)Timeline Frame 1Symbol 90 as "__Packages.com.newgrounds.BitmapLoader"
ExportAssets (56)Timeline Frame 1Symbol 99 as "__Packages.com.newgrounds.SaveQuery"
ExportAssets (56)Timeline Frame 1Symbol 91 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 1Symbol 93 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 1Symbol 82 as "__Packages.com.newgrounds.Logger"
ExportAssets (56)Timeline Frame 1Symbol 101 as "__Packages.com.newgrounds.components.FlashAdBase"
ExportAssets (56)Timeline Frame 1Symbol 92 as "__Packages.com.newgrounds.Score"
ExportAssets (56)Timeline Frame 1Symbol 76 as "__Packages.com.newgrounds.shims.APIShim"
ExportAssets (56)Timeline Frame 1Symbol 86 as "__Packages.com.newgrounds.crypto.MD5"
ExportAssets (56)Timeline Frame 1Symbol 87 as "__Packages.com.newgrounds.crypto.RC4"
ExportAssets (56)Timeline Frame 1Symbol 88 as "__Packages.com.newgrounds.encoders.json.JSON"
ExportAssets (56)Timeline Frame 2Symbol 198 as "MedalPopup"
ExportAssets (56)Timeline Frame 94Symbol 467 as "ScoreBrowser"

Labels

"splash"Frame 2
"init"Frame 8
"game"Frame 34
"wrong"Frame 46
"right"Frame 56
"murrayOver"Frame 66
"gameOver"Frame 77
"about"Frame 87
"highscores"Frame 94
"_up"Symbol 74 MovieClip Frame 1
"_over"Symbol 74 MovieClip Frame 10
"_down"Symbol 74 MovieClip Frame 20
"loading"Symbol 75 MovieClip [Preloader] Frame 1
"loaded"Symbol 75 MovieClip [Preloader] Frame 10
"idle"Symbol 132 MovieClip [FlashAd] Frame 2
"loading"Symbol 132 MovieClip [FlashAd] Frame 10
"loaded"Symbol 132 MovieClip [FlashAd] Frame 20
"noBorder"Symbol 132 MovieClip [FlashAd] Frame 30
"adPreloader"Symbol 133 MovieClip [APIConnector] Frame 2
"ad"Symbol 133 MovieClip [APIConnector] Frame 12
"invisible"Symbol 133 MovieClip [APIConnector] Frame 22
"loaded"Symbol 153 MovieClip Frame 2
"hidden"Symbol 198 MovieClip [MedalPopup] Frame 3
"medalUnlocked"Symbol 198 MovieClip [MedalPopup] Frame 10
"unlockComplete"Symbol 198 MovieClip [MedalPopup] Frame 84
"_up"Symbol 439 MovieClip Frame 1
"_over"Symbol 439 MovieClip Frame 6
"sortUP"Symbol 445 MovieClip Frame 1
"sortDOWN"Symbol 445 MovieClip Frame 10
"_up"Symbol 457 MovieClip Frame 1
"_over"Symbol 457 MovieClip Frame 5
"loading"Symbol 467 MovieClip [ScoreBrowser] Frame 2
"scores"Symbol 467 MovieClip [ScoreBrowser] Frame 11
"error"Symbol 467 MovieClip [ScoreBrowser] Frame 21

Dynamic Text Variables

txtSymbol 312 EditableText""
displayNameSymbol 404 EditableText"Bill S. Preston, Esq."
successTxtSymbol 405 EditableText"That's it!"
congratsTextSymbol 411 EditableText"Congratulations! You made it through this duuuuuumb quiz! Your score was " + score+ ", which is " + percent + "% correct!"ery impressive! Since that's a perfect score I'll go ahead and put it on the high score table, assuming you're on NewGrounds.com and logged in."




http://swfchan.com/23/112103/info.shtml
Created: 12/3 -2019 12:28:16 Last modified: 12/3 -2019 12:28:16 Server time: 30/04 -2024 15:54:41