Frame 1
function chooseGameEndProcedure() {
if (tKey == undefined) {
tKey = "sjri5jf85jdor560";
}
gameEndSubmitUrl = "http://freeplay.gamedek.com/gameend.aspx";
if (params == undefined) {
myVariables.load("config.txt");
} else {
decryptParams(params);
crypto = 2;
}
}
function g_fSetGameSize(a_numWidth, a_numHeight) {
g_numGameWidth = a_numWidth;
g_numGameHeight = a_numHeight;
}
function t_fLoadGameEnd() {
mcResign.removeMovieClip();
mcGameOver.removeMovieClip();
if (mcGameEnd != undefined) {
mcGameEnd.removeMovieClip();
}
endContainer.createEmptyMovieClip("mcGameEnd", 100);
endContainer.createEmptyMovieClip("mcGameEndBack", 99);
with (endContainer.mcGameEndBack) {
var backColor = 0;
beginFill(backColor, 100);
lineStyle(1, backColor, 100);
moveTo(0, 0);
lineTo(g_numGameWidth, 0);
lineTo(g_numGameWidth, g_numGameHeight);
lineTo(0, g_numGameHeight);
lineTo(0, 0);
endFill();
}
if (freeplayid != undefined) {
downloadURL = downloadURL + affiliateId;
}
var endUrlArray = new Array();
endUrlArray = endURL.split(".");
var subString = endUrlArray[endUrlArray.length - 1];
if ((subString == "aspx") || (subString == "html")) {
getURL (endURL, "_self");
} else {
endContainer.mcGameEnd.loadMovie(endURL, mcGameEnd);
endContainer.playAgain = playAgain;
}
}
function g_fGetRandomValue(a_numMaxValue) {
g_numRandomSeed = (g_numRandomSeed * g_A) % 2147352576;
var _local1 = Math.floor((g_numRandomSeed * a_numMaxValue) / g_C) % a_numMaxValue;
return(_local1);
}
function TEAEncrypt(src, key) {
var _local2 = charsToLongs(strToChars(src));
var _local9 = charsToLongs(strToChars(key));
var _local7 = _local2.length;
if (_local7 == 0) {
return("");
}
if (_local7 == 1) {
_local2[_local7++] = 0;
}
var _local3 = _local2[_local7 - 1];
var _local4 = _local2[0];
var _local11 = 2654435769;
var _local12 = 4294967295;
var _local5;
var _local8;
var _local10 = Math.floor(6 + (52 / _local7));
var _local6 = 0;
var _local13 = 0;
while ((_local10--) > 0) {
_local6 = _local6 + _local11;
_local6 = _local6 >>> 0;
_local8 = (_local6 >>> 2) & 3;
var _local1 = 0;
while (_local1 < (_local7 - 1)) {
_local4 = _local2[_local1 + 1];
_local5 = (((_local3 >>> 5) ^ (_local4 << 2)) + ((_local4 >>> 3) ^ (_local3 << 4))) ^ ((_local6 ^ _local4) + (_local9[(_local1 & 3) ^ _local8] ^ _local3));
_local5 = _local5 >>> 0;
_local2[_local1] = _local2[_local1] + _local5;
_local2[_local1] = _local2[_local1] >>> 0;
_local3 = _local2[_local1];
_local1++;
}
_local4 = _local2[0];
_local5 = (((_local3 >>> 5) ^ (_local4 << 2)) + ((_local4 >>> 3) ^ (_local3 << 4))) ^ ((_local6 ^ _local4) + (_local9[(_local1 & 3) ^ _local8] ^ _local3));
_local5 = _local5 >>> 0;
_local2[_local7 - 1] = _local2[_local7 - 1] + _local5;
_local2[_local7 - 1] = _local2[_local7 - 1] >>> 0;
_local3 = _local2[_local7 - 1];
}
return(charsToHex(longsToChars(_local2)));
}
function TEADecrypt(src, key) {
var _local4 = charsToLongs(hexToChars(src));
var _local9 = charsToLongs(strToChars(key));
var _local8 = _local4.length;
if (_local8 == 0) {
return("");
}
var _local2 = _local4[_local8 - 1];
var _local3 = _local4[0];
var _local10 = 2654435769;
var _local6;
var _local7;
var _local11 = Math.floor(6 + (52 / _local8));
var _local5 = _local11 * _local10;
while (_local5 != 0) {
_local7 = (_local5 >>> 2) & 3;
var _local1 = _local8 - 1;
while (_local1 > 0) {
_local2 = _local4[_local1 - 1];
_local6 = (((_local2 >>> 5) ^ (_local3 << 2)) + ((_local3 >>> 3) ^ (_local2 << 4))) ^ ((_local5 ^ _local3) + (_local9[(_local1 & 3) ^ _local7] ^ _local2));
_local3 = (_local4[_local1] = _local4[_local1] - _local6);
_local1--;
}
_local2 = _local4[_local8 - 1];
_local6 = (((_local2 >>> 5) ^ (_local3 << 2)) + ((_local3 >>> 3) ^ (_local2 << 4))) ^ ((_local5 ^ _local3) + (_local9[(_local1 & 3) ^ _local7] ^ _local2));
_local3 = (_local4[0] = _local4[0] - _local6);
_local5 = _local5 - _local10;
}
return(charsToStr(longsToChars(_local4)));
}
function charsToLongs(chars) {
var _local3 = new Array(Math.ceil(chars.length / 4));
var _local1 = 0;
while (_local1 < _local3.length) {
_local3[_local1] = ((chars[_local1 * 4] + (chars[(_local1 * 4) + 1] << 8)) + (chars[(_local1 * 4) + 2] << 16)) + (chars[(_local1 * 4) + 3] << 24);
_local1++;
}
return(_local3);
}
function longsToChars(longs) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < longs.length) {
_local3.push(longs[_local1] & 255, (longs[_local1] >>> 8) & 255, (longs[_local1] >>> 16) & 255, (longs[_local1] >>> 24) & 255);
_local1++;
}
return(_local3);
}
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);
}
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);
}
function charsToStr(chars) {
var _local3 = new String("");
var _local1 = 0;
while (_local1 < chars.length) {
_local3 = _local3 + String.fromCharCode(chars[_local1]);
_local1++;
}
return(_local3);
}
function strToChars(str) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < str.length) {
_local3.push(str.charCodeAt(_local1));
_local1++;
}
return(_local3);
}
function decryptParams(myParams) {
decPar = TEADecrypt(myParams, tKey);
arrayOfVars = new Array();
arrayOfVars = decPar.split("&");
count = 0;
while (count < arrayOfVars.length) {
varHolder = new Array();
varHolder = arrayOfVars[count].split("=");
Set(varHolder[0], varHolder[1]);
trc(varHolder[0]);
count++;
}
}
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
myVariables = new LoadVars();
myVariables.onLoad = function (success) {
if (success) {
trace(this.params);
crypto = 1;
decryptParams(this.params);
trace("arefgaw" + decryptParams);
} else {
crypto = 0;
trace("could not decrypt");
}
};
xmlGameEnd = new XML();
xmlGameEnd.onLoad = function (success) {
if (success) {
trace("DECRYPTIT:" + this.firstChild.firstChild.nodeValue);
decryptParams(this.firstChild.firstChild.nodeValue);
endURL = gameEndUrl;
t_fLoadGameEnd();
delete this.onLoad;
}
};
var g_A = 3423313;
var g_C = 2435;
if (g_numRandomSeed == undefined) {
g_numRandomSeed = Math.floor(Math.random() * 1000) + 1;
}
g_fSetGameSize(550, 400);
com.neodelight.std.Blueprint.addBlueprint("game", {gameTitle:"Turbo Spirit", gameName:"turbospirit", gameFlashVersion:7, gameLicenses:"licenseNeodelight,licenseArcadeTown,licensePlayaholics,licenseMotosavvy,licenseChickStop,licenseHappyTree,licenseFreeArcade,licenseBigFish,licenseBam,licenseFree"});
com.neodelight.std.Blueprint.addBlueprint("licenseNeodelight", {version:"neodelight", configNeedDomain:"neodelight.com", fullVersion:true, gameCredits:"You're free to redistribute this game as long as you don't make any changes to the game files and don't restrict access to the game to paying users.\n\nIngame music produced by Si Lister from Flashkit.com", gameCopyright:"(c) www.neodelight.com 2004", gameCopyrightLink:"http://www.neodelight.com", gameIntro:"introNd", urlHighscoresView:"http://www.neodelight.com/highscores/turbospirit", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.neodelight.com/", urlMoreGamesTarget:"_top", gameScoreSubmit:function (score) {
trace("submit score: " + score);
_global.highscores.submit(score);
}});
com.neodelight.std.Blueprint.addBlueprint("licenseFree", {blueprint:"licenseNeodelight", version:"free", configNeedDomain:"*", fullVersion:false});
com.neodelight.std.Blueprint.addBlueprint("licenseArcadeTown", {blueprint:"licenseNeodelight", version:"arcadetown", configNeedDomain:"arcadetown.com,heavygames.com,freewebgames.com,file:*.at.exe", fullVersion:true, gameCredits:"This game is licensed to ArcadeTown.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", gameIntro:"", urlHighscoresView:"http://www.arcadetown.com/scripts/show_hiscore.asp?gameid=turbospirit", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.arcadetown.com", urlMoreGamesTarget:"_top", gameScoreSubmit:function (score) {
_root.gotoAndStop("arcadeTownScore");
}});
com.neodelight.std.Blueprint.addBlueprint("licensePlayaholics", {blueprint:"licenseNeodelight", version:"playaholics", configNeedDomain:"playaholics.com,multiplayaholics.com,file:*.ph.exe", fullVersion:true, gameCredits:"This game is licensed to Playaholics.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", urlHighscoresView:"http://www.playaholics.com/scores/thisweek/turbospirit/", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.playaholics.com/games/list/", urlMoreGamesTarget:"_top"});
com.neodelight.std.Blueprint.addBlueprint("licenseMotosavvy", {blueprint:"licenseNeodelight", version:"motosavvy", configNeedDomain:"motosavvy.com", fullVersion:true, gameCredits:"This game is licensed to Motosavvy.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n"});
com.neodelight.std.Blueprint.addBlueprint("licenseChickStop", {blueprint:"licenseNeodelight", version:"chickstop", configNeedDomain:"chickstop.com,file:*.cs.exe", fullVersion:true, gameCredits:"This game is licensed to Chickstop.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", urlHighscoresView:"http://www.chickstop.com/scores/this_week/turbospirit/", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.chickstop.com/games/list/", urlMoreGamesTarget:"_top"});
com.neodelight.std.Blueprint.addBlueprint("licenseHappyTree", {blueprint:"licenseNeodelight", version:"happytree", configNeedDomain:"happytree.com,happytree.nl,happytreegames.nl", fullVersion:true, gameCredits:"This game is licensed to HappyTree.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", gameIntro:"introHt", urlHighscoresView:"http://www.happytree.com/games/turbospirit/turbospiritscore.php?site=" + _root.site, urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.happytree.com/?site=" + _root.site, urlMoreGamesTarget:"_top", gameScoreSubmit:function (score) {
_root.gotoAndStop("happyTreeScore");
}});
com.neodelight.std.Blueprint.addBlueprint("licenseFreeArcade", {blueprint:"licenseNeodelight", version:"freearcade", configNeedDomain:"freearcade.com", fullVersion:true, gameCredits:"This game is licensed to FreeArcade.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", gameIntro:"introFa", urlHighscoresView:"/cgi-bin/turbospirit_ranking.cgi?course=turbospirit", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.freearcade.com/", urlMoreGamesTarget:"_top", gameScoreSubmit:function (score) {
_root.createEmptyMovieClip("submitClip", 1);
_root.submitClip.name = "anonymous";
_root.submitClip.score = score;
_root.submitClip.gameName = "turbospirit";
_root.submitClip.loadVariables("/cgi-bin/turbospirit_record.cgi", "POST");
}});
com.neodelight.std.Blueprint.addBlueprint("licenseBigFish", {blueprint:"licenseNeodelight", version:"bigfish", configNeedDomain:"bigfish.com,bigfishgames.com", fullVersion:true, gameCredits:"This game is licensed to BigFishGames.com\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", gameIntro:"introBf", urlHighscoresView:"http://www.bigfishgames.com/online/neodelight/readscoreboard.php?game=turbospirit", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.bigfishgames.com/", urlMoreGamesTarget:"_top"});
com.neodelight.std.Blueprint.addBlueprint("licenseBam", {blueprint:"licenseNeodelight", version:"bam", configNeedDomain:"sumarketing.co.uk,www.sumarketing.co.uk,local", fullVersion:true, gameCredits:"This game is licensed to sumarketing.co.uk\nIf you're intrested in obtaining a license for your website, please visit http://www.neodelight.com/licensing\n", gameIntro:"introBam", urlHighscoresView:"http://www.sumarketing.co.uk/bugs/index.php?page=view_scores&uni_id=" + _root.uni_id, urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.sumarketing.co.uk/bugs/index.php?page=more_games&uni_id=" + _root.uni_id, urlMoreGamesTarget:"_top", gameScoreSubmit:function (score) {
_global.highscores.urlSubmit = (("http://www.sumarketing.co.uk/bugs/index.php?page=submit_score&uni_id=" + _root.uni_id) + "&user_id=") + _root.user_id;
_global.highscores.keystring = "FXCTSWtw5Y0yXdKmWCUbrodICr";
_global.highscores.keystring2 = "DYPX3s4xpWiUNS8iE1kGaOV8Wi";
_global.highscores.submit(score, "", "_top");
}});
com.neodelight.flanix.Kernel.init();
_global.config = com.neodelight.std.AutoConfig.getConfig({url:url, configs:com.neodelight.std.Blueprint.getBlueprint("game").gameLicenses});
__com_mochibot__("8343c7d3", this, 10301, true);
if (_global.config.version == "neodelight") {
MochiAd.showPreloaderAd({id:"10e7cbd6aaf72d15", res:"550x400"});
} else {
MochiAd.showPreloaderAd({id:"62f8f4e312f1e238", res:"550x400"});
}
Frame 3
if (_global.config.gameIntro) {
intro.gotoAndStop(_global.config.gameIntro);
stop();
} else {
play();
}
Frame 4
stop();
Frame 11
new com.neodelight.game.Game();
gotoAndStop ("intro");
gameName = (game = _global.game.name);
demoVersion = !_global.config.fullVersion;
_root.sndChannelStart.fade(-1, 10);
_root.sndChannelMotors.fade(-1, 10);
_root.sndChannelBeat.fade(1, 0);
_root.sndChannelBass.fade(1, 0);
_quality = "medium";
reset = function () {
_root.terrains = ["plain", "dirt", "night", "fog"];
_root.statistics = new Array();
_root.totalScore = 0;
_root.races = 0;
for (var _local5 in _root.terrains) {
_root.statistics[_root.terrains[_local5]] = {score:-1, checkpoints:[], winner:0};
}
Mouse.show();
};
Frame 16
gotoAndStop ("menu");
Frame 20
reset();
stop();
Frame 26
prevFrame();
Frame 30
prevFrame();
Frame 37
for (var i in terrains) {
var mc = this[terrains[i]];
var score = statistics[terrains[i]].score;
if (int(score) < 0) {
mc.gotoAndStop(1);
} else {
mc.scoreDisplay = com.neodelight.std.XString.numberFormat(score) + "\nPOINTS";
mc.gotoAndStop(2);
}
}
totalScoreDisplay = "TOTAL SCORE: " + com.neodelight.std.XString.numberFormat(_root.totalScore);
Mouse.show();
stop();
Frame 48
play();
_root.sndChannelBeat.fade(-1, 30);
_root.sndChannelBass.fade(-1, 30);
Frame 55
_root.sndChannelBeat.fade(-1, 30);
_root.sndChannelBass.fade(-1, 30);
Frame 71
_global.snd.stop();
_root.sndChannelMusic = _global.snd.playLoop("music0", 1);
_root.sndChannelSqueal = _global.snd.playLoop("sndSqueal", 0);
_root.sndChannelMotors = _global.snd.playLoop("sndMotors", 0);
_root.sndChannelMotors.fade(0.2, 20);
Mouse.hide();
stop();
Frame 73
prevFrame();
Frame 74
Mouse.show();
_global.snd.stop();
_root.sndChannelBass = _global.snd.playLoop("musicIntro", 0.7);
_root.sndChannelBeat = _global.snd.playLoop("musicIntroBeat", 0.7);
races++;
if (_root.statistics[_root.level].winner) {
emotion.gotoAndStop(2);
} else {
emotion.gotoAndStop(1);
}
var checkArr = _root.statistics[_root.level].checkpoints;
var totalBonus = 0;
var totalTime = 0;
boniDisplay = "";
timesDisplay = "";
if (checkArr.length == 5) {
finishingBonusDisplay = "FINISHING BONUS: 50,000";
actScore = actScore + 50000;
} else {
finishingBonusDisplay = "";
}
_root.statistics[_root.level].score = _root.actScore;
_root.totalScore = _root.totalScore + _root.actScore;
var i = 0;
while (i < checkArr.length) {
var checkpoint = checkArr[i];
boniDisplay = boniDisplay + (com.neodelight.std.XString.numberFormat(checkpoint.bonus) + newline);
timesDisplay = timesDisplay + (com.neodelight.std.XString.numberFormat(checkpoint.time / 1000, 2) + "s\n");
totalTime = totalTime + checkpoint.time;
totalBonus = totalBonus + checkpoint.bonus;
i++;
}
var i = checkArr.length;
while (i < 5) {
boniDisplay = boniDisplay + "--\n";
timesDisplay = timesDisplay + "--\n";
i++;
}
boniDisplay = boniDisplay + com.neodelight.std.XString.numberFormat(totalBonus);
timesDisplay = timesDisplay + (com.neodelight.std.XString.numberFormat(totalTime / 1000, 2) + "s");
if (_root.demoVersion) {
actScoreDisplay = "";
totalScoreDisplay = "";
totalScoreDisplay2 = "TOTAL SCORE: " + com.neodelight.std.XString.numberFormat(totalScore);
} else {
actScoreDisplay = "LEVEL SCORE: " + com.neodelight.std.XString.numberFormat(actScore);
totalScoreDisplay = "TOTAL SCORE: " + com.neodelight.std.XString.numberFormat(totalScore);
totalScoreDisplay2 = "";
}
if (_root.demoVersion) {
nextStep = "playfull";
} else if (races < 4) {
nextStep = "chooselevel";
} else {
var racesWon = 0;
for (var i in terrains) {
if (statistics[terrains[i]].checkpoints.length == 5) {
racesWon++;
}
}
trace("races won: " + racesWon);
if (racesWon == terrains.length) {
nextStep = "champion";
} else {
nextStep = "gameover";
}
}
stop();
Frame 75
prevFrame();
Frame 82
stop();
Frame 90
totalScoreDisplay = "FINAL SCORE: " + totalScore;
_root.statistics[_root.level].score;
for (var i in _root.terrains) {
_root["total" + _root.terrains[i]] = com.neodelight.std.XString.numberFormat(_root.statistics[_root.terrains[i]].score);
}
totalScoreDisplay = com.neodelight.std.XString.numberFormat(totalScore);
if ((_global.config.version == "playaholics") || (_global.config.version == "chickstop")) {
gotoAndStop ("playaholicsGameOver");
} else if (_global.config.gameOverNoAd) {
gotoAndStop ("gameOverNoAd");
} else {
stop();
}
Frame 98
stop();
Frame 110
_root.highscorePlugin = function (score) {
_root.submitMc.game = "turbospirit";
_root.submitMc.score = score;
_root.submitMc.getURL(("http://www." + _global.config.version) + ".com/comp_entry.php", "_top", "POST");
};
stop();
Frame 126
function ArcadeTown_EncrpytString(strVal) {
var _local7 = "aHfEjcDebChGiAfIjDbEjacD";
var _local8 = _local7.length;
var _local11 = "0";
var _local3 = "";
var _local9 = strVal.length;
var _local1 = 0;
_local3 = "";
var _local4;
var _local6;
var _local2;
var _local5 = 0;
nCnt = 0;
while (nCnt < _local9) {
_local4 = strVal.charCodeAt(nCnt);
if (_local4 >= 128) {
_local4 = "X";
}
_local6 = _local7.charCodeAt(_local1);
_local1 = _local1 + 1;
if (_local1 >= _local8) {
_local1 = 0;
}
_local2 = (_local4 % 16) + _local6;
_local3 = _local3 + String.fromCharCode(_local2);
_local5 = _local5 + _local2;
_local6 = _local7.charCodeAt(_local1);
_local1 = _local1 + 1;
if (_local1 >= _local8) {
_local1 = 0;
}
_local2 = Math.floor(_local4 / 16) + _local6;
_local3 = _local3 + String.fromCharCode(_local2);
_local5 = _local5 + _local2;
nCnt++;
}
_local5 = _local5 % 256;
_local6 = _local7.charCodeAt(_local1);
_local1 = _local1 + 1;
if (_local1 >= _local8) {
_local1 = 0;
}
_local2 = (_local5 % 16) + _local6;
_local3 = _local3 + String.fromCharCode(_local2);
_local6 = _local7.charCodeAt(_local1);
_local1 = _local1 + 1;
if (_local1 >= _local8) {
_local1 = 0;
}
_local2 = Math.floor(_local5 / 16) + _local6;
_local3 = _local3 + String.fromCharCode(_local2);
return(_local3);
}
highscorePlugin = function (score, name) {
var _local5 = name;
var _local2 = score;
var _local6 = "hs.asp";
var _local3 = (_local5 + "|") + _local2;
var _local4 = _root.ArcadeTown_EncrpytString(_local3);
getURL ((_local6 + "?") + _local4, "_blank");
};
Selection.setFocus("username");
stop();
Frame 160
function playAgain() {
gotoAndPlay ("Add this code to top of first frame");
}
stop();
g_numScore = points;
endContainer.g_numScore = g_numScore;
mcGameEnd.removeMovieClip();
if ((crypto == 2) || (crypto == 0)) {
xmlGameEnd.load((gameEndSubmitUrl + "?params=") + TEAEncrypt((((("freePlayID=" + freeplayid) + "&score=") + endContainer.g_numScore) + "&timeStamp=") + timeStamp, tKey));
} else {
t_fLoadGameEnd();
}
endContainer.playAgain = function () {
playAgain();
};
Symbol 538 MovieClip [__Packages.com.neodelight.std.Blueprint] Frame 0
class com.neodelight.std.Blueprint
{
function Blueprint () {
}
static function addBlueprint(id, o) {
lib[id] = o;
}
static function readConfigFile(path) {
cfgLoader.onData = function (src) {
var _local4 = src.split(newline);
var _local3 = 0;
while (_local3 < _local4.length) {
var _local2 = _local4[_local3];
if (_local2.charAt(0) == "#") {
} else if (com.neodelight.std.XString.trim(_local2) == "") {
} else if (_local2.indexOf("=") == -1) {
} else {
var _local1 = _local2.split("=");
_local1[0] = com.neodelight.std.XString.trim(_local1[0]);
_local1[1] = com.neodelight.std.XString.trim(_local1[1]);
com.neodelight.std.Blueprint.addBlueprint(_local1[0], _local1[1]);
}
_local3++;
}
com.neodelight.std.Blueprint.onReadConfigFile(src != undefined);
};
cfgLoader.load(path);
}
static function onReadConfigFile(success) {
}
static function isBlueprint(id) {
return(lib[id] != undefined);
}
static function getBlueprint(id) {
if (typeof(id) == "object") {
return(id);
}
var _local1 = lib[id];
if (_local1.blueprint) {
apply(_local1, _local1.blueprint);
}
return(_local1);
}
static function getBlueprints(filter) {
if (!filter) {
return(undefined);
}
var _local1 = new Array();
for (var _local3 in lib) {
if (filter.test(_local3)) {
_local1.push(getBlueprint(_local3));
}
}
return(_local1);
}
static function apply(target, id) {
if (!id) {
id = String(target.blueprint);
}
var _local3 = lib[id];
if (!_local3) {
trace("!!!blueprint not found:" + id);
}
var _local6 = 0;
for (var _local1 in _local3) {
if (_local1 == "blueprint") {
continue;
}
if (target[_local1] == undefined) {
target[_local1] = _local3[_local1];
}
}
if (_local3.blueprint) {
var _local4 = _local3.blueprint.split(",");
var _local1 = 0;
while (_local1 < _local4.length) {
apply(target, _local4[_local1]);
_local1++;
}
}
return(target);
}
static var lib = new Array();
static var cfgLoader = new LoadVars();
}
Symbol 539 MovieClip [__Packages.com.neodelight.std.XString] Frame 0
class com.neodelight.std.XString
{
function XString () {
}
static function dump(o, params) {
var _local1;
params.depth = com.neodelight.std.XMath.toNumber(params.depth);
switch (typeof(o)) {
case "string" :
_local1 = ("\"" + o) + "\"";
break;
case "undefined" :
_local1 = "[undefined]";
break;
case "array" :
_local1 = "[Array]";
break;
case "number" :
_local1 = String(o);
break;
default :
_local1 = "{";
var _local5 = true;
for (var _local7 in o) {
if (!_local5) {
_local1 = _local1 + ", ";
}
_local5 = false;
if (params.br) {
_local1 = _local1 + newline;
}
var _local2 = 0;
while (_local2 < int(params.indent)) {
_local1 = _local1 + " ";
_local2++;
}
_local1 = _local1 + (_local7 + ":");
if (typeof(o[_local7]) == "object") {
if (params.depth > 0) {
_local1 = _local1 + dump(o[_local7], {depth:params.depth - 1});
} else {
_local1 = _local1 + "[Object]";
}
} else {
_local1 = _local1 + dump(o[_local7], {depth:params.depth - 1});
}
}
if (params.br) {
_local1 = _local1 + newline;
}
_local1 = _local1 + "}";
}
return(_local1);
}
static function numberFormat(num, digits) {
var _local2 = String(int(num));
var _local1 = _local2.length - 4;
while (_local1 >= 0) {
_local2 = (_local2.substring(0, _local1 + 1) + ",") + _local2.substr(_local1 + 1);
_local1 = _local1 - 3;
}
if (int(digits) > 0) {
_local2 = _local2 + ".";
var _local3 = String(int((num - int(num)) * Math.pow(10, digits)));
while (_local3.length < digits) {
_local3 = "0" + _local3;
}
_local2 = _local2 + _local3;
}
return(_local2);
}
static function timeFormat(millis, format) {
var _local5 = "";
var _local8 = new Object();
var _local6;
var _local2 = 0;
while (_local2 < format.length) {
_local6 = format.charAt(_local2);
if (_local6 == "%") {
_local2++;
var _local3 = format.charAt(_local2);
if (_local8[_local3] == undefined) {
var _local1;
switch (_local3) {
case "H" :
_local1 = String(Math.floor(millis / 3600000));
while (_local1.length < 2) {
_local1 = "0" + _local1;
}
break;
case "i" :
_local1 = String(Math.floor(millis / 60000) % 60);
while (_local1.length < 2) {
_local1 = "0" + _local1;
}
break;
case "s" :
_local1 = String(Math.floor(millis / 1000) % 60);
while (_local1.length < 2) {
_local1 = "0" + _local1;
}
break;
case "c" :
_local1 = String(Math.floor(millis / 10) % 100);
while (_local1.length < 2) {
_local1 = "0" + _local1;
}
break;
case "q" :
_local1 = String(Math.floor(millis) % 1000);
while (_local1.length < 3) {
_local1 = "0" + _local1;
}
break;
default :
_local1 = "";
}
_local8[_local3] = _local1;
_local5 = _local5 + _local1;
} else {
_local5 = _local5 + _local8[_local3];
}
} else if (_local6 == "\\") {
_local2++;
_local5 = _local5 + format.charAt(_local2);
} else {
_local5 = _local5 + _local6;
}
_local2++;
}
return(_local5);
}
static function ordinal(n) {
switch (n) {
case 1 :
return("1st");
case 2 :
return("2nd");
case 3 :
return("3rd");
}
return(n + "th");
}
static function trim(s) {
var _local3 = 0;
var _local4 = s.length;
var _local1 = 0;
while (_local1 < s.length) {
switch (s.charCodeAt(_local1)) {
case 32 :
case 9 :
case 10 :
case 13 :
_local3 = _local1 + 1;
}
if (_local3 != (_local1 + 1)) {
break;
}
_local1++;
}
_local1 = s.length - 1;
while (_local1 >= 0) {
switch (s.charCodeAt(_local1)) {
case 32 :
case 9 :
case 10 :
case 13 :
_local4 = _local1;
}
if (_local4 != _local1) {
break;
}
_local1--;
}
return(s.substring(_local3, _local4));
}
static function replace(search, replace, subject) {
return(subject.split(search).join(replace));
}
static function parse(str) {
if (String(com.neodelight.std.XMath.toNumber(Number(str))) == str) {
return(com.neodelight.std.XMath.toNumber(Number(str)));
}
if ((str.charAt(0) == "{") && (str.charAt(str.length - 1) == "}")) {
var _local3 = new Object();
return(_local3);
}
if ((str.charAt(0) == "[") && (str.charAt(str.length - 1) == "]")) {
var _local2 = new Array();
return(_local2);
}
if ((str.charAt(0) == "\"") && (str.charAt(str.length - 1) == "\"")) {
return(str.substring(1, str.length - 2));
}
return(str);
}
static function parseHex(str) {
str = str.substr(-6, 6);
var _local3 = str.length;
var _local4 = 0;
var _local2 = 0;
while (_local2 < _local3) {
var _local1 = str.charCodeAt((_local3 - _local2) - 1);
if (_local1 <= 57) {
_local1 = _local1 - 48;
} else if ((_local1 > 64) && (_local1 < 71)) {
_local1 = _local1 - 55;
}
_local4 = _local4 + (_local1 * Math.pow(16, _local2));
_local2++;
}
return(_local4);
}
static function stripSlashes(str) {
var _local1 = 0;
while (_local1 < str.length) {
if (str.charAt(_local1) == "\\") {
var _local3;
var _local4 = str.charAt(_local1 + 1);
switch (_local4) {
case "n" :
_local3 = newline;
break;
default :
_local3 = _local4;
}
str = (str.slice(0, _local1) + _local3) + str.slice(_local1 + 2, str.length);
_local1--;
}
_local1++;
}
return(str);
}
}
Symbol 540 MovieClip [__Packages.com.neodelight.std.XMath] Frame 0
class com.neodelight.std.XMath
{
function XMath () {
}
static function p2pDistance(px, py, qx, qy) {
return(Math.sqrt(Math.pow(qx - px, 2) + Math.pow(qy - py, 2)));
}
static function toNumber(n) {
n = Number(n);
if (isNaN(n)) {
n = 0;
}
return(n);
}
static function vAngle(dx, dy) {
var _local1 = Math.asin(dx / Math.sqrt((dx * dx) + (dy * dy)));
if (dy > 0) {
_local1 = Math.PI - _local1;
}
return((_local1 + (Math.PI*2)) % (Math.PI*2));
}
static function angleDiff(a0, a1) {
var _local2 = (Math.PI*2);
var _local1 = a1 - a0;
while (_local1 < 0) {
_local1 = _local1 + _local2;
}
_local1 = _local1 % _local2;
if (_local1 > Math.PI) {
_local1 = (_local2 - _local1) * -1;
}
return(_local1);
}
static function vNormalize(v) {
var _local2 = Math.sqrt((v.x * v.x) + (v.y * v.y));
v.x = v.x / _local2;
v.y = v.y / _local2;
return(v);
}
static function vLength(vx, vy) {
return(Math.sqrt((vx * vx) + (vy * vy)));
}
static function vRotate(v, rad) {
var _local3 = Math.cos(rad);
var _local2 = Math.sin(rad);
var _local5 = (v.x * _local3) - (v.y * _local2);
var _local4 = (v.x * _local2) + (v.y * _local3);
v.x = _local5;
v.y = _local4;
return(v);
}
static function rnd(min, max) {
var _local1 = Math.round(Math.random() * (max - min)) + min;
return(_local1);
}
static function relativePos(val, p0, p1) {
return((val - p0) / (p1 - p0));
}
static function numericalObjectDifference(obj0, obj1) {
var _local3 = new Object();
for (var _local4 in obj0) {
if ((((typeof(obj0[_local4]) == "number") && (typeof(obj1[_local4]) == "number")) && (obj0[_local4] != undefined)) && (obj1[_local4] != undefined)) {
_local3[_local4] = obj1[_local4] - obj0[_local4];
}
}
return(_local3);
}
}
Symbol 541 MovieClip [__Packages.com.neodelight.std.Vector] Frame 0
class com.neodelight.std.Vector
{
var x, y;
function Vector (x, y) {
this.x = x;
this.y = y;
}
function copyOf() {
return(new com.neodelight.std.Vector(x, y));
}
function toString() {
return(((("{x:" + x) + ", y:") + y) + "}");
}
static function intersectP(ax0, ay0, ax1, ay1, bx0, by0, bx1, by1) {
var _local3 = ax0 - bx0;
var _local2 = ay0 - by0;
var _local1 = (by1 * ax1) - (bx1 * ay1);
if (_local1 == 0) {
return(undefined);
}
var _local4 = (by1 * _local3) - (bx1 * _local2);
return((-1 * _local4) / _local1);
}
static function splitP(ax, ay, bx, by) {
return(((bx * ax) - (by * ay)) / (((-bx) * bx) - (by * by)));
}
static function splitV(a, b) {
return((((-b.x) * a.x) - (b.y * a.y)) / ((b.x * (-b.x)) - (b.y * b.y)));
}
static function normalizeP(vx, vy) {
var _local1 = Math.sqrt((vx * vx) + (vy * vy));
return(new com.neodelight.std.Vector(vx / _local1, vy / _local1));
}
static function normalizeV(v) {
var _local2 = Math.sqrt((v.x * v.x) + (v.y * v.y));
v.x = v.x / _local2;
v.y = v.y / _local2;
return(v);
}
static function magnitudeP(vx, vy) {
return(Math.sqrt((vx * vx) + (vy * vy)));
}
static function magnitudeV(v) {
return(Math.sqrt((v.x * v.x) + (v.y * v.y)));
}
static function distanceP(px, py, v0x, v0y, v1x, v1y) {
var _local3 = Math.sqrt((v1x * v1x) + (v1y * v1y));
v1x = v1x / _local3;
v1y = v1y / _local3;
return(-1 * (((v1x * (py - v0y)) - (v1y * (px - v0x))) / ((v1x * v1x) + (v1y * v1y))));
}
static function distanceV(p, v0, v1) {
var _local2 = v1.x;
var _local1 = v1.y;
var _local3 = Math.sqrt((_local2 * _local2) + (_local1 * _local1));
_local2 = _local2 / _local3;
_local1 = _local1 / _local3;
return(-1 * (((_local2 * (p.y - v0.y)) - (_local1 * (p.x - v0.x))) / ((_local2 * _local2) + (_local1 * _local1))));
}
}
Symbol 542 MovieClip [__Packages.com.neodelight.std.RegExp] Frame 0
class com.neodelight.std.RegExp
{
function RegExp () {
if (arguments[0] == null) {
} else {
const = "RegExp";
compile.apply(this, arguments);
}
}
function invStr(sVal) {
var _local5 = sVal;
var _local4 = _local5.length;
var _local1;
var _local3;
var _local6 = "";
var _local2 = 1;
while (_local2 < 255) {
_local3 = chr(_local2);
_local1 = 0;
while ((_local1 <= _local4) && (_local5.substring(1 + (_local1++), 1) != _local3)) {
}
if (_local1 > _local4) {
_local6 = _local6 + _local3;
}
_local2++;
}
return(_local5);
}
function compile() {
source = arguments[0];
var _local7;
var _local20;
if (arguments.length > 1) {
var _local17 = (arguments[1] + "").toLowerCase();
_local7 = 0;
while (_local7 < _local17.length) {
if (_local17.substring(_local7 + 1, 1) == "g") {
global = true;
}
if (_local17.substring(_local7 + 1, 1) == "i") {
ignoreCase = true;
}
if (_local17.substring(_local7 + 1, 1) == "m") {
multiline = true;
}
_local7++;
}
}
if (arguments.length < 3) {
_local20 = true;
_xrStatic = 1;
_local7 = 0;
} else {
_local20 = false;
_xr = _xrStatic++;
_local7 = arguments[2];
}
lastIndex = 0;
var _local10 = source;
var _local21;
var _local14 = _local10.length;
var _local6 = [];
var _local4 = 0;
var _local5;
var _local9 = false;
var _local16;
var _local15;
var _local18 = false;
var _local19;
for ( ; _local7 < _local14 ; _local7++) {
var _local3 = _local10.substring(_local7 + 1, 1);
if (_local3 == "\\") {
_local7++;
_local19 = false;
_local3 = _local10.substring(_local7 + 1, 1);
} else {
_local19 = true;
}
var _local12 = _local10.substring(_local7 + 2, 1);
_local6[_local4] = new Object();
_local6[_local4].t = 0;
_local6[_local4].a = 0;
_local6[_local4].b = 999;
_local6[_local4].c = -10;
if (_local19) {
if (_local3 == "(") {
_local21 = new com.neodelight.std.RegExp(_local10, (ignoreCase ? "gi" : "g"), _local7 + 1);
_local7 = _xiStatic;
_local6[_local4].t = 3;
_local3 = _local21;
_local12 = _local10.substring(_local7 + 2, 1);
} else {
if ((!_local20) && (_local3 == ")")) {
break;
}
if (_local3 == "^") {
if ((_local4 == 0) || (_local6[_local4 - 1].t == 7)) {
_local6[_local4].t = 9;
_local6[_local4].a = 1;
_local6[_local4].b = 1;
_local4++;
}
} else if (_local3 == "$") {
if (_local20) {
_local18 = true;
}
} else {
if (_local3 == "[") {
_local7++;
if (_local12 == "^") {
_local6[_local4].t = 2;
_local7++;
} else {
_local6[_local4].t = 1;
}
_local3 = "";
_local9 = false;
while ((_local7 < _local14) && ((_local5 = _local10.substring(1 + (_local7++), 1)) != "]")) {
if (_local9) {
if (_local5 == "\\") {
}
_local15 = ((_local5 == "\\") ? ((_local5 == "b") ? "\b" : (_local10.substring(1 + (_local7++), 1))) : _local5);
_local16 = ord(_local3.substring(_local3.length, 1)) + 1;
_local5 = chr(_local16++);
while (_local15 >= _local5) {
_local3 = _local3 + _local5;
}
_local9 = false;
} else if ((_local5 == "-") && (_local3.length > 0)) {
_local9 = true;
} else if (_local5 == "\\") {
_local5 = _local10.substring(1 + (_local7++), 1);
if (_local5 == "d") {
_local3 = _local3 + "0123456789";
} else if (_local5 == "D") {
_local3 = _local3 + invStr("0123456789");
} else if (_local5 == "s") {
_local3 = _local3 + " \f\n\r\t";
} else if (_local5 == "S") {
_local3 = _local3 + invStr(" \f\n\r\t");
} else if (_local5 == "w") {
_local3 = _local3 + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
} else if (_local5 == "W") {
_local3 = _local3 + invStr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_");
} else if (_local5 == "b") {
_local3 = _local3 + "\b";
} else if (_local5 == "\\") {
_local3 = _local3 + _local5;
}
} else {
_local3 = _local3 + _local5;
}
}
if (_local9) {
_local3 = _local3 + "-";
}
_local7--;
_local12 = _local10.substring(_local7 + 2, 1);
} else {
if (_local3 == "|") {
if (_local18) {
_local6[_local4].t = 10;
_local6[_local4].a = 1;
_local6[_local4].b = 1;
_local4++;
_local6[_local4] = new Object();
_local18 = false;
}
_local6[_local4].t = 7;
_local6[_local4].a = 1;
_local6[_local4].b = 1;
_local4++;
continue;
}
if (_local3 == ".") {
_local6[_local4].t = 2;
_local3 = newline;
} else if (((_local3 == "*") || (_local3 == "?")) || (_local3 == "+")) {
continue;
}
}
// unexpected jump
if ((_local3 >= "1") && (_local3 <= "9")) {
_local6[_local4].t = 4;
} else if (_local3 == "b") {
_local6[_local4].t = 1;
_local3 = "--wb--";
} else if (_local3 == "B") {
_local6[_local4].t = 2;
_local3 = "--wb--";
} else if (_local3 == "d") {
_local6[_local4].t = 1;
_local3 = "0123456789";
} else if (_local3 == "D") {
_local6[_local4].t = 2;
_local3 = "0123456789";
} else if (_local3 == "s") {
_local6[_local4].t = 1;
_local3 = " \f\n\r\t";
} else if (_local3 == "S") {
_local6[_local4].t = 2;
_local3 = " \f\n\r\t";
} else if (_local3 == "w") {
_local6[_local4].t = 1;
_local3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
} else if (_local3 == "W") {
_local6[_local4].t = 2;
_local3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}
if (_local12 == "*") {
_local6[_local4].s = _local3;
_local4++;
_local7++;
} else if (_local12 == "?") {
_local6[_local4].s = _local3;
_local6[_local4].b = 1;
_local4++;
_local7++;
} else if (_local12 == "+") {
_local6[_local4].s = _local3;
_local6[_local4].a = 1;
_local4++;
_local7++;
} else if (_local12 == "{") {
var _local13 = false;
var _local8 = 0;
_local9 = "";
_local7++;
while (((_local7 + 1) < _local14) && ((_local5 = _local10.substring(2 + (_local7++), 1)) != "}")) {
if ((!_local13) && (_local5 == ",")) {
_local13 = true;
_local8 = Number(_local9);
_local8 = Math.floor((isNaN(_local8) ? 0 : _local8));
if (_local8 < 0) {
_local8 = 0;
}
_local9 = "";
} else {
_local9 = _local9 + _local5;
}
}
var _local11 = Number(_local9);
_local11 = Math.floor((isNaN(_local11) ? 0 : _local11));
if (_local11 < 1) {
_local11 = 999;
}
if (_local11 < _local8) {
_local11 = _local8;
}
_local6[_local4].s = _local3;
_local6[_local4].b = _local11;
_local6[_local4].a = (_local13 ? _local8 : _local11);
_local4++;
} else {
_local6[_local4].s = _local3;
_local6[_local4].a = 1;
_local6[_local4].b = 1;
_local4++;
}
}
}
} else if ((_local3 >= "1") && (_local3 <= "9")) {
_local6[_local4].t = 4;
} else if (_local3 == "b") {
_local6[_local4].t = 1;
_local3 = "--wb--";
} else if (_local3 == "B") {
_local6[_local4].t = 2;
_local3 = "--wb--";
} else if (_local3 == "d") {
_local6[_local4].t = 1;
_local3 = "0123456789";
} else if (_local3 == "D") {
_local6[_local4].t = 2;
_local3 = "0123456789";
} else if (_local3 == "s") {
_local6[_local4].t = 1;
_local3 = " \f\n\r\t";
} else if (_local3 == "S") {
_local6[_local4].t = 2;
_local3 = " \f\n\r\t";
} else if (_local3 == "w") {
_local6[_local4].t = 1;
_local3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
} else if (_local3 == "W") {
_local6[_local4].t = 2;
_local3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}
if (_local12 == "*") {
_local6[_local4].s = _local3;
_local4++;
_local7++;
} else if (_local12 == "?") {
_local6[_local4].s = _local3;
_local6[_local4].b = 1;
_local4++;
_local7++;
} else if (_local12 == "+") {
_local6[_local4].s = _local3;
_local6[_local4].a = 1;
_local4++;
_local7++;
} else if (_local12 == "{") {
var _local13 = false;
var _local8 = 0;
_local9 = "";
_local7++;
while (((_local7 + 1) < _local14) && ((_local5 = _local10.substring(2 + (_local7++), 1)) != "}")) {
if ((!_local13) && (_local5 == ",")) {
_local13 = true;
_local8 = Number(_local9);
_local8 = Math.floor((isNaN(_local8) ? 0 : _local8));
if (_local8 < 0) {
_local8 = 0;
}
_local9 = "";
} else {
_local9 = _local9 + _local5;
}
}
var _local11 = Number(_local9);
_local11 = Math.floor((isNaN(_local11) ? 0 : (_local11)));
if (_local11 < 1) {
_local11 = 999;
}
if (_local11 < _local8) {
_local11 = _local8;
}
_local6[_local4].s = _local3;
_local6[_local4].b = _local11;
_local6[_local4].a = (_local13 ? (_local8) : (_local11));
_local4++;
} else {
_local6[_local4].s = _local3;
_local6[_local4].a = 1;
_local6[_local4].b = 1;
_local4++;
}
}
if (_local20 && (_local18)) {
_local6[_local4] = new Object();
_local6[_local4].t = 10;
_local6[_local4].a = 1;
_local6[_local4].b = 1;
_local4++;
}
if (!_local20) {
_xiStatic = _local7;
source = _local10.substring(arguments[2] + 1, _local7 - arguments[2]);
}
if (d) {
_local7 = 0;
while (_local7 < _local4) {
trace((((((((("xr" + _xr) + " ") + _local6[_local7].t) + " : ") + _local6[_local7].a) + " : ") + _local6[_local7].b) + " : ") + _local6[_local7].s);
_local7++;
}
}
_xq = _local6;
_xqc = _local4;
_xp = 0;
}
function test() {
if ((_xp++) == 0) {
_xxa = [];
_xxlp = 0;
}
var _local10 = arguments[0] + "";
var _local15;
var _local4 = _xq;
var _local17 = _xqc;
var _local14;
var _local7;
var _local8;
var _local9;
var _local11;
var _local13;
var _local18;
var _local12 = _local10.length;
var _local5 = (global ? (lastIndex) : 0);
var _local21 = _local5;
var _local19 = _local10;
if (ignoreCase) {
_local10 = _local10.toLowerCase();
}
var _local16 = new Object();
_local16.i = -1;
var _local3 = -1;
while (_local3 < (_local17 - 1)) {
_local3++;
if (d) {
trace("New section started at i=" + _local3);
}
_local5 = _local21;
_local14 = _local3;
_local4[_local14].c = -10;
var _local20 = false;
while ((_local3 > _local14) || (_local5 < (_local12 + 1))) {
if (_local4[_local3].t == 7) {
break;
}
if (_local4[_local3].t == 9) {
_local3++;
if (_local3 == (_local14 + 1)) {
_local18 = true;
_local14 = _local3;
}
_local4[_local14].c = -10;
continue;
}
if ((_local16.i >= 0) && (_local5 >= _local16.i)) {
break;
}
if (_local4[_local3].c == -10) {
if (d) {
trace((((((("Lookup #" + _local3) + " at index ") + _local5) + " for \\\\\\\\\\\\\\\\'") + _local4[_local3].s) + "\\\\\\\\\\\\\\\\' type ") + _local4[_local3].t);
}
var _local6 = 0;
_local4[_local3].i = _local5;
if (_local4[_local3].t == 0) {
_local7 = (ignoreCase ? (_local4[_local3].s.toLowerCase()) : (_local4[_local3].s));
while ((_local6 < _local4[_local3].b) && (_local5 < _local12)) {
if (_local10.substring(1 + _local5, 1) == _local7) {
_local6++;
_local5++;
} else {
break;
}
}
} else if (_local4[_local3].t == 1) {
if (_local4[_local3].s == "--wb--") {
_local4[_local3].a = 1;
if ((_local5 > 0) && (_local5 < _local12)) {
_local9 = _local10.substring(_local5, 1);
if ((_local9 == " ") || (_local9 == "\\\\\\\\\\\\\\\\n")) {
_local6 = 1;
}
if (_local6 == 0) {
_local9 = _local10.substring(1 + _local5, 1);
if ((_local9 == " ") || (_local9 == "\\\\\\\\\\\\\\\\n")) {
_local6 = 1;
}
}
} else {
_local6 = 1;
}
} else {
_local7 = (ignoreCase ? (_local4[_local3].s.toLowerCase()) : (_local4[_local3].s));
_local8 = _local7.length;
while ((_local6 < _local4[_local3].b) && (_local5 < _local12)) {
_local9 = _local10.substring(1 + _local5, 1);
_local11 = 0;
while ((_local11 <= _local8) && (_local7.substring(1 + (_local11++), 1) != _local9)) {
}
if (_local11 <= _local8) {
_local6++;
_local5++;
} else {
break;
}
}
}
} else if (_local4[_local3].t == 2) {
_local7 = (ignoreCase ? (_local4[_local3].s.toLowerCase()) : (_local4[_local3].s));
_local8 = _local7.length;
if (_local4[_local3].s == "--wb--") {
_local4[_local3].a = 1;
if ((_local5 > 0) && (_local5 < _local12)) {
_local9 = _local10.substring(_local5, 1);
_local13 = _local10.substring(1 + _local5, 1);
if ((((_local9 != " ") && (_local9 != "\\\\\\\\\\\\\\\\n")) && (_local13 != " ")) && (_local13 != "\\\\\\\\\\\\\\\\n")) {
_local6 = 1;
}
} else {
_local6 = 0;
}
} else {
while ((_local6 < _local4[_local3].b) && (_local5 < _local12)) {
_local9 = _local10.substring(1 + _local5, 1);
_local11 = 0;
while ((_local11 <= _local8) && (_local7.substring(1 + (_local11++), 1) != _local9)) {
}
if (_local11 <= _local8) {
break;
}
_local6++;
_local5++;
}
}
} else if (_local4[_local3].t == 10) {
_local13 = _local10.substring(1 + _local5, 1);
_local6 = (((multiline && ((_local13 == "\\\\\\\\\\\\\\\\n") || (_local13 == "\\\\\\\\\\\\\\\\r"))) || (_local5 == _local12)) ? 1 : 0);
} else if (_local4[_local3].t == 3) {
_local15 = _local4[_local3].s;
_local4[_local3].ix = [];
_local4[_local3].ix[_local6] = _local5;
_local15.lastIndex = _local5;
while ((_local6 < _local4[_local3].b) && _local15.test(_local19)) {
_local8 = _xxlm.length;
if (_local8 > 0) {
_local5 = _local5 + _local8;
_local6++;
_local4[_local3].ix[_local6] = _local5;
} else {
_local6 = _local4[_local3].a;
_local4[_local3].ix[_local6 - 1] = _local5;
break;
}
}
if (_local6 == 0) {
_xxlm = "";
}
if (_local15._xr > _xxlp) {
_xxlp = _local15._xr;
}
_xxa[Number(_local15._xr)] = _xxlm;
} else if (_local4[_local3].t == 4) {
_local7 = Number(_local4[_local3].s);
if (_xp >= _local7) {
_local7 = _xxa[_local7];
_local7 = (ignoreCase ? _local7.toLowerCase() : _local7);
_local8 = _local7.length;
_local4[_local3].ix = [];
_local4[_local3].ix[_local6] = _local5;
if (_local8 > 0) {
while ((_local6 < _local4[_local3].b) && (_local5 < _local12)) {
if (_local10.substring(1 + _local5, _local8) == _local7) {
_local6++;
_local5 = _local5 + _local8;
_local4[_local3].ix[_local6] = _local5;
} else {
break;
}
}
} else {
_local6 = 0;
_local4[_local3].a = 0;
}
} else {
_local7 = chr(_local7);
_local4[_local3].ix = [];
_local4[_local3].ix[_local6] = _local5;
while ((_local6 < _local4[_local3].b) && (_local5 < _local12)) {
if (_local10.substring(1 + _local5, 1) == _local7) {
_local6++;
_local5++;
_local4[_local3].ix[_local6] = _local5;
} else {
break;
}
}
}
}
_local4[_local3].c = _local6;
if (d) {
trace((" " + _local6) + " matches found");
}
}
if (_local4[_local3].c < _local4[_local3].a) {
if (d) {
trace(" not enough matches");
}
if (_local3 > _local14) {
_local3--;
_local4[_local3].c--;
if (_local4[_local3].c >= 0) {
_local5 = (((_local4[_local3].t == 3) || (_local4[_local3].t == 4)) ? (_local4[_local3].ix[_local4[_local3].c]) : (_local4[_local3].i + _local4[_local3].c));
}
if (d) {
trace((((("Retreat to #" + _local3) + " c=") + _local4[_local3].c) + " index=") + _local5);
}
} else {
if (_xp > 1) {
break;
}
if (_local18) {
if (multiline) {
do {
if (_local5 > _local12) {
break;
}
_local13 = _local10.substring(1 + (_local5++), 1);
} while (!((_local13 == "\\\\\\\\\\\\\\\\n") || (_local13 == "\\\\\\\\\\\\\\\\r")));
_local4[_local3].c = -10;
} else {
break;
}
} else {
_local5++;
_local4[_local3].c = -10;
}
}
} else {
if (d) {
trace(" enough matches!");
}
_local3++;
if ((_local3 == _local17) || (_local4[_local3].t == 7)) {
if (d) {
trace((("Saving better result: r.i = q[" + _local14) + "].i = ") + _local4[_local14].i);
}
_local16.i = _local4[_local14].i;
_local16.li = _local5;
break;
}
_local4[_local3].c = -10;
}
}
while ((_local3 < _local17) && (_local4[_local3].t != 7)) {
_local3++;
}
}
if (_local16.i < 0) {
lastIndex = 0;
if ((_xp--) == 1) {
_xxa = [];
_xxlp = 0;
}
return(false);
}
_local5 = _local16.li;
_xi = _local16.i;
_xxlm = _local19.substring(_local16.i + 1, _local5 - _local16.i);
_xxlc = _local19.substring(1, _local16.i);
_xxrc = _local19.substring(_local5 + 1, _local12 - _local5);
if (_local5 == _local16.i) {
_local5++;
}
lastIndex = _local5;
if ((_xp--) == 1) {
lastMatch = _xxlm;
leftContext = _xxlc;
rightContext = _xxrc;
_xaStatic = _xxa;
lastParen = _xxa[Number(_xxlp)];
_local3 = 1;
while (_local3 < 10) {
com.neodelight.std.RegExp["$" + _local3] = _xaStatic[Number(_local3)];
_local3++;
}
}
return(true);
}
function exec() {
var _local6 = arguments[0] + "";
var _local4;
if (_local6 == "") {
return(false);
}
var _local7 = test(_local6);
if (_local7) {
_local4 = new Array();
_local4.index = _xi;
_local4.input = _local6;
_local4[0] = lastMatch;
var _local5 = _xaStatic.length;
var _local3 = 1;
while (_local3 < _local5) {
_local4[_local3] = _xaStatic[Number(_local3)];
_local3++;
}
} else {
_local4 = null;
}
return(_local4);
}
static function setStringMethods() {
if (String.prototype.match != undefined) {
return(undefined);
}
String.prototype.match = function () {
if (typeof(arguments[0]) != "object") {
return(null);
}
if (arguments[0].const != "RegExp") {
return(null);
}
var _local3 = arguments[0];
var _local6 = this.valueOf();
var _local7 = 0;
var _local4 = 0;
var _local5;
if (_local3.global) {
_local3.lastIndex = 0;
while (_local3.test(_local6)) {
if (_local4 == 0) {
_local5 = new Array();
}
_local5[_local4++] = com.neodelight.std.RegExp.lastMatch;
_local7 = _local3.lastIndex;
}
_local3.lastIndex = _local7;
} else {
_local5 = _local3.exec(_local6);
_local4++;
}
return(((_local4 == 0) ? null : (_local5)));
};
String.prototype.replace = function () {
if (typeof(arguments[0]) != "object") {
return(null);
}
if (arguments[0].const != "RegExp") {
return(null);
}
var _local8 = arguments[0];
var _local7 = arguments[1] + "";
var _local11 = this;
var _local12 = "";
_local8.lastIndex = 0;
if (_local8.global) {
var _local13 = 0;
var _local10 = 0;
while (_local8.test(_local11)) {
var _local5 = 0;
var _local9 = _local7.length;
var _local3 = "";
var _local6 = "";
var _local4 = "";
while (_local5 < _local9) {
_local3 = _local7.substring(1 + (_local5++), 1);
if ((_local3 == "$") && (_local6 != "\\")) {
_local3 = _local7.substring(1 + (_local5++), 1);
if (isNaN(Number(_local3)) || (Number(_local3) > 9)) {
_local4 = _local4 + ("$" + _local3);
} else {
_local4 = _local4 + com.neodelight.std.RegExp._xaStatic[Number(_local3)];
}
} else {
_local4 = _local4 + _local3;
}
_local6 = _local3;
}
_local12 = _local12 + (_local11.substring(_local10 + 1, _local8._xi - _local10) + _local4);
_local10 = _local8._xi + com.neodelight.std.RegExp.lastMatch.length;
_local13 = _local8.lastIndex;
}
_local8.lastIndex = _local13;
} else if (_local8.test(_local11)) {
_local12 = _local12 + (com.neodelight.std.RegExp.leftContext + _local7);
}
_local12 = _local12 + ((_local8.lastIndex == 0) ? (_local11) : (com.neodelight.std.RegExp.rightContext));
return(_local12);
};
String.prototype.search = function () {
if (typeof(arguments[0]) != "object") {
return(null);
}
if (arguments[0].const != "RegExp") {
return(null);
}
var _local3 = arguments[0];
var _local5 = this;
_local3.lastIndex = 0;
var _local4 = _local3.test(_local5);
return((_local4 ? (_local3._xi) : -1));
};
String.prototype.old_split = String.prototype.split;
String.prototype.split = function () {
if ((typeof(arguments[0]) == "object") && (arguments[0].const == "RegExp")) {
var _local3 = arguments[0];
var _local8 = ((arguments[1] == null) ? 9999 : (Number(arguments[1])));
if (isNaN(_local8)) {
_local8 = 9999;
}
var _local6 = this;
var _local9 = new Array();
var _local5 = 0;
var _local11 = _local3.global;
_local3.global = true;
_local3.lastIndex = 0;
var _local7 = 0;
var _local10 = 0;
var _local4 = 0;
while ((_local5 < _local8) && (_local3.test(_local6))) {
if (_local3._xi != _local4) {
_local9[_local5++] = _local6.substring(_local4 + 1, _local3._xi - _local4);
}
_local4 = _local3._xi + com.neodelight.std.RegExp.lastMatch.length;
_local10 = _local7;
_local7 = _local3.lastIndex;
}
if (_local5 == _local8) {
_local3.lastIndex = _local10;
} else {
_local3.lastIndex = _local7;
}
if (_local5 == 0) {
_local9[_local5] = _local6;
} else if ((_local5 < _local8) && (com.neodelight.std.RegExp.rightContext.length > 0)) {
_local9[_local5++] = com.neodelight.std.RegExp.rightContext;
}
_local3.global = _local11;
return(_local9);
}
return(this.old_split(arguments[0], arguments[1]));
};
return(true);
}
function toString() {
return(("[RegExp \"" + source) + "\"]");
}
var const = null;
var source = null;
var global = false;
var ignoreCase = false;
var multiline = false;
var lastIndex = null;
static var _xrStatic = null;
var _xr = null;
static var _xp = null;
static var _xxa = null;
static var _xxlp = null;
var _xq = null;
var _xqc = null;
static var d = null;
static var _xiStatic = null;
var _xi = 0;
static var _xxlm = null;
static var _xxlc = null;
static var _xxrc = null;
static var lastMatch = null;
static var leftContext = null;
static var rightContext = null;
static var _xa = new Array();
static var lastParen = null;
static var _xaStatic = new Array();
static var $1 = null;
static var $2 = null;
static var $3 = null;
static var $4 = null;
static var $5 = null;
static var $6 = null;
static var $7 = null;
static var $8 = null;
static var $9 = null;
static var _setString = setStringMethods();
}
Symbol 543 MovieClip [__Packages.com.neodelight.flanix.Kernel] Frame 0
class com.neodelight.flanix.Kernel
{
function Kernel () {
}
static function init() {
if (_global.$FLANIX_VERSION) {
return(undefined);
}
_global.$FLANIX_VERSION = "0.2.0";
if (!_global.lib) {
_global.lib = new Object();
}
if (!_global.lib.Blueprints) {
_global.lib.Blueprints = com.neodelight.std.Blueprint.lib;
}
if (!_global.var) {
_global.var = new Object();
}
if (!_global.var.log) {
_global.var.log = new Object();
}
if (!_global.mnt) {
_global.mnt = new Object();
}
if (!_global.dev) {
_global.dev = new Object();
}
if (!_global.dev.null) {
_global.dev.null = function () {
};
}
_global._root = _level0;
var _local2 = new com.neodelight.flanix.Bin();
}
}
Symbol 544 MovieClip [__Packages.com.neodelight.flanix.Bin] Frame 0
class com.neodelight.flanix.Bin
{
function Bin () {
if (!_global.bin) {
_global.bin = new Object();
_global.bin.dump = com.neodelight.std.XString.dump;
_global.bin.ls = function () {
var _local13 = _global.console;
var _local14 = _local13.parameters;
var _local4 = _local13.flags;
var _local8 = "";
var _local11 = "";
var _local6 = 0;
while (_local6 < arguments.length) {
if (String(arguments[_local6]).charAt(0) != "-") {
_local11 = arguments[_local6];
break;
}
_local6++;
}
var _local7 = _local13.getObjectAtPath(_local11);
if (_local4.help) {
_local8 = _local8 + "Usage: ls [OPTIONS]\n";
_local8 = _local8 + "List information about the current object\n";
_local8 = _local8 + " -a display all items\n";
_local8 = _local8 + " -d dump values of non-objects\n";
_local8 = _local8 + " -l long format\n";
_local8 = _local8 + " -1 display only one item per line\n";
return(_local8);
}
if (_local4.a) {
_global.ASSetPropFlags(_local7.__proto__, null, 6, true);
_global.ASSetPropFlags(_local7, null, 6, true);
}
var _local3 = new Array();
for (_local6 in _local7) {
switch (typeof(_local7[_local6])) {
case "movieclip" :
_local3.push(("/" + _local6) + (_local4.l ? " [m] " : " "));
break;
case "object" :
_local3.push(("/" + _local6) + (_local4.l ? " [o] " : " "));
break;
case "function" :
_local3.push(_local6 + (_local4.l ? " [f] " : " "));
break;
case "string" :
_local3.push((_local6 + (_local4.l ? " [s] " : " ")) + (_local4.d ? (("=\"" + _local7[_local6]) + "\" ") : ""));
break;
case "undefined" :
_local3.push((_local6 + (_local4.l ? " [u] " : " ")) + (_local4.d ? "=undefined " : ""));
break;
case "null" :
_local3.push((_local6 + (_local4.l ? " [0] " : " ")) + (_local4.d ? "=null " : ""));
break;
case "boolean" :
_local3.push((_local6 + (_local4.l ? " [b] " : " ")) + (_local4.d ? (("=" + _local7[_local6]) + " ") : ""));
break;
case "number" :
_local3.push((_local6 + (_local4.l ? " [n] " : " ")) + (_local4.d ? (("=" + _local7[_local6]) + " ") : ""));
break;
default :
_local3.push(((_local6 + "_") + typeof(_local7[_local6])) + "_");
}
}
var _local9 = 0;
_local6 = 0;
while (_local6 < _local3.length) {
_local9 = Math.max(_local3[_local6].length, _local9);
_local6++;
}
_local3.sort();
var _local12 = ((_local4["1"] || (_local4.d)) ? 1 : (Math.floor(_local13.cols / (_local9 + 2))));
var _local10 = 0;
_local8 = "";
_local6 = 0;
while (_local6 < _local3.length) {
_local8 = _local8 + _local3[_local6];
var _local5 = 0;
while (_local5 < ((_local9 - _local3[_local6].length) + 2)) {
_local8 = _local8 + " ";
_local5++;
}
_local10++;
_local10 = _local10 % _local12;
if (_local10 == 0) {
_local8 = _local8 + newline;
}
_local6++;
}
return(_local8);
};
_global.bin.cat = function () {
var _local3 = "";
if ((arguments.length == 0) || (_global.console.flags.help)) {
_local3 = "Usage: cat [FILE]\nPrint contents of FILE or standard input";
_global.console.setExitCode(0);
return(_local3);
}
var _local5 = _global.console.parameters;
var _local6 = _global.console;
if ((!_local5[0]) || (_local5[0] == "/")) {
_local6.ram.CWD = "";
_local5[0] = "";
}
var _local7 = ((_local5[0].substr(0, 1) == "/") ? "" : (_local6.ram.CWD + "/")) + _local5[0];
var _local4 = _local6.getObjectAtPath(_local7);
if (_local4) {
switch (typeof(_local4)) {
case "string" :
case "number" :
case "boolean" :
_local3 = _local3 + String(_local4);
break;
case "object" :
case "function" :
_local3 = _local3 + _global.bin.dump(_local4);
break;
default :
_global.console.setExitCode(1);
_local3 = _local3 + (("cat: bad type (" + typeof(_local4)) + ")");
}
} else {
_global.console.setExitCode(3);
_local3 = "cat: file not found";
}
return(_local3);
};
_global.bin.clipcp = function () {
var _local3 = "";
if (_global.console.flags.help) {
_local3 = "Usage: clipcp ARG\nConverts ARG to a String and copies it to the clipboard.";
} else {
System.setClipboard(arguments[0]);
}
_global.console.setExitCode(0);
return(_local3);
};
_global.bin.cls = function () {
var _local2 = "";
if (_global.console.flags.help) {
_local2 = "Usage: cls\nClear the console output window.";
} else {
_global.console.cls();
}
_global.console.setExitCode(0);
return(_local2);
};
_global.bin.cd = function () {
var _local2 = _global.console.parameters;
var _local3 = _global.console;
var _local5 = "";
if ((_local2[0] == undefined) || (_local2[0] == "/")) {
_local3.ram.CWD = "";
_local2[0] = "";
}
var _local6 = ((_local2[0].substr(0, 1) == "/") ? "" : (_local3.ram.CWD + "/")) + _local2[0];
var _local4 = _local3.getObjectAtPath(_local6);
if (_local4) {
switch (typeof(_local4)) {
case "object" :
case "array" :
case "movieclip" :
case "function" :
_global.console.setExitCode(0);
_local3.ram.CWD = _local6;
break;
default :
_global.console.setExitCode(1);
_local5 = _local5 + (("not an object (" + typeof(_local4)) + ")");
}
} else {
_global.console.setExitCode(3);
_local5 = _local5 + "path not found";
}
return(_local5);
};
_global.bin.echo = function () {
var _local4 = "";
var _local3 = 0;
while (_local3 < arguments.length) {
if (_local4 != "") {
_local4 = _local4 + " ";
}
_local4 = _local4 + String(arguments[_local3]);
_local3++;
}
_global.console.setExitCode(0);
return(_local4);
};
_global.bin.exit = function () {
fscommand ("quit");
_global.mdm.exit();
};
_global.bin.false = function () {
return(false);
};
_global.bin.fscommand = function () {
fscommand (arguments[0], arguments[1]);
};
_global.bin.get = function (path) {
return(_global.console.getObjectAtPath(path));
};
_global.bin.grep = function (needle, haystack) {
var _local4 = "";
if ((arguments.length < 1) || (_global.console.flags.help)) {
_local4 = "Usage: grep [OPTION] .. PATTERN [FILE] ..\nSearch each line FILE or the standard input and output only lines containing PATTERN";
_global.console.setExitCode(0);
return(_local4);
}
var _local5 = haystack.split(newline);
var _local3 = 0;
while (_local3 < _local5.length) {
if (_local5[_local3].indexOf(needle) != -1) {
if (_local4 != "") {
_local4 = _local4 + newline;
}
_local4 = _local4 + _local5[_local3];
}
_local3++;
}
_global.console.setExitCode(0);
return(_local4);
};
_global.bin.load = function (url, loadPoint) {
var _local7 = "";
if (((arguments.length != 2) && (arguments.length != 1)) || (_global.console.flags.help)) {
_local7 = _local7 + "Usage: load SOURCE [TARGET]\nLoads the external swf file SOURCE into TARGET.\nIf TARGET is not specified, a new movie clip will be created in the _root and used as TARGET.";
_global.console.setExitCode(0);
return(_local7);
}
var _local5;
if (loadPoint) {
var _local4 = _global.console.getObjectAtPath(loadPoint);
if (!_local4) {
_global.console.stderr("load: object not found: " + loadPoint);
_global.console.setExitCode(3);
return(undefined);
}
if (typeof(_local4) != "movieclip") {
_global.console.stderr(("load: target is not a movieclip (" + typeof(_local4)) + ")");
_global.console.setExitCode(1);
return(undefined);
}
_local5 = MovieClip(_local4);
} else {
_local5 = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth());
loadPoint = "/_root" + _local5._target;
}
loadMovie (url, _local5);
_local7 = _local7 + ((("load: loading " + url) + " to ") + loadPoint);
_global.console.setExitCode(0);
};
_global.bin.number = function () {
return(Number(arguments[0]));
};
_global.bin.set = function () {
var _local3 = "";
if (_global.console.flags.help) {
_local3 = "Usage: set [VAR = VALUE]\nWithout parameters: shows list of Flash-Console system variables. With parameters: set the value of a system variable.";
_global.console.setExitCode(0);
return(_local3);
}
if (arguments.length == 0) {
for (var _local4 in _global.console.ram) {
if (_local3 != "") {
_local3 = _local3 + newline;
}
_local3 = _local3 + ((_local4 + "=") + _global.console.ram[_local4]);
}
return(_local3);
}
if ((arguments.length < 2) || (arguments[1] != "=")) {
_global.console.stderr("set: syntax error\n");
_global.console.setExitCode(1);
return(undefined);
}
var _local4 = 2;
while (_local4 < arguments.length) {
if (_local3 != "") {
_local3 = _local3 + " ";
}
_local3 = _local3 + String(arguments[_local4]);
_local4++;
}
var _local5 = String(arguments[0]);
_global.console.ram[_local5] = _local3;
return(undefined);
};
_global.bin.sh = function (file) {
if (!file) {
return("");
}
var _local2 = _global.console.getObjectAtPath(file);
if (typeof(_local2) != "string") {
return("sh: not a script: " + file);
}
return(_global.console.executeCommand(_local2));
};
_global.bin.syslog = function (id, log, errlvl) {
var _local5 = "";
if ((arguments.length == 0) || (_global.console.flags.help)) {
_global.console.setExitCode(0);
_local5 = "Usage: syslog FACILITY MESSAGE [ERRORLEVEL]\nSend a message to the system logger. Messages are stored in /var/log/FACILITY.\nErrorlevels:\n1 - Normal log entry\n2 - Warning\n3 - Critical Error";
return(_local5);
}
if (!_global.var.log[id]) {
_global.var.log[id] = log + newline;
} else {
_global.var.log[id] = _global.var.log[id] + (log + newline);
}
switch (errlvl) {
case 1 :
_global.console.stdout((("#INFO:" + id) + ":") + log);
break;
case 2 :
_global.bin.syslog("WARNING", (id + ": ") + log);
_global.console.stderr((("#WARNING:" + id) + ":") + log);
break;
case 3 :
_global.bin.syslog("ERROR", (id + ": ") + log);
_global.console.stderr((("#ERROR:" + id) + ":") + log);
break;
}
_global.console.setExitCode(0);
return(_local5);
};
_global.bin.test = function () {
trace((((((("detect: " + _global.id) + " / ") + _root.id) + " / ") + _level0.id) + " / ") + _level1.id);
};
_global.bin.true = function () {
return(true);
};
}
}
static function mtascTrace(msg, cls, fil, lin) {
var _local4 = 0;
if (msg.substr(0, 3) == "!!!") {
_local4 = 3;
} else if (msg.substr(0, 2) == "!!") {
_local4 = 2;
} else if (msg.substr(0, 1) == "!") {
_local4 = 1;
} else if (msg.substr(0, 1) == "&") {
_global.console.stdout(msg);
return(undefined);
}
var _local2 = String(cls.split("::")[0]).split(".");
while (_local2.length > 2) {
_local2.shift();
}
var _local5 = getTimer();
_global.bin.syslog(_local2.join("."), (((((("[" + _local5) + ":") + cls.split("::")[1]) + ":") + lin) + "] ") + msg, _local4);
}
}
Symbol 545 MovieClip [__Packages.com.neodelight.flanix.Console] Frame 0
class com.neodelight.flanix.Console
{
var width, height, offsetX, offsetY, inputHeight, outputHeight, outputMaxLines, cols, mc, output, input, history, format, cursorMc, codepage, active, parameters, flags;
function Console (width, height) {
if (_global.console) {
trace("#ERROR: Console(): only one instance of Console allowed!");
} else {
com.neodelight.flanix.Kernel.init();
_global.console = this;
this.width = (width ? (width) : 550);
this.height = (height ? (height) : 400);
offsetX = 0;
offsetY = 0;
inputHeight = 18;
outputHeight = ((this.height - (padding * 2)) - spacing) - inputHeight;
outputMaxLines = 50;
cols = Math.floor((this.width - (padding * 2)) / 8) - 1;
mc = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth());
mc.createTextField("output", mc.getNextHighestDepth(), padding, padding, this.width - (padding * 2), outputHeight);
output = mc.output;
mc.createTextField("input", mc.getNextHighestDepth(), padding, (padding + outputHeight) + spacing, this.width - (padding * 2), 20);
input = mc.input;
input.text = promptVar;
input.addListener(this);
Key.addListener(this);
history = new Array();
format = new TextFormat();
format.color = COLOR_TEXT;
format.font = "Courier";
format.size = 10;
input.setNewTextFormat(format);
input.setTextFormat(format);
output.setTextFormat(format);
output.setNewTextFormat(format);
output.wordWrap = true;
cursorMc = mc.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), mc.getNextHighestDepth());
cursorMc.lineStyle(0, COLOR_TEXT);
cursorMc.moveTo(0, 0);
cursorMc.lineTo(8, 0);
setInterval(function (cursorMc) {
cursorMc._visible = !cursorMc._visible;
}, 200, cursorMc);
cursorMc._y = ((this.height - padding) - 2) + offsetY;
updateCursor();
codepage = new Array();
codepage[221] = "\u00B4";
codepage[304] = "=";
codepage[306] = "\"";
codepage[307] = "\u00A7";
codepage[310] = "&";
codepage[311] = "/";
codepage[312] = "(";
codepage[313] = ")";
codepage[443] = "*";
codepage[444] = ";";
codepage[446] = ":";
codepage[447] = "'";
codepage[475] = "?";
codepage[477] = "`";
codepage[482] = ">";
codepage[1584] = "}";
codepage[1591] = "{";
codepage[1592] = "[";
codepage[1593] = "]";
codepage[1617] = "@";
codepage[1723] = "~";
codepage[1755] = "\\";
codepage[1762] = "|";
redraw();
stdout("Neodelight Flash Console " + _global.$FLANIX_VERSION);
stdout("OK.");
active = false;
mc._visible = false;
}
}
function show() {
active = true;
mc._visible = true;
mc.swapDepths(_root.getNextHighestDepth());
}
function hide() {
active = false;
mc._visible = false;
}
function echo(msg) {
if (msg == undefined) {
msg = "";
}
if (output.maxscroll > outputMaxLines) {
var _local2 = output.text.split(String.fromCharCode(13));
_local2.splice(0, _local2.length - outputMaxLines);
output.text = _local2.join(newline);
} else if (output.text != "") {
}
output.text = output.text + newline;
output.text = output.text + msg;
output.scroll = output.maxscroll;
}
function stdout(msg) {
if (doBufStdOut) {
bufStdOut = bufStdOut + msg;
} else {
echo(msg);
}
}
function flushStdOut() {
echo(bufStdOut);
bufStdOut = "";
}
function stderr(msg) {
echo(msg);
}
function setExitCode(code) {
ram["?"] = code;
}
function cls() {
output.text = "";
}
static function addFunction(id, f) {
_global.bin[id.toLowerCase()] = f;
}
function getObjectAtCwd() {
if (ram.CWD == undefined) {
ram.CWD = "/";
}
return(getObjectAtPath(ram.CWD));
}
function getObjectAtPath(fullPath) {
if (fullPath.substr(0, 1) != "/") {
fullPath = (ram.CWD + "/") + fullPath;
}
var _local4 = simplifyPath(fullPath).split("/");
var _local5 = _global;
_global._level0 = _level0;
_global._level1 = _level1;
_global._level2 = _level2;
_global._level3 = _level3;
var _local3 = 0;
while (_local3 < _local4.length) {
if (_local4[_local3] != "") {
_local5 = _local5[_local4[_local3]];
}
_local3++;
}
return(_local5);
}
function getBasePath(fullPath) {
if (fullPath.charAt(fullPath.length - 1) == "/") {
return(fullPath);
}
if (fullPath.charAt(0) != "/") {
fullPath = (ram.CWD + "/") + fullPath;
}
var _local3 = simplifyPath(fullPath).split("/");
_local3.pop();
return(_local3.join("/") + "/");
}
function getFileName(fullPath) {
return(String(fullPath.split("/").pop()));
}
function simplifyPath(fullPath) {
var _local2 = fullPath.split("/");
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] == "..") {
_local2.splice(_local1 - 1, 2);
_local1 = Math.max(-1, _local1 - 2);
} else if (((_local2[_local1] == ".") || (!_local2[_local1])) || (_local2[_local1] == "")) {
_local2.splice(_local1, 1);
_local1 = Math.max(-1, _local1 - 1);
}
_local1++;
}
fullPath = "/" + _local2.join("/");
return(fullPath);
}
function onKeyDown() {
switch (Key.getCode()) {
case 8 :
if (!active) {
break;
}
if ((cursorPos - 1) >= promptVar.length) {
input.text = input.text.substring(0, cursorPos - 1) + input.text.substring(cursorPos, input.text.length);
updateCursor(-1);
}
break;
case 9 :
if (!active) {
} else {
var _local6 = input.text.substring(promptVar.length, cursorPos);
var _local10 = input.text.lastIndexOf(" ", cursorPos);
if (_local10 != -1) {
_local6 = input.text.substring(_local10 + 1, input.text.length + 1);
}
var _local13 = ((ram.CWD + "/") + _local6).split("/");
var _local7 = String(_local13.pop());
var _local14 = _local13.join("/");
var _local8 = getObjectAtPath(_local14);
var _local3 = new Array();
for (var _local4 in _global.bin) {
if ((_local4.substr(0, _local6.length) == _local6) && (!_local3[_local4])) {
_local3.push(_local4);
_local3[_local4] = true;
}
}
for (var _local4 in _local8) {
if ((_local4.substr(0, _local7.length) == _local7) && (!_local3[_local4])) {
_local3.push(_local4);
_local3[_local4] = true;
}
}
if (_local3.length == 1) {
insertAtCursor(_local3[0].substring(_local7.length, _local3[0].length));
} else if (_local3.length > 1) {
stdout();
var _local5 = _local3[0].length;
var _local4 = 0;
while (_local4 < _local3.length) {
stdout(_local3[_local4]);
while (_local3[_local4].substr(0, _local5) != _local3[0].substr(0, _local5)) {
_local5--;
}
_local4++;
}
if (_local5) {
insertAtCursor(_local3[0].substring(_local7.length, Math.min(_local5, _local3[0].length)));
}
}
break;
if (active) {
var _local9 = input.text.substring(promptVar.length, input.text.length);
history.unshift(_local9);
if (history.length > historyLen) {
history.pop();
}
historyPtr = -1;
stdout(promptVar + _local9);
stdout(executeCommand(_local9));
input.text = promptVar;
updatePrompt();
updateCursor();
}
if (active) {
Selection.setFocus(mc.input);
Selection.setSelection(0, 0);
}
break;
break;
break;
break;
break;
cursorPos = input.text.length;
updateCursor();
break;
cursorPos = 0;
updateCursor();
break;
if (!active) {
} else {
updateCursor(-1);
break;
if (!active) {
} else {
historyPtr = Math.min(history.length - 1, historyPtr + 1);
input.text = promptVar + history[historyPtr];
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
updateCursor(1);
break;
if (!active) {
} else {
historyPtr = Math.max(-1, historyPtr - 1);
if (historyPtr == -1) {
input.text = promptVar;
} else {
input.text = promptVar + history[historyPtr];
}
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
input.text = input.text.substring(0, cursorPos) + input.text.substring(cursorPos + 1, input.text.length);
break;
if (active) {
hide();
} else {
show();
}
break;
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || Key.isToggled(20)) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
}
}
}
}
}
case 13 :
if (active) {
var _local9 = input.text.substring(promptVar.length, input.text.length);
history.unshift(_local9);
if (history.length > historyLen) {
history.pop();
}
historyPtr = -1;
stdout(promptVar + _local9);
stdout(executeCommand(_local9));
input.text = promptVar;
updatePrompt();
updateCursor();
}
if (active) {
Selection.setFocus(mc.input);
Selection.setSelection(0, 0);
}
break;
case 16 :
break;
case 17 :
break;
case 18 :
break;
case 20 :
break;
case 35 :
cursorPos = input.text.length;
updateCursor();
break;
case 36 :
cursorPos = 0;
updateCursor();
break;
case 37 :
if (!active) {
} else {
updateCursor(-1);
break;
if (!active) {
} else {
historyPtr = Math.min(history.length - 1, historyPtr + 1);
input.text = promptVar + history[historyPtr];
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
updateCursor(1);
break;
if (!active) {
} else {
historyPtr = Math.max(-1, historyPtr - 1);
if (historyPtr == -1) {
input.text = promptVar;
} else {
input.text = promptVar + history[historyPtr];
}
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
input.text = input.text.substring(0, cursorPos) + input.text.substring(cursorPos + 1, input.text.length);
break;
if (active) {
hide();
} else {
show();
}
break;
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || Key.isToggled(20)) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
}
}
}
}
case 38 :
if (!active) {
} else {
historyPtr = Math.min(history.length - 1, historyPtr + 1);
input.text = promptVar + history[historyPtr];
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
updateCursor(1);
break;
if (!active) {
} else {
historyPtr = Math.max(-1, historyPtr - 1);
if (historyPtr == -1) {
input.text = promptVar;
} else {
input.text = promptVar + history[historyPtr];
}
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
input.text = input.text.substring(0, cursorPos) + input.text.substring(cursorPos + 1, input.text.length);
break;
if (active) {
hide();
} else {
show();
}
break;
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
}
}
}
case 39 :
if (!active) {
} else {
updateCursor(1);
break;
if (!active) {
} else {
historyPtr = Math.max(-1, historyPtr - 1);
if (historyPtr == -1) {
input.text = promptVar;
} else {
input.text = promptVar + history[historyPtr];
}
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
input.text = input.text.substring(0, cursorPos) + input.text.substring(cursorPos + 1, input.text.length);
break;
if (active) {
hide();
} else {
show();
}
break;
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
}
}
case 40 :
if (!active) {
} else {
historyPtr = Math.max(-1, historyPtr - 1);
if (historyPtr == -1) {
input.text = promptVar;
} else {
input.text = promptVar + history[historyPtr];
}
cursorPos = input.text.length;
updateCursor();
break;
if (!active) {
} else {
input.text = input.text.substring(0, cursorPos) + input.text.substring(cursorPos + 1, input.text.length);
break;
if (active) {
hide();
} else {
show();
}
break;
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
}
case 46 :
if (!active) {
} else {
input.text = input.text.substring(0, cursorPos) + input.text.substring(cursorPos + 1, input.text.length);
break;
if (active) {
hide();
} else {
show();
}
break;
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
case 220 :
if (active) {
hide();
} else {
show();
}
break;
default :
if (!active) {
} else {
var _local11 = ((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0);
var _local15 = Key.getAscii();
var _local12;
if (codepage[_local11]) {
_local12 = codepage[_local11];
} else {
_local12 = String.fromCharCode(_local15);
}
insertAtCursor(_local12);
Selection.setFocus(mc.input);
Selection.setSelection(2, 2);
}
}
}
function redraw() {
mc.lineStyle(0, COLOR_LINE);
mc.moveTo(offsetX, offsetY);
mc.beginFill(COLOR_BG, COLOR_BG_ALPHA);
mc.lineTo(width + offsetX, offsetY);
mc.lineTo(width + offsetX, height + offsetY);
mc.lineTo(offsetX, height + offsetY);
mc.lineTo(offsetX, offsetY);
mc.endFill();
output._x = offsetX;
output._y = offsetY;
input._x = padding + offsetX;
input._y = ((padding + offsetY) + outputHeight) + spacing;
updatePrompt();
updateCursor();
}
function updateCursor(offset) {
if (offset) {
cursorPos = cursorPos + offset;
}
cursorPos = Math.max(promptVar.length, Math.min(input.text.length, cursorPos));
cursorMc._x = ((offsetX + padding) + 2) + (cursorPos * 8);
cursorMc._visible = true;
}
function updatePrompt() {
promptVar = ram.CWD + ">";
input.text = promptVar;
}
function insertAtCursor(str) {
input.text = (input.text.substring(0, cursorPos) + str) + input.text.substring(cursorPos, input.text.length);
updateCursor(str.length);
}
function executeCommand(cmd, stdin) {
var _local24 = "";
cmd = com.neodelight.std.XString.trim(cmd);
while (cmd.charAt(cmd.length - 1) == ";") {
cmd = cmd.substr(0, cmd.length - 1);
}
var _local4 = "cmd";
var _local2 = "";
var _local12 = cmd.length - 1;
while (_local12 >= 0) {
if (cmd.charAt(_local12 - 1) == "\\") {
} else {
var _local3 = cmd.charAt(_local12);
switch (_local4) {
case "cmd" :
switch (_local3) {
case "\"" :
_local4 = "quotDouble";
break;
case "'" :
_local4 = "quotSingle";
break;
case ";" :
case newline :
var _local19 = cmd.substr(0, _local12);
var _local14 = String(executeCommand(_local19));
if (_local14 != "") {
_local24 = _local24 + (_local14 + newline);
}
cmd = cmd.substr(_local12 + 1);
_local12 = -1;
}
break;
case "quotSingle" :
if (_local3 == "'") {
_local4 = "cmd";
}
break;
case "quotDouble" :
if (_local3 == "\"") {
_local4 = "cmd";
}
break;
default :
trace(("#ERROR: unknown mode: " + _local4) + ".. flanix is buggy");
}
}
_local12--;
}
if (ram.CWD == undefined) {
ram.CWD = "/";
}
var _local18;
var _local21;
var _local11 = new Array();
_local2 = "";
_local4 = "cmd";
cmd = cmd + " ";
_local12 = 0;
while (_local12 < cmd.length) {
var _local3 = cmd.charAt(_local12);
switch (_local4) {
case "cmd" :
if (_local3 == " ") {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
_local4 = "param";
if (_local2 != "") {
_local11.push(_local2);
}
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
case "param" :
if (_local2 == "") {
if (_local3 == " ") {
break;
}
if (_local3 == "`") {
_local4 = "paramExpression";
_local2 = _local2 + _local3;
} else if (_local3 == "\"") {
_local4 = "paramQuoteDouble";
} else if (_local3 == "'") {
_local4 = "paramQuoteSingle";
} else if (_local3 == "|") {
_local18 = cmd.substr(_local12 + 1);
_local21 = "|";
_local12 = Number.MAX_VALUE;
} else if (_local3 == ">") {
_local4 = "paramPipeOutFile";
} else {
if (_local3 == " ") {
_local4 = "param";
if (Number(_local2) == _local2) {
_local2 = Number(_local2);
} else {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
if (_local2.indexOf("$") != -1) {
if (_local2.length <= (_local2.indexOf("$") + 1)) {
stderr("bash: unknown variable: $");
setExitCode(2);
return(undefined);
}
var _local8 = ram[_local2.substr(_local2.indexOf("$") + 1)];
if (_local8 == undefined) {
_local8 = "";
}
_local2 = _local2.substring(0, _local2.indexOf("$")) + String(_local8);
}
}
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
if ((_local3 == "`") && (cmd.charAt(_local12 - 1) != "\\")) {
_local2 = executeCommand(_local2);
_local4 = "param";
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
if ((_local3 == "'") && (cmd.charAt(_local12 - 1) != "\\")) {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
_local4 = "param";
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
if ((_local3 == "\"") && (cmd.charAt(_local12 - 1) != "\\")) {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
while (_local2.indexOf("$") != -1) {
var _local6 = _local2.indexOf("$");
var _local10 = Math.min(_local2.length, ((_local2.indexOf(" ", _local6) > -1) ? _local2.indexOf(" ", _local6) : Number.MAX_VALUE));
var _local13 = _local2.substring(_local6 + 1, _local10);
var _local8 = ram[_local13];
if (_local8 == undefined) {
_local8 = "";
}
_local2 = (_local2.slice(0, _local6) + String(_local8)) + _local2.slice(_local10, _local2.length);
}
_local4 = "param";
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
if ((_local3 == " ") && (_local2 == "")) {
} else {
if (_local3 == " ") {
_local18 = _local2;
_local21 = ">";
_local2 = "";
_local4 = "param";
} else {
_local2 = _local2 + _local3;
}
break;
trace("unknown mode: " + _local4);
}
}
}
if (_local3 == " ") {
_local4 = "param";
if (Number(_local2) == _local2) {
_local2 = Number(_local2);
} else {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
if (_local2.indexOf("$") != -1) {
if (_local2.length <= (_local2.indexOf("$") + 1)) {
stderr("bash: unknown variable: $");
setExitCode(2);
return(undefined);
}
var _local8 = ram[_local2.substr(_local2.indexOf("$") + 1)];
if (_local8 == undefined) {
_local8 = "";
}
_local2 = _local2.substring(0, _local2.indexOf("$")) + String(_local8);
}
}
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
case "paramExpression" :
if ((_local3 == "`") && (cmd.charAt(_local12 - 1) != "\\")) {
_local2 = executeCommand(_local2);
_local4 = "param";
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
case "paramQuoteSingle" :
if ((_local3 == "'") && (cmd.charAt(_local12 - 1) != "\\")) {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
_local4 = "param";
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
case "paramQuoteDouble" :
if ((_local3 == "\"") && (cmd.charAt(_local12 - 1) != "\\")) {
_local2 = com.neodelight.std.XString.stripSlashes(_local2);
while (_local2.indexOf("$") != -1) {
var _local6 = _local2.indexOf("$");
var _local10 = Math.min(_local2.length, ((_local2.indexOf(" ", _local6) > -1) ? (_local2.indexOf(" ", _local6)) : Number.MAX_VALUE));
var _local13 = _local2.substring(_local6 + 1, _local10);
var _local8 = ram[_local13];
if (_local8 == undefined) {
_local8 = "";
}
_local2 = (_local2.slice(0, _local6) + String(_local8)) + _local2.slice(_local10, _local2.length);
}
_local4 = "param";
_local11.push(_local2);
_local2 = "";
} else {
_local2 = _local2 + _local3;
}
break;
case "paramPipeOutFile" :
if ((_local3 == " ") && (_local2 == "")) {
} else {
if (_local3 == " ") {
_local18 = _local2;
_local21 = ">";
_local2 = "";
_local4 = "param";
} else {
_local2 = _local2 + _local3;
}
break;
trace("unknown mode: " + _local4);
}
default :
trace("unknown mode: " + _local4);
}
_local12++;
}
var _local22 = "";
if (_local11.length) {
var _local7 = new Array();
_local12 = 1;
while (_local12 < _local11.length) {
_local7.push(_local11[_local12]);
_local12++;
}
var _local15 = {};
for (_local12 in _local7) {
if (_local7[_local12].substr(0, 2) == "--") {
_local15[_local7[_local12].substr(2, _local7[_local12].length - 2)] = true;
} else if (String(_local7[_local12]).substr(0, 1) == "-") {
var _local9 = 1;
while (_local9 < String(_local7[_local12]).length) {
_local15[String(_local7[_local12]).charAt(_local9)] = true;
_local9++;
}
}
}
if (stdin != undefined) {
_local7.push(stdin);
}
var _local20 = String(_local11[0]);
setExitCode(undefined);
var _local17;
var _local23;
if (_local20.indexOf("/") != -1) {
if (_local20.charAt(0) == "/") {
_local17 = getObjectAtPath(_local20);
_local23 = getBasePath(_local20);
} else {
_local17 = getObjectAtPath((ram.CWD + "/") + _local20);
_local23 = getBasePath((ram.CWD + "/") + _local20);
}
} else {
var _local16 = ((ram.PATH.indexOf("/bin") == -1) ? (("/bin:" + ram.PATH).split(":")) : (ram.PATH.split(":")));
_local12 = 0;
while (_local12 < _local16.length) {
_local17 = getObjectAtPath((_local16[_local12] + "/") + _local20);
if (_local17 != undefined) {
_local23 = _local16[_local12];
break;
}
_local12++;
}
}
if (_local17 != undefined) {
switch (typeof(_local17)) {
case "function" :
var _local27 = Function(_local17);
parameters = _local7;
flags = _local15;
_local22 = _local27.apply(getObjectAtPath(_local23), _local7);
break;
case "string" :
var _local25 = _local17.split(newline, 2);
if (_local25[0] == "#!/bin/sh") {
_local22 = executeCommand(_local25[1]);
} else {
stderr("bash: to execute a string as a script, type: sh <filename>");
}
break;
default :
stderr(((("bash: not a command: " + _local20) + " (") + typeof(_local17)) + ")");
}
} else {
stderr("bash: command not found or undefined: " + _local20);
setExitCode(3);
}
ram.CWD = simplifyPath(ram.CWD);
if (_local18) {
switch (_local21) {
case "|" :
_local22 = executeCommand(_local18, _local22);
break;
case ">" :
if (_local18.indexOf("/") != -1) {
var _local26 = getObjectAtPath(getBasePath(_local18));
_local26[getFileName(_local18)] = _local22;
} else {
var _local26 = getObjectAtCwd();
_local26[_local18] = _local22;
}
break;
case "<" :
}
_local22 = "";
}
} else {
_local22 = "";
}
return(_local24 + _local22);
}
static var COLOR_LINE = 65280;
static var COLOR_BG = 2236962;
static var COLOR_BG_ALPHA = 100;
static var COLOR_TEXT = 65280;
var padding = 5;
var spacing = 5;
var promptVar = ">";
var historyLen = 100;
var historyPtr = -1;
var cursorPos = 0;
var doBufStdOut = false;
var bufStdOut = "";
var ram = {CWD:"/", PATH:"/bin:."};
}
Symbol 546 MovieClip [__Packages.com.neodelight.std.Unique] Frame 0
class com.neodelight.std.Unique
{
function Unique () {
}
static function getId() {
return(id++);
}
static function getKey() {
return("k" + (key++));
}
static var key = 1;
static var id = 1;
}
Symbol 547 MovieClip [__Packages.com.neodelight.std.AutoConfig] Frame 0
class com.neodelight.std.AutoConfig
{
function AutoConfig () {
}
static function getConfig(config) {
var _local11 = com.neodelight.std.XSystem.getProtocol(config.url);
var _local17 = com.neodelight.std.XSystem.getDomain(config.url);
var _local13 = ((_local11 + "://") + _local17).toLowerCase();
_global.bin.syslog("AutoConfig", "url: " + _local13);
var _local14 = "win";
_global.bin.syslog("AutoConfig", "os: " + _local14);
var _local12 = "";
_global.bin.syslog("AutoConfig", "player: " + _local12);
var _local15 = config.configs.split(",");
var _local10 = 0;
while (_local10 < _local15.length) {
var _local9 = false;
var _local7 = false;
var _local8 = false;
var _local6 = com.neodelight.std.Blueprint.getBlueprint(_local15[_local10]);
var _local2 = _local6.configNeedDomain.split(",");
if (_local2 != undefined) {
var _local3 = 0;
while (_local3 < _local2.length) {
_global.bin.syslog("AutoConfig", ("check pattern \"" + _local2[_local3]) + "\"");
if ((_local2[_local3].substring(_local2[_local3].length - 1) == "*") && (_local2[_local3] != "*")) {
_local2[_local3] = _local2[_local3].substring(0, _local2[_local3].length - 1);
}
if ((((_local11 == "http") && (_local13.indexOf(_local2[_local3]) != -1)) || (_local2[_local3] == "*")) || ((_local11 == "file") && (_local2[_local3] == "local"))) {
_local9 = true;
break;
}
_local3++;
}
} else {
_local9 = true;
}
var _local4 = _local6.configNeedOs.split(",");
if (_local4 != undefined) {
var _local3 = 0;
while (_local3 < _local4.length) {
if (_local14.indexOf(_local4[_local3]) > -1) {
_local7 = true;
break;
}
_local3++;
}
} else {
_local7 = true;
}
var _local5 = _local6.configNeedPlayer.split(",");
if (_local5 != undefined) {
var _local3 = 0;
while (_local3 < _local5.length) {
if (_local12 == _local5[_local3]) {
_local8 = true;
break;
}
_local3++;
}
} else {
_local8 = true;
}
if ((_local9 && (_local7)) && (_local8)) {
return(_local6);
}
_local10++;
}
}
}
Symbol 548 MovieClip [__Packages.com.neodelight.std.XSystem] Frame 0
class com.neodelight.std.XSystem
{
function XSystem () {
}
static function getBaseUrl() {
var _local1 = _url.toLowerCase();
var _local2 = _local1.length;
var _local3 = _local1.indexOf("?", 0);
if (_local3 > 0) {
_local2 = _local3;
}
var _local4 = "offline";
if (_local1.substr(0, 4) == "http") {
_local4 = _url.substr(7, _local2 - 7);
}
return(_local4);
}
static function getDomain(url) {
if (!url) {
url = _url;
}
if (url.indexOf("file://") == 0) {
return(undefined);
}
return(url.substr(7, ((url.indexOf("/", 7) == -1) ? (url.length - 7) : (url.indexOf("/", 7) - 7))));
}
static function getProtocol(url) {
if (!url) {
url = _url;
}
return(url.substr(0, url.indexOf("/") - 1));
}
static function getUrlParam(strParam) {
var _local4 = _url.toLowerCase();
var _local1 = _local4.indexOf(strParam);
var _local5 = strParam.length;
if (_local1 > 0) {
var _local3;
var _local2 = _local4.indexOf("&", _local1 + _local5);
if (_local2 > 0) {
_local3 = _local2 - _local1;
} else {
_local3 = _url.length - _local1;
}
return(_url.substr((_local1 + _local5) + 1, _local3));
}
return("");
}
static function isOffline() {
return(_url.toLowerCase().substr(0, 4) != "http");
}
static function isMacintosh() {
return(false);
}
}
Symbol 549 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("1.5");
}
static function showPreloaderAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 550 MovieClip [__Packages.com.neodelight.game.Game] Frame 0
class com.neodelight.game.Game
{
var id, config, name, title, player, snd, rootFx, stageWidth, stageHeight, hooker, flow, actLevel;
function Game (config) {
com.neodelight.flanix.Kernel.init();
id = "game" + com.neodelight.std.Unique.getId();
if (config) {
this.config = config;
} else {
this.config = com.neodelight.std.Blueprint.getBlueprint("game");
if (!this.config) {
trace("!!!blueprint \"game\" not found");
}
}
_global.game = this;
name = this.config.gameName;
title = this.config.gameTitle;
com.neodelight.std.ClassLib.init();
if (com.neodelight.std.Blueprint.isBlueprint("player")) {
var _local6 = com.neodelight.std.Blueprint.getBlueprint("player");
if (!_local6) {
trace("!!!blueprint \"player\" not found");
}
var _local5 = com.neodelight.std.ClassLib.getClass("Player");
if (_local5 == undefined) {
trace("!!!class \"Player\" not found in ClassLib");
} else {
var _local7 = new _local5[undefined](_local6);
player = _global.player;
}
}
_global.highscores = new com.neodelight.game.Highscores(name);
_global.score = new com.neodelight.game.Score(this.config.gameScoreTypes);
snd = new com.neodelight.std.XSound();
_global.snd = snd;
_root.snd = snd;
rootFx = new com.neodelight.std.ColorFader(_root);
stageWidth = Stage.width;
stageHeight = Stage.height;
if (this.config.gameTimer) {
_global.timer = new com.neodelight.std.Timer(this.config);
} else {
_global.dt = 1;
}
hooker = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth());
hooker.clients = new Object();
hooker.onEnterFrame = function () {
if (_global.paused) {
return(undefined);
}
for (var _local3 in this.clients) {
this.clients[_local3].move();
}
};
com.neodelight.std.Inputs.init();
flow = new com.neodelight.std.Flow();
reset();
_global.bin.lvl = function (n) {
_global.game.initLevel(n);
};
}
function reset() {
_global.highscores.init();
_global.score.reset();
hooker.clients = new Object();
actLevel = 0;
}
function initLevel(id) {
trace(("initLevel(id:" + id) + ")");
if (id != undefined) {
actLevel = id;
}
delete hooker.clients;
hooker.clients = new Object();
_global.score.initLevel();
}
function initGame() {
reset();
}
function hookIn(o) {
var _local2 = (o.id ? (o.id) : (com.neodelight.std.Unique.getKey()));
if (!_local2) {
trace("!!!can't assign id to object:" + o);
}
trace((("o:" + o) + ",o.id:") + o.id);
if (hooker.clients[_local2]) {
trace(("!id " + _local2) + " already exists in hook");
return("");
}
hooker.clients[_local2] = o;
return(_local2);
}
function hookOut(o) {
trace((("o:" + o) + ",o.id:") + o.id);
delete hooker.clients[o.id];
}
function pause(stat, mode) {
_global.paused = stat;
}
static var PAUSE_ENGINE = 1;
static var PAUSE_USER = 2;
}
Symbol 551 MovieClip [__Packages.com.neodelight.std.XSound] Frame 0
class com.neodelight.std.XSound extends Sound
{
var channels, channelsById, groups, master;
function XSound () {
super();
channels = new Array(channelsAmount);
channelsById = new Array();
groups = {fx:1, music:1};
var _local4 = 0;
while (_local4 < channelsAmount) {
channels[_local4] = new com.neodelight.std.XSoundChannel(_local4, _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth()), groups);
_local4++;
}
master = new Sound();
master.setVolume(100);
}
function addGroup(id) {
groups[id] = 1;
}
function setVolume(volume) {
master.setVolume(volume * 100);
}
function getVolume() {
return(master.getVolume() * 0.01);
}
function setGroupVolume(volume, id) {
groups[id] = volume;
var _local2 = channels.length;
while (_local2--) {
channels[_local2].setVolume();
}
}
function getGroupVolume(id) {
return(groups[id]);
}
function status() {
var _local3 = "";
var _local2 = 0;
while (_local2 < channelsAmount) {
_local3 = _local3 + (((_local2 + ": ") + channels[_local2]) + newline);
_local2++;
}
return(_local3);
}
function playSequence(sequence, locked, group, channelId) {
var _local2 = getChannel();
delete channelsById[_local2.channelId];
_local2.channelId = channelId;
if (channelId) {
channelsById[channelId] = _local2;
}
_local2.playSequence(sequence, locked, group);
}
function playLoop(libId, volume, group, channelId) {
var _local2 = getChannel();
delete channelsById[_local2.channelId];
_local2.channelId = channelId;
if (channelId) {
channelsById[channelId] = _local2;
}
_local2.attachSound(libId);
_local2.start(0, 99999);
_local2.group = (group ? (group) : "music");
_local2.setVolume(volume);
_local2.libId = libId;
_local2.locked = true;
_local2.playing = true;
return(_local2);
}
function playEvent(libId, volume, group, channelId) {
var _local2 = getChannel();
delete channelsById[_local2.channelId];
_local2.channelId = channelId;
if (channelId) {
channelsById[channelId] = _local2;
}
_local2.attachSound(libId);
_local2.start(0, 0);
_local2.group = (group ? (group) : "fx");
_local2.setVolume(volume);
_local2.libId = libId;
_local2.playing = true;
return(_local2);
}
function getChannel() {
var _local4 = -1;
var _local5 = -1;
var _local3 = 0;
while (_local3 < channels.length) {
var _local2 = channels[_local3];
if (!_local2.locked) {
if (_local2.playing) {
if (_local2.position > _local4) {
_local4 = _local2.position;
_local5 = _local2.id;
}
} else {
return(channels[_local3]);
}
}
_local3++;
}
if (_local5 != -1) {
return(channels[_local5]);
}
}
function fadeChannel(id, fadeTo, frames) {
channelsById[id].fade(fadeTo, frames);
}
function stop(libId) {
var _local2 = 0;
while (_local2 < channels.length) {
if ((channels[_local2].libId == libId) || (!libId)) {
channels[_local2].stop();
}
_local2++;
}
}
var channelsAmount = 8;
}
Symbol 552 MovieClip [__Packages.com.neodelight.std.XSoundChannel] Frame 0
class com.neodelight.std.XSoundChannel extends Sound
{
var id, playing, locked, groups, mc, volume, group, fadeOutFlag, fading, fadeTo, fadeSpeed, sequence, sequencePointer, libId, sequenceStep, attachSound, start, channelId;
function XSoundChannel (id, mc, groups) {
super(mc);
this.id = id;
playing = false;
locked = false;
this.groups = groups;
this.mc = mc;
this.mc.channel = this;
this.mc.onEnterFrame = function () {
if (!this.channel.fading) {
return(undefined);
}
var _local2 = this.channel.getVolume() + this.channel.fadeSpeed;
_local2 = ((this.channel.fadeSpeed > 0) ? (Math.min(this.channel.fadeTo, _local2)) : (Math.max(this.channel.fadeTo, _local2)));
if (_local2 == this.channel.fadeTo) {
this.channel.fading = false;
if (this.channel.fadeOutFlag) {
this.channel.stop();
}
}
this.channel.setVolume(_local2);
};
}
function setVolume(volume) {
if (volume != undefined) {
this.volume = volume;
}
super.setVolume(Math.max(0, Math.min(100, (this.volume * 100) * groups[group])));
}
function getVolume() {
return(volume);
}
function fade(fadeTo, frames) {
if (fadeTo == -1) {
fadeOutFlag = true;
fadeTo = 0;
} else {
fadeOutFlag = false;
}
if (frames <= 0) {
setVolume(fadeTo);
fading = false;
} else {
fading = true;
this.fadeTo = Math.min(1, fadeTo);
fadeSpeed = (fadeTo - getVolume()) / frames;
}
}
function playSequence(sequence, locked, group) {
this.sequence = sequence;
sequencePointer = 0;
this.locked = locked;
fading = false;
this.group = (group ? (group) : "fx");
playing = true;
stepSequence();
onSoundComplete = stepSequence;
libId = "__SEQUENCE__";
}
function stepSequence() {
if (sequenceStep.goto != undefined) {
sequencePointer = sequenceStep.goto;
}
var _local2 = sequence[sequencePointer++];
sequenceStep = _local2;
if (!_local2) {
stop();
}
if (_local2.times == 0) {
_local2.times = 9999;
_local2.goto = sequencePointer - 1;
} else if (_local2.times == undefined) {
_local2.times = 1;
}
attachSound(_local2.id);
setVolume(_local2.vol);
start((_local2.offset ? (_local2.offset) : 0), _local2.times);
if (_local2.fadeFrames) {
fade(_local2.fadeTo, _local2.fadeFrames);
}
}
function stop() {
onSoundComplete = undefined;
sequenceStep = undefined;
locked = false;
playing = false;
fading = false;
if (channelId) {
delete _global.snd.channelsById[channelId];
}
super.stop();
}
function onSoundComplete() {
playing = false;
locked = false;
fading = false;
}
function toString() {
return((((((((("v:" + getVolume()) + " p:") + playing) + " l:") + locked) + " f:") + fading) + " lib:") + libId);
}
}
Symbol 553 MovieClip [__Packages.com.neodelight.std.ColorFader] Frame 0
class com.neodelight.std.ColorFader
{
var mc, col, acol, totStep, actStep, clearFx, fcol, tcol;
function ColorFader (mc) {
this.mc = mc;
col = new Color(mc);
acol = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
totStep = 0;
actStep = 1;
clearFx = reset;
}
function fadeTo(tcol, steps) {
totStep = steps;
actStep = 0;
fcol = col.getTransform();
this.tcol = tcol;
if (steps == 0) {
totStep = 1;
step();
}
}
function queueFade(tcol) {
fadeTo(tcol, tcol.dt);
}
function clearQueue() {
}
function reset() {
col.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0});
}
function step() {
var _local2 = (++actStep) / totStep;
if (actStep > totStep) {
return(false);
}
var _local3 = 1 - _local2;
acol.ra = (fcol.ra * _local3) + (tcol.ra * _local2);
acol.rb = (fcol.rb * _local3) + (tcol.rb * _local2);
acol.ga = (fcol.ga * _local3) + (tcol.ga * _local2);
acol.gb = (fcol.gb * _local3) + (tcol.gb * _local2);
acol.ba = (fcol.ba * _local3) + (tcol.ba * _local2);
acol.bb = (fcol.bb * _local3) + (tcol.bb * _local2);
acol.aa = (fcol.aa * _local3) + (tcol.aa * _local2);
acol.ab = (fcol.ab * _local3) + (tcol.ab * _local2);
col.setTransform(acol);
return(actStep < totStep);
}
static var FX_NONE = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
static var FX_BLACK = {ra:0, rb:0, ga:0, gb:0, ba:0, bb:0, aa:100, ab:0};
}
Symbol 554 MovieClip [__Packages.com.neodelight.game.Highscores] Frame 0
class com.neodelight.game.Highscores
{
var gameName, charTableIndex, session;
function Highscores (gameName) {
this.gameName = gameName;
charTableIndex = new Array();
var _local2 = 0;
while (_local2 < charTable.length) {
charTableIndex[charTable.charCodeAt(_local2)] = _local2;
_local2++;
}
initSession();
}
function initSession() {
session = "";
while (session.length < 20) {
session = session + charTable.charAt(Math.round(Math.random() * (charTable.length - 4)));
}
}
function submit(pScore0, pDisciple, win) {
if (!pDisciple) {
pDisciple = "";
}
var _local3 = gameName;
var _local7 = "";
var _local2 = ("g=" + _local3) + "&";
_local2 = _local2 + (("d=" + pDisciple) + "&");
_local2 = _local2 + (("s0=" + pScore0) + "&");
_local2 = _local2 + (("s1=" + _local7) + "&");
_local2 = _local2 + ("se=" + session);
_local2 = _local2 + "&c=42";
var _local6 = (((urlSubmit + "?g=") + _local3) + "&s=") + escape(encrypt(encrypt(_local2, keystring), keystring2)).split("%").join("_");
if (win == undefined) {
win = ((_url.indexOf("neodelight.com") != -1) ? "_top" : "_blank");
}
getURL (_local6, win);
}
function encrypt(text, pKey) {
var _local9 = "";
var _local4 = 0;
var _local6;
var _local3;
var _local5;
var _local2 = 0;
while (_local2 < text.length) {
_local5 = charTableIndex[text.charCodeAt(_local2)];
_local6 = charTableIndex[pKey.charCodeAt(_local2 % pKey.length)];
_local3 = (_local5 + _local6) + _local4;
_local3 = _local3 % charTable.length;
_local9 = _local9 + charTable.charAt(_local3);
_local4 = _local4 + _local3;
_local2++;
}
_local4 = _local4 % charTable.length;
return((_local9 + "") + charTable.charAt(_local4));
}
var charTable = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&=.";
var keystring = "whytheheckdoyouwasteyourtimehackingthishighscorelist";
var keystring2 = "AnotherKey4You2FindOut4815jiagIOm30JK";
var urlSubmit = "http://www.neodelight.com/v4/high_enter.php";
}
Symbol 555 MovieClip [__Packages.com.neodelight.game.Player] Frame 0
class com.neodelight.game.Player
{
var config, name, abilities, items;
function Player (config) {
trace("config: " + com.neodelight.std.XString.dump(config));
this.config = config;
name = config.name;
for (var _local4 in config.playerProps) {
trace("prop:" + _local4);
this[_local4] = config.playerProps[_local4];
}
reset();
_global.player = this;
}
function reset() {
trace("");
for (var _local2 in config.playerProps) {
com.neodelight.game.PlayerProp(this[_local2]).reset();
}
abilities = new Object();
items = new Object();
}
function init() {
trace("");
}
function toString() {
return("[Player]");
}
}
Symbol 556 MovieClip [__Packages.com.neodelight.game.PlayerProp] Frame 0
class com.neodelight.game.PlayerProp
{
var def, pValue, pMin, pMax;
function PlayerProp (min, max, def, act) {
if (min == undefined) {
min = Number.MIN_VALUE;
}
if (max == undefined) {
max = Number.MAX_VALUE;
}
this.min = (min);
this.max = (max);
this.def = com.neodelight.std.XMath.toNumber(def);
value = (((act == undefined) ? (def) : (act)));
}
function set value(value) {
pValue = Math.max(min, Math.min(max, value));
//return(this.value);
}
function get value() {
return(pValue);
}
function set min(min) {
pMin = min;
pValue = Math.max(this.min, Math.min(max, pValue));
//return(this.min);
}
function get min() {
return(pMin);
}
function set max(max) {
pMax = max;
pValue = Math.max(min, Math.min(this.max, pValue));
//return(this.max);
}
function get max() {
return(pMax);
}
function reset() {
value = (def);
}
function toString() {
return(((((((("[PlayerProp {value:" + value) + ", def:") + def) + " min:") + min) + ", max:") + max) + "}]");
}
}
Symbol 557 MovieClip [__Packages.com.neodelight.std.Flow] Frame 0
class com.neodelight.std.Flow
{
var mc, queue;
function Flow () {
_global.bin.syslog("Flow", "()");
var _local4 = _root.getNextHighestDepth();
mc = _root.createEmptyMovieClip("flowMc" + _local4, _local4);
queue = new Array();
}
function pushTask(onStep, o, params, times, exitFlag, exitVal) {
if ((!times) && (!exitFlag)) {
times = 1;
} else if (times <= 0) {
times = -1;
}
queue.push({o:o, onStep:onStep, p:params, exitTimes:times, exitFlag:exitFlag, exitVal:exitVal});
mc.p = this;
mc.onEnterFrame = function () {
this.p.step();
};
}
function step() {
var _local2 = queue[0];
var _local3 = _local2.onStep.apply(_local2.o, _local2.p);
if (_local2.exitFlag && (_local2.exitVal == _local3)) {
queue.shift();
if (!queue.length) {
delete mc.onEnterFrame;
}
return(undefined);
}
if (_local2.exitTimes > 0) {
if (!(--_local2.exitTimes)) {
queue.shift();
if (!queue.length) {
delete mc.onEnterFrame;
}
}
}
}
}
Symbol 558 MovieClip [__Packages.com.neodelight.std.ClassLib] Frame 0
class com.neodelight.std.ClassLib
{
function ClassLib () {
}
static function init() {
trace("");
var _local1 = com.neodelight.std.Blueprint.getBlueprint("classlib");
if (_local1) {
for (var _local2 in _local1) {
addClass(_local2, Function(_local1[_local2]));
}
}
}
static function addClass(id, c) {
lib[id] = c;
_global.lib.classlib = lib;
trace(id);
}
static function getClass(id) {
return(lib[id]);
}
static var lib = new Array();
}
Symbol 559 MovieClip [__Packages.com.neodelight.game.Score] Frame 0
class com.neodelight.game.Score
{
var flow, config, sharedObject, scoreTotal, scores, scoreLevel;
function Score (config) {
_global.bin.syslog("Score", "new Score()");
flow = new com.neodelight.std.Flow();
if (!config) {
config = Array(com.neodelight.std.Blueprint.getBlueprint("score").scoreTypes);
}
if (!config) {
_global.bin.syslog("Score", "constructor needs config", 3);
} else {
this.config = config;
var _local3 = 0;
while (_local3 < config.length) {
this.config[config[_local3].id] = config[_local3];
this.config[_local3].i = _local3;
_local3++;
}
sharedObject = SharedObject.getLocal(_global.game.name);
reset();
}
}
function reset() {
_global.bin.syslog("Score", "reset scores!");
scoreTotal = 0;
scores = new Object();
}
function initLevel() {
_global.bin.syslog("Score", "initLevel: " + _global.game.actLevel);
scores[_global.game.actLevel] = new Object();
var _local3 = 0;
while (_local3 < config.length) {
scores[_global.game.actLevel][config[_local3].id] = com.neodelight.std.XMath.toNumber(config[_local3].score);
_local3++;
}
scoreLevel = 0;
}
function alter(deltaScore, type) {
_global.bin.syslog("Score", ((("alter '" + type) + "' (") + deltaScore) + ", type)");
if (config[type].totalAdd) {
scoreTotal = scoreTotal + deltaScore;
scoreLevel = scoreLevel + deltaScore;
}
scores[_global.game.actLevel][type] = scores[_global.game.actLevel][type] + deltaScore;
}
function set(score, type) {
_global.bin.syslog("Score", ((("set '" + type) + "' (") + score) + ")");
if (config[type].totalAdd) {
scoreTotal = scoreTotal - com.neodelight.std.XMath.toNumber(scores[_global.game.actLevel][type]);
scoreTotal = scoreTotal + score;
}
scores[_global.game.actLevel][type] = score;
}
function get(type, level) {
if (level == undefined) {
level = _global.game.actLevel;
}
return(scores[level][type]);
}
function refresh() {
trace("score:refresh");
scoreTotal = 0;
for (var _local3 in scores) {
trace("level: " + _local3);
var _local2 = 0;
while (_local2 < config.length) {
trace((((("t: " + _local2) + " id:") + config[_local2].id) + " val:") + scores[_local3][config[_local2].id]);
if (config[_local2].totalAdd) {
scoreTotal = scoreTotal + scores[_local3][config[_local2].id];
}
_local2++;
}
}
}
function saveType(disciple) {
_global.bin.syslog("Score", "saveType: " + disciple);
var _local4 = _global.game.actLevel;
_global.bin.syslog("Score", "level = " + _local4);
var _local3 = sharedObject.data;
if (!_local3) {
trace("#ERROR: no sObj");
}
if (!_local3.scores) {
_local3.scores = new Object();
}
if (!_local3.scores[_local4]) {
_global.bin.syslog("Score", "creating level object");
_local3.scores[_local4] = new Object();
}
var _local6 = scores[_local4][config[disciple].id];
_global.bin.syslog("Score", "score = " + _local6);
if (!_local3.scores[_local4][disciple]) {
_local3.scores[_local4][disciple] = new Object();
}
_local3.scores[_local4][disciple].count = int(_local3.scores[_local4][disciple].count) + 1;
if ((_local3.scores[_local4][disciple].max == undefined) || (_local3.scores[_local4][disciple].max < _local6)) {
_local3.scores[_local4][disciple].max = _local6;
}
if ((_local3.scores[_local4][disciple].min == undefined) || (_local3.scores[_local4][disciple].min > _local6)) {
_local3.scores[_local4][disciple].min = _local6;
}
if (_local3.scores[_local4][disciple].avg == undefined) {
_local3.scores[_local4][disciple].avg = _local6;
} else {
_local3.scores[_local4][disciple].avg = ((_local3.scores[_local4][disciple].avg * (_local3.scores[_local4][disciple].count - 1)) + _local6) / _local3.scores[_local4][disciple].count;
}
}
function save(saveTotal) {
_global.bin.syslog("Score", "save");
var _local4 = sharedObject.data;
if (saveTotal) {
_local4.count = int(_local4.count) + 1;
if ((_local4.max == undefined) || (_local4.max > scoreTotal)) {
_local4.max = scoreTotal;
}
if ((_local4.min == undefined) || (_local4.min < scoreTotal)) {
_local4.min = scoreTotal;
}
_local4.avg = ((_local4.avg == undefined) ? (scoreTotal) : (((_local4.avg * (_local4.count - 1)) + scoreTotal) / _local4.count));
}
if (!_local4.scores) {
_local4.scores = new Object();
}
var _local5 = _global.game.actLevel;
if (!_local4.scores[_local5]) {
_local4.scores[_local5] = new Object();
}
var _local3 = 0;
while (_local3 < config.length) {
var _local6 = scores[_local5][config[_local3].id];
if (!_local4.scores[_local5][_local3]) {
_local4.scores[_local5][_local3] = new Object();
}
_local4.scores[_local5][_local3].count = int(_local4.scores[_local5][_local3].count) + 1;
if ((_local4.scores[_local5][_local3].max == undefined) || (_local4.scores[_local5][_local3].max < _local6)) {
_local4.scores[_local5][_local3].max = _local6;
}
if ((_local4.scores[_local5][_local3].min == undefined) || (_local4.scores[_local5][_local3].min > _local6)) {
_local4.scores[_local5][_local3].min = _local6;
}
if (_local4.scores[_local5][_local3].avg == undefined) {
_local4.scores[_local5][_local3].avg = _local6;
} else {
_local4.scores[_local5][_local3].avg = ((_local4.scores[_local5][_local3].avg * (_local4.scores[_local5][_local3].count - 1)) + _local6) / _local4.scores[_local5][_local3].count;
}
_local3++;
}
}
function getStatistics() {
_global.bin.syslog("Score", "getStatistics", 0);
var _local5 = sharedObject.data;
var _local4 = new Object();
_local4.scores = new Object();
_local4.avg = _local5.avg;
_local4.max = _local5.max;
_local4.cur = _local5.cur;
_local4.count = _local5.count;
for (var _local6 in _local5.scores) {
_local4.scores[_local6] = new Object();
var _local3 = 0;
while (_local3 < config.length) {
_local4.scores[_local6][config[_local3].id] = new Object();
_local4.scores[_local6][config[_local3].id].avg = _local5.scores[_local6][config[_local3].id].avg;
_local4.scores[_local6][config[_local3].id].min = _local5.scores[_local6][config[_local3].id].min;
_local4.scores[_local6][config[_local3].id].max = _local5.scores[_local6][config[_local3].id].max;
_local4.scores[_local6][config[_local3].id].count = _local5.scores[_local6][config[_local3].id].count;
_local4.scores[_local6][config[_local3].id].cur = scores[_local6][config[_local3].id];
_local3++;
}
}
return(_local4);
}
function clearSharedObject() {
_global.bin.syslog("Score", "clearSharedObject", 1);
sharedObject.clear();
sharedObject.data = new Object();
}
}
Symbol 560 MovieClip [__Packages.com.neodelight.std.Timer] Frame 0
class com.neodelight.std.Timer
{
var config, t, msPerFrame, smoothing;
function Timer (config) {
_global.dt = 1;
this.config = config;
t = getTimer();
msPerFrame = (this.config.timerFps ? (1000 / this.config.timerFps) : 33.3333333333333);
smoothing = Math.min(1, Math.max(0, com.neodelight.std.XMath.toNumber(this.config.timerSmoothing)));
}
function update() {
var _local3 = getTimer();
_global.dt = (smoothing * _global.dt) + (((1 - smoothing) * (_local3 - t)) / msPerFrame);
t = _local3;
}
}
Symbol 561 MovieClip [__Packages.com.neodelight.std.Inputs] Frame 0
class com.neodelight.std.Inputs
{
static var hookMc, vMouseA, vMouseVMax, vMouseXMin, vMouseXMax, vMouseYMin, vMouseYMax;
function Inputs () {
}
static function init() {
if (!inited) {
inited = true;
var _local6 = com.neodelight.std.Blueprint.getBlueprint("inputs");
if (_local6) {
var _local3 = _local6.inputsKeys;
if (_local3) {
var _local2 = _local3.length;
while (_local2--) {
define(_local3[_local2][0], _local3[_local2][1]);
}
}
}
Mouse.addListener(com.neodelight.std.Inputs);
}
if (!hookMc) {
var _local5 = (hookMc = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth()));
_local5.onEnterFrame = function () {
com.neodelight.std.Inputs.updateInputs();
if (com.neodelight.std.Inputs.isDown("mouse_click")) {
com.neodelight.std.Inputs.hookMc.onMouseDown();
}
if (com.neodelight.std.Inputs.isTriggeredUp("mouse_click")) {
com.neodelight.std.Inputs.hookMc.onMouseUp();
}
};
_local5.onMouseDown = function () {
var _local2 = com.neodelight.std.Inputs.listeners;
var _local1 = _local2.length;
while (_local1--) {
if (_local2[_local1].onVMouseDown) {
_local2[_local1].onVMouseDown();
}
}
};
_local5.onMouseUp = function () {
var _local2 = com.neodelight.std.Inputs.listeners;
var _local1 = _local2.length;
while (_local1--) {
if (_local2[_local1].onVMouseUp) {
_local2[_local1].onVMouseUp();
}
}
};
}
}
static function define(id, key) {
init();
trace(((("define: \"" + key) + "\" as \"") + id) + "\"");
switch (typeof(key)) {
case "string" :
var _local2 = String(key).length;
while (_local2--) {
define(id, String(key).charCodeAt(_local2));
}
break;
case "number" :
if (!inputs[id]) {
inputs[id] = {isDown:false, triggerDown:false, triggerUp:false, keys:new Array()};
}
inputs[id].keys.push(key);
break;
default :
_global.bin.syslog("Inputs", "define(): unknown variable type: " + typeof(key), 2);
}
}
static function setVirtual(id, isDown) {
vKeysDown[id] = isDown;
}
static function triggerVirtual(id, sustain) {
vKeysDown[id] = true;
vKeysReset.push({id:id, sustain:int(sustain)});
}
static function addListener(listener) {
init();
var _local2 = listeners;
var _local3 = false;
var _local1 = _local2.length;
while (_local1--) {
if (_local2[_local1] == listener) {
_local3 = true;
break;
}
}
if (!_local3) {
_local2.push(listener);
}
}
static function removeListener(listener) {
var _local2 = listeners;
var _local4 = false;
var _local1 = _local2.length;
while (_local1--) {
if (_local2[_local1] == listener) {
_local2.splice(_local1, 1);
break;
}
}
}
static function updateInputs() {
var _local9 = inputs;
var _local7 = vKeysReset;
var _local8 = vKeysDown;
for (var _local10 in _local9) {
var _local3 = _local9[_local10];
var _local2 = false;
var _local5 = _local3.keys;
var _local4 = _local5.length;
while (_local4--) {
var _local1 = _local5[_local4];
if (_local1 < 256) {
if (Key.isDown(_local1)) {
_local2 = true;
break;
}
} else if (_local8[_local1]) {
_local2 = true;
break;
}
}
_local3.triggerDown = (!_local3.isDown) && (_local2);
_local3.triggerUp = _local3.isDown && (!_local2);
_local3.isDown = _local2;
}
var _local6 = _local7.length;
while (_local6--) {
if ((--_local7[_local6].sustain) <= 0) {
_local8[Number(_local7[_local6].id)] = false;
_local7.splice(_local6, 1);
}
}
}
static function isDown(id) {
return((!locked) && (inputs[id].isDown));
}
static function isTriggeredDown(id) {
return((!locked) && (inputs[id].triggerDown));
}
static function isTriggeredUp(id) {
return((!locked) && (inputs[id].triggerUp));
}
static function getMousePos(mc) {
var _local6;
if (vMouse) {
var _local2 = vMouseV;
var _local3 = vMousePos;
var _local4 = vMouseReal;
if ((_local4.x != int(_root._xmouse)) || (_local4.y != int(_root._ymouse))) {
_local4.x = (_local3.x = int(_root._xmouse));
_local4.y = (_local3.y = int(_root._ymouse));
} else {
if (isDown("mouse_right")) {
_local2.x = Math.max(0, _local2.x + vMouseA);
} else if (isDown("mouse_left")) {
_local2.x = Math.min(0, _local2.x - vMouseA);
} else {
_local2.x = 0;
}
if (isDown("mouse_down")) {
_local2.y = Math.max(0, _local2.y + vMouseA);
} else if (isDown("mouse_up")) {
_local2.y = Math.min(0, _local2.y - vMouseA);
} else {
_local2.y = 0;
}
if ((_local2.x != 0) || (_local2.y != 0)) {
var _local5 = Math.min(vMouseVMax, Math.max(Math.abs(_local2.x), Math.abs(_local2.y)));
if (_local2.x != 0) {
if (_local2.x > 0) {
_local2.x = _local5;
} else {
_local2.x = _local5 * -1;
}
}
if (_local2.y != 0) {
if (_local2.y > 0) {
_local2.y = _local5;
} else {
_local2.y = _local5 * -1;
}
}
}
_local3.x = Math.max(vMouseXMin, Math.min(vMouseXMax, _local3.x + _local2.x));
_local3.y = Math.max(vMouseYMin, Math.min(vMouseYMax, _local3.y + _local2.y));
}
_local6 = new com.neodelight.std.Vector(_local3.x, _local3.y);
mc.globalToLocal(_local6);
} else {
_local6 = new com.neodelight.std.Vector(mc._xmouse, mc._ymouse);
}
return(_local6);
}
static function initVMouse(cfg) {
vMouseReal.x = (vMousePos.x = int(_root._xmouse));
vMouseReal.y = (vMousePos.y = int(_root._ymouse));
vMouseA = (cfg.acc ? (com.neodelight.std.XMath.toNumber(cfg.acc)) : 1);
vMouseVMax = (cfg.vMax ? (com.neodelight.std.XMath.toNumber(cfg.vMax)) : 10);
vMouseXMin = (cfg.xMin ? (com.neodelight.std.XMath.toNumber(cfg.xMin)) : 0);
vMouseXMax = (cfg.xMax ? (com.neodelight.std.XMath.toNumber(cfg.xMax)) : 550);
vMouseYMin = (cfg.yMin ? (com.neodelight.std.XMath.toNumber(cfg.yMin)) : 0);
vMouseYMax = (cfg.yMax ? (com.neodelight.std.XMath.toNumber(cfg.yMax)) : 400);
vMouse = true;
init();
}
static function onMouseDown() {
setVirtual(MOUSE_BUTTON, true);
}
static function onMouseUp() {
setVirtual(MOUSE_BUTTON, false);
}
static var inputs = new Object();
static var listeners = new Array();
static var locked = false;
static var vKeysDown = new Object();
static var vKeysReset = new Array();
static var vMouse = false;
static var vMouseKeys = new Object();
static var vMousePos = new com.neodelight.std.Vector();
static var vMouseV = new com.neodelight.std.Vector(0, 0);
static var vMouseReal = new com.neodelight.std.Vector();
static var inited = false;
static var KEY_BACKSPACE = 8;
static var KEY_CAPSLOCK = 20;
static var KEY_CONTROL = 17;
static var KEY_DELETEKEY = 46;
static var KEY_DOWN = 40;
static var KEY_END = 35;
static var KEY_ENTER = 13;
static var KEY_ESCAPE = 27;
static var KEY_HOME = 36;
static var KEY_INSERT = 45;
static var KEY_LEFT = 37;
static var KEY_PGDN = 34;
static var KEY_PGUP = 33;
static var KEY_RIGHT = 39;
static var KEY_SHIFT = 16;
static var KEY_SPACE = 32;
static var KEY_TAB = 9;
static var KEY_UP = 38;
static var JOY_UP = 400;
static var JOY_DOWN = 401;
static var JOY_LEFT = 402;
static var JOY_RIGHT = 403;
static var JOY_BUTTON0 = 404;
static var JOY_BUTTON1 = 405;
static var MOUSE_BUTTON = 406;
}
Symbol 10 MovieClip Frame 1
var flashVersion = int(System.capabilities.version.split(" ").pop().split(",").shift());
if (flashVersion < _root.requiredFlashVersion) {
this.msg = "Please upgrade to Flash Player " + _root.requiredFlashVersion;
this.percentageDisplay = "";
this.onEnterFrame = function () {
this.gotoAndStop(1);
};
} else {
this.msg = "";
this.onEnterFrame = function () {
var _local3 = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100;
this.percentageDisplay = ("loading.." + Math.min(100, Math.floor(_local3))) + "%";
this.bar._xscale = Math.max(1, Math.min(100, Math.floor(_local3)));
if ((_local3 == 100) && (_root._currentframe == 4)) {
this.onEnterFrame = undefined;
_root.gotoAndStop("init");
}
};
}
Symbol 14 Button
on (release) {
if (_url.indexOf("neodelight.com") == -1) {
getURL (("http://www.neodelight.com?ref=" + _root.gameName) + "&ref_loc=intro", "_BLANK");
}
}
Symbol 28 MovieClip Frame 1
startFrame = _parent._currentframe;
Symbol 28 MovieClip Frame 2
vol = (1 - ((_parent._currentFrame - startFrame) / (_parent._totalFrames - startFrame))) * 100;
if (vol < 0) {
vol = 0;
}
_parent.snd.setVolume(vol);
Symbol 28 MovieClip Frame 3
gotoAndPlay ("loop");
Symbol 29 MovieClip Frame 1
snd = new Sound(this);
snd.setVolume(100);
_parent.stop();
Symbol 29 MovieClip Frame 123
stop();
_root.play();
Symbol 33 Button
on (release) {
getURL ("http://www.happytree.com", "_blank");
}
Symbol 37 MovieClip Frame 1
_parent.stop();
Symbol 37 MovieClip Frame 123
stop();
_root.play();
Symbol 41 MovieClip Frame 1
_parent.stop();
quality = _root._quality;
_root._quality = "BEST";
Symbol 41 MovieClip Frame 104
_root._quality = quality;
stop();
_root.play();
Symbol 48 MovieClip Frame 1
_parent.stop();
Symbol 48 MovieClip Frame 42
_root.play();
stop();
Symbol 54 MovieClip Frame 1
stop();
loadMovie (("http://www.bamstudent.com/files/games/" + _global.game.name) + "-advert.jpg", img.mc);
this.onEnterFrame = function () {
if (this.img.mc._totalframes == 1) {
this.img.mc._x = this.img.mc._width * -0.5;
this.img.mc._y = this.img.mc._height * -0.5;
this.onEnterFrame = undefined;
this.play();
}
};
Symbol 54 MovieClip Frame 9
b.onRelease = function () {
this._parent.highscore.submit("", 0, "_new");
};
highscore = new Object();
highscore.initSession = function () {
this.session = "";
while (this.session.length < 20) {
this.session = this.session + this.charTable.charAt(Math.round(Math.random() * (this.charTable.length - 1)));
}
this.charTableIndex = new Array();
var _local2 = 0;
while (_local2 < this.charTable.length) {
this.charTableIndex[this.charTable.charCodeAt(_local2)] = _local2;
_local2++;
}
};
highscore.submit = function (pDisciple, pScore0, win) {
var _local5 = _global.game.name;
var _local7 = "";
var _local3 = ("g=" + _local5) + "&";
_local3 = _local3 + (("d=" + pDisciple) + "&");
_local3 = _local3 + (("s0=" + pScore0) + "&");
_local3 = _local3 + (("s1=" + _local7) + "&");
_local3 = _local3 + ("se=" + escape(session));
_local3 = _local3 + "&c=42";
var _local6 = (this.urlSubmit + "&s=") + escape(this.encrypt(this.encrypt(_local3, this.keystring), this.keystring2));
if (win == undefined) {
win = "_top";
}
trace("win: " + win);
getURL (_local6, win);
};
highscore.encrypt = function (text, pKey) {
var _local8 = "";
var _local4 = 0;
var _local5;
var _local3;
var _local2 = 0;
while (_local2 < text.length) {
char = this.charTableIndex[text.charCodeAt(_local2)];
_local5 = this.charTableIndex[pKey.charCodeAt(_local2 % pKey.length)];
_local3 = (char + _local5) + _local4;
_local3 = _local3 % this.charTable.length;
_local8 = _local8 + this.charTable.charAt(_local3);
_local4 = _local4 + _local3;
_local2++;
}
_local4 = _local4 % this.charTable.length;
return((_local8 + "") + this.charTable.charAt(_local4));
};
highscore.charTable = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&=.";
highscore.keystring = "FXCTSWtw5Y0yXdKmWCUbrodICr";
highscore.keystring2 = "DYPX3s4xpWiUNS8iE1kGaOV8Wi";
highscore.urlSubmit = (("http://www.sumarketing.co.uk/bugs/index.php?page=advert&uni_id=" + _root.uni_id) + "&user_id=") + _root.user_id;
highscore.initSession();
Symbol 54 MovieClip Frame 185
stop();
_root.play();
Symbol 60 Button
on (release, keyPress "<Space>") {
_root.gotoAndPlay("game");
}
Symbol 61 Button
on (release, keyPress "<Space>") {
_parent.gotoAndPlay(_parent._totalframes);
}
Symbol 62 MovieClip Frame 10
stop();
Symbol 74 MovieClip Frame 1
_parent.stop();
Symbol 74 MovieClip Frame 2
_root.sndChannelBass = _global.snd.playLoop("musicIntro", 1);
_root.sndChannelBeat = _global.snd.playLoop("musicIntroBeat", 0);
_root.sndChannelMotors = _global.snd.playLoop("sndMotors", 0);
Symbol 74 MovieClip Frame 17
_root.sndChannelMotors.fade(0.5, 10);
Symbol 74 MovieClip Frame 44
_root.sndChannelMotors.fade(0.3, 30);
Symbol 74 MovieClip Frame 103
_root.sndChannelMotors.fade(0.6, 30);
Symbol 74 MovieClip Frame 148
_root.sndChannelStart = _global.snd.playEvent("sndRaceStart", 1);
_root.sndChannelMotors.fade(0, 30);
Symbol 74 MovieClip Frame 230
_root.sndChannelBeat.fade(1, 30);
Symbol 74 MovieClip Frame 233
_root.sndChannelStart.fade(-1, 10);
_root.sndChannelMotors.fade(-1, 10);
Symbol 74 MovieClip Frame 252
_parent.play();
stop();
Symbol 82 MovieClip Frame 1
stop();
_visible = false;
Symbol 204 MovieClip Frame 1
stop();
Symbol 204 MovieClip Frame 4
gotoAndPlay (2);
Symbol 223 MovieClip Frame 1
stop();
Symbol 239 MovieClip Frame 1
stop();
_visible = false;
stop();
Symbol 242 Button
on (release) {
if (_root.demoVersion) {
_root.level = "plain";
_root.gotoAndPlay("startdemo");
} else {
_root.gotoAndStop("chooselevel");
}
}
Symbol 245 Button
on (press) {
if (_root.demoVersion) {
_root.gotoAndStop("helpdemo");
} else {
_root.gotoAndStop("help");
}
}
Symbol 247 Button
on (release) {
getURL (_global.config.urlHighscoresView, _global.config.urlHighscoresViewTarget);
}
Symbol 254 Button
on (release) {
getURL (_global.config.urlMoreGames, _global.config.urlMoreGamesTarget);
}
Symbol 259 MovieClip Frame 1
switch (_global.config.version) {
case "motosavvy" :
gotoAndStop ("motosavvy");
break;
default :
stop();
}
Symbol 267 Button
on (release) {
_global.snd.setVolume(0);
nextFrame();
}
Symbol 271 Button
on (release) {
_root.snd.active = 1;
prevFrame();
}
Symbol 273 Button
on (release) {
_global.snd.setVolume(1);
prevFrame();
}
Symbol 274 MovieClip Frame 1
stop();
if (_global.snd.getVolume() == 0) {
nextFrame();
}
Symbol 280 Button
on (release) {
getURL ("http://www.neodelight.com/webmaster", "_blank");
}
Symbol 284 Button
on (press) {
_root.gotoAndStop("menu");
}
Symbol 302 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 306 MovieClip Frame 1
stop();
Symbol 312 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 319 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 326 Button
on (release) {
_root.level = _name;
_root.gotoAndStop("start");
}
Symbol 343 MovieClip Frame 1
this.lvls = new Array();
this.lvls.plain = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 5, 6], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [4, 0, 7], [3, 0, 7], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 7], [4, 0, 7], [6, 0, 7], [8, 0, 7], [6, 0, 7], [4, 0, 0], [2, 0, 51], [1, 0, 52], [0, 0, 0], [0, 0, 0], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-4, 7, 0], [-2, 0, 0], [0, 0, 0], [2, 0, 7], [3, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [3, 0, 0], [2, 0, 0], [1, 0, 0], [0, 20, 0], [0, 0, 0], [0, 0, 0], [0, 21, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [2, 0, 7], [1, 0, 0], [0, 2, 1], [-2, 0, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-7, 7, 0], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 55, 0], [0, 53, 0], [0, 0, 54], [0, 0, 0], [0, 58, 50], [0, 0, 51], [0, 59, 0], [0, 0, 0], [0, 4, 9], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 52, 7], [4, 55, 7], [6, 0, 7], [6, 0, 7], [6, 0, 7], [4, 51, 7], [2, 0, 0], [0, 0, 0], [-2, 7, 52], [-4, 7, 57], [-6, 7, 0], [-8, 7, 0], [-10, 7, 58], [-8, 7, 59], [-6, 7, 0], [-4, 7, 0], [2, 0, 0], [0, 0, 0], [0, 0, 52], [0, 53, 54], [0, 0, 0], [1, 57, 7], [2, 58, 7], [3, 56, 7], [2, 0, 7], [-2, 7, 0], [-5, 7, 0], [-8, 7, 0], [-10, 7, 0], [-8, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 7, 0], [-3, 7, 0], [-2, 7, 54], [-3, 7, 53], [-3, 7, 0], [-3, 7, 52], [-3, 0, 0], [-2, 0, 0], [-1, 54, 53], [0, 0, 54], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 54, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [2, 0, 0], [2, 20, 0], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 0], [2, 0, 22], [2, 0, 0], [2, 0, 0], [1, 0, 0], [1, 23, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-2, 3, 8], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 1, 2], [0, 0, 0], [1, 0, 0], [2, 0, 7], [3, 0, 7], [4, 51, 7], [5, 0, 7], [6, 54, 7], [7, 0, 7], [8, 57, 7], [9, 0, 7], [10, 0, 7], [9, 0, 7], [8, 0, 7], [7, 0, 7], [6, 0, 7], [5, 55, 7], [4, 0, 7], [4, 0, 7], [3, 0, 7], [3, 0, 7], [2, 0, 0], [2, 0, 0], [1, 0, 20], [1, 53, 0], [0, 0, 0], [0, 51, 0], [0, 0, 0], [0, 0, 20], [0, 0, 0], [-1, 0, 0], [-3, 7, 0], [-5, 7, 54], [-7, 7, 0], [-8, 7, 0], [-8, 7, 0], [-7, 7, 50], [-6, 7, 51], [-4, 0, 0], [-2, 57, 53], [-1, 0, 57], [0, 0, 0], [0, 0, 0], [0, 4, 9], [0, 0, 0], [0, 0, 51], [0, 0, 0], [0, 0, 0], [0, 23, 24], [0, 0, 0], [0, 51, 52], [0, 54, 0], [-2, 7, 54], [-4, 7, 55], [-6, 7, 0], [-8, 7, 0], [-6, 7, 54], [-4, 7, 0], [-2, 0, 57], [0, 58, 59], [2, 57, 54], [4, 56, 7], [6, 55, 7], [8, 0, 7], [6, 53, 7], [4, 51, 7], [2, 50, 0], [1, 52, 51], [0, 0, 0], [0, 0, 57], [0, 56, 0], [0, 58, 59], [1, 0, 57], [1, 55, 0], [2, 52, 53], [2, 0, 7], [3, 51, 7], [3, 0, 7], [5, 53, 7], [8, 56, 7], [10, 0, 7], [10, 52, 7], [10, 0, 7], [7, 57, 7], [4, 58, 7], [3, 0, 7], [2, 0, 7], [2, 56, 0], [2, 0, 0], [2, 0, 51], [2, 58, 0], [2, 59, 56], [2, 0, 0], [2, 52, 51], [1, 55, 0], [1, 0, 0], [0, 0, 0], [0, 3, 8], [0, 0, 0], [0, 0, 0], [-2, 7, 0], [-4, 7, 0], [-6, 7, 52], [-4, 7, 0], [-2, 55, 54], [0, 0, 56], [2, 57, 7], [4, 0, 7], [6, 59, 7], [8, 58, 7], [6, 0, 7], [4, 56, 7], [2, 0, 0], [0, 54, 55], [-2, 7, 0], [-4, 7, 52], [-6, 7, 0], [-8, 7, 51], [-10, 7, 0], [-8, 7, 0], [-6, 7, 50], [-4, 7, 0], [-2, 7, 0], [-2, 7, 52], [-2, 7, 53], [-3, 7, 0], [-4, 7, 54], [-5, 7, 0], [-7, 7, 0], [-9, 7, 56], [-10, 7, 55], [-10, 7, 0], [-10, 7, 0], [-9, 7, 0], [-9, 7, 0], [-7, 7, 0], [-5, 7, 0], [-2, 0, 0], [0, 51, 50], [0, 58, 59], [0, 57, 0], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-2, 55, 51], [-2, 0, 52], [-3, 0, 0], [-3, 53, 65], [-3, 7, 64], [-4, 7, 0], [-4, 7, 65], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-3, 0, 54], [-3, 51, 50], [-3, 0, 0], [-3, 52, 63], [-3, 55, 59], [-3, 65, 0], [-2, 0, 64], [-2, 0, 0], [-2, 56, 52], [-1, 61, 65], [0, 60, 63], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [-3, 7, 60], [-5, 7, 61], [-7, 7, 63], [-4, 7, 51], [-1, 65, 52], [2, 64, 65], [5, 0, 7], [8, 0, 7], [10, 0, 7], [12, 65, 7], [13, 64, 7], [10, 59, 7], [7, 0, 7], [3, 61, 0], [1, 0, 62], [0, 64, 63], [0, 65, 59], [2, 63, 0], [4, 58, 58], [7, 57, 7], [8, 0, 7], [5, 51, 7], [2, 61, 64], [-1, 65, 52], [-4, 7, 56], [-7, 7, 55], [-8, 7, 0], [-9, 7, 62], [-7, 7, 59], [-4, 7, 58], [-1, 64, 0], [2, 60, 61], [5, 64, 7], [7, 65, 7], [8, 50, 7], [7, 0, 7], [7, 51, 7], [7, 0, 7], [7, 65, 7], [5, 64, 7], [3, 65, 65], [2, 63, 62], [1, 62, 61], [0, 65, 64], [0, 64, 65], [0, 54, 55], [0, 0, 64], [0, 51, 54], [0, 0, 65], [0, 0, 64], [0, 0, 0], [0, 0, 0], [0, 21, 22], [0, 0, 65], [0, 64, 58], [3, 61, 60], [6, 63, 7], [9, 60, 7], [12, 62, 7], [11, 63, 7], [10, 64, 7], [9, 60, 7], [7, 61, 7], [5, 62, 7], [3, 64, 60], [2, 65, 64], [1, 0, 65], [0, 0, 0], [0, 23, 24], [0, 56, 65], [0, 64, 57], [3, 62, 61], [6, 60, 7], [9, 62, 7], [12, 63, 7], [11, 62, 7], [10, 63, 7], [7, 62, 7], [4, 61, 7], [2, 63, 64], [0, 60, 65], [0, 0, 0], [-3, 61, 65], [-6, 7, 64], [-9, 7, 0], [-6, 7, 50], [-3, 54, 52], [-2, 0, 54], [1, 59, 64], [2, 65, 51], [2, 0, 64], [2, 64, 65], [2, 61, 62], [2, 62, 63], [3, 65, 63], [3, 60, 61], [3, 100, 1], [3, 100, 1], [3, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 61, 63], [0, 63, 64], [0, 62, 62], [0, 61, 63], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 61, 50], [1, 63, 62], [2, 64, 65], [2, 65, 54], [2, 0, 0], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 64], [0, 54, 65], [0, 0, 64], [2, 0, 7], [3, 0, 7], [6, 65, 7], [3, 0, 7], [2, 64, 65], [0, 65, 64], [0, 20, 20], [0, 64, 0], [2, 0, 65], [4, 0, 7], [7, 0, 7], [4, 0, 7], [2, 21, 22], [0, 0, 65], [2, 65, 7], [3, 61, 7], [7, 55, 7], [6, 54, 7], [5, 0, 7], [2, 62, 63], [-2, 64, 51], [-3, 7, 0], [-5, 7, 52], [-4, 7, 0], [-3, 7, 58], [-2, 7, 59], [-3, 7, 51], [-7, 7, 0], [-3, 7, 60], [0, 65, 64], [0, 62, 0], [0, 63, 52], [0, 57, 55], [0, 59, 62], [0, 0, 58], [-3, 7, 60], [-6, 7, 55], [-8, 7, 59], [-7, 7, 63], [-5, 7, 57], [-3, 7, 64], [-1, 60, 61], [0, 63, 56], [0, 53, 52], [0, 0, 64], [2, 51, 0], [3, 65, 7], [4, 0, 7], [4, 0, 7], [4, 54, 7], [4, 54, 7], [4, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 7], [3, 0, 0], [0, 2, 1], [-3, 7, 0], [-6, 7, 0], [-9, 7, 0], [-12, 7, 55], [-13, 7, 56], [-12, 7, 0], [-10, 7, 58], [-8, 7, 59], [-5, 7, 51], [-2, 64, 0], [-1, 56, 52], [2, 0, 65], [4, 0, 7], [5, 0, 7], [4, 0, 7], [2, 55, 54], [1, 0, 0], [0, 59, 0], [0, 0, 58], [0, 58, 57], [0, 0, 53], [0, 0, 0], [3, 52, 7], [7, 51, 7], [9, 0, 7], [6, 54, 54], [3, 55, 56], [2, 56, 57], [0, 1, 2], [3, 52, 7], [5, 53, 7], [4, 54, 7], [2, 55, 7], [1, 59, 7], [2, 58, 7], [5, 54, 7], [7, 52, 7], [10, 50, 7], [12, 51, 7], [13, 59, 7], [10, 57, 7], [7, 56, 7], [5, 55, 7], [3, 50, 52], [1, 51, 53], [0, 56, 54], [0, 57, 58], [0, 59, 56], [0, 58, 59], [-3, 7, 52], [-5, 7, 53], [-6, 7, 52], [-6, 7, 51], [-5, 7, 53], [-5, 7, 58], [-4, 7, 59], [-4, 7, 58], [-3, 55, 57], [-3, 52, 56], [-2, 58, 59], [-2, 59, 52], [-1, 57, 53], [0, 52, 0], [0, 57, 54], [0, 54, 0], [0, 58, 53], [3, 0, 52], [6, 53, 7], [7, 55, 7], [5, 56, 7], [3, 57, 7], [2, 59, 56], [1, 58, 52], [0, 59, 53], [0, 57, 54], [0, 56, 52], [2, 57, 53], [3, 56, 7], [5, 58, 7], [4, 59, 7], [2, 51, 52], [1, 50, 53], [0, 59, 54], [0, 60, 55], [0, 54, 50], [0, 53, 0], [0, 0, 0], [0, 56, 64], [0, 0, 54], [0, 55, 65], [0, 58, 0], [0, 0, 56], [0, 52, 53], [0, 0, 54], [0, 58, 59], [0, 54, 54], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 57, 54], [0, 56, 0], [0, 0, 0], [0, 0, 0], [0, 4, 9], [0, 0, 0], [0, 51, 52], [0, 54, 58], [0, 2, 1], [-1, 65, 57], [-3, 7, 64], [-6, 7, 0], [-8, 7, 65], [-10, 7, 0], [-11, 7, 0], [-11, 7, 53], [-11, 7, 52], [-10, 7, 0], [-9, 7, 0], [-7, 7, 51], [-6, 7, 58], [-5, 7, 0], [-8, 7, 59], [-11, 7, 0], [-13, 7, 0], [-10, 7, 52], [-7, 7, 0], [-3, 7, 53], [-2, 0, 57], [-1, 65, 64], [0, 0, 54], [0, 54, 0], [0, 0, 0], [0, 0, 64], [2, 65, 0], [5, 0, 0], [6, 0, 7], [6, 0, 7], [6, 0, 7], [5, 0, 7], [2, 0, 0], [1, 0, 0], [1, 23, 24], [1, 0, 0], [1, 0, 0], [2, 0, 0], [2, 0, 0], [2, 20, 20], [2, 64, 0], [2, 0, 0], [2, 0, 0], [2, 0, 0], [1, 23, 24], [0, 0, 0], [-1, 0, 65], [-2, 0, 0], [-2, 0, 0], [-2, 2, 1], [-2, 7, 0], [-3, 7, 0], [-3, 7, 0], [-3, 7, 0], [-6, 7, 0], [-9, 7, 0], [-11, 7, 0], [-12, 7, 0], [-12, 7, 0], [-12, 7, 0], [-10, 7, 0], [-8, 7, 0], [-6, 7, 0], [-4, 7, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [2, 0, 0], [4, 0, 0], [6, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [7, 0, 7], [5, 0, 7], [3, 0, 0], [2, 0, 0], [1, 0, 0], [0, 64, 0], [0, 61, 65], [0, 60, 62], [0, 100, 1], [1, 100, 1], [2, 100, 1], [3, 100, 1], [4, 100, 1], [5, 100, 1], [6, 100, 1], [7, 100, 1], [8, 100, 1], [9, 100, 1], [10, 100, 1], [8, 63, 7], [5, 62, 7], [2, 61, 7], [-1, 63, 65], [-4, 7, 64], [-7, 7, 0], [-9, 7, 54], [-11, 7, 0], [-8, 7, 0], [-5, 7, 64], [-3, 65, 0], [-1, 0, 63], [0, 64, 63], [0, 61, 60], [0, 63, 62], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 0, 54], [0, 50, 0], [0, 0, 0], [0, 0, 0], [0, 20, 20], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 23, 24], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 12, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 13, 14], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
this.lvls.dirt = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 76, 76], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 75, 76], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 72], [0, 73, 0], [0, 1, 0], [0, 0, 0], [0, 0, 0], [0, 75, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 0, 7], [0, 0, 7], [1, 0, 7], [2, 0, 7], [3, 0, 7], [4, 0, 7], [5, 0, 7], [4, 0, 7], [3, 0, 7], [2, 0, 0], [1, 80, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 70], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 74], [1, 0, 0], [0, 7, 0], [-1, 7, 0], [-2, 7, 0], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-3, 79, 73], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [2, 0, 0], [2, 74, 0], [2, 0, 0], [2, 0, 0], [1, 77, 0], [1, 0, 0], [1, 0, 0], [1, 72, 0], [1, 0, 80], [1, 71, 0], [0, 0, 0], [0, 74, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 74], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 71], [-4, 0, 0], [-4, 76, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-4, 0, 0], [-4, 0, 0], [-3, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [0, 0, 0], [1, 0, 7], [2, 0, 7], [4, 0, 7], [5, 75, 7], [6, 0, 7], [5, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 74], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 7], [4, 0, 7], [4, 72, 7], [5, 0, 7], [5, 0, 7], [6, 0, 7], [6, 0, 7], [7, 80, 7], [7, 0, 7], [7, 71, 7], [6, 0, 7], [5, 0, 7], [3, 0, 0], [0, 7, 0], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-2, 0, 74], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 7], [1, 0, 7], [2, 0, 7], [5, 0, 7], [7, 0, 7], [6, 0, 7], [5, 0, 7], [4, 0, 7], [3, 80, 7], [2, 0, 7], [1, 0, 7], [2, 7, 0], [-1, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 0, 0], [-1, 0, 7], [1, 0, 7], [3, 0, 7], [5, 0, 7], [6, 0, 7], [6, 77, 7], [5, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 75, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 77, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-3, 0, 0], [-2, 82, 0], [-2, 0, 0], [-1, 83, 0], [0, 83, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 79, 0], [1, 81, 0], [0, 0, 78], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 81], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 7, 0], [-3, 7, 76], [-4, 7, 0], [-6, 7, 0], [-7, 7, 0], [-7, 7, 0], [-6, 7, 0], [-4, 0, 0], [-2, 0, 0], [0, 0, 0], [2, 0, 77], [4, 0, 0], [4, 0, 0], [4, 0, 0], [3, 0, 0], [1, 0, 0], [-1, 7, 0], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-4, 0, 0], [-3, 0, 0], [-2, 0, 74], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 75], [-1, 75, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 72, 72], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 0], [0, 79, 80], [0, 0, 0], [0, 80, 0], [0, 0, 77], [0, 0, 0], [0, 0, 0], [1, 0, 77], [1, 79, 0], [2, 0, 0], [3, 0, 83], [3, 83, 79], [3, 79, 0], [3, 0, 0], [2, 0, 0], [0, 7, 79], [-2, 7, 0], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 71], [-5, 7, 0], [-4, 0, 0], [-2, 0, 0], [-2, 76, 0], [-1, -2, 0], [-1, 76, 0], [-1, 80, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 76, 0], [-3, 76, 0], [-1, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 78, 77], [1, 0, 0], [0, 78, 77], [-1, 0, 79], [-1, 0, 0], [-2, 78, 0], [-2, 0, 0], [-1, 79, 77], [-1, 0, 0], [-1, 76, 78], [-1, 79, 77], [-1, 0, 0], [0, 78, 0], [1, 0, 7], [2, 79, 7], [4, 0, 7], [5, 0, 7], [6, 78, 7], [6, 0, 7], [6, 79, 7], [6, 0, 7], [5, 79, 7], [4, 0, 0], [3, 0, 0], [1, 79, 0], [0, 0, 76], [-1, 7, 0], [-3, 7, 0], [-4, 7, 0], [-6, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 0, 0], [-2, 0, 0], [0, 79, 7], [1, 0, 7], [3, 79, 7], [5, 78, 7], [7, 0, 7], [8, 0, 7], [9, 0, 7], [9, 0, 7], [8, 0, 7], [5, 0, 7], [2, 0, 0], [0, 0, 82], [-2, 0, 82], [-3, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [1, 0, 0], [3, 0, 82], [4, 0, 7], [4, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 77], [2, 0, 77], [0, 0, 0], [-1, 0, 0], [-2, 0, 76], [-2, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 0], [-3, 0, 75], [-3, 0, 0], [-3, 0, 0], [-4, 0, 0], [-4, 0, 0], [-4, 0, 0], [-4, 0, 0], [-4, 0, 76], [-3, 0, 76], [-2, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 76, 75], [0, 82, 0], [0, 0, 0], [0, 0, 76], [0, 0, 0], [0, 0, 0], [1, 0, 0], [2, 0, 82], [2, 82, 0], [2, 82, 82], [2, 0, 0], [0, 0, 0], [-1, 7, 0], [-3, 7, 0], [-4, 7, 82], [-5, 7, 0], [-5, 7, 0], [-4, 0, 0], [-4, 71, 0], [-2, 0, 0], [-1, 71, 0], [0, 0, 0], [0, 71, 0], [0, 0, 0], [0, 0, 0], [0, 0, 72], [0, 75, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [2, 77, 79], [2, 0, 0], [3, 0, 0], [3, 0, 0], [3, 0, 0], [3, 80, 0], [2, 0, 0], [1, 0, 0], [0, 7, 75], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-5, 7, 0], [-5, 7, 0], [-4, 71, 0], [-3, 72, 0], [-1, 70, 0], [0, 0, 81], [-1, 0, 0], [-2, 76, 0], [-2, 76, 81], [-2, 0, 76], [-2, 76, 72], [-2, 76, 0], [-1, 0, 0], [-1, 76, 76], [-1, 76, 76], [-1, 76, 0], [-2, 7, 76], [-3, 7, 0], [-4, 7, 76], [-5, 7, 0], [-6, 7, 0], [-7, 7, 76], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-5, 7, 0], [-4, 0, 0], [-2, 82, 0], [-2, 0, 0], [-1, 80, 0], [-2, 0, 0], [-3, 77, 0], [-4, 0, 0], [-4, 0, 0], [-4, 80, 0], [-3, 7, 0], [-3, 7, 0], [-2, 7, 0], [-1, 7, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 72, 74], [1, 0, 74], [1, 1, 0], [1, 0, 0], [1, 0, 15], [1, 0, 0], [1, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [5, 0, 7], [6, 0, 7], [7, 0, 7], [8, 72, 7], [9, 79, 7], [9, 0, 7], [9, 0, 7], [8, 0, 7], [6, 0, 7], [5, 0, 7], [2, 7, 75], [0, 7, 0], [-3, 7, 0], [-5, 7, 0], [-7, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-4, 0, 0], [-3, 0, 0], [-3, 0, 0], [-2, 0, 15], [-2, 0, 0], [0, 0, 7], [1, 0, 7], [3, 0, 7], [6, 0, 7], [8, 0, 7], [10, 0, 7], [10, 0, 7], [9, 0, 7], [7, 0, 7], [5, 0, 7], [4, 0, 0], [2, 0, 72], [1, 0, 0], [1, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [5, 0, 7], [7, 0, 7], [8, 0, 7], [9, 0, 7], [10, 0, 7], [10, 0, 7], [10, 0, 7], [9, 0, 7], [8, 76, 7], [6, 0, 7], [5, 0, 7], [4, 0, 0], [3, 0, 0], [1, 78, 80], [1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [-1, 82, 82], [-1, 0, 0], [0, 75, 76], [0, 7, 0], [-1, 7, 0], [-3, 7, 0], [-5, 7, 0], [-7, 7, 0], [-9, 7, 0], [-9, 7, 0], [-6, 7, 0], [-3, 7, 0], [-1, 75, 0], [2, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 0], [1, 73, 0], [2, 0, 0], [2, 71, 0], [2, 0, 75], [2, 76, 0], [2, 0, 0], [1, 74, 74], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 0, 0], [0, 75, 75], [0, 75, 75], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 76, 76], [0, 0, 0], [0, 76, 76], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-3, 7, 0], [-4, 7, 0], [-4, 7, 0], [-4, 7, 0], [-3, 7, 0], [-1, 7, 7], [2, 0, 7], [4, 0, 7], [6, 0, 7], [8, 0, 7], [6, 0, 7], [4, 79, 0], [2, 75, 0], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [2, 0, 0], [3, 0, 71], [4, 0, 0], [4, 78, 0], [3, 0, 74], [2, 0, 0], [1, 0, 0], [0, 0, 0], [-2, 0, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 0], [-6, 7, 0], [-4, 79, 7], [-1, 81, 7], [2, 0, 7], [6, 0, 7], [7, 0, 7], [8, 0, 7], [8, 70, 7], [6, 0, 7], [4, 0, 0], [3, 72, 0], [2, 0, 7], [2, 0, 7], [3, 0, 7], [5, 0, 7], [7, 0, 7], [9, 0, 7], [11, 0, 7], [11, 75, 7], [11, 0, 7], [9, 0, 7], [6, 0, 7], [2, 0, 0], [-1, 0, 0], [-3, 71, 0], [-4, 0, 0], [-4, 79, 0], [-2, 0, 7], [0, 0, 7], [3, 0, 7], [5, 0, 7], [7, 81, 7], [7, 80, 7], [6, 0, 7], [3, 7, 0], [0, 7, 73], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 0, 0], [-1, 0, 7], [2, 0, 7], [4, 79, 7], [5, 0, 7], [5, 0, 7], [4, 0, 71], [3, 0, 0], [1, 7, 0], [0, 7, 0], [-3, 7, 0], [-4, 0, 7], [0, 0, 7], [3, 0, 7], [6, 0, 7], [7, 0, 7], [7, 0, 7], [5, 0, 7], [3, 0, 83], [1, 0, 0], [0, 0, 0], [-1, 0, 0], [-1, 0, 83], [0, 0, 0], [1, 83, 83], [2, 0, 0], [2, 83, 0], [2, 0, 81], [2, 0, 0], [1, 0, 0], [1, 82, 0], [0, 0, 0], [0, 0, 83], [-1, 0, 0], [-1, 75, 0], [-2, 73, 0], [-2, 70, 0], [-2, 0, 83], [-2, 74, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 83], [1, 80, 0], [1, 73, 0], [2, 0, 0], [2, 0, 0], [3, 83, 83], [3, 0, 0], [2, 0, 0], [1, 73, 0], [0, 7, 0], [-1, 7, 0], [-4, 7, 76], [-7, 7, 0], [-9, 7, 0], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-7, 7, 76], [-4, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 79], [-1, 0, 0], [-2, 83, 0], [-3, 0, 0], [-3, 83, 77], [-3, 0, 0], [-2, 71, 0], [-1, 0, 0], [0, 0, 0], [0, 73, 0], [0, 70, 0], [0, 0, 0], [0, 79, 79], [0, 0, 0], [0, 0, 0], [0, 79, 79], [0, 79, 79], [0, 79, 79], [0, 12, 1], [0, 79, 79], [0, 79, 79], [0, 72, 72], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
this.lvls.night = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 35, 36], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-2, 0, 0], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-8, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 7, 0], [-2, 0, 7], [3, 0, 7], [5, 0, 7], [6, 0, 7], [8, 0, 7], [8, 50, 7], [6, 51, 7], [5, 0, 7], [3, 0, 7], [2, 52, 7], [1, 0, 0], [1, 53, 53], [-1, 7, 50], [-2, 7, 0], [-4, 7, 0], [-5, 7, 0], [-6, 7, 55], [-6, 7, 0], [-6, 7, 56], [-6, 7, 0], [-5, 7, 0], [-5, 7, 55], [-5, 7, 0], [-5, 7, 56], [-5, 7, 0], [-5, 7, 56], [-5, 7, 0], [-5, 7, 59], [-4, 7, 54], [-4, 7, 54], [-3, 7, 54], [-3, 7, 0], [-2, 7, 55], [-2, 7, 0], [-2, 7, 56], [-1, 7, 0], [-1, 0, 0], [0, 0, 57], [1, 55, 0], [1, 53, 0], [1, 0, 54], [1, 0, 0], [1, 58, 50], [1, 0, 51], [1, 59, 0], [1, 0, 0], [1, 35, 36], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 35, 36], [1, 0, 0], [1, 0, 7], [4, 0, 7], [9, 35, 7], [13, 0, 7], [11, 0, 7], [9, 0, 7], [7, 35, 7], [6, 0, 43], [4, 0, 43], [2, 7, 36], [1, 7, 43], [1, 7, 43], [1, 7, 43], [-10, 7, 36], [-8, 7, 43], [-7, 7, 43], [-6, 7, 43], [-5, 35, 36], [-3, 43, 43], [-3, 43, 43], [-2, 43, 43], [-2, 35, 36], [-1, 43, 43], [-1, 43, 43], [-1, 43, 43], [-1, 35, 35], [0, 7, 43], [-5, 7, 43], [-8, 7, 43], [-10, 7, 43], [-8, 7, 43], [-7, 7, 43], [-6, 7, 43], [-5, 7, 43], [-4, 7, 43], [-3, 7, 43], [-2, 7, 43], [-3, 7, 43], [-3, 7, 43], [-3, 7, 43], [-3, 43, 43], [-2, 43, 43], [-1, 43, 43], [0, 43, 43], [0, 43, 43], [0, 11, 1], [0, 0, 0], [0, 40, 40], [0, 0, 0], [1, 0, 40], [1, 0, 7], [2, 40, 7], [2, 0, 7], [3, 0, 40], [3, 0, 7], [3, 40, 7], [3, 0, 7], [3, 0, 40], [2, 0, 0], [2, 40, 0], [2, 0, 0], [1, 0, 40], [1, 0, 0], [0, 40, 0], [-1, 0, 0], [-1, 0, 40], [-2, 0, 0], [-2, 40, 0], [-1, 0, 0], [0, 0, 40], [0, 0, 0], [0, 19, 0], [0, 0, 0], [1, 7, 40], [-1, 7, 0], [-2, 40, 0], [-4, 7, 0], [-7, 7, 40], [-9, 7, 0], [-12, 40, 0], [-12, 7, 0], [-12, 7, 40], [-12, 7, 0], [-12, 40, 0], [-5, 7, 0], [-3, 7, 40], [-2, 0, 0], [-2, 40, 0], [-1, 0, 0], [-1, 0, 40], [-1, 0, 0], [0, 40, 0], [0, 0, 0], [0, 0, 40], [1, 32, 32], [1, 40, 40], [0, 0, 0], [0, 0, 40], [0, 31, 31], [0, 40, 0], [0, 0, 0], [0, 0, 40], [0, 0, 0], [0, 40, 54], [0, 19, 0], [-3, 7, 40], [-6, 7, 0], [-8, 40, 0], [-8, 7, 0], [-8, 7, 40], [-8, 7, 0], [-14, 40, 0], [-14, 7, 0], [-14, 7, 40], [-11, 7, 0], [-8, 40, 0], [-6, 7, 0], [-3, 7, 40], [0, 7, 0], [0, 40, 0], [1, 0, 0], [2, 0, 40], [-1, 0, 0], [-3, 40, 0], [-4, 7, 0], [-6, 7, 40], [-7, 7, 0], [-6, 40, 0], [-4, 7, 0], [-3, 7, 40], [1, 0, 0], [1, 0, 0], [2, 44, 44], [3, 0, 0], [4, 0, 0], [4, 0, 0], [5, 43, 43], [5, 0, 0], [5, 0, 0], [5, 0, 0], [5, 44, 44], [5, 0, 0], [5, 0, 0], [5, 0, 0], [5, 43, 43], [5, 0, 0], [5, 0, 0], [5, 0, 0], [5, 44, 44], [5, 0, 0], [4, 0, 0], [4, 0, 0], [3, 43, 43], [3, 0, 0], [2, 0, 0], [2, 0, 0], [1, 44, 44], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 42, 42], [0, 42, 42], [0, 42, 42], [-2, 0, 0], [-3, 7, 0], [-5, 7, 0], [-6, 7, 0], [-8, 7, 0], [-9, 7, 0], [-10, 7, 0], [-7, 7, 0], [-5, 7, 0], [-2, 7, 0], [0, 7, 7], [3, 0, 7], [5, 0, 7], [8, 0, 7], [7, 0, 7], [4, 0, 7], [2, 0, 7], [0, 0, 7], [0, 0, 0], [0, 0, 0], [0, 42, 42], [0, 42, 42], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 42, 42], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 11, 1], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 41, 41], [0, 44, 41], [0, 41, 41], [-5, 44, 41], [-5, 41, 41], [-5, 44, 41], [-5, 41, 41], [-5, 44, 41], [-3, 41, 41], [-4, 44, 41], [-5, 41, 41], [-6, 44, 41], [-5, 41, 41], [-4, 44, 41], [-3, 41, 41], [-3, 44, 44], [-2, 41, 41], [-1, 44, 44], [0, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [-3, 44, 44], [-5, 44, 44], [-7, 44, 44], [-4, 44, 0], [-3, 44, 44], [-2, 44, 44], [3, 44, 44], [7, 0, 44], [10, 0, 44], [8, 0, 44], [7, 0, 44], [5, 0, 43], [3, 0, 43], [2, 0, 43], [3, 0, 43], [0, 0, 43], [0, 0, 43], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 19, 0], [0, 0, 0], [0, 44, 44], [0, 43, 0], [-1, 44, 44], [-1, 43, 0], [-2, 44, 44], [-3, 43, 0], [-3, 44, 41], [-4, 43, 41], [-4, 44, 41], [-5, 43, 41], [-6, 44, 41], [-6, 43, 41], [-7, 44, 41], [-8, 43, 41], [-8, 44, 41], [-9, 43, 41], [-9, 44, 41], [-9, 43, 41], [-9, 44, 41], [-8, 43, 41], [-7, 44, 41], [-6, 43, 43], [-6, 44, 43], [-5, 43, 43], [-5, 44, 43], [-5, 43, 43], [-4, 43, 43], [-4, 43, 43], [-3, 0, 0], [-3, 43, 43], [-2, 0, 0], [-2, 43, 43], [-2, 0, 0], [1, 0, 19], [2, 0, 44], [4, 43, 44], [5, 0, 44], [6, 43, 44], [7, 0, 44], [8, 43, 44], [10, 0, 44], [11, 43, 44], [10, 0, 44], [9, 43, 44], [8, 0, 44], [7, 43, 44], [6, 0, 44], [4, 43, 44], [3, 0, 44], [3, 43, 44], [3, 0, 44], [2, 43, 44], [2, 0, 44], [2, 43, 43], [1, 0, 0], [1, 43, 43], [1, 0, 0], [1, 43, 43], [-1, 100, 1], [-1, 100, 1], [-2, 100, 1], [0, 100, 1], [0, 100, 1], [0, 100, 1], [1, 100, 1], [1, 100, 1], [1, 100, 1], [1, 42, 42], [2, 42, 42], [2, 42, 42], [2, 42, 42], [2, 42, 42], [3, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [4, 42, 42], [4, 42, 42], [4, 42, 42], [4, 42, 42], [4, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [2, 100, 1], [2, 100, 1], [2, 0, 0], [2, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 0], [0, 11, 1], [-5, 0, 0], [-6, 7, 0], [-6, 40, 40], [-6, 7, 0], [-6, 40, 40], [-6, 7, 0], [-6, 40, 40], [-7, 7, 0], [-7, 32, 40], [-7, 7, 0], [-7, 40, 40], [-6, 7, 0], [-5, 40, 40], [-4, 7, 0], [-3, 40, 40], [-2, 7, 0], [-1, 32, 40], [-1, 7, 0], [-3, 40, 40], [-4, 7, 0], [-5, 40, 40], [-6, 7, 0], [-8, 40, 40], [-9, 7, 0], [-8, 40, 40], [-6, 7, 0], [-5, 40, 40], [-4, 7, 0], [-3, 40, 40], [1, 7, 0], [2, 40, 40], [3, 0, 7], [4, 40, 40], [5, 0, 7], [4, 33, 33], [3, 0, 7], [2, 40, 40], [1, 0, 7], [-6, 40, 40], [-5, 7, 0], [-3, 40, 40], [-2, 7, 0], [-7, 40, 40], [-5, 7, 0], [-3, 40, 40], [1, 7, 0], [1, 40, 40], [2, 7, 0], [3, 33, 33], [3, 0, 0], [4, 40, 40], [5, 0, 7], [5, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [9, 0, 7], [9, 40, 40], [9, 0, 7], [9, 40, 40], [9, 0, 7], [8, 40, 40], [6, 0, 7], [5, 40, 40], [4, 0, 7], [3, 40, 40], [3, 0, 7], [2, 34, 34], [2, 0, 7], [1, 40, 40], [-2, 7, 0], [-3, 40, 40], [-5, 7, 0], [-4, 40, 40], [-4, 7, 0], [-3, 40, 40], [-2, 7, 0], [-1, 40, 40], [-1, 7, 0], [0, 40, 40], [0, 0, 7], [3, 40, 40], [7, 40, 7], [9, 0, 40], [6, 40, 7], [3, 0, 40], [2, 40, 7], [0, 0, 40], [3, 32, 32], [5, 0, 40], [4, 40, 7], [2, 0, 40], [1, 40, 7], [2, 0, 40], [5, 40, 7], [7, 0, 40], [10, 40, 7], [12, 0, 40], [13, 40, 7], [10, 0, 40], [7, 40, 7], [5, 0, 40], [3, 40, 7], [1, 43, 43], [0, 43, 43], [0, 43, 43], [0, 40, 40], [0, 7, 0], [-3, 33, 33], [-5, 7, 0], [-6, 40, 40], [-6, 7, 0], [-5, 40, 40], [-5, 7, 0], [-4, 40, 40], [-4, 7, 0], [-3, 40, 40], [-3, 31, 31], [-2, 40, 40], [-2, 0, 0], [-1, 40, 40], [0, 31, 31], [0, 40, 40], [0, 0, 0], [0, 40, 40], [3, 31, 31], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [6, 40, 40], [6, 0, 7], [3, 40, 40], [5, 0, 7], [4, 40, 40], [4, 0, 7], [3, 40, 40], [3, 0, 7], [2, 40, 40], [2, 0, 7], [2, 40, 40], [1, 0, 7], [1, 40, 40], [0, 0, 0], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 11, 1], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 40, 40], [0, 41, 41], [0, 42, 42], [0, 41, 41], [1, 42, 42], [1, 41, 41], [2, 42, 42], [2, 41, 41], [3, 42, 42], [4, 41, 41], [4, 42, 42], [5, 41, 41], [5, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [6, 41, 41], [6, 42, 42], [4, 41, 41], [2, 42, 42], [-2, 41, 41], [-3, 42, 42], [-5, 41, 41], [-6, 42, 42], [-8, 41, 41], [-7, 42, 42], [-4, 41, 41], [-2, 42, 42], [-5, 41, 41], [-4, 42, 42], [-3, 41, 41], [-2, 0, 0], [-1, 41, 41], [0, 0, 0], [0, 41, 41], [0, 0, 0], [0, 41, 41], [0, 44, 44], [0, 44, 44], [0, 44, 44], [2, 41, 41], [1, 0, 0], [0, 41, 41], [-1, 0, 0], [-2, 41, 41], [-2, 0, 0], [-2, 41, 41], [-2, 42, 42], [-3, 41, 41], [-3, 42, 42], [-3, 41, 41], [-6, 42, 42], [-9, 41, 41], [-11, 42, 42], [-9, 41, 41], [-7, 42, 42], [-4, 41, 41], [-2, 42, 42], [-8, 41, 41], [-6, 42, 42], [-4, 41, 41], [-2, 42, 42], [-1, 41, 41], [0, 42, 42], [0, 41, 41], [0, 42, 42], [2, 41, 41], [4, 42, 42], [6, 41, 41], [7, 42, 42], [7, 41, 41], [7, 42, 42], [7, 41, 41], [7, 42, 42], [7, 41, 41], [7, 42, 42], [5, 41, 41], [3, 42, 42], [2, 41, 41], [1, 42, 42], [-4, 41, 41], [-7, 42, 42], [-11, 41, 41], [-9, 42, 42], [-7, 41, 41], [-5, 42, 42], [-4, 41, 41], [-2, 42, 42], [0, 41, 41], [0, 42, 42], [0, 41, 41], [4, 42, 42], [8, 41, 41], [12, 43, 43], [10, 43, 43], [8, 43, 43], [6, 43, 43], [4, 43, 43], [2, 43, 43], [0, 43, 43], [0, 33, 33], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 42, 42], [0, 42, 42], [-1, 0, 0], [-2, 0, 0], [-3, 0, 0], [-4, 32, 32], [-5, 7, 0], [-6, 7, 0], [-8, 7, 0], [-9, 7, 0], [-10, 7, 0], [-11, 7, 0], [-12, 7, 0], [-13, 7, 0], [-10, 7, 0], [-8, 7, 0], [-5, 7, 0], [-3, 31, 31], [0, 0, 7], [2, 0, 7], [5, 0, 7], [7, 0, 7], [10, 0, 7], [12, 0, 7], [11, 0, 7], [10, 0, 7], [9, 0, 7], [8, 0, 7], [7, 0, 7], [6, 0, 7], [5, 0, 7], [4, 34, 34], [3, 0, 0], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 35, 35], [0, 12, 1], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 35, 35], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 43, 43], [0, 0, 0], [0, 35, 35], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
this.lvls.fog = new Array([0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 17, 18], [0, 10, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 65], [0, 0, 0], [0, 65, 0], [0, 0, 0], [0, 0, 0], [1, 0, 65], [1, 0, 60], [1, 65, 0], [2, 60, 7], [2, 54, 7], [3, 0, 7], [3, 62, 7], [3, 65, 7], [3, 0, 7], [3, 0, 0], [2, 0, 0], [1, 0, 57], [0, 7, 0], [-2, 7, 0], [-2, 7, 50], [-3, 7, 53], [-2, 55, 52], [-1, 50, 51], [-1, 56, 0], [0, 52, 53], [1, 55, 55], [1, 55, 63], [1, 61, 53], [1, 0, 0], [-1, 51, 0], [-3, 54, 55], [-4, 7, 0], [-6, 7, 57], [-7, 7, 0], [-6, 7, 0], [-4, 7, 0], [-3, 7, 0], [-1, 100, 1], [-3, 100, 1], [-3, 100, 1], [-2, 100, 1], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [-1, 100, 1], [-1, 100, 1], [0, 100, 1], [0, 100, 1], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 100, 1], [0, 100, 1], [1, 100, 1], [1, 100, 1], [1, 100, 1], [1, 100, 1], [2, 100, 1], [4, 0, 0], [6, 0, 7], [8, 0, 7], [8, 0, 7], [8, 0, 7], [7, 0, 7], [6, 51, 7], [5, 63, 7], [3, 0, 7], [2, 0, 7], [1, 52, 65], [1, 0, 64], [3, 0, 63], [3, 58, 62], [2, 0, 64], [2, 0, 50], [1, 0, 60], [1, 53, 0], [1, 0, 0], [0, 0, 63], [0, 50, 57], [0, 53, 55], [0, 0, 53], [0, 0, 51], [1, 0, 50], [1, 52, 58], [2, 0, 0], [2, 0, 7], [3, 53, 7], [4, 65, 7], [5, 51, 7], [5, 0, 7], [5, 0, 7], [5, 0, 7], [4, 0, 50], [3, 0, 54], [2, 64, 0], [-2, 7, 50], [-4, 7, 0], [-7, 7, 0], [-5, 7, 59], [-4, 7, 56], [-3, 100, 1], [-2, 100, 1], [-1, 100, 1], [-1, 100, 1], [0, 100, 1], [0, 100, 1], [-1, 100, 1], [-2, 100, 1], [-4, 100, 1], [-5, 100, 1], [-6, 7, 60], [-5, 7, 0], [-4, 7, 0], [-2, 7, 61], [-1, 0, 0], [0, 0, 50], [0, 57, 50], [0, 0, 53], [0, 0, 53], [0, 51, 50], [0, 55, 0], [0, 54, 51], [0, 0, 50], [1, 63, 7], [2, 50, 7], [3, 54, 7], [4, 0, 7], [4, 57, 7], [4, 54, 7], [2, 65, 7], [1, 59, 7], [0, 54, 0], [0, 0, 56], [0, 59, 0], [0, 0, 51], [0, 11, 1], [0, 56, 61], [0, 0, 53], [0, 0, 0], [0, 61, 61], [0, 59, 63], [0, 61, 0], [0, 65, 63], [0, 60, 53], [0, 52, 61], [0, 60, 50], [0, 61, 0], [2, 52, 51], [2, 59, 61], [3, 53, 61], [2, 54, 63], [1, 60, 54], [1, 52, 63], [0, 61, 54], [-1, 51, 51], [-2, 0, 0], [-3, 0, 51], [1, 0, 0], [3, 53, 7], [4, 54, 7], [5, 63, 7], [6, 0, 7], [8, 52, 7], [9, 0, 7], [6, 61, 7], [3, 0, 59], [3, 50, 65], [1, 7, 59], [-1, 7, 0], [-4, 7, 53], [-5, 7, 51], [-6, 7, 50], [-7, 7, 56], [-6, 7, 63], [-4, 53, 51], [-2, 0, 59], [-1, 54, 52], [-2, 0, 65], [-3, 7, 54], [-5, 7, 0], [-6, 7, 59], [-8, 7, 0], [-7, 7, 0], [-9, 7, 53], [-10, 7, 0], [-11, 7, 51], [-10, 7, 52], [-5, 7, 0], [-3, 7, 64], [-2, 50, 0], [-2, 0, 59], [0, 0, 7], [3, 63, 7], [4, 0, 7], [5, 0, 7], [6, 0, 7], [6, 53, 7], [5, 50, 7], [4, 0, 62], [3, 51, 0], [1, 51, 0], [0, 54, 53], [0, 0, 54], [0, 63, 62], [0, 50, 54], [0, 0, 54], [1, 54, 53], [2, 54, 53], [3, 0, 0], [3, 61, 60], [4, 0, 64], [3, 54, 56], [3, 50, 53], [3, 0, 0], [2, 61, 53], [1, 0, 54], [1, 0, 54], [1, 55, 53], [0, 52, 0], [0, 52, 50], [0, 60, 53], [-1, 0, 64], [-1, 7, 0], [-2, 7, 52], [-3, 7, 0], [-5, 7, 64], [-6, 7, 0], [-7, 7, 60], [-8, 7, 0], [-9, 7, 0], [-9, 7, 0], [-9, 7, 0], [-9, 7, 59], [-9, 7, 0], [-9, 7, 0], [-7, 7, 52], [-6, 7, 51], [-4, 7, 54], [-3, 54, 0], [-1, 51, 62], [4, 51, 54], [4, 50, 57], [4, 50, 52], [4, 100, 1], [3, 100, 1], [3, 100, 1], [2, 100, 1], [1, 100, 1], [0, 100, 1], [-1, 100, 1], [-2, 100, 1], [-3, 100, 1], [-3, 100, 1], [-4, 0, 0], [-4, 56, 50], [-4, 61, 57], [-3, 0, 0], [-2, 52, 57], [0, 50, 7], [2, 0, 7], [4, 0, 7], [5, 51, 7], [6, 0, 7], [6, 0, 7], [6, 56, 7], [6, 54, 7], [6, 56, 7], [6, 0, 7], [5, 65, 7], [5, 59, 7], [4, 0, 7], [4, 0, 7], [3, 0, 7], [2, 0, 0], [2, 0, 56], [1, 53, 53], [1, 0, 0], [1, 0, 0], [0, 58, 57], [0, 0, 0], [0, 0, 0], [0, 11, 1], [0, 59, 58], [0, 50, 0], [0, 65, 0], [0, 0, 0], [0, 62, 62], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 29, 30], [0, 0, 0], [0, 0, 0], [1, 0, 0], [1, 0, 0], [1, 62, 60], [1, 60, 60], [1, 60, 62], [2, 62, 7], [3, 62, 7], [4, 62, 7], [5, 63, 7], [7, 63, 7], [8, 62, 7], [8, 54, 7], [7, 0, 7], [6, 62, 7], [4, 63, 61], [2, 64, 61], [0, 64, 62], [-2, 65, 63], [-3, 65, 64], [-4, 64, 63], [-3, 62, 62], [-2, 62, 61], [0, 61, 7], [3, 60, 7], [4, 61, 7], [5, 61, 7], [5, 61, 7], [4, 62, 62], [2, 7, 63], [-1, 7, 61], [-4, 7, 62], [-7, 7, 63], [-9, 7, 61], [-10, 7, 62], [-10, 7, 61], [-8, 7, 62], [-6, 7, 63], [-3, 7, 63], [-1, 100, 1], [1, 100, 1], [3, 100, 1], [3, 100, 1], [3, 100, 1], [2, 100, 1], [0, 100, 1], [-1, 100, 1], [-3, 100, 1], [-3, 100, 1], [-4, 100, 1], [-4, 100, 1], [-4, 100, 1], [-4, 100, 1], [-5, 100, 1], [-6, 7, 0], [-8, 7, 0], [-10, 7, 0], [-13, 7, 0], [-11, 7, 0], [-9, 7, 0], [-7, 7, 0], [-6, 7, 0], [-4, 7, 0], [-2, 7, 0], [-1, 55, 7], [3, 0, 7], [6, 0, 7], [8, 0, 7], [8, 0, 7], [7, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 1, 7], [-1, 51, 7], [3, 65, 7], [7, 52, 7], [10, 53, 7], [8, 50, 7], [6, 54, 7], [5, 51, 7], [4, 0, 55], [3, 0, 64], [3, 52, 54], [3, 57, 65], [3, 0, 0], [3, 0, 61], [2, 57, 62], [1, 54, 0], [-1, 0, 53], [-2, 7, 61], [-3, 7, 64], [-4, 7, 53], [-5, 7, 0], [-6, 7, 64], [-6, 7, 56], [-6, 7, 0], [-5, 7, 0], [-4, 0, 0], [-4, 0, 0], [-3, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 65, 0], [1, 0, 0], [1, 29, 30], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 29, 30], [1, 0, 0], [1, 0, 0], [1, 54, 54], [1, 0, 7], [1, 0, 7], [4, 0, 7], [5, 0, 7], [4, 54, 54], [3, 7, 0], [0, 7, 0], [-2, 7, 0], [-5, 7, 0], [-7, 7, 0], [-7, 7, 0], [-7, 7, 0], [-6, 7, 0], [-5, 7, 0], [-3, 54, 54], [-1, 0, 0], [1, 0, 0], [2, 0, 65], [2, 0, 0], [2, 0, 0], [1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 54, 54], [0, 11, 1], [0, 0, 0], [-1, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-2, 0, 0], [-1, 0, 0], [0, 54, 54], [1, 0, 0], [2, 0, 0], [3, 0, 7], [4, 0, 7], [4, 0, 7], [4, 0, 7], [4, 54, 7], [4, 0, 7], [3, 0, 7], [4, 0, 7], [4, 0, 7], [4, 54, 0], [3, 0, 0], [2, 0, 54], [1, 0, 0], [-1, 7, 0], [-3, 7, 54], [-4, 7, 0], [-5, 7, 64], [-6, 7, 55], [-5, 7, 50], [-4, 64, 64], [-2, 56, 53], [0, 64, 50], [2, 62, 0], [3, 52, 64], [3, 52, 61], [3, 62, 51], [2, 60, 0], [1, 64, 62], [0, 63, 51], [-2, 62, 52], [-3, 63, 64], [-3, 62, 65], [-3, 51, 63], [-3, 64, 62], [-2, 0, 62], [-1, 65, 63], [-1, 63, 63], [-1, 63, 62], [-1, 54, 57], [-2, 51, 58], [-1, 61, 61], [-2, 58, 62], [-2, 51, 7], [0, 61, 7], [2, 63, 7], [5, 61, 7], [8, 61, 7], [7, 61, 61], [3, 7, 60], [-1, 7, 61], [-5, 7, 60], [-7, 7, 60], [-9, 7, 60], [-8, 7, 60], [-7, 7, 60], [-5, 7, 61], [-2, 61, 61], [1, 61, 61], [3, 62, 60], [4, 61, 60], [3, 62, 62], [2, 7, 60], [-1, 7, 61], [-4, 7, 61], [-7, 7, 62], [-10, 7, 62], [-13, 7, 62], [-14, 7, 63], [-13, 7, 63], [-12, 7, 63], [-9, 7, 63], [-6, 7, 7], [-2, 63, 7], [2, 63, 7], [5, 63, 7], [6, 60, 7], [6, 0, 7], [5, 63, 7], [3, 63, 64], [1, 7, 62], [-1, 7, 61], [-3, 7, 61], [-5, 7, 61], [-6, 7, 61], [-7, 7, 60], [-5, 7, 60], [-3, 60, 60], [-1, 60, 60], [1, 61, 61], [2, 61, 61], [2, 61, 61], [1, 61, 62], [0, 7, 62], [-2, 7, 63], [-4, 7, 63], [-6, 7, 63], [-6, 7, 63], [-5, 63, 63], [-3, 63, 7], [0, 64, 7], [3, 65, 7], [7, 65, 7], [9, 65, 7], [10, 65, 7], [10, 65, 7], [7, 7, 7], [4, 7, 65], [0, 7, 64], [-5, 7, 63], [-8, 7, 62], [-10, 7, 61], [-10, 7, 61], [-7, 7, 7], [-3, 61, 0], [2, 61, 7], [8, 61, 7], [13, 61, 7], [14, 61, 7], [14, 61, 7], [14, 61, 7], [14, 61, 7], [14, 61, 7], [12, 61, 7], [7, 61, 7], [3, 61, 62], [1, 63, 63], [0, 61, 61], [0, 65, 61], [0, 61, 61], [1, 63, 63], [1, 63, 63], [2, 63, 60], [2, 63, 63], [2, 64, 63], [1, 7, 64], [-1, 7, 65], [-4, 7, 65], [-6, 7, 65], [-7, 7, 65], [-7, 7, 63], [-7, 7, 61], [-6, 7, 63], [-4, 63, 65], [-2, 63, 0], [-1, 0, 63], [0, 63, 0], [0, 64, 0], [0, 51, 62], [0, 50, 64], [-1, 59, 53], [-1, 0, 0], [-1, 0, 0], [-1, 57, 54], [0, 56, 0], [0, 11, 1], [0, 55, 53], [0, 0, 53], [-1, 55, 0], [-1, 0, 0], [0, 0, 50], [0, 0, 59], [1, 51, 50], [2, 50, 53], [2, 0, 50], [3, 56, 52], [3, 58, 52], [4, 51, 53], [4, 51, 53], [3, 0, 52], [2, 64, 0], [1, 53, 0], [0, 53, 0], [0, 52, 52], [0, 0, 53], [1, 55, 7], [2, 65, 7], [4, 0, 7], [5, 54, 7], [7, 52, 7], [8, 63, 7], [8, 0, 7], [7, 0, 7], [6, 0, 7], [4, 59, 0], [3, 0, 63], [1, 0, 51], [1, 0, 0], [1, 64, 7], [1, 54, 7], [3, 51, 7], [5, 55, 7], [7, 0, 7], [9, 0, 7], [10, 59, 7], [10, 54, 7], [9, 52, 7], [8, 0, 7], [6, 54, 7], [3, 53, 53], [1, 25, 0], [-1, 7, 0], [-3, 7, 56], [-4, 7, 52], [-5, 7, 0], [-5, 7, 0], [-6, 7, 51], [-6, 7, 0], [-6, 7, 57], [-6, 7, 0], [-6, 7, 58], [-6, 7, 0], [-5, 7, 64], [-3, 54, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 53, 0], [-2, 0, 54], [-3, 54, 56], [-4, 51, 0], [-3, 65, 52], [-1, 51, 7], [1, 61, 7], [3, 62, 7], [5, 0, 7], [5, 65, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [5, 0, 7], [5, 100, 1], [5, 0, 7], [5, 0, 7], [4, 0, 7], [3, 100, 1], [2, 0, 7], [1, 0, 7], [-1, 7, 0], [-3, 7, 0], [-4, 100, 1], [-7, 7, 0], [-10, 7, 0], [-11, 7, 0], [-9, 100, 1], [-8, 7, 0], [-8, 7, 0], [-8, 7, 0], [-7, 100, 1], [-7, 7, 0], [-6, 7, 0], [-6, 7, 0], [-5, 100, 1], [-5, 7, 0], [-4, 7, 54], [-4, 7, 0], [-3, 100, 1], [-3, 7, 64], [-2, 7, 65], [-2, 7, 0], [-1, 100, 1], [-1, 100, 1], [-1, 0, 0], [-1, 0, 0], [-1, 0, 0], [1, 52, 52], [1, 52, 53], [3, 55, 55], [3, 50, 56], [4, 56, 7], [6, 56, 7], [7, 57, 7], [8, 58, 7], [9, 58, 7], [10, 59, 7], [8, 56, 7], [5, 7, 7], [1, 7, 59], [-2, 7, 56], [-5, 7, 52], [-6, 7, 60], [-7, 7, 58], [-6, 7, 50], [-5, 7, 58], [-3, 57, 57], [-2, 57, 52], [0, 58, 0], [0, 59, 50], [0, 7, 57], [-2, 7, 58], [-4, 7, 57], [-5, 7, 53], [-6, 7, 53], [-5, 7, 57], [-4, 7, 57], [-3, 7, 56], [-2, 7, 0], [0, 54, 50], [0, 59, 0], [0, 58, 0], [0, 57, 59], [0, 56, 0], [0, 55, 0], [0, 64, 50], [0, 58, 57], [0, 50, 57], [0, 0, 55], [0, 54, 57], [0, 50, 0], [0, 0, 59], [0, 53, 0], [0, 64, 54], [0, 12, 1], [0, 53, 51], [0, 0, 54], [0, 54, 51], [0, 50, 0], [0, 0, 55], [0, 56, 55], [0, 55, 56], [0, 56, 58], [0, 55, 53], [0, 56, 50], [0, 57, 53], [0, 58, 56], [0, 58, 58], [0, 58, 58], [0, 0, 0], [0, 59, 59], [0, 53, 59], [0, 0, 59], [0, 53, 58], [0, 0, 50], [0, 0, 0]);
function lvlRead(i, pointer) {
i = i % this.teAmount;
if (pointer == undefined) {
this.lvlReadPointer++;
pointer = this.lvlReadPointer;
}
pointer = (pointer + this.lvl.length) % this.lvl.length;
var _local3 = this.tes[i];
_local3.curve = this.lvl[pointer][0];
_local3.dekoL = this.lvl[pointer][1];
_local3.dekoR = this.lvl[pointer][2];
_local3.mc.swapDepths(this.teDepthCounter--);
_local3.mc.street.dekoL.gotoAndStop(this.lvl[pointer][1] + 1);
_local3.mc.street.dekoR.gotoAndStop(this.lvl[pointer][2] + 1);
}
function init() {
this.phase = 0;
this.accelTimeStamp = 0;
bg.gotoAndStop(this.level);
switch (this.level) {
case "plain" :
this.teAmount = 10;
this.teBotMaxX = 1.9;
this.trackWidth = 2.7;
this.streetWidth = 2.2;
this.greenFriction = 0.93;
break;
case "night" :
this.teAmount = 10;
this.teBotMaxX = 1.9;
this.trackWidth = 2.7;
this.streetWidth = 2.2;
this.greenFriction = 0.93;
break;
case "fog" :
this.teAmount = 8;
this.teBotMaxX = 1.2;
this.trackWidth = 2.05;
this.streetWidth = 1.7;
this.greenFriction = 0.93;
break;
case "dirt" :
this.teAmount = 10;
this.teBotMaxX = 0.9;
this.trackWidth = 2.6;
this.streetWidth = 2.2;
this.greenFriction = 0.93;
}
this.teMcHeight = 100;
this.teHeight = 35;
this.teHeightScale = 0.8;
this.camX = 0;
this.scoreFlag = true;
this.pl.vx = 0;
this.pl.ax = 0.03;
this.pl.fx = 0.85;
this.pl.x = 0;
this.pl.y = -1;
this.pl.vz = 0;
this.pl.az = 0.005;
this.pl.fz = 0.98;
this.lvlReadPointer = -1;
this.teDepthCounter = 1000000 /* 0x0F4240 */;
this.spriteDepthCounter = 2000000 /* 0x1E8480 */;
this.pl.mc = this.attachMovie("bike", "bike", 3000000);
this.pl.mc._y = 155;
this.pl.mc.biker.sprite.tire.stop();
var _local3 = 0;
var _local2 = 0;
while (_local2 < this.teAmount) {
this.tes[_local2] = Array();
this.tes[_local2].mc = this.attachMovie("te", "track" + _local2, this.teDepthCounter--);
this.tes[_local2].col = new Color(this.tes[_local2].mc);
this.tes[_local2].mc.street.variant.gotoAndStop((this.level + "_") + _local3);
this.lvlRead(_local2);
this.tes[_local2].mc.grass.variant.gotoAndStop((this.level + "_") + _local3);
_local2++;
}
this.offTe = 0;
this.botcfg = {vzMax:0.15, az:0.005, ax:0.005, vzVariance:0.55};
_local2 = 0;
while (_local2 < 6) {
this.bots[_local2] = new Object();
this.bots[_local2].mc = this.attachMovie("bike", "bot" + _local2, this.spriteDepthCounter--);
this.bots[_local2].mc.biker.tire.gotoAndStop(1);
this.bots[_local2].col = new Color(this.bots[_local2].mc);
this.bots[_local2].vz = 0;
this.bots[_local2].az = this.botcfg.az;
this.bots[_local2].ax = this.botcfg.ax;
this.resetBot(this.bots[_local2]);
this.bots[_local2].x = this.botBases[_local2].x;
this.bots[_local2].z = this.botBases[_local2].z;
_local2++;
}
this.coltrans = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
}
function resetBot(bot) {
bot.x = ((this.teBotMaxX * Math.random()) * 2) - this.teBotMaxX;
bot.mc.biker.gotoAndStop(Math.floor(Math.random() * 7) + 2);
bot.vzMax = this.botcfg.vzMax + ((Math.random() * this.botcfg.vzMax) * this.botcfg.vzVariance);
}
function startBots() {
for (var _local2 in this.bots) {
this.bots[_local2].mc.biker.tire.play();
}
}
function gameOver() {
_root.actScore = int(_root.osd.actScore);
_root.gotoAndStop("raceover");
}
this.level = _root.level;
this.lvl = this.lvls[this.level];
this.tes = new Array();
this.bufferOffX = new Array();
this.bufferCurve = new Array();
this.coltrans = new Object();
this.bots = new Array();
this.distance = 0;
this.botBases = new Array();
this.botBases[0] = {x:-1, z:0};
this.botBases[1] = {x:0, z:0};
this.botBases[2] = {x:1, z:0};
this.botBases[3] = {x:-1, z:1};
this.botBases[4] = {x:0, z:1};
this.botBases[5] = {x:1, z:1};
this.pl = new Object();
init();
if (_root.version eq "nkcheat") {
levedAlter = function (element, d, value, offset) {
offset = int(offset);
var _local3 = this.lvl[(this.lvlReadPointer - 4) % this.lvl.length][element];
if (int(d) != 0) {
value = _local3 + d;
}
if (element > 0) {
if ((((((((value == 2) || (value == 15)) || (value == 16)) || (value == 17)) || (value == 10)) || (value == 11)) || (value == 12)) || (value == 100)) {
if (element == 1) {
this.levedAlter(2, 0, 1);
}
} else if ((((((((_local3 == 2) || (_local3 == 15)) || (_local3 == 16)) || (_local3 == 17)) || (_local3 == 10)) || (_local3 == 11)) || (_local3 == 12)) || (_local3 == 100)) {
if (element == 1) {
this.levedAlter(2, 0, 0);
}
}
}
this.lvl[((this.lvlReadPointer - 4) + offset) % this.lvl.length][element] = value;
this.levedPrint();
this.lvlReadPointer = this.lvlReadPointer - this.teAmount;
var _local2 = 0;
while (_local2 < this.teAmount) {
this.lvlRead((this.offTe + _local2) % this.teAmount);
_local2++;
}
};
levedRead = function (element, offset) {
return(this.lvl[((this.lvlReadPointer - 4) + offset) % this.lvl.length][element]);
};
levedPrint = function () {
var _local5 = this.lvlReadPointer - 4;
var _local6 = 0;
var _local7 = 0;
var _local10 = 125;
var _local9 = 200;
var _local4 = _local5;
while (_local4 < (_local5 + 12)) {
var _local3 = _root["block" + _local6];
if (_local4 == _local5) {
_local3.gotoAndStop(2);
} else {
_local3._alpha = 40;
}
var _local8 = this.lvl[_local4 % this.lvl.length][0];
_local3._x = _local10;
_local3._y = _local9;
_local3._rotation = _local7;
_local3.d0.gotoAndStop(this.lvl[_local4 % this.lvl.length][1] + 1);
_local3.d1.gotoAndStop(this.lvl[_local4 % this.lvl.length][2] + 1);
_local3.swapDepths(10000 - _local6);
_local7 = _local7 - _local8;
_local9 = _local9 - (Math.cos((_local7 / 180) * Math.PI) * 15);
_local10 = _local10 + (Math.sin((_local7 / 180) * Math.PI) * 15);
_local6++;
_local4++;
}
_local7 = 0;
_local10 = 125;
_local9 = 200;
_local4 = _local5;
while (_local4 > (_local5 - 12)) {
var _local3 = _root["block" + _local6];
if (_local4 == _local5) {
_local3.gotoAndStop(2);
} else {
_local3._alpha = 40;
}
var _local8 = this.lvl[_local4 % this.lvl.length][0];
_local3._x = _local10;
_local3._y = _local9;
_local3._rotation = _local7;
_local3.d0.gotoAndStop(this.lvl[_local4 % this.lvl.length][1] + 1);
_local3.d1.gotoAndStop(this.lvl[_local4 % this.lvl.length][2] + 1);
_local3.swapDepths(11000 + _local6);
_local7 = _local7 + _local8;
_local9 = _local9 + (Math.cos((_local7 / 180) * Math.PI) * 15);
_local10 = _local10 - (Math.sin((_local7 / 180) * Math.PI) * 15);
_local6++;
_local4--;
}
};
Key.addListener(this);
this.onKeyDown = function () {
var _local9 = Key.getCode();
if ((_local9 >= 48) && (_local9 < 58)) {
this.levedInput = (this.levedInput + "") + (_local9 - 48);
} else {
switch (_local9) {
case 220 :
this.levedInput = "";
break;
case 67 :
var _local4 = 0;
var _local6 = 0;
_local6 = int(this.levedRead(0, 0)) > 0;
while ((int(this.levedRead(0, _local4)) != 0) && (int(this.levedRead(0, _local4)) == _local6)) {
this.levedAlter(0, 0, 0, _local4);
_local4++;
}
_local4 = -1;
while ((int(this.levedRead(0, _local4)) != 0) && (int(this.levedRead(0, _local4)) == _local6)) {
this.levedAlter(0, 0, 0, _local4);
_local4--;
}
break;
case 68 :
this.levedDeko = int(this.levedInput);
break;
case 73 :
this.levedCurveIn = int(this.levedInput);
var _local8 = this.levedRead(0, 0);
_local4 = 0;
while (_local4 < this.levedCurveIn) {
var _local5 = Math.round(_local8 * ((this.levedCurveIn - _local4) / this.levedCurveIn));
this.levedAlter(0, 0, _local5, -1 * _local4);
_local4++;
}
break;
case 76 :
_local4 = 0;
while (_local4 < 24) {
_root.attachMovie("block", "block" + _local4, 100 + _local4);
_root["block" + _local4]._xscale = (_root["block" + _local4]._yscale = 200);
_local4++;
}
this.levedPrint();
break;
case 79 :
this.levedCurveOut = int(this.levedInput);
_local8 = this.levedRead(0, 0);
_local4 = 0;
while (_local4 < this.levedCurveOut) {
var _local5 = Math.round(_local8 * ((this.levedCurveOut - _local4) / this.levedCurveOut));
this.levedAlter(0, 0, _local5, _local4);
_local4++;
}
break;
case 84 :
this.levedCurveThreshold = int(this.levedInput);
_local8 = this.levedRead(0, 0);
_local4 = 0;
while (_local4 < this.levedCurveThreshold) {
this.levedAlter(0, 0, _local8, _local4);
_local4++;
}
break;
case 88 :
var _local7 = this.lvl;
_local4 = 0;
while (_local4 < _local7.length) {
var _local3 = _local7[_local4];
trace((((((("[" + _local3[0]) + ", ") + _local3[1]) + ", ") + _local3[2]) + "], ") + ((_local3.comment ne "") ? ("// " + _local3.comment) : ""));
_local4++;
}
break;
case 45 :
if (Key.isDown(16) && (Key.isDown(17))) {
this.levedDeko = this.levedRead(1, 0);
} else if (Key.isDown(16)) {
this.levedAlter(1, 1, 0);
this.levedDeko = this.levedRead(1, 0);
} else {
this.levedAlter(1, 0, int(this.levedDeko));
}
break;
case 33 :
if (Key.isDown(16) && (Key.isDown(17))) {
this.levedDeko = this.levedRead(2, 0);
} else if (Key.isDown(16)) {
this.levedAlter(2, 1, 0);
this.levedDeko = this.levedRead(2, 0);
} else {
this.levedAlter(2, 0, int(this.levedDeko));
}
break;
case 46 :
if (Key.isDown(16)) {
this.levedAlter(1, -1, 0);
this.levedDeko = this.levedRead(1, 0);
}
break;
case 34 :
if (Key.isDown(16)) {
this.levedAlter(2, -1, 0);
this.levedDeko = this.levedRead(2, 0);
}
break;
case 32 :
if (this.pl.vz == 0) {
this.pl.vz = 0.225;
} else {
this.pl.vz = 0;
}
break;
case 16 :
case 17 :
break;
}
}
};
}
function botSort(a, b) {
if (a.z < b.z) {
return(-1);
}
if (a.z > b.z) {
return(1);
}
return(0);
}
function draw() {
var _local7;
var _local6;
var _local16 = 0;
var _local11;
var _local10;
var _local4;
_local4 = (getTimer() - this.timestamp) / 50;
this.timestamp = getTimer();
if (_local4 > 200) {
return(undefined);
}
if (this.pl.vz > 0.1) {
this.pl.mc.biker.sprite.tire.play();
} else {
this.pl.mc.biker.sprite.tire.gotoAndStop(1);
}
if (Key.isDown(27) || (Key.isDown(8) && (_root.version eq "nkcheat"))) {
this.gameOver();
}
if (Key.isDown(38)) {
if (this.phase == 1) {
this.pl.mc.biker.sprite.light.gotoAndStop("off");
if (this.accelTimeStamp > 0) {
var _local21 = getTimer() - this.accelTimeStamp;
if ((_local21 > 0) || (_local21 < -1000)) {
this.accelTimeStamp = 0;
} else {
this.pl.vz = this.pl.vz + (this.pl.az * _local4);
}
}
this.pl.vz = this.pl.vz + (this.pl.az * _local4);
this.distance = this.distance - (0.05 * _local4);
} else if ((this.phase == 0) && (this.keyAccelTokens > 0)) {
this.keyAccelTokens = 0;
this.accelTimeStamp = getTimer() + 1000;
}
} else {
this.pl.mc.biker.sprite.light.gotoAndStop("on");
this.keyAccelTokens = 1;
}
if (Key.isDown(40)) {
this.pl.vz = this.pl.vz * Math.pow(0.95, _local4);
}
if (this.phase >= 2) {
this.pl.vz = this.pl.vz * Math.pow(0.95, _local4);
} else {
this.pl.vz = this.pl.vz * Math.pow(this.pl.fz, _local4);
}
var _local20 = 0;
if (Key.isDown(37) && (this.phase > 0)) {
_local20 = Math.max(0, Math.abs(this.pl.vx) - 0.3);
this.pl.vx = this.pl.vx - (0.1 * _local4);
if (!Key.isDown(38)) {
this.pl.vx = this.pl.vx - (0.05 * _local4);
}
}
if (Key.isDown(39) && (this.phase > 0)) {
_local20 = Math.max(0, Math.abs(this.pl.vx) - 0.3);
this.pl.vx = this.pl.vx + (0.1 * _local4);
if (!Key.isDown(38)) {
this.pl.vx = this.pl.vx + (0.05 * _local4);
}
}
if (_local20 > 0) {
_root.sndChannelSqueal.fade(_local20 * 0.53, 5);
} else {
_root.sndChannelSqueal.fade(_local20, 5);
}
if (_root.version == "nkcheat") {
if (((!Key.isDown(16)) && (Key.isDown(34))) && (this.keyRightTokens > 0)) {
this.keyRightTokens = 0;
this.pl.vz = 0;
this.levedAlter(0, -1);
} else {
this.keyRightTokens = 1;
}
if (((!Key.isDown(16)) && (Key.isDown(46))) && (this.keyLeftTokens > 0)) {
this.keyLeftTokens = 0;
this.pl.vz = 0;
this.levedAlter(0, 1);
} else {
this.keyLeftTokens = 1;
}
if (Key.isDown(35) && (this.keyDownTokens > 0)) {
this.pl.vz = 0;
this.distance = int(this.distance) + 1.1;
this.keyDownTokens = 0;
} else {
this.keyDownTokens = 1;
}
if (Key.isDown(36) && (this.keyUpTokens > 0)) {
this.pl.vz = 0;
this.keyUpTokens = 0;
this.distance = int(this.distance) - 1;
} else {
this.keyUpTokens = 1;
}
}
this.pl.vx = this.pl.vx * Math.pow(this.pl.fx, _local4);
this.pl.mc.biker._rotation = (this.pl.mc.biker._rotation * 0.8) + (((this.pl.vx * Math.max(0.08, Math.abs(this.pl.vz))) * 330) * 0.2);
this.pl.mc.biker.sprite.gotoAndStop(Math.min(20, Math.max(1, int((this.pl.vx + 0.5) * 20))));
this._rotation = (this.pl.vx * Math.abs(this.pl.vz)) * 90;
this.distance = this.distance - (this.pl.vz * _local4);
_root.osd.actScore = _root.osd.actScore + ((this.pl.vz * _local4) * 5);
if (this.phase > 1) {
if ((this.phase == 2) || (this.phase == 3)) {
if (this.phase == 3) {
this.pl.vz = this.pl.vz * Math.pow(0.95, _local4);
}
if (this.pl.vz < 0.003) {
this.phase = 4;
this.gameOver();
} else if (this.pl.vz < 0.015) {
this.pl.vz * 0.5;
}
}
}
var _local14;
this.pl.x = Math.max(-1 * this.trackWidth, Math.min(this.trackWidth, this.pl.x));
_local14 = 0.2;
if (this.level == "dirt") {
_local14 = 0.15;
if (Math.abs(this.pl.x) > this.streetWidth) {
_local14 = 0.12;
} else if (Math.abs(this.pl.x) > 1) {
_local14 = 0.1;
this.pl.vz = this.pl.vz * Math.pow(0.997, _local4);
}
}
this.pl.x = this.pl.x + (((this.pl.vx * _local4) * _local14) * Math.max(0.7, Math.min(0.8, this.pl.vz * 10)));
this.pl.vz = Math.max(0, this.pl.vz - (Math.abs(this.pl.vx * 0.001) * _local4));
this.camX = this.pl.x * -100;
while (this.distance < 0) {
this.distance = this.distance + 1;
this.lvlRead(this.offTe);
this.offTe++;
this.scoreFlag = true;
}
while (this.distance > 1) {
this.lvlReadPointer--;
this.lvlRead(this.offTe, (this.lvlReadPointer - this.teAmount) + 1);
this.distance = this.distance - 1;
this.offTe--;
}
p = Math.pow(0.64, this.pl.y);
_local6 = this.pl.mc;
_local6._y = p * 100;
_local6._xscale = (_local6._yscale = p * 100);
_local6._x = ((this.pl.x * p) * 100) + this.camX;
var _local5 = 0;
while (_local5 < this.teAmount) {
te = this.tes[(_local5 + this.offTe) % this.teAmount];
_local6 = te.mc;
_local11 = (this.distance - 2) + _local5;
this.sfx(te, _local11);
p = Math.pow(0.64, _local11);
_local6._y = p * 100;
scale = p * 100;
_local6.street._xscale = scale;
_local6.street._yscale = scale;
_local6.grass._yscale = scale;
_local7 = te.curve;
if (_local5 == 0) {
x = this.camX * p;
_local7 = _local7 * this.distance;
} else {
x = spliceX;
}
if (_local5 == 0) {
var _local12 = ((this.pl.vz * te.curve) * 0.09) * _local4;
this.pl.x = this.pl.x + _local12;
this.bg.shil._x = ((this.bg.shil._x + (_local12 * 60)) + 700) % 700;
}
if (_local5 == 1) {
if (Math.abs(this.pl.x) > (this.streetWidth + 0.1)) {
this.pl.vz = this.pl.vz * Math.pow(this.greenFriction, _local4);
if ((this.pl.x > 0) && (te.dekoR > 0)) {
_global.snd.playEvent("sndHitDeko", Math.abs(this.pl.vz) * 12);
this.pl.vz = this.pl.vz * Math.pow(0.7, _local4);
this.pl.vx = this.pl.vx - (0.5 * _local4);
} else if ((this.pl.x < 0) && (te.dekoL > 0)) {
_global.snd.playEvent("sndHitDeko", Math.abs(this.pl.vz) * 12);
this.pl.vz = this.pl.vz * Math.pow(0.7, _local4);
this.pl.vx = this.pl.vx + (0.5 * _local4);
}
}
if ((te.dekoL == 11) || (te.dekoL == 12)) {
if (this.scoreFlag == true) {
_root.statistics[_root.level].checkpoints.push({score:0, time:0});
_root.osd.score(false, te.dekoL == 12);
this.scoreFlag = false;
this.phase = 1;
}
if ((te.dekoL == 12) && (_root.version != "nkcheat")) {
_root.statistics[_root.level].winner = true;
this.phase = 3;
}
}
}
_local6.street._x = x;
this.bufferOffX[_local5] = x;
this.bufferCurve[_local5] = te.curve;
_local16 = _local16 + _local7;
_local7 = (this.camX * 0.094) + _local16;
spliceX = x - ((_local7 * 3.8) * p);
_local7 = Math.min(Math.max(71 - int(_local7), 1), 141);
_local6.street.gotoAndStop(_local7);
_local5++;
}
this.bufferOffX[_local5] = this.bufferOffX[_local5 - 1];
var _local13;
var _local17;
var _local8;
this.bots.sort(this.botSort);
var _local15 = 0.5;
_local5 = 0;
while (_local5 < this.bots.length) {
_local5 = int(_local5);
bot = this.bots[_local5];
if (bot.z < 0) {
_local15 = _local15 + (Math.max(0, bot.z + 5) * 0.06);
} else {
_local15 = _local15 + (Math.max(0, 3 - bot.z) * 0.06);
}
if ((this.phase == 1) || (this.phase == 2)) {
bot.vz = Math.min(bot.vz + (bot.az * _local4), bot.vzMax);
} else {
bot.vz = bot.vz * Math.pow(0.96, _local4);
bot.vx = bot.vx * 0.5;
}
if ((this.phase == 0) || (this.phase == 4)) {
bot.vz = 0;
bot.vx = 0;
}
bot.z = bot.z + ((bot.vz - this.pl.vz) * _local4);
bot.x = bot.x + (bot.vx * _local4);
bot.vx = bot.vx * Math.pow(0.95, _local4);
_local6 = bot.mc;
if ((bot.z < -2) || (bot.z >= (this.teAmount - 3))) {
if (bot.z > (this.teAmount + 6)) {
bot.z = bot.z - (this.teAmount + 8);
}
if (bot.z < -5) {
bot.z = this.teAmount + (Math.random() * 5);
}
_local6._visible = false;
} else {
_local6._visible = true;
if (bot.z < -1) {
_local6.swapDepths((4000000 - int(bot.z * 10000)) - _local5);
} else {
_local6.swapDepths((2000000 - int(bot.z * 10000)) - _local5);
}
_local10 = (bot.z + 2) - this.distance;
_local11 = 1 - (_local10 - Math.floor(_local10));
_local10 = Math.ceil(_local10);
this.sfx(bot, bot.z);
_local7 = this.tes[(_local10 + this.offTe) % this.teAmount].curve;
_local17 = _local7 + (bot.vx * -100);
_local6.biker._rotation = Math.max(Math.min((_local6.biker._rotation * 0.9) + ((_local17 * -6.5) * 0.1), 33), -33);
p = Math.pow(0.64, bot.z);
_local6._y = p * 100;
_local6._x = (((bot.x * p) * 100) + (this.bufferOffX[_local10] * _local11)) + (this.bufferOffX[_local10 + 1] * (1 - _local11));
_local6._xscale = (_local6._yscale = p * 100);
_local8 = 0;
_local13 = Math.abs(bot.x - this.pl.x);
if (_local13 < 0.25) {
if (bot.z > -1) {
if (bot.z < -0.63) {
_global.snd.playEvent("sndHit", (this.pl.vz - bot.vz) * 10);
this.pl.vz = Math.min(this.pl.vz, bot.vz) * Math.pow(0.7, _local4);
}
} else if (bot.z > -1.37) {
_global.snd.playEvent("sndHit", (bot.vz - this.pl.vz) * 10);
bot.vz = Math.min(this.pl.vz, bot.vz) * Math.pow(0.7, _local4);
} else {
if (this.pl.x > 0) {
bot.vx = bot.vx - (bot.ax * _local4);
} else {
bot.vx = bot.vx + (bot.ax * _local4);
}
_local8 = 11;
}
} else if (_local13 < 0.5) {
if ((bot.z > -1.5) && (bot.z < -0.63)) {
_global.snd.playEvent("sndHitShoulder", Math.abs(this.pl.vx - bot.vx) * 10);
this.pl.vx = this.pl.vx * Math.pow(0.8, _local4);
if (this.pl.x > bot.x) {
bot.vx = Math.min(this.pl.vx * _local14, bot.vx) - (bot.ax * _local4);
_local8 = 12;
} else {
bot.vx = Math.max(this.pl.vx * _local14, bot.vx) + (bot.ax * _local4);
_local8 = 12;
}
}
}
if (Math.abs(bot.x) >= this.teBotMaxX) {
if (this.bot.x > 0) {
bot.vx = bot.vx - (bot.ax * _local4);
} else {
bot.vx = bot.vx + (bot.ax * _local4);
}
_local8 = 20;
if (Math.abs(bot.x) > this.streetWidth) {
bot.vz = bot.vz * Math.pow(this.greenFriction, _local4);
}
if (this.level == "dirt") {
if ((Math.abs(this.bot.x) < this.streetWidth) && (Math.abs(this.bot.x) > 1)) {
this.bot.vz = this.bot.vz * Math.pow(0.987, _local4);
}
}
}
if (_local8 == 0) {
if (_local5 < (this.bots.length - 1)) {
var _local9 = _local5 + 1;
while (_local9 < this.bots.length) {
other = this.bots[_local9];
if ((Math.abs(bot.x - other.x) < 0.3) && ((other.z - bot.z) < 1)) {
if (bot.x > 0) {
bot.vx = bot.vx - (bot.ax * _local4);
} else {
bot.vx = bot.vx - (bot.ax * _local4);
}
bot.vz = bot.vz * Math.pow(0.95, _local4);
_local8 = 30;
}
_local9++;
}
}
}
if (_local8 == 0) {
bot.vx = bot.vx - (((bot.ax * _local4) * _local7) / 15);
_local8 = 40;
}
}
_local5++;
}
_local15 = Math.min(0.8, _local15) * 0.4;
_root.sndChannelAmbience.fade(_local15, 10);
if (Key.isDown(36) || (Key.isDown(35))) {
this.levedPrint();
}
}
this.onEnterFrame = draw;
this.timestamp = getTimer();
function sfx(te, distance) {
var _local2;
switch (this.level) {
case "plain" :
_local2 = (1 - ((distance - 2) / (this.teAmount - 2))) * 100;
this.coltrans.ra = _local2;
this.coltrans.ga = _local2;
this.coltrans.ba = _local2;
_local2 = ((100 - _local2) / 100) * 255;
this.coltrans.rb = _local2;
this.coltrans.gb = _local2;
this.coltrans.bb = _local2;
te.col.setTransform(this.coltrans);
break;
case "night" :
_local2 = 100 - (((distance + 2) / this.teAmount) * 100);
this.coltrans.ra = _local2;
this.coltrans.ga = _local2;
this.coltrans.ba = _local2;
te.col.setTransform(this.coltrans);
break;
case "fog" :
_local2 = (1 - ((distance + 2) / this.teAmount)) * 100;
this.coltrans.ra = _local2;
this.coltrans.ga = _local2;
this.coltrans.ba = _local2;
_local2 = ((100 - _local2) / 100) * 255;
this.coltrans.rb = _local2;
this.coltrans.gb = _local2;
this.coltrans.bb = _local2;
te.col.setTransform(this.coltrans);
break;
case "dirt" :
_local2 = (1 - ((distance + 2) / this.teAmount)) * 100;
this.coltrans.ra = _local2;
this.coltrans.ga = _local2;
this.coltrans.ba = _local2;
_local2 = (100 - _local2) / 100;
this.coltrans.rb = _local2 * 246;
this.coltrans.gb = _local2 * 236;
this.coltrans.bb = _local2 * 190;
te.col.setTransform(this.coltrans);
}
}
Symbol 347 MovieClip Frame 1
stop();
Symbol 356 MovieClip Frame 1
stop();
Symbol 378 MovieClip Frame 1
stop();
Symbol 378 MovieClip Frame 11
play();
Symbol 378 MovieClip Frame 12
if (Math.abs(_root.w.pl.vz) < 0.02) {
prevFrame();
}
Symbol 378 MovieClip Frame 13
gotoAndStop ("inactive");
Symbol 378 MovieClip Frame 19
_root.sndChannelMusic.fade(1, 15);
_root.sndChannelMotor.fade(1, 15);
_root.sndChannelSqueal.fade(1, 15);
Symbol 378 MovieClip Frame 63
gotoAndStop ("inactive");
Symbol 378 MovieClip Frame 87
_global.snd.playEvent("sndMarks", 1);
Symbol 378 MovieClip Frame 122
_global.snd.playEvent("sndSet", 1);
Symbol 378 MovieClip Frame 157
_parent.go();
_global.snd.playEvent("sndGo", 1);
_root.sndChannelMotors.fade(0, 20);
_global.snd.playEvent("sndRaceStart", 0.5);
_root.sndChannelAmbience = _global.snd.playLoop("sndRaceAmbience", 0);
_root.sndChannelAmbience.fade(0.5, 100);
Symbol 378 MovieClip Frame 179
gotoAndStop ("inactive");
Symbol 387 MovieClip Frame 1
stop();
Symbol 403 MovieClip Frame 1
function resetFps() {
this.frames = 0;
this.ms = getTimer();
}
function score(ifInit, ifFinish) {
var _local5 = Math.max(0, time - (getTimer() - timestamp));
timestamp = getTimer();
this.timeScore = getTimer();
if (!ifInit) {
var _local4 = Math.max(int(_local5), 0);
var _local8 = _root.statistics[_root.level].checkpoints.length;
var _local6 = _local8;
_local4 = _local4 * _local6;
this.actScore = this.actScore + _local4;
if (_local4 > 0) {
this.titles.bonus = (_local6 + " x Bonus: ") + _local4;
} else {
this.titles.bonus = "No Bonus";
}
var _local7 = _root.statistics[_root.level].checkpoints[_root.statistics[_root.level].checkpoints.length - 1];
_local7.bonus = _local4;
_local7.time = getTimer() - this.checkpointTimestamp;
this.checkpointTimestamp = getTimer();
if (ifFinish) {
_global.snd.playEvent("sndFinish", 1);
this.titles.title = "Finish!";
} else {
_global.snd.playEvent("sndCheckpoint", 1);
this.titles.title = "Checkpoint!";
}
trace("gap check!");
this.titles.gotoAndPlay("checkpoint");
} else {
this.checkpointTimestamp = getTimer();
this.time = 0;
_local5 = 0;
}
this.time = _local5 + 30000;
this.warn = 6;
}
function go() {
resetFps();
score(true);
_root.w.phase = 1;
_root.w.startBots();
this.gotoAndPlay("loop");
}
actScore = 0;
timeScore = -100000;
timeDisplay = 30;
timeDisplayTenth = ".0";
Symbol 403 MovieClip Frame 7
stop();
titles.gotoAndPlay("markssetgo");
Symbol 403 MovieClip Frame 8
mph = int(_root.w.pl.vz * 800);
tacho.gotoAndStop(int(_root.w.pl.vz * 380) + 1);
meter.gotoAndStop(int((this.pos / _root.w.lvl.length) * 100) + 1);
scoreD = int(actScore);
timeD = time - (getTimer() - timestamp);
if (((this.pos == 0) && (timeD < 29000)) && (titles._currentframe == 1)) {
titles.gotoAndPlay("help");
}
if ((timeD < 0) && (_root.version ne "nkcheat")) {
timeD = 0;
if (_root.w.phase == 1) {
_root.w.phase = 2;
this.titles.title = "Time Out!";
this.titles.bonus = "";
_root.sndChannelMusic.fade(0, 15);
_root.sndChannelMotor.fade(0, 15);
_root.sndChannelSqueal.fade(0, 15);
this.titles.gotoAndPlay("checkpoint");
_global.snd.playEvent("sndTimeout", 1);
}
}
timeDisplay = int(timeD / 1000);
if (timeDisplay < 10) {
timeDisplay = "0" + timeDisplay;
}
timeDisplayTenth = "." + (int(timeD / 100) % 10);
if (timeDisplay < warn) {
if (warn > 1) {
_global.snd.playEvent("sndTimer", 1);
}
mcTime.play();
warn--;
}
fps = Math.floor(((frames++) / (getTimer() - ms)) * 10000) / 10;
pos = _root.w.offTe;
if (Key.isDown(8) && (_root.version == "nkcheat")) {
timestamp = getTimer();
time = 30000;
resetFps();
}
Symbol 403 MovieClip Frame 9
gotoAndPlay ("loop");
Symbol 411 Button
on (press) {
_root.gotoAndStop(_root.nextStep);
}
Symbol 430 Button
on (press) {
_root.gotoAndStop("gameover");
}
Symbol 434 Button
on (release) {
_root.gotoAndStop("menu");
}
Symbol 436 Button
on (release) {
_global.config.gameScoreSubmit(_root.totalScore);
}
Symbol 447 Button
on (release) {
getURL ("http://www.neodelight.com/turbospiritxt", "_TOP");
}
Symbol 467 Button
on (release) {
getURL ("http://www.neodelight.com/turbospiritxt", "_TOP");
}
Symbol 475 Button
on (release) {
if (_root.moreGamesUrl ne "") {
getURL (_root.moreGamesUrl, "_top");
} else {
getURL ((("http://www.neodelight.com/?ref=moregames&ref_game=" + _root.game) + "&ref_ver=") + _root.version, "_top");
}
}
Symbol 487 Button
on (release) {
_root.highscorePlugin(_root.totalScore);
_root.gotoAndStop("menu");
}
Symbol 492 MovieClip Frame 1
if (_root.totalScore < 100000) {
if (_root.branding == "chickstop") {
gotoAndStop ("chickBad");
} else {
gotoAndStop ("playaBad");
}
} else if (_root.branding == "chickstop") {
gotoAndStop ("chickGood");
} else {
gotoAndStop ("playaGood");
}
Symbol 495 Button
on (release) {
_root.highscorePlugin(_root.totalScore, _root.username);
_root.gotoAndStop("menu");
}
Symbol 500 Button
on (release) {
if ((this.username.length > 0) && (this.useremail.length > 0)) {
trace("blah!!");
this.nextFrame();
} else {
trace("baddate");
}
}
Symbol 506 MovieClip Frame 1
stop();
_root.actScore = _root.totalScore;
Symbol 506 MovieClip Frame 2
pinacletop.removeMovieClip();
this.scorea = _root.actScore + "a";
scorelength = this.scorea.length;
scorelength--;
a = 0;
while (a < scorelength) {
this["scorenum" + a] = this.scorea.substr(a, 1);
if (this["scorenum" + a] == 0) {
this["scorenum" + a] = "z";
} else if (this["scorenum" + a] == 1) {
this["scorenum" + a] = 7;
} else if (this["scorenum" + a] == 2) {
this["scorenum" + a] = 3;
} else if (this["scorenum" + a] == 3) {
this["scorenum" + a] = "p";
} else if (this["scorenum" + a] == 4) {
this["scorenum" + a] = "j";
} else if (this["scorenum" + a] == 5) {
this["scorenum" + a] = 5;
} else if (this["scorenum" + a] == 6) {
this["scorenum" + a] = 1;
} else if (this["scorenum" + a] == 7) {
this["scorenum" + a] = "t";
} else if (this["scorenum" + a] == 8) {
this["scorenum" + a] = "k";
} else if (this["scorenum" + a] == 9) {
this["scorenum" + a] = 6;
}
a++;
}
this.scorecode = ("x" + random(9)) + random(9);
b = scorelength - 1;
while (b >= 0) {
this.scorecode = this.scorecode + this["scorenum" + b];
b--;
}
mynewscore = _root.actScore;
getURL ((((("http://www.happytree.nl/games/" + _root.gameName) + "/") + _root.gameName) + "score.php?site=") + _root.site, "_top", "POST");
Symbol 508 Button
on (release) {
_root.gotoAndStop("menu");
}
Symbol 510 Button
on (release) {
getURL ("http://www.neodelight.com/turbospiritxt", "_top");
}
Symbol 512 Button
on (release) {
getURL ("http://www.neodelight.com/turbospiritxt", "_top");
}
Symbol 532 Button
on (release) {
getURL ("http://www.neodelight.com/turbospirit", "_top");
}
Symbol 534 Button
on (release) {
getURL ("http://www.neodelight.com/turbospirit", "_top");
}