Frame 1
com.neodelight.std.Blueprint.addBlueprint("game", {gameTitle:"Doom Rider", gameName:"doomrider", gameFlashVersion:6, gameHighscores:true, gameHighscoresKey0:"8yQTDe2w", gameHighscoresKey1:"gkXtZPrx", gameLicenses:"licenseNeodelight,licenseFree"});
com.neodelight.std.Blueprint.addBlueprint("licenseNeodelight", {blueprint:"game", 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.\nCreated in cooperation with FreeGamesJungle.com", gameCopyright:"(c) www.neodelight.com 2007", gameCopyrightLink:"http://www.neodelight.com/?ref=doomrider", gameIntro:"introNd", urlHighscoresView:"http://www.neodelight.com/highscores/doomrider?ref=doomrider", urlHighscoresViewTarget:"_top", urlMoreGames:"http://www.neodelight.com/?ref=doomrider", urlMoreGamesTarget:"_top", gameScoreSubmit:function (score) {
trace("submit score: " + score);
_global.highscores.submit(score);
}});
com.neodelight.std.Blueprint.addBlueprint("licenseFree", {blueprint:"licenseNeodelight", urlHighscoresViewTarget:"_new", urlMoreGamesTarget:"_new", version:"free", configNeedDomain:"*", fullVersion:false});
c = com.neodelight.std.Blueprint.getBlueprint("game");
_global.config = com.neodelight.std.AutoConfig.getConfig({url:url, configs:c.gameLicenses});
Frame 2
if ((_global.config.gameIntro != undefined) && (!Key.isDown(16))) {
intro.gotoAndStop(_global.config.gameIntro);
stop();
} else {
play();
}
Frame 3
stop();
Frame 9
new com.neodelight.game.Game();
_root.snd = _global.snd;
_root.snd.fadeChannel(_root.sndChannelStart, -1, 10);
_root.snd.fadeChannel(_root.sndChannelMotors, -1, 10);
_root.snd.fadeChannel(_root.sndChannelBeat, 1, 0);
_root.snd.fadeChannel(_root.sndChannelBass, 1, 0);
reset = function () {
var _local1 = _root;
_local1.terrains = ["plain"];
_local1.statistics = new Array();
_local1.totalScore = 0;
_local1.races = 0;
for (var i in _local1.terrains) {
_local1.statistics[_local1.terrains[i]] = {score:-1, checkpoints:[], winner:0};
}
Mouse.show();
};
moto = true;
gotoAndStop ("menu");
Frame 14
_global.snd.playLoop("music", 1);
reset();
stop();
Frame 20
_root.snd.fadeChannel(_root.sndChannelBeat, -1, 30);
_root.snd.fadeChannel(_root.sndChannelBass, -1, 30);
Frame 21
_root.snd.stopAll();
_root.sndChannelMusic = _root.snd.playLoop("music0");
_root.sndChannelSqueal = _root.snd.playLoop("sndSqueal", 0);
_root.sndChannelMotors = _root.snd.playLoop("sndMotors", 0);
_root.snd.fadeChannel(_root.sndChannelMotors, 0.2, 20);
Mouse.hide();
stop();
Frame 22
prevFrame();
Frame 27
Mouse.show();
_root.snd.stop();
races++;
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.moto) {
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 = "";
}
stop();
Frame 28
prevFrame();
Symbol 28 MovieClip Frame 1
stop();
Symbol 100 MovieClip Frame 1
var flashVersion = int(System.capabilities.version.split(" ").pop().split(",").shift());
if (flashVersion < _root.requiredFlashVersion) {
this.msgRed = "Please upgrade to Flash Player " + _root.requiredFlashVersion;
this.percentageDisplay = "";
this.onEnterFrame = function () {
this.gotoAndStop(1);
};
} else {
this.msg = "designed by neodelight.com";
this.b.onRelease = function () {
getURL ("http://www.neodelight.com/?ref=" + _global.config.gameName, "_top");
};
this.onEnterFrame = function () {
var _local2 = _root;
var _local3 = this;
var _local1 = (_local2.getBytesLoaded() / _local2.getBytesTotal()) * 100;
_local3.percentageDisplay = ((("Loading '" + _global.config.gameTitle) + "'.. ") + Math.min(100, Math.floor(_local1))) + "%";
_local3.bar._xscale = Math.max(1, Math.min(100, Math.floor(_local1)));
if ((_local1 == 100) && (_local2._currentframe == 3)) {
_local3.onEnterFrame = undefined;
_local2.gotoAndStop("init");
}
};
}
Symbol 330 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 lines = src.split(newline);
var _local3 = 0;
while (_local3 < lines.length) {
var _local2 = lines[_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) {
var _local2 = id;
if (typeof(_local2) == "object") {
return(_local2);
}
var _local1 = lib[_local2];
if (_local1.blueprint != undefined) {
apply(_local1, _local1.blueprint);
}
return(_local1);
}
static function getBlueprints(filter) {
var _local2 = filter;
if (!_local2) {
return(undefined);
}
var _local1 = new Array();
for (var _local3 in lib) {
if (_local2.test(_local3)) {
_local1.push(getBlueprint(_local3));
}
}
return(_local1);
}
static function apply(target, id) {
var _local2 = target;
if (id == undefined) {
id = String(_local2.blueprint);
}
var _local3 = lib[id];
if (!_local3) {
trace("!!!blueprint not found:" + id);
}
var c = 0;
for (var _local1 in _local3) {
if (_local1 == "blueprint") {
continue;
}
if (_local2[_local1] == undefined) {
_local2[_local1] = _local3[_local1];
}
}
if (_local3.blueprint != undefined) {
var blueprints = _local3.blueprint.split(",");
var _local1 = 0;
while (_local1 < blueprints.length) {
apply(_local2, blueprints[_local1]);
_local1++;
}
}
return(_local2);
}
static var lib = new Array();
static var cfgLoader = new LoadVars();
}
Symbol 331 MovieClip [__Packages.com.neodelight.std.XString] Frame 0
class com.neodelight.std.XString
{
function XString () {
}
static function dump(o, params) {
var _local3 = params;
var _local1;
_local3.depth = com.neodelight.std.XMath.toNumber(_local3.depth);
switch (typeof(o)) {
case "string" :
_local1 = ("\"" + o) + "\"";
// unexpected jump
case "undefined" :
_local1 = "[undefined]";
// unexpected jump
case "array" :
_local1 = "[Array]";
// unexpected jump
case "number" :
_local1 = String(o);
return(_local1);
}
_local1 = "{";
var first = true;
for (var i in o) {
if (!first) {
_local1 = _local1 + ", ";
}
first = false;
if (_local3.br) {
_local1 = _local1 + newline;
}
var _local2 = 0;
while (_local2 < int(_local3.indent)) {
_local1 = _local1 + " ";
_local2++;
}
_local1 = _local1 + (i + ":");
if (typeof(o[i]) == "object") {
if (_local3.depth > 0) {
_local1 = _local1 + dump(o[i], {depth:_local3.depth - 1});
} else {
_local1 = _local1 + "[Object]";
}
} else {
_local1 = _local1 + dump(o[i], {depth:_local3.depth - 1});
}
}
if (_local3.br) {
_local1 = _local1 + newline;
}
_local1 = _local1 + "}";
// unexpected jump
return(_local3);
}
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 buf = "";
var varValues = new Object();
var char;
var _local2 = 0;
while (_local2 < format.length) {
char = format.charAt(_local2);
if (char == "%") {
_local2++;
var _local3 = format.charAt(_local2);
if (varValues[_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 = "";
}
varValues[_local3] = _local1;
buf = buf + _local1;
} else {
buf = buf + varValues[_local3];
}
} else if (char == "\\") {
_local2++;
buf = buf + format.charAt(_local2);
} else {
buf = buf + char;
}
_local2++;
}
return(buf);
}
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 _local2 = s;
var _local3 = 0;
var to = _local2.length;
var _local1 = 0;
while (_local1 < _local2.length) {
switch (_local2.charCodeAt(_local1)) {
case 32 :
case 9 :
case 10 :
case 13 :
_local3 = _local1 + 1;
}
if (_local3 != (_local1 + 1)) {
break;
}
_local1++;
}
_local1 = _local2.length - 1;
while (_local1 >= 0) {
switch (_local2.charCodeAt(_local1)) {
case 32 :
case 9 :
case 10 :
case 13 :
to = _local1;
}
if (to != _local1) {
break;
}
_local1--;
}
return(_local2.substring(_local3, to));
}
static function replace(search, replace, subject) {
return(subject.split(search).join(replace));
}
static function parse(str) {
var _local1 = str;
if (String(com.neodelight.std.XMath.toNumber(Number(_local1))) == _local1) {
return(com.neodelight.std.XMath.toNumber(Number(_local1)));
}
if ((_local1.charAt(0) == "{") && (_local1.charAt(_local1.length - 1) == "}")) {
var _local3 = new Object();
return(_local3);
}
if ((_local1.charAt(0) == "[") && (_local1.charAt(_local1.length - 1) == "]")) {
var _local2 = new Array();
return(_local2);
}
if ((_local1.charAt(0) == "\"") && (_local1.charAt(_local1.length - 1) == "\"")) {
return(_local1.substring(1, _local1.length - 2));
}
return(_local1);
}
static function parseHex(str) {
str = str.substr(-6, 6);
var _local3 = str.length;
var val = 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;
}
val = val + (_local1 * Math.pow(16, _local2));
_local2++;
}
return(val);
}
static function stripSlashes(str) {
var _local2 = str;
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2.charAt(_local1) == "\\") {
var _local3;
var char = _local2.charAt(_local1 + 1);
switch (char) {
case "n" :
_local3 = newline;
break;
default :
_local3 = char;
}
_local2 = (_local2.slice(0, _local1) + _local3) + _local2.slice(_local1 + 2, _local2.length);
_local1--;
}
_local1++;
}
return(_local2);
}
}
Symbol 332 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) {
var _local1 = n;
_local1 = Number(_local1);
if (isNaN(_local1)) {
_local1 = 0;
}
return(_local1);
}
static function vAngle(dx, dy) {
var _local2 = dy;
var _local3 = dx;
var _local1 = Math.asin(_local3 / Math.sqrt((_local3 * _local3) + (_local2 * _local2)));
if (_local2 > 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 _local1 = v;
var _local2 = Math.sqrt((_local1.x * _local1.x) + (_local1.y * _local1.y));
_local1.x = _local1.x / _local2;
_local1.y = _local1.y / _local2;
return(_local1);
}
static function vLength(vx, vy) {
return(Math.sqrt((vx * vx) + (vy * vy)));
}
static function vRotate(v, rad) {
var _local1 = v;
var _local3 = Math.cos(rad);
var _local2 = Math.sin(rad);
var rx = ((_local1.x * _local3) - (_local1.y * _local2));
var ry = ((_local1.x * _local2) + (_local1.y * _local3));
_local1.x = rx;
_local1.y = ry;
return(_local1);
}
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 _local1 = obj0;
var _local2 = obj1;
var _local3 = new Object();
for (var i in _local1) {
if ((((typeof(_local1[i]) == "number") && (typeof(_local2[i]) == "number")) && (_local1[i] != undefined)) && (_local2[i] != undefined)) {
_local3[i] = _local2[i] - _local1[i];
}
}
return(_local3);
}
}
Symbol 333 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 con = ((by1 * _local3) - (bx1 * _local2));
return((-1 * con) / _local1);
}
static function splitP(ax, ay, bx, by) {
var _local1 = by;
var _local2 = bx;
return(((_local2 * ax) - (_local1 * ay)) / (((-_local2) * _local2) - (_local1 * _local1)));
}
static function splitV(a, b) {
var _local1 = b;
return((((-_local1.x) * a.x) - (_local1.y * a.y)) / ((_local1.x * (-_local1.x)) - (_local1.y * _local1.y)));
}
static function normalizeP(vx, vy) {
var _local2 = vy;
var _local3 = vx;
var _local1 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
return(new com.neodelight.std.Vector(_local3 / _local1, _local2 / _local1));
}
static function normalizeV(v) {
var _local1 = v;
var _local2 = Math.sqrt((_local1.x * _local1.x) + (_local1.y * _local1.y));
_local1.x = _local1.x / _local2;
_local1.y = _local1.y / _local2;
return(_local1);
}
static function magnitudeP(vx, vy) {
return(Math.sqrt((vx * vx) + (vy * vy)));
}
static function magnitudeV(v) {
var _local1 = v;
return(Math.sqrt((_local1.x * _local1.x) + (_local1.y * _local1.y)));
}
static function distanceP(px, py, v0x, v0y, v1x, v1y) {
var _local1 = v1y;
var _local2 = v1x;
var _local3 = Math.sqrt((_local2 * _local2) + (_local1 * _local1));
_local2 = _local2 / _local3;
_local1 = _local1 / _local3;
return(-1 * (((_local2 * (py - v0y)) - (_local1 * (px - v0x))) / ((_local2 * _local2) + (_local1 * _local1))));
}
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 334 MovieClip [__Packages.com.neodelight.std.RegExp] Frame 0
class com.neodelight.std.RegExp
{
function RegExp () {
var _local1 = this;
if (arguments[0] == null) {
} else {
_local1.const = "RegExp";
_local1.compile.apply(_local1, arguments);
}
}
function invStr(sVal) {
var s = sVal;
var l = s.length;
var _local1;
var _local3;
var r = "";
var _local2 = 1;
while (_local2 < 255) {
_local3 = chr(_local2);
_local1 = 0;
while ((_local1 <= l) && (s.substring(1 + (_local1++), 1) != _local3)) {
}
if (_local1 > l) {
r = r + _local3;
}
_local2++;
}
return(s);
}
function compile() {
source = arguments[0];
var i;
var root;
if (arguments.length > 1) {
var flags = (arguments[1] + "").toLowerCase();
i = 0;
while (i < flags.length) {
if (flags.substring(i + 1, 1) == "g") {
global = true;
}
if (flags.substring(i + 1, 1) == "i") {
ignoreCase = true;
}
if (flags.substring(i + 1, 1) == "m") {
multiline = true;
}
i++;
}
}
if (arguments.length < 3) {
root = true;
_xrStatic = 1;
i = 0;
} else {
root = false;
_xr = _xrStatic++;
i = arguments[2];
}
lastIndex = 0;
var re = source;
var ex;
var l = re.length;
var q = [];
var _local2 = 0;
var _local3;
var range = false;
var ca;
var cb;
var atEnd = false;
var char;
i = i;
for ( ; i < l ; i++) {
var _local1 = re.substring(i + 1, 1);
if (_local1 == "\\") {
i++;
char = false;
_local1 = re.substring(i + 1, 1);
} else {
char = true;
}
var nextchar = re.substring(i + 2, 1);
q[_local2] = new Object();
q[_local2].t = 0;
q[_local2].a = 0;
q[_local2].b = 999;
q[_local2].c = -10;
if (char) {
if (_local1 == "(") {
ex = new com.neodelight.std.RegExp(re, (ignoreCase ? "gi" : "g"), i + 1);
i = _xiStatic;
q[_local2].t = 3;
_local1 = ex;
nextchar = re.substring(i + 2, 1);
} else {
if ((!root) && (_local1 == ")")) {
break;
}
if (_local1 == "^") {
if ((_local2 == 0) || (q[_local2 - 1].t == 7)) {
q[_local2].t = 9;
q[_local2].a = 1;
q[_local2].b = 1;
_local2++;
}
} else if (_local1 == "$") {
if (root) {
atEnd = true;
}
} else {
if (_local1 == "[") {
i++;
if (nextchar == "^") {
q[_local2].t = 2;
i++;
} else {
q[_local2].t = 1;
}
_local1 = "";
range = false;
while ((i < l) && ((_local3 = re.substring(1 + (i++), 1)) != "]")) {
if (range) {
if (_local3 == "\\") {
}
cb = ((_local3 == "\\") ? ((_local3 == "b") ? "\b" : re.substring(1 + (i++), 1)) : _local3);
ca = ord(_local1.substring(_local1.length, 1)) + 1;
_local3 = chr(ca++);
while (cb >= _local3) {
_local1 = _local1 + _local3;
}
range = false;
} else if ((_local3 == "-") && (_local1.length > 0)) {
range = true;
} else if (_local3 == "\\") {
_local3 = re.substring(1 + (i++), 1);
if (_local3 == "d") {
_local1 = _local1 + "0123456789";
} else if (_local3 == "D") {
_local1 = _local1 + invStr("0123456789");
} else if (_local3 == "s") {
_local1 = _local1 + " \f\n\r\t";
} else if (_local3 == "S") {
_local1 = _local1 + invStr(" \f\n\r\t");
} else if (_local3 == "w") {
_local1 = _local1 + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
} else if (_local3 == "W") {
_local1 = _local1 + invStr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_");
} else if (_local3 == "b") {
_local1 = _local1 + "\b";
} else if (_local3 == "\\") {
_local1 = _local1 + _local3;
}
} else {
_local1 = _local1 + _local3;
}
}
if (range) {
_local1 = _local1 + "-";
}
i--;
nextchar = re.substring(i + 2, 1);
} else {
if (_local1 == "|") {
if (atEnd) {
q[_local2].t = 10;
q[_local2].a = 1;
q[_local2].b = 1;
_local2++;
q[_local2] = new Object();
atEnd = false;
}
q[_local2].t = 7;
q[_local2].a = 1;
q[_local2].b = 1;
_local2++;
continue;
}
if (_local1 == ".") {
q[_local2].t = 2;
_local1 = newline;
} else if (((_local1 == "*") || (_local1 == "?")) || (_local1 == "+")) {
continue;
}
}
// unexpected jump
if ((_local1 >= "1") && (_local1 <= "9")) {
q[_local2].t = 4;
} else if (_local1 == "b") {
q[_local2].t = 1;
_local1 = "--wb--";
} else if (_local1 == "B") {
q[_local2].t = 2;
_local1 = "--wb--";
} else if (_local1 == "d") {
q[_local2].t = 1;
_local1 = "0123456789";
} else if (_local1 == "D") {
q[_local2].t = 2;
_local1 = "0123456789";
} else if (_local1 == "s") {
q[_local2].t = 1;
_local1 = " \f\n\r\t";
} else if (_local1 == "S") {
q[_local2].t = 2;
_local1 = " \f\n\r\t";
} else if (_local1 == "w") {
q[_local2].t = 1;
_local1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
} else if (_local1 == "W") {
q[_local2].t = 2;
_local1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}
if (nextchar == "*") {
q[_local2].s = _local1;
_local2++;
i++;
} else if (nextchar == "?") {
q[_local2].s = _local1;
q[_local2].b = 1;
_local2++;
i++;
} else if (nextchar == "+") {
q[_local2].s = _local1;
q[_local2].a = 1;
_local2++;
i++;
} else if (nextchar == "{") {
var comma = false;
var rangeA = 0;
range = "";
i++;
while (((i + 1) < l) && ((_local3 = re.substring(2 + (i++), 1)) != "}")) {
if ((!comma) && (_local3 == ",")) {
comma = true;
rangeA = Number(range);
rangeA = Math.floor((isNaN(rangeA) ? 0 : rangeA));
if (rangeA < 0) {
rangeA = 0;
}
range = "";
} else {
range = range + _local3;
}
}
var rangeB = Number(range);
rangeB = Math.floor((isNaN(rangeB) ? 0 : rangeB));
if (rangeB < 1) {
rangeB = 999;
}
if (rangeB < rangeA) {
rangeB = rangeA;
}
q[_local2].s = _local1;
q[_local2].b = rangeB;
q[_local2].a = (comma ? rangeA : rangeB);
_local2++;
} else {
q[_local2].s = _local1;
q[_local2].a = 1;
q[_local2].b = 1;
_local2++;
}
}
}
} else if ((_local1 >= "1") && (_local1 <= "9")) {
q[_local2].t = 4;
} else if (_local1 == "b") {
q[_local2].t = 1;
_local1 = "--wb--";
} else if (_local1 == "B") {
q[_local2].t = 2;
_local1 = "--wb--";
} else if (_local1 == "d") {
q[_local2].t = 1;
_local1 = "0123456789";
} else if (_local1 == "D") {
q[_local2].t = 2;
_local1 = "0123456789";
} else if (_local1 == "s") {
q[_local2].t = 1;
_local1 = " \f\n\r\t";
} else if (_local1 == "S") {
q[_local2].t = 2;
_local1 = " \f\n\r\t";
} else if (_local1 == "w") {
q[_local2].t = 1;
_local1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
} else if (_local1 == "W") {
q[_local2].t = 2;
_local1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
}
if (nextchar == "*") {
q[_local2].s = _local1;
_local2++;
i++;
} else if (nextchar == "?") {
q[_local2].s = _local1;
q[_local2].b = 1;
_local2++;
i++;
} else if (nextchar == "+") {
q[_local2].s = _local1;
q[_local2].a = 1;
_local2++;
i++;
} else if (nextchar == "{") {
var comma = false;
var rangeA = 0;
range = "";
i++;
while (((i + 1) < l) && ((_local3 = re.substring(2 + (i++), 1)) != "}")) {
if ((!comma) && (_local3 == ",")) {
comma = true;
rangeA = Number(range);
rangeA = Math.floor((isNaN(rangeA) ? 0 : rangeA));
if (rangeA < 0) {
rangeA = 0;
}
range = "";
} else {
range = range + _local3;
}
}
var rangeB = Number(range);
rangeB = Math.floor((isNaN(rangeB) ? 0 : (rangeB)));
if (rangeB < 1) {
rangeB = 999;
}
if (rangeB < rangeA) {
rangeB = rangeA;
}
q[_local2].s = _local1;
q[_local2].b = rangeB;
q[_local2].a = (comma ? (rangeA) : (rangeB));
_local2++;
} else {
q[_local2].s = _local1;
q[_local2].a = 1;
q[_local2].b = 1;
_local2++;
}
}
if (root && (atEnd)) {
q[_local2] = new Object();
q[_local2].t = 10;
q[_local2].a = 1;
q[_local2].b = 1;
_local2++;
}
if (!root) {
_xiStatic = i;
source = re.substring(arguments[2] + 1, i - arguments[2]);
}
if (d) {
i = 0;
while (i < _local2) {
trace((((((((("xr" + _xr) + " ") + q[i].t) + " : ") + q[i].a) + " : ") + q[i].b) + " : ") + q[i].s);
i++;
}
}
_xq = q;
_xqc = _local2;
_xp = 0;
}
function test() {
if ((_xp++) == 0) {
_xxa = [];
_xxlp = 0;
}
var str = (arguments[0] + "");
var re;
var _local2 = _xq;
var qc = _xqc;
var qb;
var c;
var cl;
var ct;
var cs;
var s;
var atStart;
var l = str.length;
var _local3 = (global ? (lastIndex) : 0);
var ix_ = _local3;
var str_ = str;
if (ignoreCase) {
str = str.toLowerCase();
}
var r = new Object();
r.i = -1;
var _local1 = -1;
while (_local1 < (qc - 1)) {
_local1++;
if (d) {
trace("New section started at i=" + _local1);
}
_local3 = ix_;
qb = _local1;
_local2[qb].c = -10;
var atEnd = false;
while ((_local1 > qb) || (_local3 < (l + 1))) {
if (_local2[_local1].t == 7) {
break;
}
if (_local2[_local1].t == 9) {
_local1++;
if (_local1 == (qb + 1)) {
atStart = true;
qb = _local1;
}
_local2[qb].c = -10;
continue;
}
if ((r.i >= 0) && (_local3 >= r.i)) {
break;
}
if (_local2[_local1].c == -10) {
if (d) {
trace((((((("Lookup #" + _local1) + " at index ") + _local3) + " for \\\\\\\\\\\\\\\\'") + _local2[_local1].s) + "\\\\\\\\\\\\\\\\' type ") + _local2[_local1].t);
}
var m = 0;
_local2[_local1].i = _local3;
if (_local2[_local1].t == 0) {
c = (ignoreCase ? (_local2[_local1].s.toLowerCase()) : (_local2[_local1].s));
while ((m < _local2[_local1].b) && (_local3 < l)) {
if (str.substring(1 + _local3, 1) == c) {
m++;
_local3++;
} else {
break;
}
}
} else if (_local2[_local1].t == 1) {
if (_local2[_local1].s == "--wb--") {
_local2[_local1].a = 1;
if ((_local3 > 0) && (_local3 < l)) {
ct = str.substring(_local3, 1);
if ((ct == " ") || (ct == "\\\\\\\\\\\\\\\\n")) {
m = 1;
}
if (m == 0) {
ct = str.substring(1 + _local3, 1);
if ((ct == " ") || (ct == "\\\\\\\\\\\\\\\\n")) {
m = 1;
}
}
} else {
m = 1;
}
} else {
c = (ignoreCase ? (_local2[_local1].s.toLowerCase()) : (_local2[_local1].s));
cl = c.length;
while ((m < _local2[_local1].b) && (_local3 < l)) {
ct = str.substring(1 + _local3, 1);
cs = 0;
while ((cs <= cl) && (c.substring(1 + (cs++), 1) != ct)) {
}
if (cs <= cl) {
m++;
_local3++;
} else {
break;
}
}
}
} else if (_local2[_local1].t == 2) {
c = (ignoreCase ? (_local2[_local1].s.toLowerCase()) : (_local2[_local1].s));
cl = c.length;
if (_local2[_local1].s == "--wb--") {
_local2[_local1].a = 1;
if ((_local3 > 0) && (_local3 < l)) {
ct = str.substring(_local3, 1);
s = str.substring(1 + _local3, 1);
if ((((ct != " ") && (ct != "\\\\\\\\\\\\\\\\n")) && (s != " ")) && (s != "\\\\\\\\\\\\\\\\n")) {
m = 1;
}
} else {
m = 0;
}
} else {
while ((m < _local2[_local1].b) && (_local3 < l)) {
ct = str.substring(1 + _local3, 1);
cs = 0;
while ((cs <= cl) && (c.substring(1 + (cs++), 1) != ct)) {
}
if (cs <= cl) {
break;
}
m++;
_local3++;
}
}
} else if (_local2[_local1].t == 10) {
s = str.substring(1 + _local3, 1);
m = (((multiline && ((s == "\\\\\\\\\\\\\\\\n") || (s == "\\\\\\\\\\\\\\\\r"))) || (_local3 == l)) ? 1 : 0);
} else if (_local2[_local1].t == 3) {
re = _local2[_local1].s;
_local2[_local1].ix = [];
_local2[_local1].ix[m] = _local3;
re.lastIndex = _local3;
while ((m < _local2[_local1].b) && re.test(str_)) {
cl = _xxlm.length;
if (cl > 0) {
_local3 = _local3 + cl;
m++;
_local2[_local1].ix[m] = _local3;
} else {
m = _local2[_local1].a;
_local2[_local1].ix[m - 1] = _local3;
break;
}
}
if (m == 0) {
_xxlm = "";
}
if (re._xr > _xxlp) {
_xxlp = re._xr;
}
_xxa[Number(re._xr)] = _xxlm;
} else if (_local2[_local1].t == 4) {
if (_xp >= ((c = Number(_local2[_local1].s)))) {
c = _xxa[c];
c = (ignoreCase ? c.toLowerCase() : c);
cl = c.length;
_local2[_local1].ix = [];
_local2[_local1].ix[m] = _local3;
if (cl > 0) {
while ((m < _local2[_local1].b) && (_local3 < l)) {
if (str.substring(1 + _local3, cl) == c) {
m++;
_local3 = _local3 + cl;
_local2[_local1].ix[m] = _local3;
} else {
break;
}
}
} else {
m = 0;
_local2[_local1].a = 0;
}
} else {
c = chr(c);
_local2[_local1].ix = [];
_local2[_local1].ix[m] = _local3;
while ((m < _local2[_local1].b) && (_local3 < l)) {
if (str.substring(1 + _local3, 1) == c) {
m++;
_local3++;
_local2[_local1].ix[m] = _local3;
} else {
break;
}
}
}
}
_local2[_local1].c = m;
if (d) {
trace((" " + m) + " matches found");
}
}
if (_local2[_local1].c < _local2[_local1].a) {
if (d) {
trace(" not enough matches");
}
if (_local1 > qb) {
_local1--;
_local2[_local1].c--;
if (_local2[_local1].c >= 0) {
_local3 = (((_local2[_local1].t == 3) || (_local2[_local1].t == 4)) ? (_local2[_local1].ix[_local2[_local1].c]) : (_local2[_local1].i + _local2[_local1].c));
}
if (d) {
trace((((("Retreat to #" + _local1) + " c=") + _local2[_local1].c) + " index=") + _local3);
}
} else {
if (_xp > 1) {
break;
}
if (atStart) {
if (multiline) {
do {
if (_local3 > l) {
break;
}
s = str.substring(1 + (_local3++), 1);
} while (!((s == "\\\\\\\\\\\\\\\\n") || (s == "\\\\\\\\\\\\\\\\r")));
_local2[_local1].c = -10;
} else {
break;
}
} else {
_local3++;
_local2[_local1].c = -10;
}
}
} else {
if (d) {
trace(" enough matches!");
}
_local1++;
if ((_local1 == qc) || (_local2[_local1].t == 7)) {
if (d) {
trace((("Saving better result: r.i = q[" + qb) + "].i = ") + _local2[qb].i);
}
r.i = _local2[qb].i;
r.li = _local3;
break;
}
_local2[_local1].c = -10;
}
}
while ((_local1 < qc) && (_local2[_local1].t != 7)) {
_local1++;
}
}
if (r.i < 0) {
lastIndex = 0;
if ((_xp--) == 1) {
_xxa = [];
_xxlp = 0;
}
return(false);
}
_local3 = r.li;
_xi = r.i;
_xxlm = str_.substring(r.i + 1, _local3 - r.i);
_xxlc = str_.substring(1, r.i);
_xxrc = str_.substring(_local3 + 1, l - _local3);
if (_local3 == r.i) {
_local3++;
}
lastIndex = _local3;
if ((_xp--) == 1) {
lastMatch = _xxlm;
leftContext = _xxlc;
rightContext = _xxrc;
_xaStatic = _xxa;
lastParen = _xxa[Number(_xxlp)];
_local1 = 1;
while (_local1 < 10) {
com.neodelight.std.RegExp["$" + _local1] = _xaStatic[Number(_local1)];
_local1++;
}
}
return(true);
}
function exec() {
var str = (arguments[0] + "");
var _local2;
if (str == "") {
return(false);
}
var t = test(str);
if (t) {
_local2 = new Array();
_local2.index = _xi;
_local2.input = str;
_local2[0] = lastMatch;
var _local3 = _xaStatic.length;
var _local1 = 1;
while (_local1 < _local3) {
_local2[_local1] = _xaStatic[Number(_local1)];
_local1++;
}
} else {
_local2 = null;
}
return(_local2);
}
static function setStringMethods() {
if (String.prototype.match != undefined) {
} else {
String.prototype.match = function () {
if (typeof(arguments[0]) != "object") {
return(null);
}
if (arguments[0].const != "RegExp") {
return(null);
}
var _local1 = arguments[0];
var s = this.valueOf();
var ip = 0;
var _local2 = 0;
var _local3;
if (_local1.global) {
_local1.lastIndex = 0;
while (_local1.test(s)) {
if (_local2 == 0) {
_local3 = new Array();
}
_local3[_local2++] = com.neodelight.std.RegExp.lastMatch;
ip = _local1.lastIndex;
}
_local1.lastIndex = ip;
} else {
_local3 = _local1.exec(s);
_local2++;
}
if (_local2 != 0) {
return(_local3);
}
return(null);
};
String.prototype.replace = function () {
if (typeof(arguments[0]) != "object") {
return(null);
}
if (arguments[0].const != "RegExp") {
return(null);
}
var re = arguments[0];
var rs = (arguments[1] + "");
var s = this;
var r = "";
re.lastIndex = 0;
if (re.global) {
var ip = 0;
var ix = 0;
while (re.test(s)) {
var _local3 = 0;
var l = rs.length;
var _local1 = "";
var pc = "";
var _local2 = "";
while (_local3 < l) {
_local1 = rs.substring(1 + (_local3++), 1);
if ((_local1 == "$") && (pc != "\\")) {
_local1 = rs.substring(1 + (_local3++), 1);
if (isNaN(Number(_local1)) || (Number(_local1) > 9)) {
_local2 = _local2 + ("$" + _local1);
} else {
_local2 = _local2 + com.neodelight.std.RegExp._xaStatic[Number(_local1)];
}
} else {
_local2 = _local2 + _local1;
}
pc = _local1;
}
r = r + (s.substring(ix + 1, re._xi - ix) + _local2);
ix = re._xi + com.neodelight.std.RegExp.lastMatch.length;
ip = re.lastIndex;
}
re.lastIndex = ip;
} else if (re.test(s)) {
r = r + (com.neodelight.std.RegExp.leftContext + rs);
}
r = r + ((re.lastIndex == 0) ? (s) : (com.neodelight.std.RegExp.rightContext));
return(r);
};
String.prototype.search = function () {
if (typeof(arguments[0]) != "object") {
return(null);
}
if (arguments[0].const != "RegExp") {
return(null);
}
var _local1 = arguments[0];
var _local3 = this;
_local1.lastIndex = 0;
var _local2 = _local1.test(_local3);
if (!_local2) {
return(-1);
}
return(_local1._xi);
};
String.prototype.old_split = String.prototype.split;
String.prototype.split = function () {
if ((typeof(arguments[0]) == "object") && (arguments[0].const == "RegExp")) {
var _local1 = arguments[0];
var lm = ((arguments[1] == null) ? 9999 : (Number(arguments[1])));
if (isNaN(lm)) {
lm = 9999;
}
var s = this;
var ra = new Array();
var _local3 = 0;
var gs = _local1.global;
_local1.global = true;
_local1.lastIndex = 0;
var ip = 0;
var ipp = 0;
var _local2 = 0;
while ((_local3 < lm) && (_local1.test(s))) {
if (_local1._xi != _local2) {
ra[_local3++] = s.substring(_local2 + 1, _local1._xi - _local2);
}
_local2 = _local1._xi + com.neodelight.std.RegExp.lastMatch.length;
ipp = ip;
ip = _local1.lastIndex;
}
if (_local3 == lm) {
_local1.lastIndex = ipp;
} else {
_local1.lastIndex = ip;
}
if (_local3 == 0) {
ra[_local3] = s;
} else if ((_local3 < lm) && (com.neodelight.std.RegExp.rightContext.length > 0)) {
ra[_local3++] = com.neodelight.std.RegExp.rightContext;
}
_local1.global = gs;
return(ra);
}
return(this.old_split(arguments[0], arguments[1]));
};
return(true);
}
return(undefined);
}
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 335 MovieClip [__Packages.com.neodelight.std.AutoConfig] Frame 0
class com.neodelight.std.AutoConfig
{
function AutoConfig () {
}
static function getConfig(config) {
var protocol = com.neodelight.std.XSystem.getProtocol();
var domain = com.neodelight.std.XSystem.getDomain();
var url = (config.url ? (config.url) : (((protocol + "://") + domain).toLowerCase()));
_global.base.syslog("AutoConfig", "url: " + url);
var os = System.capabilities.os.toLowerCase();
_global.base.syslog("AutoConfig", "os: " + os);
var playerType = System.capabilities.playerType.toLowerCase();
_global.base.syslog("AutoConfig", "player: " + playerType);
var configs = config.configs.split(",");
var i = 0;
while (i < configs.length) {
var domainOk = false;
var osOk = false;
var playerOk = false;
var blueprint = com.neodelight.std.Blueprint.getBlueprint(configs[i]);
var _local1 = blueprint.configNeedDomain.split(",");
if (_local1 != undefined) {
var _local2 = 0;
while (_local2 < _local1.length) {
_global.bin.syslog("AutoConfig", ("check pattern \"" + _local1[_local2]) + "\"");
if ((_local1[_local2].substring(_local1[_local2].length - 1) == "*") && (_local1[_local2] != "*")) {
_local1[_local2] = _local1[_local2].substring(0, _local1[_local2].length - 1);
}
if ((((protocol == "http") && (url.indexOf(_local1[_local2]) != -1)) || (_local1[_local2] == "*")) || ((protocol == "file") && (_local1[_local2] == "local"))) {
domainOk = true;
break;
}
_local2++;
}
} else {
domainOk = true;
}
var allowedOSs = blueprint.configNeedOs.split(",");
if (allowedOSs != undefined) {
var _local2 = 0;
while (_local2 < allowedOSs.length) {
if (os.indexOf(allowedOSs[_local2]) > -1) {
osOk = true;
break;
}
_local2++;
}
} else {
osOk = true;
}
var _local3 = blueprint.configNeedPlayer.split(",");
if (_local3 != undefined) {
var _local2 = 0;
while (_local2 < _local3.length) {
if (playerType == _local3[_local2]) {
playerOk = true;
break;
}
_local2++;
}
} else {
playerOk = true;
}
if ((domainOk && (osOk)) && (playerOk)) {
return(blueprint);
}
i++;
}
return(undefined);
}
}
Symbol 336 MovieClip [__Packages.com.neodelight.std.XSystem] Frame 0
class com.neodelight.std.XSystem
{
function XSystem () {
}
static function getBaseUrl() {
var _local1 = _url.toLowerCase();
var nNumChars = _local1.length;
var _local2 = _local1.indexOf("?", 0);
if (_local2 > 0) {
nNumChars = _local2;
}
var _local3 = "offline";
if (_local1.substr(0, 4) == "http") {
_local3 = _url.substr(7, nNumChars - 7);
}
return(_local3);
}
static function getDomain(url) {
var _local1 = url;
if (!_local1) {
_local1 = _url;
}
if (_local1.indexOf("file://") == 0) {
return("localhost");
}
return(_local1.substr(7, ((_local1.indexOf("/", 7) == -1) ? (_local1.length - 7) : (_local1.indexOf("/", 7) - 7))));
}
static function getProtocol(url) {
var _local1 = url;
if (!_local1) {
_local1 = _url;
}
return(_local1.substr(0, _local1.indexOf("/") - 1));
}
static function getUrlParam(strParam) {
var _local3 = _url.toLowerCase();
var _local1 = _local3.indexOf(strParam);
var nParamLen = strParam.length;
if (_local1 > 0) {
var nNumChars;
var _local2 = _local3.indexOf("&", _local1 + nParamLen);
if (_local2 > 0) {
nNumChars = _local2 - _local1;
} else {
nNumChars = _url.length - _local1;
}
return(_url.substr((_local1 + nParamLen) + 1, nNumChars));
}
return("");
}
static function isOffline() {
return(_url.toLowerCase().substr(0, 4) != "http");
}
static function isMacintosh() {
return(System.capabilities.os.toLowerCase().indexOf("mac") >= 0);
}
}
Symbol 337 MovieClip [__Packages.com.neodelight.game.Game] Frame 0
class com.neodelight.game.Game
{
var hooker, actLevel;
function Game (config) {
var _local1 = this;
var _local2 = _global;
com.neodelight.flanix.Kernel.init();
_local1.id = "game" + com.neodelight.std.Unique.getId();
if (config) {
_local1.config = config;
} else {
_local1.config = com.neodelight.std.Blueprint.getBlueprint("game");
if (!_local1.config) {
trace("!!!blueprint \"game\" not found");
}
}
_local2.game = _local1;
_local1.name = _local1.config.gameName;
_local1.title = _local1.config.gameTitle;
com.neodelight.std.ClassLib.init();
if (com.neodelight.std.Blueprint.isBlueprint("player")) {
var blueprint = com.neodelight.std.Blueprint.getBlueprint("player");
if (!blueprint) {
trace("!!!blueprint \"player\" not found");
}
var c = com.neodelight.std.ClassLib.getClass("Player");
if (c == undefined) {
trace("!!!class \"Player\" not found in ClassLib");
} else {
var pl = new c(blueprint);
_local1.player = _local2.player;
}
}
if (_local1.config.gameHighscores) {
_local2.highscores = new com.neodelight.game.Highscores(_local1.name, _local1.config.gameHighscoresKey0, _local1.config.gameHighscoresKey1);
}
_local2.score = new com.neodelight.game.Score(_local1.config.gameScoreTypes);
_local1.snd = new com.neodelight.std.XSound();
_local2.snd = _local1.snd;
_root.snd = _local1.snd;
_local1.rootFx = new com.neodelight.std.ColorFader(_root);
_local1.stageWidth = Stage.width;
_local1.stageHeight = Stage.height;
if (_local1.config.gameTimer) {
_local2.timer = new com.neodelight.std.Timer(_local1.config);
} else {
_local2.dt = 1;
}
_local1.hooker = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth());
_local1.hooker.clients = new Object();
_local1.hooker.onEnterFrame = function () {
var _local1 = this;
if (_global.paused) {
} else {
for (var _local2 in _local1.clients) {
_local1.clients[_local2].move();
}
}
};
com.neodelight.std.Inputs.init();
_local1.flow = new com.neodelight.std.Flow();
_local1.reset();
_local2.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) {
var _local1 = id;
var _local2 = this;
trace(("initLevel(id:" + _local1) + ")");
if (_local1 != undefined) {
_local2.actLevel = _local1;
}
delete _local2.hooker.clients;
_local2.hooker.clients = new Object();
_global.score.initLevel();
}
function initGame() {
reset();
}
function hookIn(o) {
var _local2 = o;
var _local1 = (_local2.id ? (_local2.id) : (com.neodelight.std.Unique.getKey()));
if (!_local1) {
trace("!!!can't assign id to object:" + _local2);
}
trace((("o:" + _local2) + ",o.id:") + _local2.id);
if (hooker.clients[_local1]) {
trace(("!id " + _local1) + " already exists in hook");
return("");
}
hooker.clients[_local1] = _local2;
return(_local1);
}
function hookOut(o) {
var _local1 = o;
trace((("o:" + _local1) + ",o.id:") + _local1.id);
delete hooker.clients[_local1.id];
}
function pause(stat, mode) {
_global.paused = stat;
}
static var PAUSE_ENGINE = 1;
static var PAUSE_USER = 2;
}
Symbol 338 MovieClip [__Packages.com.neodelight.std.XSound] Frame 0
class com.neodelight.std.XSound extends Sound
{
var groups, master, channelsById;
function XSound () {
var _local2 = this;
var _local3 = _root;
super();
if (_local3.getNextHighestDepth == undefined) {
_local3.getNextHighestDepth = function () {
return(com.neodelight.std.Unique.getId());
};
}
_local2.channels = new Array(_local2.channelsAmount);
_local2.channelsById = new Array();
_local2.groups = {fx:1, music:1};
var _local1 = 0;
while (_local1 < _local2.channelsAmount) {
_local2.channels[_local1] = new com.neodelight.std.XSoundChannel(_local1, _local3.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _local3.getNextHighestDepth()), _local2.groups);
_local1++;
}
_local2.master = new Sound();
_local2.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) {
var _local2 = this;
_local2.groups[id] = volume;
var _local1 = _local2.channels.length;
while (_local1--) {
_local2.channels[_local1].setVolume();
}
}
function getGroupVolume(id) {
return(groups[id]);
}
function status() {
var _local2 = this;
var _local3 = "";
var _local1 = 0;
while (_local1 < _local2.channelsAmount) {
_local3 = _local3 + (((_local1 + ": ") + _local2.channels[_local1]) + newline);
_local1++;
}
return(_local3);
}
function playSequence(sequence, locked, group, channelId) {
var _local2 = channelId;
var _local3 = this;
var _local1 = _local3.getChannel();
delete _local3.channelsById[_local1.channelId];
_local1.channelId = _local2;
if (_local2) {
_local3.channelsById[_local2] = _local1;
}
_local1.playSequence(sequence, locked, group);
}
function playLoop(libId, volume, group, channelId) {
var _local2 = channelId;
var _local3 = this;
var _local1 = _local3.getChannel();
delete _local3.channelsById[_local1.channelId];
_local1.channelId = _local2;
if (_local2) {
_local3.channelsById[_local2] = _local1;
}
_local1.attachSound(libId);
_local1.start(0, 99999);
_local1.group = (group ? (group) : "music");
_local1.setVolume(volume);
_local1.libId = libId;
_local1.locked = true;
_local1.playing = true;
return(_local1);
}
function playEvent(libId, volume, group, channelId) {
var _local2 = channelId;
var _local3 = this;
var _local1 = _local3.getChannel();
delete _local3.channelsById[_local1.channelId];
_local1.channelId = _local2;
if (_local2) {
_local3.channelsById[_local2] = _local1;
}
_local1.attachSound(libId);
_local1.start(0, 0);
_local1.group = (group ? (group) : "fx");
_local1.setVolume(volume);
_local1.libId = libId;
_local1.playing = true;
return(_local1);
}
function getChannel() {
var _local3 = this;
var oldestPos = -1;
var oldestId = -1;
var _local2 = 0;
while (_local2 < _local3.channels.length) {
var _local1 = _local3.channels[_local2];
if (!_local1.locked) {
if (_local1.playing) {
if (_local1.position > oldestPos) {
oldestPos = _local1.position;
oldestId = _local1.id;
}
} else {
return(_local3.channels[_local2]);
}
}
_local2++;
}
if (oldestId != -1) {
return(_local3.channels[oldestId]);
}
return(undefined);
}
function fadeChannel(id, fadeTo, frames) {
channelsById[id].fade(fadeTo, frames);
}
function stop(libId) {
var _local2 = this;
var _local3 = libId;
var _local1 = 0;
while (_local1 < _local2.channels.length) {
if ((_local2.channels[_local1].libId == _local3) || (!_local3)) {
_local2.channels[_local1].stop();
}
_local1++;
}
}
var channelsAmount = 8;
}
Symbol 339 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 340 MovieClip [__Packages.com.neodelight.std.XSoundChannel] Frame 0
class com.neodelight.std.XSoundChannel extends Sound
{
var volume;
function XSoundChannel (id, mc, groups) {
var _local1 = this;
super(mc);
_local1.id = id;
_local1.playing = false;
_local1.locked = false;
_local1.groups = groups;
_local1.mc = mc;
_local1.mc.channel = _local1;
_local1.mc.onEnterFrame = function () {
var _local1 = this;
if (!_local1.channel.fading) {
} else {
var _local2 = _local1.channel.getVolume() + _local1.channel.fadeSpeed;
_local2 = ((_local1.channel.fadeSpeed > 0) ? (Math.min(_local1.channel.fadeTo, _local2)) : (Math.max(_local1.channel.fadeTo, _local2)));
if (_local2 == _local1.channel.fadeTo) {
_local1.channel.fading = false;
if (_local1.channel.fadeOutFlag) {
_local1.channel.stop();
}
}
_local1.channel.setVolume(_local2);
}
};
}
function setVolume(volume) {
var _local1 = this;
if (volume != undefined) {
_local1.volume = volume;
}
super.setVolume(Math.max(0, Math.min(100, (_local1.volume * 100) * _local1.groups[_local1.group])));
}
function getVolume() {
return(volume);
}
function fade(fadeTo, frames) {
var _local1 = this;
var _local2 = fadeTo;
if (_local2 == -1) {
_local1.fadeOutFlag = true;
_local2 = 0;
} else {
_local1.fadeOutFlag = false;
}
if (frames <= 0) {
_local1.setVolume(_local2);
_local1.fading = false;
} else {
_local1.fading = true;
_local1.fadeTo = Math.min(1, _local2);
_local1.fadeSpeed = (_local2 - _local1.getVolume()) / frames;
}
}
function playSequence(sequence, locked, group) {
var _local1 = this;
_local1.sequence = sequence;
_local1.sequencePointer = 0;
_local1.locked = locked;
_local1.fading = false;
_local1.group = (group ? (group) : "fx");
_local1.playing = true;
_local1.stepSequence();
_local1.onSoundComplete = _local1.stepSequence;
_local1.libId = "__SEQUENCE__";
}
function stepSequence() {
var _local2 = this;
if (_local2.sequenceStep.goto != undefined) {
_local2.sequencePointer = _local2.sequenceStep.goto;
}
var _local1 = _local2.sequence[_local2.sequencePointer++];
_local2.sequenceStep = _local1;
if (!_local1) {
_local2.stop();
}
if (_local1.times == 0) {
_local1.times = 9999;
_local1.goto = _local2.sequencePointer - 1;
} else if (_local1.times == undefined) {
_local1.times = 1;
}
_local2.attachSound(_local1.id);
_local2.setVolume(_local1.vol);
_local2.start((_local1.offset ? (_local1.offset) : 0), _local1.times);
if (_local1.fadeFrames) {
_local2.fade(_local1.fadeTo, _local1.fadeFrames);
}
}
function stop() {
var _local1 = this;
_local1.onSoundComplete = undefined;
_local1.sequenceStep = undefined;
_local1.locked = false;
_local1.playing = false;
_local1.fading = false;
if (_local1.channelId) {
delete _global.snd.channelsById[_local1.channelId];
}
super.stop();
}
function onSoundComplete() {
var _local1 = this;
_local1.playing = false;
_local1.locked = false;
_local1.fading = false;
}
function toString() {
var _local1 = this;
return((((((((("v:" + _local1.getVolume()) + " p:") + _local1.playing) + " l:") + _local1.locked) + " f:") + _local1.fading) + " lib:") + _local1.libId);
}
}
Symbol 341 MovieClip [__Packages.com.neodelight.std.ColorFader] Frame 0
class com.neodelight.std.ColorFader
{
var col;
function ColorFader (mc) {
var _local1 = this;
_local1.mc = mc;
_local1.col = new Color(mc);
_local1.acol = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
_local1.totStep = 0;
_local1.actStep = 1;
_local1.clearFx = _local1.reset;
}
function fadeTo(tcol, steps) {
var _local1 = this;
_local1.totStep = steps;
_local1.actStep = 0;
_local1.fcol = _local1.col.getTransform();
_local1.tcol = tcol;
if (steps == 0) {
_local1.totStep = 1;
_local1.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 _local1 = this;
var _local2 = (++_local1.actStep) / _local1.totStep;
if (_local1.actStep > _local1.totStep) {
return(false);
}
var _local3 = 1 - _local2;
_local1.acol.ra = (_local1.fcol.ra * _local3) + (_local1.tcol.ra * _local2);
_local1.acol.rb = (_local1.fcol.rb * _local3) + (_local1.tcol.rb * _local2);
_local1.acol.ga = (_local1.fcol.ga * _local3) + (_local1.tcol.ga * _local2);
_local1.acol.gb = (_local1.fcol.gb * _local3) + (_local1.tcol.gb * _local2);
_local1.acol.ba = (_local1.fcol.ba * _local3) + (_local1.tcol.ba * _local2);
_local1.acol.bb = (_local1.fcol.bb * _local3) + (_local1.tcol.bb * _local2);
_local1.acol.aa = (_local1.fcol.aa * _local3) + (_local1.tcol.aa * _local2);
_local1.acol.ab = (_local1.fcol.ab * _local3) + (_local1.tcol.ab * _local2);
_local1.col.setTransform(_local1.acol);
return(_local1.actStep < _local1.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 342 MovieClip [__Packages.com.neodelight.game.Highscores] Frame 0
class com.neodelight.game.Highscores
{
function Highscores (gameName, key0, key1) {
var _local2 = this;
if (key0 != undefined) {
_local2.keystring = key0;
}
if (key1 != undefined) {
_local2.keystring2 = key1;
}
_local2.gameName = gameName;
_local2.charTableIndex = new Array();
var _local1 = 0;
while (_local1 < _local2.charTable.length) {
_local2.charTableIndex[_local2.charTable.charCodeAt(_local1)] = _local1;
_local1++;
}
_local2.initSession();
}
function initSession() {
var _local1 = this;
_local1.session = "";
while (_local1.session.length < 20) {
_local1.session = _local1.session + _local1.charTable.charAt(Math.round(Math.random() * (_local1.charTable.length - 4)));
}
}
function submit(pScore0, pDisciple) {
var _local2 = this;
if (!pDisciple) {
pDisciple = "";
}
var _local3 = _local2.gameName;
var pScore1 = "";
var _local1 = ("g=" + _local3) + "&";
_local1 = _local1 + (("d=" + pDisciple) + "&");
_local1 = _local1 + (("s0=" + pScore0) + "&");
_local1 = _local1 + (("s1=" + pScore1) + "&");
_local1 = _local1 + ("se=" + _local2.session);
_local1 = _local1 + "&c=42";
var urlSubmit = ((((_local2.urlSubmit + "?g=") + _local3) + "&s=") + escape(_local2.encrypt(_local2.encrypt(_local1, _local2.keystring), _local2.keystring2)).split("%").join("_"));
getURL (urlSubmit, ((_url.indexOf("neodelight.com") != -1) ? "_top" : "_blank"));
}
function encrypt(text, pKey) {
var _local2 = this;
var crypt = "";
var checkSum = 0;
var shift;
var _local3;
var char;
var _local1 = 0;
while (_local1 < text.length) {
char = _local2.charTableIndex[text.charCodeAt(_local1)];
shift = _local2.charTableIndex[pKey.charCodeAt(_local1 % pKey.length)];
_local3 = (char + shift) + checkSum;
_local3 = _local3 % _local2.charTable.length;
crypt = crypt + _local2.charTable.charAt(_local3);
checkSum = checkSum + _local3;
_local1++;
}
checkSum = checkSum % _local2.charTable.length;
return((crypt + "") + _local2.charTable.charAt(checkSum));
}
var charTable = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&=.";
var keystring = "whytheheckdoyouwasteyourtimehackingthishighscorelist";
var keystring2 = "AnotherKey4You2FindOut4815jiagIOm30JK";
var urlSubmit = "http://www.neodelight.com/v4/high_enter.php";
}
Symbol 343 MovieClip [__Packages.com.neodelight.game.Player] Frame 0
class com.neodelight.game.Player
{
function Player (config) {
var _local1 = config;
var _local2 = this;
trace("config: " + com.neodelight.std.XString.dump(_local1));
_local2.config = _local1;
_local2.name = _local1.name;
for (var _local3 in _local1.playerProps) {
trace("prop:" + _local3);
_local2[_local3] = _local1.playerProps[_local3];
}
_local2.reset();
_global.player = _local2;
}
function reset() {
var _local1 = this;
trace("");
for (var _local2 in _local1.config.playerProps) {
_local1[_local2].reset();
}
_local1.abilities = new Object();
_local1.items = new Object();
}
function init() {
trace("");
}
function toString() {
return("[Player]");
}
}
Symbol 344 MovieClip [__Packages.com.neodelight.game.PlayerProp] Frame 0
class com.neodelight.game.PlayerProp
{
var pValue, pMin, pMax, def;
function PlayerProp (min, max, def, act) {
var _local1 = this;
var _local2 = max;
var _local3 = min;
if (_local3 == undefined) {
_local3 = Number.MIN_VALUE;
}
if (_local2 == undefined) {
_local2 = Number.MAX_VALUE;
}
_local1.__set__min(_local3);
_local1.__set__max(_local2);
_local1.def = com.neodelight.std.XMath.toNumber(def);
_local1.__set__value(((act == undefined) ? (def) : (act)));
}
function set value(value) {
var _local1 = this;
_local1.pValue = Math.max(_local1.__get__min(), Math.min(_local1.__get__max(), value));
//return(_local1.__get__value());
}
function get value() {
return(pValue);
}
function set min(min) {
var _local1 = this;
_local1.pMin = min;
_local1.pValue = Math.max(_local1.__get__min(), Math.min(_local1.__get__max(), _local1.pValue));
//return(_local1.__get__min());
}
function get min() {
return(pMin);
}
function set max(max) {
var _local1 = this;
_local1.pMax = max;
_local1.pValue = Math.max(_local1.__get__min(), Math.min(_local1.__get__max(), _local1.pValue));
//return(_local1.__get__max());
}
function get max() {
return(pMax);
}
function reset() {
value = (def);
}
function toString() {
var _local1 = this;
return(((((((("[PlayerProp {value:" + _local1.__get__value()) + ", def:") + _local1.def) + " min:") + _local1.__get__min()) + ", max:") + _local1.__get__max()) + "}]");
}
}
Symbol 345 MovieClip [__Packages.com.neodelight.std.Flow] Frame 0
class com.neodelight.std.Flow
{
var mc, queue;
function Flow () {
_global.bin.syslog("Flow", "()");
var _local1 = _root.getNextHighestDepth();
mc = _root.createEmptyMovieClip("flowMc" + _local1, _local1);
queue = new Array();
}
function pushTask(onStep, o, params, times, exitFlag, exitVal) {
var _local1 = times;
var _local2 = this;
if ((!_local1) && (!exitFlag)) {
_local1 = 1;
} else if (_local1 <= 0) {
_local1 = -1;
}
_local2.queue.push({o:o, onStep:onStep, p:params, exitTimes:_local1, exitFlag:exitFlag, exitVal:exitVal});
_local2.mc.p = _local2;
_local2.mc.onEnterFrame = function () {
this.p.step();
};
}
function step() {
var _local2 = this;
var _local1 = _local2.queue[0];
var _local3 = _local1.onStep.apply(_local1.o, _local1.p);
if (_local1.exitFlag && (_local1.exitVal == _local3)) {
_local2.queue.shift();
if (!_local2.queue.length) {
delete _local2.mc.onEnterFrame;
}
} else if (_local1.exitTimes > 0) {
if (!(--_local1.exitTimes)) {
_local2.queue.shift();
if (!_local2.queue.length) {
delete _local2.mc.onEnterFrame;
}
}
}
}
}
Symbol 346 MovieClip [__Packages.com.neodelight.flanix.Kernel] Frame 0
class com.neodelight.flanix.Kernel
{
function Kernel () {
}
static function init() {
var _local1 = _global;
if (_local1.$FLANIX_VERSION) {
} else {
_local1.$FLANIX_VERSION = "0.2.0";
if (!_local1.lib) {
_local1.lib = new Object();
}
if (!_local1.lib.Blueprints) {
_local1.lib.Blueprints = com.neodelight.std.Blueprint.lib;
}
if (!_local1.var) {
_local1.var = new Object();
}
if (!_local1.var.log) {
_local1.var.log = new Object();
}
if (!_local1.mnt) {
_local1.mnt = new Object();
}
if (!_local1.etc) {
_local1.etc = new Object();
}
_local1.etc.host = com.neodelight.std.XSystem.getDomain();
if (!_local1.dev) {
_local1.dev = new Object();
}
if (!_local1.dev.null) {
_local1.dev.null = function () {
};
}
_local1._root = _level0;
var bin = (new com.neodelight.flanix.Bin());
}
}
}
Symbol 347 MovieClip [__Packages.com.neodelight.flanix.Bin] Frame 0
class com.neodelight.flanix.Bin
{
function Bin () {
var _local2 = _global;
if (!_local2.bin) {
_local2.bin = new Object();
_local2.bin.dump = com.neodelight.std.XString.dump;
_local2.bin.ls = function () {
var console = _global.console;
var parameters = console.parameters;
var _local2 = console.flags;
var buf = "";
var path = "";
var i = 0;
while (i < arguments.length) {
if (String(arguments[i]).charAt(0) != "-") {
path = arguments[i];
break;
}
i++;
}
var target = console.getObjectAtPath(path);
if (_local2.help) {
buf = buf + "Usage: ls [OPTIONS]\n";
buf = buf + "List information about the current object\n";
buf = buf + " -a display all items\n";
buf = buf + " -d dump values of non-objects\n";
buf = buf + " -l long format\n";
buf = buf + " -1 display only one item per line\n";
return(buf);
}
if (_local2.a) {
_global.ASSetPropFlags(target.__proto__, null, 6, true);
_global.ASSetPropFlags(target, null, 6, true);
}
var _local1 = new Array();
for (var i in target) {
switch (typeof(target[i])) {
case "movieclip" :
_local1.push(("/" + i) + (_local2.l ? " [m] " : " "));
break;
case "object" :
_local1.push(("/" + i) + (_local2.l ? " [o] " : " "));
break;
case "function" :
_local1.push(i + (_local2.l ? " [f] " : " "));
break;
case "string" :
_local1.push((i + (_local2.l ? " [s] " : " ")) + (_local2.d ? (("=\"" + target[i]) + "\" ") : ""));
break;
case "undefined" :
_local1.push((i + (_local2.l ? " [u] " : " ")) + (_local2.d ? "=undefined " : ""));
break;
case "null" :
_local1.push((i + (_local2.l ? " [0] " : " ")) + (_local2.d ? "=null " : ""));
break;
case "boolean" :
_local1.push((i + (_local2.l ? " [b] " : " ")) + (_local2.d ? (("=" + target[i]) + " ") : ""));
break;
case "number" :
_local1.push((i + (_local2.l ? " [n] " : " ")) + (_local2.d ? (("=" + target[i]) + " ") : ""));
break;
default :
_local1.push(((i + "_") + typeof(target[i])) + "_");
}
}
var maxWidth = 0;
var i = 0;
while (i < _local1.length) {
maxWidth = Math.max(_local1[i].length, maxWidth);
i++;
}
_local1.sort();
var cols = ((_local2["1"] || (_local2.d)) ? 1 : (Math.floor(console.cols / (maxWidth + 2))));
var col = 0;
buf = "";
var i = 0;
while (i < _local1.length) {
buf = buf + _local1[i];
var _local3 = 0;
while (_local3 < ((maxWidth - _local1[i].length) + 2)) {
buf = buf + " ";
_local3++;
}
col++;
col = col % cols;
if (col == 0) {
buf = buf + newline;
}
i++;
}
return(buf);
};
_local2.bin.cat = function () {
var _local2 = _global;
var _local1 = "";
if ((arguments.length == 0) || (_local2.console.flags.help)) {
_local1 = "Usage: cat [FILE]\nPrint contents of FILE or standard input";
_local2.console.setExitCode(0);
return(_local1);
}
var params = _local2.console.parameters;
var console = _local2.console;
if ((!params[0]) || (params[0] == "/")) {
console.ram.CWD = "";
params[0] = "";
}
var path = (((params[0].substr(0, 1) == "/") ? "" : (console.ram.CWD + "/")) + params[0]);
var _local3 = console.getObjectAtPath(path);
if (_local3) {
switch (typeof(_local3)) {
case "string" :
case "number" :
case "boolean" :
_local1 = _local1 + String(_local3);
break;
case "object" :
case "function" :
_local1 = _local1 + _local2.bin.dump(_local3);
break;
default :
_local2.console.setExitCode(1);
_local1 = _local1 + (("cat: bad type (" + typeof(_local3)) + ")");
}
} else {
_local2.console.setExitCode(3);
_local1 = "cat: file not found";
}
return(_local1);
};
_local2.bin.clipcp = function () {
var _local1 = "";
if (_global.console.flags.help) {
_local1 = "Usage: clipcp ARG\nConverts ARG to a String and copies it to the clipboard.";
}
_global.console.setExitCode(0);
return(_local1);
};
_local2.bin.cls = function () {
var _local2 = _global;
var _local1 = "";
if (_local2.console.flags.help) {
_local1 = "Usage: cls\nClear the console output window.";
} else {
_local2.console.cls();
}
_local2.console.setExitCode(0);
return(_local1);
};
_local2.bin.cd = function () {
var _local3 = _global;
var _local1 = _local3.console.parameters;
var _local2 = _local3.console;
var buf = "";
if ((_local1[0] == undefined) || (_local1[0] == "/")) {
_local2.ram.CWD = "";
_local1[0] = "";
}
var path = (((_local1[0].substr(0, 1) == "/") ? "" : (_local2.ram.CWD + "/")) + _local1[0]);
var target = _local2.getObjectAtPath(path);
if (target) {
switch (typeof(target)) {
case "object" :
case "array" :
case "movieclip" :
case "function" :
_local3.console.setExitCode(0);
_local2.ram.CWD = path;
break;
default :
_local3.console.setExitCode(1);
buf = buf + (("not an object (" + typeof(target)) + ")");
}
} else {
_local3.console.setExitCode(3);
buf = buf + "path not found";
}
return(buf);
};
_local2.bin.echo = function () {
var _local3 = arguments;
var _local2 = "";
var _local1 = 0;
while (_local1 < _local3.length) {
if (_local2 != "") {
_local2 = _local2 + " ";
}
_local2 = _local2 + String(_local3[_local1]);
_local1++;
}
_global.console.setExitCode(0);
return(_local2);
};
_local2.bin.exit = function () {
fscommand ("quit");
_global.mdm.exit();
};
_local2.bin.false = function () {
return(false);
};
_local2.bin.fscommand = function () {
fscommand (arguments[0], arguments[1]);
};
_local2.bin.get = function (path) {
return(_global.console.getObjectAtPath(path));
};
_local2.bin.grep = function (needle, haystack) {
var _local2 = "";
if ((arguments.length < 1) || (_global.console.flags.help)) {
_local2 = "Usage: grep [OPTION] .. PATTERN [FILE] ..\nSearch each line FILE or the standard input and output only lines containing PATTERN";
_global.console.setExitCode(0);
return(_local2);
}
var _local3 = haystack.split(newline);
var _local1 = 0;
while (_local1 < _local3.length) {
if (_local3[_local1].indexOf(needle) != -1) {
if (_local2 != "") {
_local2 = _local2 + newline;
}
_local2 = _local2 + _local3[_local1];
}
_local1++;
}
_global.console.setExitCode(0);
return(_local2);
};
_local2.bin.load = function (url, loadPoint) {
var _local1 = _global;
var buf = "";
if (((arguments.length != 2) && (arguments.length != 1)) || (_local1.console.flags.help)) {
buf = buf + "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.";
_local1.console.setExitCode(0);
return(buf);
}
var _local3;
if (loadPoint) {
var _local2 = _local1.console.getObjectAtPath(loadPoint);
if (!_local2) {
_local1.console.stderr("load: object not found: " + loadPoint);
_local1.console.setExitCode(3);
return(undefined);
}
if (typeof(_local2) != "movieclip") {
_local1.console.stderr(("load: target is not a movieclip (" + typeof(_local2)) + ")");
_local1.console.setExitCode(1);
return(undefined);
}
_local3 = _local2;
} else {
_local3 = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth());
loadPoint = "/_root" + _local3._target;
}
loadMovie (url, _local3);
buf = buf + ((("load: loading " + url) + " to ") + loadPoint);
_local1.console.setExitCode(0);
return(undefined);
};
_local2.bin.number = function () {
return(Number(arguments[0]));
};
_local2.bin.set = function () {
var _local3 = _global;
var _local1 = "";
if (_local3.console.flags.help) {
_local1 = "Usage: set [VAR = VALUE]\nWithout parameters: shows list of Flash-Console system variables. With parameters: set the value of a system variable.";
_local3.console.setExitCode(0);
return(_local1);
}
if (arguments.length == 0) {
for (var _local2 in _local3.console.ram) {
if (_local1 != "") {
_local1 = _local1 + newline;
}
_local1 = _local1 + ((_local2 + "=") + _local3.console.ram[_local2]);
}
return(_local1);
}
if ((arguments.length < 2) || (arguments[1] != "=")) {
_local3.console.stderr("set: syntax error\n");
_local3.console.setExitCode(1);
return(undefined);
}
var _local2 = 2;
while (_local2 < arguments.length) {
if (_local1 != "") {
_local1 = _local1 + " ";
}
_local1 = _local1 + String(arguments[_local2]);
_local2++;
}
var varName = String(arguments[0]);
_local3.console.ram[varName] = _local1;
return(undefined);
};
_local2.bin.sh = function (file) {
var _local2 = file;
if (!_local2) {
return("");
}
var _local1 = _global.console.getObjectAtPath(_local2);
if (typeof(_local1) != "string") {
return("sh: not a script: " + _local2);
}
return(_global.console.executeCommand(_local1));
};
_local2.bin.syslog = function (id, log, errlvl) {
var _local1 = _global;
var _local2 = id;
var _local3 = log;
var buf = "";
if ((arguments.length == 0) || (_local1.console.flags.help)) {
_local1.console.setExitCode(0);
buf = "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(buf);
}
if (!_local1.var.log[_local2]) {
_local1.var.log[_local2] = _local3 + newline;
} else {
_local1.var.log[_local2] = _local1.var.log[_local2] + (_local3 + newline);
}
switch (errlvl) {
case 1 :
_local1.console.stdout((("#INFO:" + _local2) + ":") + _local3);
break;
case 2 :
_local1.bin.syslog("WARNING", (_local2 + ": ") + _local3);
_local1.console.stderr((("#WARNING:" + _local2) + ":") + _local3);
break;
case 3 :
_local1.bin.syslog("ERROR", (_local2 + ": ") + _local3);
_local1.console.stderr((("#ERROR:" + _local2) + ":") + _local3);
break;
}
_local1.console.setExitCode(0);
return(buf);
};
_local2.bin.test = function () {
trace((((((("detect: " + _global.id) + " / ") + _root.id) + " / ") + _level0.id) + " / ") + _level1.id);
};
_local2.bin.true = function () {
return(true);
};
}
}
static function mtascTrace(msg, cls, fil, lin) {
var _local2 = msg;
var _local3 = 0;
if (_local2.substr(0, 3) == "!!!") {
_local3 = 3;
} else if (_local2.substr(0, 2) == "!!") {
_local3 = 2;
} else if (_local2.substr(0, 1) == "!") {
_local3 = 1;
} else if (_local2.substr(0, 1) == "&") {
_global.console.stdout(_local2);
return;
}
var _local1 = String(cls.split("::")[0]).split(".");
while (_local1.length > 2) {
_local1.shift();
}
var t = getTimer();
_global.bin.syslog(_local1.join("."), (((((("[" + t) + ":") + cls.split("::")[1]) + ":") + lin) + "] ") + _local2, _local3);
}
}
Symbol 348 MovieClip [__Packages.com.neodelight.flanix.Console] Frame 0
class com.neodelight.flanix.Console
{
var active, mc, output, parameters, flags;
function Console (width, height) {
var _local1 = this;
var _local2 = _global;
if (_local2.console) {
trace("#ERROR: Console(): only one instance of Console allowed!");
} else {
com.neodelight.flanix.Kernel.init();
_local2.console = _local1;
_local1.width = (width ? (width) : 550);
_local1.height = (height ? (height) : 400);
_local1.offsetX = 0;
_local1.offsetY = 0;
_local1.inputHeight = 18;
_local1.outputHeight = ((_local1.height - (_local1.padding * 2)) - _local1.spacing) - _local1.inputHeight;
_local1.outputMaxLines = 50;
_local1.cols = Math.floor((_local1.width - (_local1.padding * 2)) / 8) - 1;
_local1.mc = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth());
_local1.mc.createTextField("output", _local1.mc.getNextHighestDepth(), _local1.padding, _local1.padding, _local1.width - (_local1.padding * 2), _local1.outputHeight);
_local1.output = _local1.mc.output;
_local1.mc.createTextField("input", _local1.mc.getNextHighestDepth(), _local1.padding, (_local1.padding + _local1.outputHeight) + _local1.spacing, _local1.width - (_local1.padding * 2), 20);
_local1.input = _local1.mc.input;
_local1.input.text = _local1.promptVar;
_local1.input.addListener(_local1);
Key.addListener(_local1);
_local1.history = new Array();
_local1.format = new TextFormat();
_local1.format.color = COLOR_TEXT;
_local1.format.font = "Courier";
_local1.format.size = 10;
_local1.input.setNewTextFormat(_local1.format);
_local1.input.setTextFormat(_local1.format);
_local1.output.setTextFormat(_local1.format);
_local1.output.setNewTextFormat(_local1.format);
_local1.output.wordWrap = true;
_local1.cursorMc = _local1.mc.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _local1.mc.getNextHighestDepth());
_local1.cursorMc.lineStyle(0, COLOR_TEXT);
_local1.cursorMc.moveTo(0, 0);
_local1.cursorMc.lineTo(8, 0);
setInterval(function (cursorMc) {
cursorMc._visible = !cursorMc._visible;
}, 200, _local1.cursorMc);
_local1.cursorMc._y = ((_local1.height - _local1.padding) - 2) + _local1.offsetY;
_local1.updateCursor();
_local1.codepage = new Array();
_local1.codepage[221] = "\u00B4";
_local1.codepage[304] = "=";
_local1.codepage[306] = "\"";
_local1.codepage[307] = "\u00A7";
_local1.codepage[310] = "&";
_local1.codepage[311] = "/";
_local1.codepage[312] = "(";
_local1.codepage[313] = ")";
_local1.codepage[443] = "*";
_local1.codepage[444] = ";";
_local1.codepage[446] = ":";
_local1.codepage[447] = "'";
_local1.codepage[475] = "?";
_local1.codepage[477] = "`";
_local1.codepage[482] = ">";
_local1.codepage[1584] = "}";
_local1.codepage[1591] = "{";
_local1.codepage[1592] = "[";
_local1.codepage[1593] = "]";
_local1.codepage[1617] = "@";
_local1.codepage[1723] = "~";
_local1.codepage[1755] = "\\";
_local1.codepage[1762] = "|";
_local1.redraw();
_local1.stdout("Neodelight Flash Console " + _local2.$FLANIX_VERSION);
_local1.stdout("OK.");
_local1.active = false;
_local1.mc._visible = false;
}
}
function show() {
var _local1 = this;
_local1.active = true;
_local1.mc._visible = true;
_local1.mc.swapDepths(_root.getNextHighestDepth());
}
function hide() {
active = false;
mc._visible = false;
}
function echo(msg) {
var _local1 = this;
var _local3 = msg;
if (_local3 == undefined) {
_local3 = "";
}
if (_local1.output.maxscroll > _local1.outputMaxLines) {
var _local2 = _local1.output.text.split(String.fromCharCode(13));
_local2.splice(0, _local2.length - _local1.outputMaxLines);
_local1.output.text = _local2.join(newline);
} else if (_local1.output.text != "") {
}
_local1.output.text = _local1.output.text + newline;
_local1.output.text = _local1.output.text + _local3;
_local1.output.scroll = _local1.output.maxscroll;
}
function stdout(msg) {
var _local1 = this;
if (_local1.doBufStdOut) {
_local1.bufStdOut = _local1.bufStdOut + msg;
} else {
_local1.echo(msg);
}
}
function flushStdOut() {
var _local1 = this;
_local1.echo(_local1.bufStdOut);
_local1.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() {
var _local1 = this;
if (_local1.ram.CWD == undefined) {
_local1.ram.CWD = "/";
}
return(_local1.getObjectAtPath(_local1.ram.CWD));
}
function getObjectAtPath(fullPath) {
if (fullPath.substr(0, 1) != "/") {
fullPath = (ram.CWD + "/") + fullPath;
}
var _local2 = simplifyPath(fullPath).split("/");
var _local3 = _global;
_global._level0 = _level0;
_global._level1 = _level1;
_global._level2 = _level2;
_global._level3 = _level3;
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] != "") {
_local3 = _local3[_local2[_local1]];
}
_local1++;
}
return(_local3);
}
function getBasePath(fullPath) {
var _local1 = fullPath;
if (_local1.charAt(_local1.length - 1) == "/") {
return(_local1);
}
if (_local1.charAt(0) != "/") {
_local1 = (ram.CWD + "/") + _local1;
}
var _local2 = simplifyPath(_local1).split("/");
_local2.pop();
return(_local2.join("/") + "/");
}
function getFileName(fullPath) {
return(String(fullPath.split("/").pop()));
}
function simplifyPath(fullPath) {
var _local3 = fullPath;
var _local2 = _local3.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++;
}
_local3 = "/" + _local2.join("/");
return(_local3);
}
function onKeyDown() {
var _local1 = this;
switch (Key.getCode()) {
case 8 :
if (!_local1.active) {
return;
}
if ((_local1.cursorPos - 1) >= _local1.promptVar.length) {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos - 1) + _local1.input.text.substring(_local1.cursorPos, _local1.input.text.length);
_local1.updateCursor(-1);
}
return;
case 9 :
if (!_local1.active) {
} else {
var str = _local1.input.text.substring(_local1.promptVar.length, _local1.cursorPos);
var from = _local1.input.text.lastIndexOf(" ", _local1.cursorPos);
if (from != -1) {
str = _local1.input.text.substring(from + 1, _local1.input.text.length + 1);
}
var pathArray = ((_local1.ram.CWD + "/") + str).split("/");
var search = String(pathArray.pop());
var path = pathArray.join("/");
var target = _local1.getObjectAtPath(path);
var _local2 = new Array();
for (var _local3 in _global.bin) {
if ((_local3.substr(0, str.length) == str) && (!_local2[_local3])) {
_local2.push(_local3);
_local2[_local3] = true;
}
}
for (var _local3 in target) {
if ((_local3.substr(0, search.length) == search) && (!_local2[_local3])) {
_local2.push(_local3);
_local2[_local3] = true;
}
}
if (_local2.length == 1) {
_local1.insertAtCursor(_local2[0].substring(search.length, _local2[0].length));
} else if (_local2.length > 1) {
_local1.stdout();
var commonChars = _local2[0].length;
var _local3 = 0;
while (_local3 < _local2.length) {
_local1.stdout(_local2[_local3]);
while (_local2[_local3].substr(0, commonChars) != _local2[0].substr(0, commonChars)) {
commonChars--;
}
_local3++;
}
if (commonChars) {
_local1.insertAtCursor(_local2[0].substring(search.length, Math.min(commonChars, _local2[0].length)));
}
}
return;
if (_local1.active) {
var cmd = _local1.input.text.substring(_local1.promptVar.length, _local1.input.text.length);
_local1.history.unshift(cmd);
if (_local1.history.length > _local1.historyLen) {
_local1.history.pop();
}
_local1.historyPtr = -1;
_local1.stdout(_local1.promptVar + cmd);
_local1.stdout(_local1.executeCommand(cmd));
_local1.input.text = _local1.promptVar;
_local1.updatePrompt();
_local1.updateCursor();
}
if (_local1.active) {
Selection.setFocus(_local1.mc.input);
Selection.setSelection(0, 0);
}
return;
return;
return;
return;
return;
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
_local1.cursorPos = 0;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.updateCursor(-1);
return;
if (!_local1.active) {
} else {
_local1.historyPtr = Math.min(_local1.history.length - 1, _local1.historyPtr + 1);
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.updateCursor(1);
return;
if (!_local1.active) {
} else {
_local1.historyPtr = Math.max(-1, _local1.historyPtr - 1);
if (_local1.historyPtr == -1) {
_local1.input.text = _local1.promptVar;
} else {
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
}
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos) + _local1.input.text.substring(_local1.cursorPos + 1, _local1.input.text.length);
return;
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || Key.isToggled(20)) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
}
}
}
}
}
case 13 :
if (_local1.active) {
var cmd = _local1.input.text.substring(_local1.promptVar.length, _local1.input.text.length);
_local1.history.unshift(cmd);
if (_local1.history.length > _local1.historyLen) {
_local1.history.pop();
}
_local1.historyPtr = -1;
_local1.stdout(_local1.promptVar + cmd);
_local1.stdout(_local1.executeCommand(cmd));
_local1.input.text = _local1.promptVar;
_local1.updatePrompt();
_local1.updateCursor();
}
if (_local1.active) {
Selection.setFocus(_local1.mc.input);
Selection.setSelection(0, 0);
}
return;
case 16 :
return;
case 17 :
return;
case 18 :
return;
case 20 :
return;
case 35 :
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
case 36 :
_local1.cursorPos = 0;
_local1.updateCursor();
return;
case 37 :
if (!_local1.active) {
} else {
_local1.updateCursor(-1);
return;
if (!_local1.active) {
} else {
_local1.historyPtr = Math.min(_local1.history.length - 1, _local1.historyPtr + 1);
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.updateCursor(1);
return;
if (!_local1.active) {
} else {
_local1.historyPtr = Math.max(-1, _local1.historyPtr - 1);
if (_local1.historyPtr == -1) {
_local1.input.text = _local1.promptVar;
} else {
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
}
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos) + _local1.input.text.substring(_local1.cursorPos + 1, _local1.input.text.length);
return;
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || Key.isToggled(20)) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
}
}
}
}
case 38 :
if (!_local1.active) {
} else {
_local1.historyPtr = Math.min(_local1.history.length - 1, _local1.historyPtr + 1);
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.updateCursor(1);
return;
if (!_local1.active) {
} else {
_local1.historyPtr = Math.max(-1, _local1.historyPtr - 1);
if (_local1.historyPtr == -1) {
_local1.input.text = _local1.promptVar;
} else {
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
}
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos) + _local1.input.text.substring(_local1.cursorPos + 1, _local1.input.text.length);
return;
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
}
}
}
case 39 :
if (!_local1.active) {
} else {
_local1.updateCursor(1);
return;
if (!_local1.active) {
} else {
_local1.historyPtr = Math.max(-1, _local1.historyPtr - 1);
if (_local1.historyPtr == -1) {
_local1.input.text = _local1.promptVar;
} else {
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
}
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos) + _local1.input.text.substring(_local1.cursorPos + 1, _local1.input.text.length);
return;
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
}
}
case 40 :
if (!_local1.active) {
} else {
_local1.historyPtr = Math.max(-1, _local1.historyPtr - 1);
if (_local1.historyPtr == -1) {
_local1.input.text = _local1.promptVar;
} else {
_local1.input.text = _local1.promptVar + _local1.history[_local1.historyPtr];
}
_local1.cursorPos = _local1.input.text.length;
_local1.updateCursor();
return;
if (!_local1.active) {
} else {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos) + _local1.input.text.substring(_local1.cursorPos + 1, _local1.input.text.length);
return;
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
}
case 46 :
if (!_local1.active) {
} else {
_local1.input.text = _local1.input.text.substring(0, _local1.cursorPos) + _local1.input.text.substring(_local1.cursorPos + 1, _local1.input.text.length);
return;
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
case 220 :
if (_local1.active) {
_local1.hide();
} else {
_local1.show();
}
return;
default :
if (!_local1.active) {
} else {
var code = (((Key.getCode() + ((Key.isDown(16) || (Key.isToggled(20))) ? 256 : 0)) + (Key.isDown(17) ? 512 : 0)) + (Key.isDown(18) ? 1024 : 0));
var ascii = Key.getAscii();
var char;
if (_local1.codepage[code]) {
char = _local1.codepage[code];
} else {
char = String.fromCharCode(ascii);
}
_local1.insertAtCursor(char);
Selection.setFocus(_local1.mc.input);
Selection.setSelection(2, 2);
}
}
}
function redraw() {
var _local1 = this;
_local1.mc.lineStyle(0, COLOR_LINE);
_local1.mc.moveTo(_local1.offsetX, _local1.offsetY);
_local1.mc.beginFill(COLOR_BG, COLOR_BG_ALPHA);
_local1.mc.lineTo(_local1.width + _local1.offsetX, _local1.offsetY);
_local1.mc.lineTo(_local1.width + _local1.offsetX, _local1.height + _local1.offsetY);
_local1.mc.lineTo(_local1.offsetX, _local1.height + _local1.offsetY);
_local1.mc.lineTo(_local1.offsetX, _local1.offsetY);
_local1.mc.endFill();
_local1.output._x = _local1.offsetX;
_local1.output._y = _local1.offsetY;
_local1.input._x = _local1.padding + _local1.offsetX;
_local1.input._y = ((_local1.padding + _local1.offsetY) + _local1.outputHeight) + _local1.spacing;
_local1.updatePrompt();
_local1.updateCursor();
}
function updateCursor(offset) {
var _local1 = this;
if (offset) {
_local1.cursorPos = _local1.cursorPos + offset;
}
_local1.cursorPos = Math.max(_local1.promptVar.length, Math.min(_local1.input.text.length, _local1.cursorPos));
_local1.cursorMc._x = ((_local1.offsetX + _local1.padding) + 2) + (_local1.cursorPos * 8);
_local1.cursorMc._visible = true;
}
function updatePrompt() {
var _local1 = this;
_local1.promptVar = _local1.ram.CWD + ">";
_local1.input.text = _local1.promptVar;
}
function insertAtCursor(str) {
var _local1 = this;
_local1.input.text = (_local1.input.text.substring(0, _local1.cursorPos) + str) + _local1.input.text.substring(_local1.cursorPos, _local1.input.text.length);
_local1.updateCursor(str.length);
}
function executeCommand(cmd, stdin) {
var buf = "";
cmd = com.neodelight.std.XString.trim(cmd);
while (cmd.charAt(cmd.length - 1) == ";") {
cmd = cmd.substr(0, cmd.length - 1);
}
var _local3 = "cmd";
var _local1 = "";
var i = (cmd.length - 1);
while (i >= 0) {
if (cmd.charAt(i - 1) == "\\") {
} else {
var _local2 = cmd.charAt(i);
switch (_local3) {
case "cmd" :
switch (_local2) {
case "\"" :
_local3 = "quotDouble";
break;
case "'" :
_local3 = "quotSingle";
break;
case ";" :
case newline :
var preCmd = cmd.substr(0, i);
var preCmdResult = String(executeCommand(preCmd));
if (preCmdResult != "") {
buf = buf + (preCmdResult + newline);
}
cmd = cmd.substr(i + 1);
i = -1;
}
break;
case "quotSingle" :
if (_local2 == "'") {
_local3 = "cmd";
}
break;
case "quotDouble" :
if (_local2 == "\"") {
_local3 = "cmd";
}
break;
default :
trace(("#ERROR: unknown mode: " + _local3) + ".. flanix is buggy");
}
}
i--;
}
if (ram.CWD == undefined) {
ram.CWD = "/";
}
var pipeName;
var pipeType;
var chunks = new Array();
_local1 = "";
_local3 = "cmd";
cmd = cmd + " ";
var i = 0;
while (i < cmd.length) {
var _local2 = cmd.charAt(i);
switch (_local3) {
case "cmd" :
if (_local2 == " ") {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
_local3 = "param";
if (_local1 != "") {
chunks.push(_local1);
}
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
case "param" :
if (_local1 == "") {
if (_local2 == " ") {
break;
}
if (_local2 == "`") {
_local3 = "paramExpression";
_local1 = _local1 + _local2;
} else if (_local2 == "\"") {
_local3 = "paramQuoteDouble";
} else if (_local2 == "'") {
_local3 = "paramQuoteSingle";
} else if (_local2 == "|") {
pipeName = cmd.substr(i + 1);
pipeType = "|";
i = Number.MAX_VALUE;
} else if (_local2 == ">") {
_local3 = "paramPipeOutFile";
} else {
if (_local2 == " ") {
_local3 = "param";
if (Number(_local1) == _local1) {
_local1 = Number(_local1);
} else {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
if (_local1.indexOf("$") != -1) {
if (_local1.length <= (_local1.indexOf("$") + 1)) {
stderr("bash: unknown variable: $");
setExitCode(2);
return(undefined);
}
var varVal = ram[_local1.substr(_local1.indexOf("$") + 1)];
if (varVal == undefined) {
varVal = "";
}
_local1 = _local1.substring(0, _local1.indexOf("$")) + String(varVal);
}
}
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
if ((_local2 == "`") && (cmd.charAt(i - 1) != "\\")) {
_local1 = executeCommand(_local1);
_local3 = "param";
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
if ((_local2 == "'") && (cmd.charAt(i - 1) != "\\")) {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
_local3 = "param";
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
if ((_local2 == "\"") && (cmd.charAt(i - 1) != "\\")) {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
while (_local1.indexOf("$") != -1) {
var varFrom = _local1.indexOf("$");
var varTo = Math.min(_local1.length, ((_local1.indexOf(" ", varFrom) > -1) ? _local1.indexOf(" ", varFrom) : Number.MAX_VALUE));
var varName = _local1.substring(varFrom + 1, varTo);
var varVal = ram[varName];
if (varVal == undefined) {
varVal = "";
}
_local1 = (_local1.slice(0, varFrom) + String(varVal)) + _local1.slice(varTo, _local1.length);
}
_local3 = "param";
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
if ((_local2 == " ") && (_local1 == "")) {
} else {
if (_local2 == " ") {
pipeName = _local1;
pipeType = ">";
_local1 = "";
_local3 = "param";
} else {
_local1 = _local1 + _local2;
}
break;
trace("unknown mode: " + _local3);
}
}
}
if (_local2 == " ") {
_local3 = "param";
if (Number(_local1) == _local1) {
_local1 = Number(_local1);
} else {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
if (_local1.indexOf("$") != -1) {
if (_local1.length <= (_local1.indexOf("$") + 1)) {
stderr("bash: unknown variable: $");
setExitCode(2);
return(undefined);
}
var varVal = ram[_local1.substr(_local1.indexOf("$") + 1)];
if (varVal == undefined) {
varVal = "";
}
_local1 = _local1.substring(0, _local1.indexOf("$")) + String(varVal);
}
}
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
case "paramExpression" :
if ((_local2 == "`") && (cmd.charAt(i - 1) != "\\")) {
_local1 = executeCommand(_local1);
_local3 = "param";
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
case "paramQuoteSingle" :
if ((_local2 == "'") && (cmd.charAt(i - 1) != "\\")) {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
_local3 = "param";
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
case "paramQuoteDouble" :
if ((_local2 == "\"") && (cmd.charAt(i - 1) != "\\")) {
_local1 = com.neodelight.std.XString.stripSlashes(_local1);
while (_local1.indexOf("$") != -1) {
var varFrom = _local1.indexOf("$");
var varTo = Math.min(_local1.length, ((_local1.indexOf(" ", varFrom) > -1) ? (_local1.indexOf(" ", varFrom)) : Number.MAX_VALUE));
var varName = _local1.substring(varFrom + 1, varTo);
var varVal = ram[varName];
if (varVal == undefined) {
varVal = "";
}
_local1 = (_local1.slice(0, varFrom) + String(varVal)) + _local1.slice(varTo, _local1.length);
}
_local3 = "param";
chunks.push(_local1);
_local1 = "";
} else {
_local1 = _local1 + _local2;
}
break;
case "paramPipeOutFile" :
if ((_local2 == " ") && (_local1 == "")) {
} else {
if (_local2 == " ") {
pipeName = _local1;
pipeType = ">";
_local1 = "";
_local3 = "param";
} else {
_local1 = _local1 + _local2;
}
break;
trace("unknown mode: " + _local3);
}
default :
trace("unknown mode: " + _local3);
}
i++;
}
var result = "";
if (chunks.length) {
var args = new Array();
var i = 1;
while (i < chunks.length) {
args.push(chunks[i]);
i++;
}
var flags = {};
for (var i in args) {
if (args[i].substr(0, 2) == "--") {
flags[args[i].substr(2, args[i].length - 2)] = true;
} else if (String(args[i]).substr(0, 1) == "-") {
var j = 1;
while (j < String(args[i]).length) {
flags[String(args[i]).charAt(j)] = true;
j++;
}
}
}
if (stdin != undefined) {
args.push(stdin);
}
var command = String(chunks[0]);
setExitCode(undefined);
var commandFile;
var commandWorkingDir;
if (command.indexOf("/") != -1) {
if (command.charAt(0) == "/") {
commandFile = getObjectAtPath(command);
commandWorkingDir = getBasePath(command);
} else {
commandFile = getObjectAtPath((ram.CWD + "/") + command);
commandWorkingDir = getBasePath((ram.CWD + "/") + command);
}
} else {
var dirs = ((ram.PATH.indexOf("/bin") == -1) ? (("/bin:" + ram.PATH).split(":")) : (ram.PATH.split(":")));
var i = 0;
while (i < dirs.length) {
commandFile = getObjectAtPath((dirs[i] + "/") + command);
if (commandFile != undefined) {
commandWorkingDir = dirs[i];
break;
}
i++;
}
}
if (commandFile != undefined) {
switch (typeof(commandFile)) {
case "function" :
var commandFunction = Function(commandFile);
parameters = args;
flags = flags;
result = commandFunction.apply(getObjectAtPath(commandWorkingDir), args);
break;
case "string" :
var tmpArr = commandFile.split(newline, 2);
if (tmpArr[0] == "#!/bin/sh") {
result = executeCommand(tmpArr[1]);
} else {
stderr("bash: to execute a string as a script, type: sh <filename>");
}
break;
default :
stderr(((("bash: not a command: " + command) + " (") + typeof(commandFile)) + ")");
}
} else {
stderr("bash: command not found or undefined: " + command);
setExitCode(3);
}
ram.CWD = simplifyPath(ram.CWD);
if (pipeName) {
switch (pipeType) {
case "|" :
result = executeCommand(pipeName, result);
break;
case ">" :
if (pipeName.indexOf("/") != -1) {
var obj = getObjectAtPath(getBasePath(pipeName));
obj[getFileName(pipeName)] = result;
} else {
var obj = getObjectAtCwd();
obj[pipeName] = result;
}
break;
case "<" :
}
result = "";
}
} else {
result = "";
}
return(buf + result);
}
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 349 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 350 MovieClip [__Packages.com.neodelight.game.Score] Frame 0
class com.neodelight.game.Score
{
var flow, config, sharedObject, scoreTotal, scores;
function Score (config) {
var _local2 = config;
var _local3 = _global;
_local3.bin.syslog("Score", "new Score()");
flow = new com.neodelight.std.Flow();
if (!_local2) {
_local2 = Array(com.neodelight.std.Blueprint.getBlueprint("score").scoreTypes);
}
if (!_local2) {
_local3.bin.syslog("Score", "constructor needs config", 3);
} else {
this.config = _local2;
var _local1 = 0;
while (_local1 < _local2.length) {
this.config[_local2[_local1].id] = _local2[_local1];
this.config[_local1].i = _local1;
_local1++;
}
sharedObject = SharedObject.getLocal(_local3.game.name);
reset();
}
if (_local3.mdm) {
_local3.mdm.enableexithandler();
com.neodelight.std.File.load(_local3.game.name + ".stats", function (data) {
var _local1 = _global;
var _local2 = _root;
var _local3 = data;
if (!_local3) {
_local1.bin.syslog("Score", "loaded external scores: empty");
} else {
_local1.bin.syslog("Score", ("loaded external scores (" + _local3.length) + " bytes)");
_local2.decryptedScores = "";
_local1.mdm.blowfishdec("com.neodelight.game.Score", _local3, "_root.decryptedScores");
_local2.scoresLoadFlow = new com.neodelight.std.Flow();
_local2.scoresLoadFlow.pushTask(function () {
var _local1 = _global;
var _local2 = _root;
if (_local2.decryptedScores) {
_local1.bin.syslog("Score", "decrypted scores");
_local1.score.sharedObject = {};
_local1.score.sharedObject.data = com.neodelight.wddx.Wddx.deserialize(_local2.decryptedScores);
delete _local2.decrytpedScores;
return(true);
}
return(false);
}, undefined, undefined, undefined, true, true);
}
});
_root.onAppExit = function () {
var _local1 = _root;
var _local2 = _global;
var sharedObject = _local2.score.sharedObject.data;
var _local3 = com.neodelight.wddx.Wddx.serialize(sharedObject);
_local1.encryptedScores = "";
_local2.mdm.blowfishenc("com.neodelight.game.Score", _local3, "encryptedScores");
_local1.appExitFlow = new com.neodelight.std.Flow();
_local1.appExitFlow.pushTask(function () {
if (_root.encryptedScores) {
com.neodelight.mdm.MdmFile.save(_global.game.name + ".stats", _root.encryptedScores);
_global.mdm.exit();
return(true);
}
return(false);
}, undefined, undefined, undefined, true, true);
};
}
}
function reset() {
_global.bin.syslog("Score", "reset scores!");
scoreTotal = 0;
scores = new Object();
}
function initLevel() {
var _local2 = this;
var _local3 = _global;
_local3.bin.syslog("Score", "initLevel: " + _local3.game.actLevel);
_local2.scores[_local3.game.actLevel] = new Object();
var _local1 = 0;
while (_local1 < _local2.config.length) {
_local2.scores[_local3.game.actLevel][_local2.config[_local1].id] = com.neodelight.std.XMath.toNumber(_local2.config[_local1].score);
_local1++;
}
_local2.scoreLevel = 0;
}
function alter(deltaScore, type) {
var _local1 = deltaScore;
var _local2 = this;
var _local3 = type;
_global.bin.syslog("Score", ((("alter '" + _local3) + "' (") + _local1) + ", type)");
if (_local2.config[_local3].totalAdd) {
_local2.scoreTotal = _local2.scoreTotal + _local1;
_local2.scoreLevel = _local2.scoreLevel + _local1;
}
_local2.scores[_global.game.actLevel][_local3] = _local2.scores[_global.game.actLevel][_local3] + _local1;
}
function set(score, type) {
var _local1 = this;
var _local2 = type;
var _local3 = _global;
_local3.bin.syslog("Score", ((("set '" + _local2) + "' (") + score) + ")");
if (_local1.config[_local2].totalAdd) {
_local1.scoreTotal = _local1.scoreTotal - com.neodelight.std.XMath.toNumber(_local1.scores[_local3.game.actLevel][_local2]);
_local1.scoreTotal = _local1.scoreTotal + score;
}
_local1.scores[_local3.game.actLevel][_local2] = score;
}
function get(type, level) {
var _local1 = level;
if (_local1 == undefined) {
_local1 = _global.game.actLevel;
}
return(scores[_local1][type]);
}
function refresh() {
var _local2 = this;
trace("score:refresh");
_local2.scoreTotal = 0;
for (var _local3 in _local2.scores) {
trace("level: " + _local3);
var _local1 = 0;
while (_local1 < _local2.config.length) {
trace((((("t: " + _local1) + " id:") + _local2.config[_local1].id) + " val:") + _local2.scores[_local3][_local2.config[_local1].id]);
if (_local2.config[_local1].totalAdd) {
_local2.scoreTotal = _local2.scoreTotal + _local2.scores[_local3][_local2.config[_local1].id];
}
_local1++;
}
}
}
function saveType(disciple) {
var _local3 = disciple;
_global.bin.syslog("Score", "saveType: " + _local3);
var _local2 = _global.game.actLevel;
_global.bin.syslog("Score", "level = " + _local2);
var _local1 = sharedObject.data;
if (!_local1) {
trace("#ERROR: no sObj");
}
if (!_local1.scores) {
_local1.scores = new Object();
}
if (!_local1.scores[_local2]) {
_global.bin.syslog("Score", "creating level object");
_local1.scores[_local2] = new Object();
}
var score = scores[_local2][config[_local3].id];
_global.bin.syslog("Score", "score = " + score);
if (!_local1.scores[_local2][_local3]) {
_local1.scores[_local2][_local3] = new Object();
}
_local1.scores[_local2][_local3].count = int(_local1.scores[_local2][_local3].count) + 1;
if ((_local1.scores[_local2][_local3].max == undefined) || (_local1.scores[_local2][_local3].max < score)) {
_local1.scores[_local2][_local3].max = score;
}
if ((_local1.scores[_local2][_local3].min == undefined) || (_local1.scores[_local2][_local3].min > score)) {
_local1.scores[_local2][_local3].min = score;
}
if (_local1.scores[_local2][_local3].avg == undefined) {
_local1.scores[_local2][_local3].avg = score;
} else {
_local1.scores[_local2][_local3].avg = ((_local1.scores[_local2][_local3].avg * (_local1.scores[_local2][_local3].count - 1)) + score) / _local1.scores[_local2][_local3].count;
}
}
function save(saveTotal) {
_global.bin.syslog("Score", "save");
var _local2 = sharedObject.data;
if (saveTotal) {
_local2.count = int(_local2.count) + 1;
if ((_local2.max == undefined) || (_local2.max > scoreTotal)) {
_local2.max = scoreTotal;
}
if ((_local2.min == undefined) || (_local2.min < scoreTotal)) {
_local2.min = scoreTotal;
}
_local2.avg = ((_local2.avg == undefined) ? (scoreTotal) : (((_local2.avg * (_local2.count - 1)) + scoreTotal) / _local2.count));
}
if (!_local2.scores) {
_local2.scores = new Object();
}
var _local3 = _global.game.actLevel;
if (!_local2.scores[_local3]) {
_local2.scores[_local3] = new Object();
}
var _local1 = 0;
while (_local1 < config.length) {
var score = scores[_local3][config[_local1].id];
if (!_local2.scores[_local3][_local1]) {
_local2.scores[_local3][_local1] = new Object();
}
_local2.scores[_local3][_local1].count = int(_local2.scores[_local3][_local1].count) + 1;
if ((_local2.scores[_local3][_local1].max == undefined) || (_local2.scores[_local3][_local1].max < score)) {
_local2.scores[_local3][_local1].max = score;
}
if ((_local2.scores[_local3][_local1].min == undefined) || (_local2.scores[_local3][_local1].min > score)) {
_local2.scores[_local3][_local1].min = score;
}
if (_local2.scores[_local3][_local1].avg == undefined) {
_local2.scores[_local3][_local1].avg = score;
} else {
_local2.scores[_local3][_local1].avg = ((_local2.scores[_local3][_local1].avg * (_local2.scores[_local3][_local1].count - 1)) + score) / _local2.scores[_local3][_local1].count;
}
_local1++;
}
}
function getStatistics() {
var _local2 = this;
_global.bin.syslog("Score", "getStatistics", 0);
var sObj = _local2.sharedObject.data;
var _local3 = new Object();
_local3.scores = new Object();
_local3.avg = sObj.avg;
_local3.max = sObj.max;
_local3.cur = sObj.cur;
_local3.count = sObj.count;
for (var level in sObj.scores) {
_local3.scores[level] = new Object();
var _local1 = 0;
while (_local1 < _local2.config.length) {
_local3.scores[level][_local2.config[_local1].id] = new Object();
_local3.scores[level][_local2.config[_local1].id].avg = sObj.scores[level][_local2.config[_local1].id].avg;
_local3.scores[level][_local2.config[_local1].id].min = sObj.scores[level][_local2.config[_local1].id].min;
_local3.scores[level][_local2.config[_local1].id].max = sObj.scores[level][_local2.config[_local1].id].max;
_local3.scores[level][_local2.config[_local1].id].count = sObj.scores[level][_local2.config[_local1].id].count;
_local3.scores[level][_local2.config[_local1].id].cur = _local2.scores[level][_local2.config[_local1].id];
_local1++;
}
}
return(_local3);
}
function clearSharedObject() {
_global.bin.syslog("Score", "clearSharedObject", 1);
sharedObject.clear();
sharedObject.data = new Object();
}
}
Symbol 351 MovieClip [__Packages.com.neodelight.std.File] Frame 0
class com.neodelight.std.File
{
function File () {
}
static function load(filename, callback) {
var _local1 = new LoadVars();
_local1.load(filename);
_local1.onData = callback;
}
}
Symbol 352 MovieClip [__Packages.com.neodelight.wddx.Wddx] Frame 0
class com.neodelight.wddx.Wddx
{
function Wddx () {
var _local2 = this;
_local2.et = new Object();
_local2.etRev = new Object();
_local2.at = new Object();
_local2.atRev = new Object();
_local2.timezoneString = new String();
_local2.preserveVarCase = true;
_local2.useTimezoneInfo = true;
var _local1 = 0;
while (_local1 < 256) {
if ((((_local1 < 32) && (_local1 != 9)) && (_local1 != 10)) && (_local1 != 13)) {
var _local3 = _local1.toString(16);
if (_local3.length == 1) {
_local3 = "0" + _local3;
}
_local2.et[_local1] = ("<char code='" + _local3) + "'/>";
_local2.at[_local1] = "";
} else if (_local1 < 128) {
_local2.et[_local1] = chr(_local1);
_local2.at[_local1] = chr(_local1);
} else {
_local2.et[_local1] = ("&#x" + _local1.toString(16)) + ";";
_local2.etRev[("&#x" + _local1.toString(16)) + ";"] = chr(_local1);
_local2.at[_local1] = ("&#x" + _local1.toString(16)) + ";";
_local2.atRev[("&#x" + _local1.toString(16)) + ";"] = chr(_local1);
}
_local1++;
}
_local2.et[60] = "<";
_local2.et[62] = ">";
_local2.et[38] = "&";
_local2.etRev["<"] = "<";
_local2.etRev[">"] = ">";
_local2.etRev["&"] = "&";
_local2.at[60] = "<";
_local2.at[62] = ">";
_local2.at[38] = "&";
_local2.at[39] = "'";
_local2.at[34] = """;
_local2.atRev["<"] = "<";
_local2.atRev[">"] = ">";
_local2.atRev["&"] = "&";
_local2.atRev["'"] = "'";
_local2.atRev["""] = "\"";
var tzOffset = new Date().getTimezoneOffset();
if (tzOffset >= 0) {
_local2.timezoneString = "-";
} else {
_local2.timezoneString = "+";
}
_local2.timezoneString = _local2.timezoneString + ((Math.floor(Math.abs(tzOffset) / 60) + ":") + (Math.abs(tzOffset) % 60));
}
static function serialize(rootObj) {
var wddx = (new com.neodelight.wddx.Wddx());
var _local2 = new XML();
var _local3 = new XML();
_local3.appendChild(_local2.createElement("wddxPacket"));
var _local1 = _local3.firstChild;
_local1.attributes.version = "1.0";
_local1.appendChild(_local2.createElement("header"));
_local1.appendChild(_local2.createElement("data"));
if (wddx.serializeValue(rootObj, _local1.childNodes[1])) {
return(_local3.toString());
}
return(null);
}
function serializeValue(obj, node) {
var _local1 = obj;
var _local3 = true;
var val = _local1.valueOf();
var tzString = null;
var temp = new XML();
if (_local1 == null) {
node.appendChild(temp.createElement("null"));
} else if (typeof(val) == "string") {
serializeString(val, node);
} else if (typeof(val) == "number") {
if (typeof(_local1.getTimezoneOffset) == "function") {
if (useTimezoneInfo) {
tzString = timezoneString;
}
node.appendChild(temp.createElement("dateTime"));
node.lastChild.appendChild(temp.createTextNode(((((((((((_local1.getFullYear() + "-") + (_local1.getMonth() + 1)) + "-") + _local1.getDate()) + "T") + _local1.getHours()) + ":") + _local1.getMinutes()) + ":") + _local1.getSeconds()) + tzString));
} else {
node.appendChild(new XML().createElement("number"));
node.lastChild.appendChild(new XML().createTextNode(val));
}
} else if (typeof(val) == "boolean") {
node.appendChild(temp.createElement("boolean"));
node.lastChild.attributes.value = val;
} else if (typeof(_local1) == "object") {
if (typeof(_local1.wddxSerialize) == "function") {
_local3 = _local1.wddxSerialize(this, node);
} else if ((typeof(_local1.join) == "function") && (typeof(_local1.reverse) == "function")) {
node.appendChild(temp.createElement("array"));
node.lastChild.attributes.length = _local1.length;
var _local2 = 0;
while (_local3 && (_local2 < _local1.length)) {
_local3 = serializeValue(_local1[_local2], node.lastChild);
_local2++;
}
} else {
node.appendChild(temp.createElement("struct"));
if (typeof(_local1.wddxSerializationType) == "string") {
node.lastChild.attributes.type = _local1.wddxSerializationType;
}
for (var prop in _local1) {
if (prop != "wddxSerializationType") {
_local3 = serializeVariable(prop, _local1[prop], node.lastChild);
if (!_local3) {
break;
}
}
}
}
} else {
_local3 = false;
}
return(_local3);
}
function serializeVariable(vname, obj, node) {
var _local2 = this;
var _local1 = true;
var _local3 = new XML();
if (typeof(obj) != "function") {
node.appendChild(_local3.createElement("var"));
node.lastChild.attributes.name = (_local2.preserveVarCase ? (_local2.serializeAttr(vname)) : (_local2.serializeAttr(vname.toLowerCase())));
_local1 = _local2.serializeValue(obj, node.lastChild);
}
return(_local1);
}
function serializeString(s, node) {
var _local2 = "";
var temp = new XML();
var _local3 = s.length;
node.appendChild(temp.createElement("string"));
var _local1 = 0;
while (_local1 < _local3) {
_local2 = _local2 + et[ord(s.substring(_local1, _local1 + 1))];
_local1++;
}
node.lastChild.appendChild(temp.createTextNode(_local2));
}
function serializeAttr(s) {
var _local2 = "";
var _local3 = s.length;
var _local1 = 0;
while (_local1 < _local3) {
_local2 = _local2 + at[ord(s.substring(_local1, _local1 + 1))];
_local1++;
}
return(_local2);
}
static function deserialize(xmlString) {
var wddx = (new com.neodelight.wddx.Wddx());
var _local2 = new XML(xmlString);
var wddxRoot = new XML();
var _local3 = new Array();
var dataObj = new Object();
while (_local2.nodeName == null) {
_local2 = _local2.firstChild;
}
wddxRoot = _local2;
if (wddxRoot.nodeName.toLowerCase() == "wddxpacket") {
_local3 = wddxRoot.childNodes;
var _local1 = 0;
while ((_local3[_local1].nodeName.toLowerCase() != "data") && (_local1 < _local3.length)) {
_local1++;
}
if (_local1 < _local3.length) {
dataObj = wddx.deserializeNode(_local3[_local1].firstChild);
return(dataObj);
}
return(null);
}
return(null);
}
function deserializeNode(node) {
var _local1 = node;
var nodeType = _local1.nodeName.toLowerCase();
if (nodeType == "number") {
var dataObj = _local1.firstChild.nodeValue;
return(Number(dataObj));
}
if (nodeType == "boolean") {
var dataObj = (String(_local1.attributes.value).toLowerCase() == "true");
return(dataObj);
}
if (nodeType == "string") {
var dataObj;
if (_local1.childNodes.length > 1) {
dataObj = "";
var _local3 = 0;
_local3 = 0;
while (_local3 < _local1.childNodes.length) {
if (_local1.childNodes[_local3].nodeType == 3) {
dataObj = dataObj + deserializeString(_local1.childNodes[_local3].nodeValue);
} else if (_local1.childNodes[_local3].nodeName == "char") {
dataObj = dataObj + chr(parseInt(_local1.childNodes[_local3].attributes.code, 16));
}
_local3++;
}
} else {
dataObj = deserializeString(_local1.firstChild.nodeValue);
}
return(dataObj);
}
if (nodeType == "array") {
var dataObj = new Array();
var temp = 0;
var _local3 = 0;
while (_local3 < _local1.attributes.length) {
dataObj[_local3] = deserializeNode(_local1.childNodes[_local3].cloneNode(true));
_local3++;
}
return(dataObj);
}
if (nodeType == "datetime") {
var dtString = _local1.firstChild.nodeValue;
var tPos = dtString.indexOf("T");
var tzPos = dtString.indexOf("+");
var dateArray = new Array();
var timeArray = new Array();
var tzArray = new Array();
var dataObj = new Date();
if (tzPos == -1) {
tzPos = dtString.lastIndexOf("-");
if (tzPos < tPos) {
tzPos = -1;
}
}
dateArray = dtString.slice(0, tPos).split("-");
timeArray = dtString.slice(tPos + 1, tzPos).split(":");
tzArray = dtString.slice(tzPos).split(":");
dataObj.setFullYear(parseInt(dateArray[0]), parseInt(dateArray[1]) - 1, parseInt(dateArray[2]));
dataObj.setHours(parseInt(timeArray[0]), parseInt(timeArray[1]));
if (tzPos != -1) {
var tzOffset = ((parseInt(tzArray[0]) * 60) + parseInt(tzArray[1]));
dataObj.setMinutes(dataObj.getMinutes() - (dataObj.getTimezoneOffset() + tzOffset));
}
return(dataObj);
}
if (nodeType == "struct") {
var dataObj = new Object();
var _local3 = 0;
while (_local3 < _local1.childNodes.length) {
if (_local1.childNodes[_local3].nodeName.toLowerCase() == "var") {
dataObj[deserializeAttr(_local1.childNodes[_local3].attributes.name)] = deserializeNode(_local1.childNodes[_local3].firstChild);
}
_local3++;
}
return(dataObj);
}
if (nodeType == "recordset") {
var dataObj = (new com.neodelight.wddx.WddxRecordSet(_local1.attributes.fieldNames.split(",").reverse(), parseInt(_local1.attributes.rowCount)));
var _local3 = _local1.childNodes.length - 1;
while (_local3 >= 0) {
if (_local1.childNodes[_local3].nodeName.toLowerCase() == "field") {
var attr = deserializeAttr(_local1.childNodes[_local3].attributes.name);
dataObj[attr].wddxSerializationType = "field";
var _local2 = _local1.childNodes[_local3].childNodes.length - 1;
while (_local2 >= 0) {
dataObj[attr][_local2] = new Object();
var tempObj = deserializeNode(_local1.childNodes[_local3].childNodes[_local2]);
dataObj.setField(_local2, attr, tempObj);
_local2--;
}
}
_local3--;
}
return(dataObj);
}
return(undefined);
}
function deserializeAttr(attr) {
return(attr);
}
function deserializeString(str) {
return(str);
}
var et = null;
var etRev = null;
var at = null;
var atRev = null;
var timezoneString = null;
var preserveVarCase = null;
var useTimezoneInfo = null;
var wddxPacket = null;
}
Symbol 353 MovieClip [__Packages.com.neodelight.wddx.WddxRecordSet] Frame 0
class com.neodelight.wddx.WddxRecordSet
{
function WddxRecordSet () {
preserveFieldCase = true;
var val;
if (arguments.length > 0) {
if (typeof((val = arguments[0].valueOf())) == "boolean") {
preserveFieldCase = arguments[0];
} else {
var cols = arguments[0];
var nLen = 0;
if (arguments.length > 1) {
if (typeof((val = arguments[1].valueOf())) == "boolean") {
preserveFieldCase = arguments[1];
} else {
nLen = arguments[1];
if (arguments.length > 2) {
preserveFieldCase = arguments[2];
}
}
}
var _local2 = 0;
while (_local2 < cols.length) {
var _local3 = new Array(nLen);
var _local1 = 0;
while (_local1 < nLen) {
_local3[_local1] = null;
_local1++;
}
this[(preserveFieldCase ? (cols[_local2]) : (cols[_local2].toLowerCase()))] = _local3;
_local2++;
}
}
}
}
function duplicate() {
var _local2 = this;
var _local3 = new com.neodelight.wddx.WddxRecordSet();
var _local1;
for (_local1 in _local2) {
if (_local1.toUpperCase() == "PRESERVEFIELDCASE") {
_local3[_local1] = _local2[_local1];
} else if (_local2[_local1].isColumn()) {
_local3.addColumn(_local1);
for (var j in _local2[_local1]) {
_local3.setField(j, _local1, _local2.getField(j, _local1));
}
}
}
return(_local3);
}
function isColumn(name) {
return((typeof(this[name]) == "object") && (name.indexOf("_private_") == -1));
}
function getRowCount() {
var _local1 = this;
var _local2 = 0;
for (var _local3 in _local1) {
if (_local1.isColumn(_local3)) {
_local2 = _local1[_local3].length;
break;
}
}
return(_local2);
}
function addColumn(name) {
var _local3 = getRowCount();
var _local2 = new Array(_local3);
var _local1 = 0;
while (_local1 < _local3) {
_local2[_local1] = null;
_local1++;
}
this[(preserveFieldCase ? (name) : (name.toLowerCase()))] = _local2;
}
function addRows(n) {
var _local3 = this;
for (var col in _local3) {
if (_local3.isColumn(col)) {
var _local2 = _local3[col].length;
var _local1 = _local2;
while (_local1 < (_local2 + n)) {
_local3[col][_local1] = "";
_local1++;
}
}
}
}
function getField(row, col) {
return(this[(preserveFieldCase ? (col) : (col.toLowerCase()))][row]);
}
function setField(row, col, value) {
this[(preserveFieldCase ? (col) : (col.toLowerCase()))][row] = value;
}
function wddxSerialize(serializer, node) {
var colNamesList = "";
var colNames = new Array();
var _local3 = 0;
for (var col in this) {
if (isColumn(col)) {
colNames[_local3++] = col;
if (colNamesList.length > 0) {
colNamesList = colNamesList + ",";
}
colNamesList = colNamesList + col;
}
}
var nRows = getRowCount();
node.appendChild(new XML().createElement("recordset"));
node.lastChild.attributes.rowCount = nRows;
node.lastChild.attributes.fieldNames = colNamesList;
var _local2 = true;
_local3 = 0;
while (_local2 && (_local3 < colNames.length)) {
var name = colNames[_local3];
node.lastChild.appendChild(new XML().createElement("field"));
node.lastChild.lastChild.attributes.name = name;
var _local1 = 0;
while (_local2 && (_local1 < nRows)) {
_local2 = serializer.serializeValue(this[name][_local1], node.lastChild.lastChild);
_local1++;
}
_local3++;
}
return(_local2);
}
var preserveFieldCase = null;
}
Symbol 354 MovieClip [__Packages.com.neodelight.mdm.MdmFile] Frame 0
class com.neodelight.mdm.MdmFile
{
function MdmFile (action, path, data) {
var _local1 = this;
if (!(action === "append")) {
} else {
_root.stdout = _root.stdout + "worker..\n";
_local1.bufferPath = path;
_local1.bufferOut = data;
_local1.delayedAppend.parent = _local1;
_global.mdm.fileexists(path, _local1.delayedAppend);
}
}
static function save(path, data) {
var _local1 = data;
_local1 = com.neodelight.std.XString.replace(",", "@c@", _local1);
_global.mdm.savetofile(path, _local1);
}
static function append(path, dat) {
var _local1 = dat;
_root.stdout = _root.stdout + "append()\n";
_local1 = com.neodelight.std.XString.replace(",", "@c@", _local1);
var mdmFile = (new com.neodelight.mdm.MdmFile("append", path, _local1));
}
function delayedAppend(fileExists) {
var _local3 = this;
var _local1 = _local3.f.parent.bufferPath;
var _local2 = _local3.f.parent.bufferOut;
_root.stdout = _root.stdout + ((((((" delayedAppend(): fileExists=" + fileExists) + ", bufferPath=") + _local1) + ", bufferOut=") + _local2) + newline);
_root.stdout = _root.stdout + com.neodelight.std.XString.dump(_local3, {depth:2});
if (fileExists == "true") {
_global.mdm.appendtofile(_local1, _local2);
} else {
_global.mdm.savetofile(_local1, _local2);
}
}
}
Symbol 355 MovieClip [__Packages.com.neodelight.std.Timer] Frame 0
class com.neodelight.std.Timer
{
function Timer (config) {
var _local1 = this;
_global.dt = 1;
_local1.config = config;
_local1.t = getTimer();
_local1.msPerFrame = (_local1.config.timerFps ? (1000 / _local1.config.timerFps) : 33.3333333333333);
_local1.smoothing = Math.min(1, Math.max(0, com.neodelight.std.XMath.toNumber(_local1.config.timerSmoothing)));
}
function update() {
var _local1 = this;
var _local2 = getTimer();
_global.dt = (_local1.smoothing * _global.dt) + (((1 - _local1.smoothing) * (_local2 - _local1.t)) / _local1.msPerFrame);
_local1.t = _local2;
}
}
Symbol 356 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 config = com.neodelight.std.Blueprint.getBlueprint("inputs");
if (config) {
var _local2 = config.inputsKeys;
if (_local2) {
var _local1 = _local2.length;
while (_local1--) {
define(_local2[_local1][0], _local2[_local1][1]);
}
}
}
Mouse.addListener(com.neodelight.std.Inputs);
}
if (!hookMc) {
var mc = ((hookMc = _root.createEmptyMovieClip(com.neodelight.std.Unique.getKey(), _root.getNextHighestDepth())));
mc.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();
}
};
mc.onMouseDown = function () {
var _local2 = com.neodelight.std.Inputs.listeners;
var _local1 = _local2.length;
while (_local1--) {
if (_local2[_local1].onVMouseDown) {
_local2[_local1].onVMouseDown();
}
}
};
mc.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) {
var _local2 = key;
var _local3 = id;
init();
trace(((("define: \"" + _local2) + "\" as \"") + _local3) + "\"");
switch (typeof(_local2)) {
case "string" :
var _local1 = String(_local2).length;
while (_local1--) {
define(_local3, String(_local2).charCodeAt(_local1));
}
return;
case "number" :
if (!inputs[_local3]) {
inputs[_local3] = {isDown:false, triggerDown:false, triggerUp:false, keys:new Array()};
}
inputs[_local3].keys.push(_local2);
return;
default :
_global.bin.syslog("Inputs", "define(): unknown variable type: " + typeof(_local2), 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 _local3 = listener;
var _local2 = listeners;
var exists = false;
var _local1 = _local2.length;
while (_local1--) {
if (_local2[_local1] == _local3) {
_local2.splice(_local1, 1);
return;
}
}
}
static function updateInputs() {
var inputs = inputs;
var vKeysReset = vKeysReset;
var vKeysDown = vKeysDown;
for (var i in inputs) {
var _local3 = inputs[i];
var _local2 = false;
var keys = _local3.keys;
var j = keys.length;
while (j--) {
var _local1 = keys[j];
if (_local1 < 256) {
if (Key.isDown(_local1)) {
_local2 = true;
break;
}
} else if (vKeysDown[_local1]) {
_local2 = true;
break;
}
}
_local3.triggerDown = (!_local3.isDown) && (_local2);
_local3.triggerUp = _local3.isDown && (!_local2);
_local3.isDown = _local2;
}
var n = vKeysReset.length;
while (n--) {
if ((--vKeysReset[n].sustain) <= 0) {
vKeysDown[Number(vKeysReset[n].id)] = false;
vKeysReset.splice(n, 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 result;
if (vMouse) {
var _local1 = vMouseV;
var _local2 = vMousePos;
var _local3 = vMouseReal;
if ((_local3.x != int(_root._xmouse)) || (_local3.y != int(_root._ymouse))) {
_local3.x = (_local2.x = int(_root._xmouse));
_local3.y = (_local2.y = int(_root._ymouse));
} else {
if (isDown("mouse_right")) {
_local1.x = Math.max(0, _local1.x + vMouseA);
} else if (isDown("mouse_left")) {
_local1.x = Math.min(0, _local1.x - vMouseA);
} else {
_local1.x = 0;
}
if (isDown("mouse_down")) {
_local1.y = Math.max(0, _local1.y + vMouseA);
} else if (isDown("mouse_up")) {
_local1.y = Math.min(0, _local1.y - vMouseA);
} else {
_local1.y = 0;
}
if ((_local1.x != 0) || (_local1.y != 0)) {
var vMax = Math.min(vMouseVMax, Math.max(Math.abs(_local1.x), Math.abs(_local1.y)));
if (_local1.x != 0) {
if (_local1.x > 0) {
_local1.x = vMax;
} else {
_local1.x = vMax * -1;
}
}
if (_local1.y != 0) {
if (_local1.y > 0) {
_local1.y = vMax;
} else {
_local1.y = vMax * -1;
}
}
}
_local2.x = Math.max(vMouseXMin, Math.min(vMouseXMax, _local2.x + _local1.x));
_local2.y = Math.max(vMouseYMin, Math.min(vMouseYMax, _local2.y + _local1.y));
}
result = new com.neodelight.std.Vector(_local2.x, _local2.y);
mc.globalToLocal(result);
} else {
result = new com.neodelight.std.Vector(mc._xmouse, mc._ymouse);
}
return(result);
}
static function initVMouse(cfg) {
var _local1 = cfg;
vMouseReal.x = (vMousePos.x = int(_root._xmouse));
vMouseReal.y = (vMousePos.y = int(_root._ymouse));
vMouseA = (_local1.acc ? (com.neodelight.std.XMath.toNumber(_local1.acc)) : 1);
vMouseVMax = (_local1.vMax ? (com.neodelight.std.XMath.toNumber(_local1.vMax)) : 10);
vMouseXMin = (_local1.xMin ? (com.neodelight.std.XMath.toNumber(_local1.xMin)) : 0);
vMouseXMax = (_local1.xMax ? (com.neodelight.std.XMath.toNumber(_local1.xMax)) : 550);
vMouseYMin = (_local1.yMin ? (com.neodelight.std.XMath.toNumber(_local1.yMin)) : 0);
vMouseYMax = (_local1.yMax ? (com.neodelight.std.XMath.toNumber(_local1.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 357 MovieClip [__Packages.com.neodelight.mdm.DirectX] Frame 0
class com.neodelight.mdm.DirectX
{
static var width, height, depth;
function DirectX () {
}
static function setResolution(x, y, d) {
var _local1 = y;
var _local2 = x;
var _local3 = _global;
com.neodelight.flanix.Kernel.init();
if ((!((((((_local2 == 320) && (_local1 == 240)) || ((_local2 == 400) && (_local1 == 300))) || ((_local2 == 640) && (_local1 == 480))) || ((_local2 == 800) && (_local1 == 600))) || ((_local2 == 1024) && (_local1 == 768)))) || (!((d == 16) || (d == 32)))) {
_local3.bin.syslog("Mdm", (((("DirectX: setResolution(): Illegal Resolution! " + _local2) + ", ") + _local1) + ", ") + d, 3);
} else if (((width == _local2) && (height == _local1)) && (depth == d)) {
_local3.bin.syslog("Mdm", (((("DirectX: setResolution(): Alread set! " + _local2) + ", ") + _local1) + ", ") + d, 1);
} else {
_local3.bin.syslog("Mdm", (((_root.mdm_display_width + "/") + _root.mdm_display_height) + ":") + _root.mdm_display_depth);
_local3.bin.syslog("Mdm", (((("DirectX: setResolution(): " + _local2) + ", ") + _local1) + ", ") + d);
_local3.mdm.setdxres(_local2, _local1, d);
_local3.mdm.size(_local2, _local1);
width = _local2;
height = _local1;
depth = d;
_local3.mdm.getresolution("mdm_display_height", "mdm_display_width", "mdm_display_depth");
_local3.bin.syslog("Mdm", (((_root.mdm_display_width + "/") + _root.mdm_display_height) + ":") + _root.mdm_display_depth);
_root.onAppChangeFocus = function (focussed) {
var _local1 = _global;
if (focussed == "true") {
com.neodelight.mdm.DirectX.restoreResolution();
_local1.paused = false;
} else {
_local1.bin.syslog("Mdm", "onAppChangeFocus(): lose focus");
_local1.paused = true;
}
};
}
}
static function getResolutionString() {
return((((width + "x") + height) + "x") + depth);
}
static function setFullScreen() {
_global.mdm.size(width, height);
}
static function restoreResolution() {
_global.bin.syslog("Mdm", "onAppChangeFocus(): regain focus -> restore DirectX resolution");
_global.mdm.setdxres(width, height, depth);
}
static var focussed = true;
}
Symbol 105 Button
on (release) {
if (_url.indexOf("neodelight.com") == -1) {
getURL ("http://www.neodelight.com/?ref=doomrider", "_BLANK");
}
}
Symbol 133 MovieClip Frame 93
stop();
Symbol 134 MovieClip Frame 1
startFrame = _parent._currentframe;
Symbol 134 MovieClip Frame 2
vol = (1 - ((_parent._currentFrame - startFrame) / (_parent._totalFrames - startFrame))) * 100;
if (vol < 0) {
vol = 0;
}
_parent.snd.setVolume(vol);
Symbol 134 MovieClip Frame 3
gotoAndPlay ("loop");
Symbol 135 Button
on (release) {
getURL ("http://www.freegamesjungle.com", "_BLANK");
}
Symbol 137 MovieClip Frame 1
snd = new Sound(this);
snd.setVolume(100);
_parent.stop();
Symbol 137 MovieClip Frame 212
stop();
_root.play();
Symbol 138 Button
on (release) {
if (_url.indexOf("neodelight.com") == -1) {
getURL (("http://www.neodelight.com?ref=" + _root.gameName) + "&ref_loc=intro", "_BLANK");
}
}
Symbol 141 MovieClip Frame 1
snd = new Sound(this);
snd.setVolume(100);
_parent.stop();
Symbol 141 MovieClip Frame 123
stop();
_root.play();
Symbol 161 MovieClip Frame 1
_visible = false;
stop();
Symbol 168 MovieClip Frame 1
gotoAndPlay (2);
Symbol 169 MovieClip Frame 1
gotoAndPlay (2);
Symbol 169 MovieClip Frame 16
gotoAndPlay (2);
Symbol 174 Button
on (release) {
getURL (_global.config.urlMoreGames, _global.config.urlMoreGamesTarget);
}
Symbol 178 Button
on (release) {
_global.api.highscore.initSession();
_root.level = "plain";
_root.gotoAndPlay("startrr");
}
Symbol 183 Button
on (release) {
getURL (_global.config.urlHighscoresView, _global.config.urlHighscoresViewTarget);
}
Symbol 209 Button
on (release) {
_global.snd.setVolume(0);
nextFrame();
}
Symbol 213 Button
on (release) {
_root.snd.active = 1;
prevFrame();
}
Symbol 215 Button
on (release) {
_global.snd.setVolume(1);
prevFrame();
}
Symbol 216 MovieClip Frame 1
stop();
if (_global.snd.getVolume() == 0) {
nextFrame();
}
Symbol 222 Button
on (release) {
getURL ("http://www.neodelight.com/webmaster", "_blank");
}
Symbol 224 Button
on (release) {
if (_global.config.gameCopyrightLink) {
getURL (_global.config.gameCopyrightLink, "_blank");
}
}
Symbol 229 Button
on (release) {
com.neodelight.mdm.DirectX.setResolution(640, 480, 32);
nextFrame();
}
Symbol 233 Button
on (release) {
com.neodelight.mdm.DirectX.setResolution(800, 600, 16);
nextFrame();
}
Symbol 236 Button
on (release) {
com.neodelight.mdm.DirectX.setResolution(800, 600, 32);
nextFrame();
}
Symbol 239 Button
on (release) {
com.neodelight.mdm.DirectX.setResolution(640, 480, 16);
gotoAndStop (2);
}
Symbol 242 Button
on (release) {
gotoAndStop ("MEDIUM");
}
Symbol 245 Button
on (release) {
gotoAndStop ("HIGH");
}
Symbol 248 Button
on (release) {
gotoAndStop ("BEST");
}
Symbol 251 Button
on (release) {
gotoAndStop ("LOW");
}
Symbol 252 MovieClip Frame 1
if (!_global.mdm) {
gotoAndStop(_quality);
} else {
var res = com.neodelight.mdm.DirectX.getResolutionString();
switch (res) {
case "640x480x16" :
gotoAndStop (2);
break;
case "640x480x32" :
gotoAndStop (3);
break;
case "800x600x16" :
gotoAndStop (4);
break;
case "800x600x32" :
gotoAndStop (5);
}
}
Symbol 252 MovieClip Frame 6
_quality = "LOW";
Symbol 252 MovieClip Frame 7
_quality = "MEDIUM";
Symbol 252 MovieClip Frame 8
_quality = "HIGH";
Symbol 252 MovieClip Frame 9
_quality = "BEST";
Symbol 257 MovieClip Frame 1
function lvlRead(i, pointer) {
var _local1 = this;
var _local2 = pointer;
i = i % _local1.teAmount;
if (_local2 == undefined) {
_local1.lvlReadPointer++;
_local2 = _local1.lvlReadPointer;
}
_local2 = (_local2 + _local1.lvl.length) % _local1.lvl.length;
var _local3 = _local1.tes[i];
_local3.curve = _local1.lvl[_local2][0];
_local3.dekoL = _local1.lvl[_local2][1];
_local3.dekoR = _local1.lvl[_local2][2];
_local3.mc.swapDepths(_local1.teDepthCounter--);
_local3.mc.street.dekoL.gotoAndStop(_local1.lvl[_local2][1] + 1);
_local3.mc.street.dekoR.gotoAndStop(_local1.lvl[_local2][2] + 1);
}
function init() {
var _local1 = this;
_local1.phase = 0;
_local1.accelTimeStamp = 0;
bg.gotoAndStop(_local1.level);
if (!(_local1.level === "plain")) {
} else {
_local1.teAmount = 10;
_local1.teBotMaxX = 1.9;
_local1.trackWidth = 2.7;
_local1.streetWidth = 2.2;
_local1.greenFriction = 0.93;
}
_local1.teMcHeight = 100;
_local1.teHeight = 35;
_local1.teHeightScale = 0.8;
_local1.camX = 0;
_local1.scoreFlag = true;
_local1.pl.vx = 0;
_local1.pl.ax = 0.03;
_local1.pl.fx = 0.85;
_local1.pl.x = 0;
_local1.pl.y = -1;
_local1.pl.vz = 0;
_local1.pl.az = 0.005;
_local1.pl.fz = 0.98;
_local1.lvlReadPointer = -1;
_local1.teDepthCounter = 1000000 /* 0x0F4240 */;
_local1.spriteDepthCounter = 2000000 /* 0x1E8480 */;
_local1.pl.mc = _local1.attachMovie("bike", "bike", 3000000);
_local1.pl.mc._y = 155;
_local1.pl.mc.biker.sprite.tire.stop();
var _local3 = 0;
var _local2 = 0;
while (_local2 < _local1.teAmount) {
_local1.tes[_local2] = Array();
_local1.tes[_local2].mc = _local1.attachMovie("te", "track" + _local2, _local1.teDepthCounter--);
_local1.tes[_local2].col = new Color(_local1.tes[_local2].mc);
_local1.tes[_local2].mc.street.variant.gotoAndStop((_local1.level + "_") + _local3);
_local1.lvlRead(_local2);
_local1.tes[_local2].mc.grass.variant.gotoAndStop((_local1.level + "_") + _local3);
_local2++;
}
_local1.offTe = 0;
_local1.botcfg = {vzMax:0.15, az:0.005, ax:0.005, vzVariance:0.55};
_local2 = 0;
while (_local2 < 6) {
_local1.bots[_local2] = new Object();
_local1.bots[_local2].mc = _local1.attachMovie("bike", "bot" + _local2, _local1.spriteDepthCounter--);
_local1.bots[_local2].mc.biker.tire.gotoAndStop(1);
_local1.bots[_local2].col = new Color(_local1.bots[_local2].mc);
_local1.bots[_local2].vz = 0;
_local1.bots[_local2].az = _local1.botcfg.az;
_local1.bots[_local2].ax = _local1.botcfg.ax;
_local1.resetBot(_local1.bots[_local2]);
_local1.bots[_local2].x = _local1.botBases[_local2].x;
_local1.bots[_local2].z = _local1.botBases[_local2].z;
_local2++;
}
_local1.coltrans = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
}
function resetBot(bot) {
var _local1 = this;
var _local2 = bot;
_local2.x = ((_local1.teBotMaxX * Math.random()) * 2) - _local1.teBotMaxX;
_local2.mc.biker.gotoAndStop(Math.floor(Math.random() * 7) + 2);
_local2.vzMax = _local1.botcfg.vzMax + ((Math.random() * _local1.botcfg.vzMax) * _local1.botcfg.vzVariance);
}
function startBots() {
var _local1 = this;
for (var _local2 in _local1.bots) {
_local1.bots[_local2].mc.biker.tire.play();
}
}
function gameOver() {
var _local1 = _root;
_local1.actScore = int(_local1.osd.actScore);
_local1.gotoAndStop("raceover");
}
function botSort(a, b) {
if (a.z < b.z) {
return(-1);
}
if (a.z > b.z) {
return(1);
}
return(0);
}
function draw() {
var _local1 = this;
var curve;
var mc;
var offCurve = 0;
var distance;
var ti;
var _local2;
_local2 = (getTimer() - _local1.timestamp) / 50;
_local1.timestamp = getTimer();
if (_local2 > 200) {
return(undefined);
}
if (_local1.pl.vz > 0.1) {
_local1.pl.mc.biker.sprite.tire.play();
} else {
_local1.pl.mc.biker.sprite.tire.gotoAndStop(1);
}
if (Key.isDown(27) || (Key.isDown(8) && (_root.version eq ""))) {
_local1.gameOver();
}
if (Key.isDown(38)) {
if (_local1.phase == 1) {
_local1.pl.mc.biker.sprite.light.gotoAndStop("off");
if (_local1.accelTimeStamp > 0) {
var a = (getTimer() - _local1.accelTimeStamp);
if ((a > 0) || (a < -1000)) {
_local1.accelTimeStamp = 0;
} else {
_local1.pl.vz = _local1.pl.vz + (_local1.pl.az * _local2);
}
}
_local1.pl.vz = _local1.pl.vz + (_local1.pl.az * _local2);
_local1.distance = _local1.distance - (0.05 * _local2);
} else if ((_local1.phase == 0) && (_local1.keyAccelTokens > 0)) {
_local1.keyAccelTokens = 0;
_local1.accelTimeStamp = getTimer() + 1000;
}
} else {
_local1.pl.mc.biker.sprite.light.gotoAndStop("on");
_local1.keyAccelTokens = 1;
}
if (Key.isDown(40)) {
_local1.pl.vz = _local1.pl.vz * Math.pow(0.95, _local2);
}
if (_local1.phase >= 2) {
_local1.pl.vz = _local1.pl.vz * Math.pow(0.95, _local2);
} else {
_local1.pl.vz = _local1.pl.vz * Math.pow(_local1.pl.fz, _local2);
}
var volSqueal = 0;
if (Key.isDown(37) && (_local1.phase > 0)) {
volSqueal = Math.max(0, Math.abs(_local1.pl.vx) - 0.3);
_local1.pl.vx = _local1.pl.vx - (0.1 * _local2);
if (!Key.isDown(38)) {
_local1.pl.vx = _local1.pl.vx - (0.05 * _local2);
}
}
if (Key.isDown(39) && (_local1.phase > 0)) {
volSqueal = Math.max(0, Math.abs(_local1.pl.vx) - 0.3);
_local1.pl.vx = _local1.pl.vx + (0.1 * _local2);
if (!Key.isDown(38)) {
_local1.pl.vx = _local1.pl.vx + (0.05 * _local2);
}
}
if (volSqueal > 0) {
_root.snd.fadeChannel(_root.sndChannelSqueal, volSqueal * 0.53, 5);
} else {
_root.snd.fadeChannel(_root.sndChannelSqueal, volSqueal, 5);
}
if (_root.version == "") {
if (((!Key.isDown(16)) && (Key.isDown(34))) && (_local1.keyRightTokens > 0)) {
_local1.keyRightTokens = 0;
_local1.pl.vz = 0;
_local1.levedAlter(0, -1);
} else {
_local1.keyRightTokens = 1;
}
if (((!Key.isDown(16)) && (Key.isDown(46))) && (_local1.keyLeftTokens > 0)) {
_local1.keyLeftTokens = 0;
_local1.pl.vz = 0;
_local1.levedAlter(0, 1);
} else {
_local1.keyLeftTokens = 1;
}
if (Key.isDown(35) && (_local1.keyDownTokens > 0)) {
_local1.pl.vz = 0;
_local1.distance = int(_local1.distance) + 1.1;
_local1.keyDownTokens = 0;
} else {
_local1.keyDownTokens = 1;
}
if (Key.isDown(36) && (_local1.keyUpTokens > 0)) {
_local1.pl.vz = 0;
_local1.keyUpTokens = 0;
_local1.distance = int(_local1.distance) - 1;
} else {
_local1.keyUpTokens = 1;
}
}
_local1.pl.vx = _local1.pl.vx * Math.pow(_local1.pl.fx, _local2);
_local1.pl.mc.biker._rotation = (_local1.pl.mc.biker._rotation * 0.8) + (((_local1.pl.vx * Math.max(0.08, Math.abs(_local1.pl.vz))) * 330) * 0.2);
_local1.pl.mc.biker.sprite.gotoAndStop(Math.min(20, Math.max(1, int((_local1.pl.vx + 0.5) * 20))));
_local1._rotation = (_local1.pl.vx * Math.abs(_local1.pl.vz)) * 90;
_local1.distance = _local1.distance - (_local1.pl.vz * _local2);
_root.osd.actScore = _root.osd.actScore + ((_local1.pl.vz * _local2) * 5);
if (_local1.phase > 1) {
if ((_local1.phase == 2) || (_local1.phase == 3)) {
if (_local1.phase == 3) {
_local1.pl.vz = _local1.pl.vz * Math.pow(0.95, _local2);
}
if (_local1.pl.vz < 0.003) {
_local1.phase = 4;
_local1.gameOver();
} else if (_local1.pl.vz < 0.015) {
_local1.pl.vz * 0.5;
}
}
}
var control;
_local1.pl.x = Math.max(-1 * _local1.trackWidth, Math.min(_local1.trackWidth, _local1.pl.x));
control = 0.2;
if (_local1.level == "dirt") {
control = 0.15;
if (Math.abs(_local1.pl.x) > _local1.streetWidth) {
control = 0.12;
} else if (Math.abs(_local1.pl.x) > 1) {
control = 0.1;
_local1.pl.vz = _local1.pl.vz * Math.pow(0.997, _local2);
}
}
_local1.pl.x = _local1.pl.x + (((_local1.pl.vx * _local2) * control) * Math.max(0.7, Math.min(0.8, _local1.pl.vz * 10)));
_local1.pl.vz = Math.max(0, _local1.pl.vz - (Math.abs(_local1.pl.vx * 0.001) * _local2));
_local1.camX = _local1.pl.x * -100;
while (_local1.distance < 0) {
_local1.distance = _local1.distance + 1;
_local1.lvlRead(_local1.offTe);
_local1.offTe++;
_local1.scoreFlag = true;
}
while (_local1.distance > 1) {
_local1.lvlReadPointer--;
_local1.lvlRead(_local1.offTe, (_local1.lvlReadPointer - _local1.teAmount) + 1);
_local1.distance = _local1.distance - 1;
_local1.offTe--;
}
p = Math.pow(0.64, _local1.pl.y);
mc = _local1.pl.mc;
mc._y = p * 100;
mc._xscale = (mc._yscale = p * 100);
mc._x = ((_local1.pl.x * p) * 100) + _local1.camX;
var _local3 = 0;
while (_local3 < _local1.teAmount) {
te = _local1.tes[(_local3 + _local1.offTe) % _local1.teAmount];
mc = te.mc;
distance = (_local1.distance - 2) + _local3;
_local1.sfx(te, distance);
p = Math.pow(0.64, distance);
mc._y = p * 100;
scale = p * 100;
mc.street._xscale = scale;
mc.street._yscale = scale;
mc.grass._yscale = scale;
curve = te.curve;
if (_local3 == 0) {
x = _local1.camX * p;
curve = curve * _local1.distance;
} else {
x = spliceX;
}
if (_local3 == 0) {
var dx = (((_local1.pl.vz * te.curve) * 0.09) * _local2);
_local1.pl.x = _local1.pl.x + dx;
_local1.bg.shil._x = ((_local1.bg.shil._x + (dx * 60)) + 700) % 700;
}
if (_local3 == 1) {
if (Math.abs(_local1.pl.x) > (_local1.streetWidth + 0.1)) {
_local1.pl.vz = _local1.pl.vz * Math.pow(_local1.greenFriction, _local2);
if ((_local1.pl.x > 0) && (te.dekoR > 0)) {
_root.snd.playEvent("sndHitDeko", Math.abs(_local1.pl.vz) * 12);
_local1.pl.vz = _local1.pl.vz * Math.pow(0.7, _local2);
_local1.pl.vx = _local1.pl.vx - (0.5 * _local2);
} else if ((_local1.pl.x < 0) && (te.dekoL > 0)) {
_root.snd.playEvent("sndHitDeko", Math.abs(_local1.pl.vz) * 12);
_local1.pl.vz = _local1.pl.vz * Math.pow(0.7, _local2);
_local1.pl.vx = _local1.pl.vx + (0.5 * _local2);
}
}
if ((te.dekoL == 11) || (te.dekoL == 12)) {
if (_local1.scoreFlag == true) {
_root.statistics[_root.level].checkpoints.push({score:0, time:0});
_root.osd.score(false, te.dekoL == 12);
_local1.scoreFlag = false;
_local1.phase = 1;
}
if ((te.dekoL == 12) && (_root.version != "")) {
_root.statistics[_root.level].winner = true;
_local1.phase = 3;
}
}
}
mc.street._x = x;
_local1.bufferOffX[_local3] = x;
_local1.bufferCurve[_local3] = te.curve;
offCurve = offCurve + curve;
curve = (_local1.camX * 0.094) + offCurve;
spliceX = x - ((curve * 3.8) * p);
curve = Math.min(Math.max(71 - int(curve), 1), 141);
mc.street.gotoAndStop(curve);
_local3++;
}
_local1.bufferOffX[_local3] = _local1.bufferOffX[_local3 - 1];
var d;
var rot;
var strategy;
_local1.bots.sort(_local1.botSort);
var sndVolume = 0.5;
_local3 = 0;
while (_local3 < _local1.bots.length) {
_local3 = int(_local3);
bot = _local1.bots[_local3];
if (bot.z < 0) {
sndVolume = sndVolume + (Math.max(0, bot.z + 5) * 0.06);
} else {
sndVolume = sndVolume + (Math.max(0, 3 - bot.z) * 0.06);
}
if ((_local1.phase == 1) || (_local1.phase == 2)) {
bot.vz = Math.min(bot.vz + (bot.az * _local2), bot.vzMax);
} else {
bot.vz = bot.vz * Math.pow(0.96, _local2);
bot.vx = bot.vx * 0.5;
}
if ((_local1.phase == 0) || (_local1.phase == 4)) {
bot.vz = 0;
bot.vx = 0;
}
bot.z = bot.z + ((bot.vz - _local1.pl.vz) * _local2);
bot.x = bot.x + (bot.vx * _local2);
bot.vx = bot.vx * Math.pow(0.95, _local2);
mc = bot.mc;
if ((bot.z < -2) || (bot.z >= (_local1.teAmount - 3))) {
if (bot.z > (_local1.teAmount + 6)) {
bot.z = bot.z - (_local1.teAmount + 8);
}
if (bot.z < -5) {
bot.z = _local1.teAmount + (Math.random() * 5);
}
mc._visible = false;
} else {
mc._visible = true;
if (bot.z < -1) {
mc.swapDepths((4000000 - int(bot.z * 10000)) - _local3);
} else {
mc.swapDepths((2000000 - int(bot.z * 10000)) - _local3);
}
ti = (bot.z + 2) - _local1.distance;
distance = 1 - (ti - Math.floor(ti));
ti = Math.ceil(ti);
_local1.sfx(bot, bot.z);
curve = _local1.tes[(ti + _local1.offTe) % _local1.teAmount].curve;
rot = curve + (bot.vx * -100);
mc.biker._rotation = Math.max(Math.min((mc.biker._rotation * 0.9) + ((rot * -6.5) * 0.1), 33), -33);
p = Math.pow(0.64, bot.z);
mc._y = p * 100;
mc._x = (((bot.x * p) * 100) + (_local1.bufferOffX[ti] * distance)) + (_local1.bufferOffX[ti + 1] * (1 - distance));
mc._xscale = (mc._yscale = p * 100);
strategy = 0;
d = Math.abs(bot.x - _local1.pl.x);
if (d < 0.25) {
if (bot.z > -1) {
if (bot.z < -0.63) {
_root.snd.playEvent("sndHit", (_local1.pl.vz - bot.vz) * 10);
_local1.pl.vz = Math.min(_local1.pl.vz, bot.vz) * Math.pow(0.7, _local2);
}
} else if (bot.z > -1.37) {
_root.snd.playEvent("sndHit", (bot.vz - _local1.pl.vz) * 10);
bot.vz = Math.min(_local1.pl.vz, bot.vz) * Math.pow(0.7, _local2);
} else {
if (_local1.pl.x > 0) {
bot.vx = bot.vx - (bot.ax * _local2);
} else {
bot.vx = bot.vx + (bot.ax * _local2);
}
strategy = 11;
}
} else if (d < 0.5) {
if ((bot.z > -1.5) && (bot.z < -0.63)) {
_root.snd.playEvent("sndHitShoulder", Math.abs(_local1.pl.vx - bot.vx) * 10);
_local1.pl.vx = _local1.pl.vx * Math.pow(0.8, _local2);
if (_local1.pl.x > bot.x) {
bot.vx = Math.min(_local1.pl.vx * control, bot.vx) - (bot.ax * _local2);
strategy = 12;
} else {
bot.vx = Math.max(_local1.pl.vx * control, bot.vx) + (bot.ax * _local2);
strategy = 12;
}
}
}
if (Math.abs(bot.x) >= _local1.teBotMaxX) {
if (_local1.bot.x > 0) {
bot.vx = bot.vx - (bot.ax * _local2);
} else {
bot.vx = bot.vx + (bot.ax * _local2);
}
strategy = 20;
if (Math.abs(bot.x) > _local1.streetWidth) {
bot.vz = bot.vz * Math.pow(_local1.greenFriction, _local2);
}
if (_local1.level == "dirt") {
if ((Math.abs(_local1.bot.x) < _local1.streetWidth) && (Math.abs(_local1.bot.x) > 1)) {
_local1.bot.vz = _local1.bot.vz * Math.pow(0.987, _local2);
}
}
}
if (strategy == 0) {
if (_local3 < (_local1.bots.length - 1)) {
var j = (_local3 + 1);
while (j < _local1.bots.length) {
other = _local1.bots[j];
if ((Math.abs(bot.x - other.x) < 0.3) && ((other.z - bot.z) < 1)) {
if (bot.x > 0) {
bot.vx = bot.vx - (bot.ax * _local2);
} else {
bot.vx = bot.vx - (bot.ax * _local2);
}
bot.vz = bot.vz * Math.pow(0.95, _local2);
strategy = 30;
}
j++;
}
}
}
if (strategy == 0) {
bot.vx = bot.vx - (((bot.ax * _local2) * curve) / 15);
strategy = 40;
}
}
_local3++;
}
sndVolume = Math.min(0.8, sndVolume) * 0.4;
_root.snd.fadeChannel(_root.sndChannelAmbience, sndVolume, 10);
if (Key.isDown(36) || (Key.isDown(35))) {
_local1.levedPrint();
}
return(undefined);
}
function sfx(te, distance) {
var _local1 = this;
var _local2;
if (!(_local1.level === "plain")) {
} else {
_local2 = (1 - ((distance - 2) / (_local1.teAmount - 2))) * 100;
_local1.coltrans.ra = _local2;
_local1.coltrans.ga = _local2;
_local1.coltrans.ba = _local2;
te.col.setTransform(_local1.coltrans);
}
}
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, 7, 0], [-2, 7, 0], [-3, 7, 0], [-4, 7, 0], [-3, 7, 0], [-2, 0, 0], [-1, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [-1, 0, 0], [-2, 7, 7], [-4, 7, 7], [-6, 7, 7], [8, 7, 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, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 0, 7], [2, 0, 7], [3, 0, 7], [2, 0, 7], [1, 0, 0], [0, 0, 1], [2, 0, 0], [3, 0, 7], [4, 0, 7], [5, 0, 7], [6, 0, 7], [7, 0, 7], [8, 0, 7], [8, 0, 7], [8, 0, 7], [8, 0, 0], [8, 0, 7], [7, 0, 7], [6, 0, 7], [5, 0, 7], [4, 0, 7], [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.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.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 "") {
levedAlter = function (element, d, value, offset) {
var _local1 = this;
offset = int(offset);
var _local3 = _local1.lvl[(_local1.lvlReadPointer - 4) % _local1.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) {
_local1.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) {
_local1.levedAlter(2, 0, 0);
}
}
}
_local1.lvl[((_local1.lvlReadPointer - 4) + offset) % _local1.lvl.length][element] = value;
_local1.levedPrint();
_local1.lvlReadPointer = _local1.lvlReadPointer - _local1.teAmount;
var _local2 = 0;
while (_local2 < _local1.teAmount) {
_local1.lvlRead((_local1.offTe + _local2) % _local1.teAmount);
_local2++;
}
};
levedRead = function (element, offset) {
var _local1 = this;
return(_local1.lvl[((_local1.lvlReadPointer - 4) + offset) % _local1.lvl.length][element]);
};
levedPrint = function () {
var _local1 = this;
var pos = (_local1.lvlReadPointer - 4);
var _local3 = 0;
var angle = 0;
var drawX = 125;
var drawY = 200;
var i = pos;
while (i < (pos + 12)) {
var _local2 = _root["block" + _local3];
if (i == pos) {
_local2.gotoAndStop(2);
} else {
_local2._alpha = 40;
}
var curve = _local1.lvl[i % _local1.lvl.length][0];
_local2._x = drawX;
_local2._y = drawY;
_local2._rotation = angle;
_local2.d0.gotoAndStop(_local1.lvl[i % _local1.lvl.length][1] + 1);
_local2.d1.gotoAndStop(_local1.lvl[i % _local1.lvl.length][2] + 1);
_local2.swapDepths(10000 - _local3);
angle = angle - curve;
drawY = drawY - (Math.cos((angle / 180) * 3.141593) * 15);
drawX = drawX + (Math.sin((angle / 180) * 3.141593) * 15);
_local3++;
i++;
}
var angle = 0;
var drawX = 125;
var drawY = 200;
var i = pos;
while (i > (pos - 12)) {
var _local2 = _root["block" + _local3];
if (i == pos) {
_local2.gotoAndStop(2);
} else {
_local2._alpha = 40;
}
var curve = _local1.lvl[i % _local1.lvl.length][0];
_local2._x = drawX;
_local2._y = drawY;
_local2._rotation = angle;
_local2.d0.gotoAndStop(_local1.lvl[i % _local1.lvl.length][1] + 1);
_local2.d1.gotoAndStop(_local1.lvl[i % _local1.lvl.length][2] + 1);
_local2.swapDepths(11000 + _local3);
angle = angle + curve;
drawY = drawY + (Math.cos((angle / 180) * 3.141593) * 15);
drawX = drawX - (Math.sin((angle / 180) * 3.141593) * 15);
_local3++;
i--;
}
};
Key.addListener(this);
this.onKeyDown = function () {
var _local1 = this;
var code = Key.getCode();
if ((code >= 48) && (code < 58)) {
_local1.levedInput = (_local1.levedInput + "") + (code - 48);
} else {
switch (code) {
case 220 :
_local1.levedInput = "";
return;
case 67 :
var _local3 = 0;
var polarity = 0;
polarity = int(_local1.levedRead(0, 0)) > 0;
while ((int(_local1.levedRead(0, _local3)) != 0) && (int(_local1.levedRead(0, _local3)) == polarity)) {
_local1.levedAlter(0, 0, 0, _local3);
_local3++;
}
_local3 = -1;
while ((int(_local1.levedRead(0, _local3)) != 0) && (int(_local1.levedRead(0, _local3)) == polarity)) {
_local1.levedAlter(0, 0, 0, _local3);
_local3--;
}
return;
case 68 :
_local1.levedDeko = int(_local1.levedInput);
return;
case 73 :
_local1.levedCurveIn = int(_local1.levedInput);
var curve = _local1.levedRead(0, 0);
_local3 = 0;
while (_local3 < _local1.levedCurveIn) {
var c = Math.round(curve * ((_local1.levedCurveIn - _local3) / _local1.levedCurveIn));
_local1.levedAlter(0, 0, c, -1 * _local3);
_local3++;
}
return;
case 76 :
_local3 = 0;
while (_local3 < 24) {
_root.attachMovie("block", "block" + _local3, 100 + _local3);
_root["block" + _local3]._xscale = (_root["block" + _local3]._yscale = 200);
_local3++;
}
_local1.levedPrint();
return;
case 79 :
_local1.levedCurveOut = int(_local1.levedInput);
var curve = _local1.levedRead(0, 0);
_local3 = 0;
while (_local3 < _local1.levedCurveOut) {
var c = Math.round(curve * ((_local1.levedCurveOut - _local3) / _local1.levedCurveOut));
_local1.levedAlter(0, 0, c, _local3);
_local3++;
}
return;
case 84 :
_local1.levedCurveThreshold = int(_local1.levedInput);
var curve = _local1.levedRead(0, 0);
_local3 = 0;
while (_local3 < _local1.levedCurveThreshold) {
_local1.levedAlter(0, 0, curve, _local3);
_local3++;
}
return;
case 88 :
var track = _local1.lvl;
_local3 = 0;
while (_local3 < track.length) {
var _local2 = track[_local3];
trace((((((("[" + _local2[0]) + ", ") + _local2[1]) + ", ") + _local2[2]) + "], ") + ((_local2.comment ne "") ? ("// " + _local2.comment) : ""));
_local3++;
}
return;
case 45 :
if (Key.isDown(16) && (Key.isDown(17))) {
_local1.levedDeko = _local1.levedRead(1, 0);
} else if (Key.isDown(16)) {
_local1.levedAlter(1, 1, 0);
_local1.levedDeko = _local1.levedRead(1, 0);
} else {
_local1.levedAlter(1, 0, int(_local1.levedDeko));
}
return;
case 33 :
if (Key.isDown(16) && (Key.isDown(17))) {
_local1.levedDeko = _local1.levedRead(2, 0);
} else if (Key.isDown(16)) {
_local1.levedAlter(2, 1, 0);
_local1.levedDeko = _local1.levedRead(2, 0);
} else {
_local1.levedAlter(2, 0, int(_local1.levedDeko));
}
return;
case 46 :
if (Key.isDown(16)) {
_local1.levedAlter(1, -1, 0);
_local1.levedDeko = _local1.levedRead(1, 0);
}
return;
case 34 :
if (Key.isDown(16)) {
_local1.levedAlter(2, -1, 0);
_local1.levedDeko = _local1.levedRead(2, 0);
}
return;
case 32 :
if (_local1.pl.vz == 0) {
_local1.pl.vz = 0.225;
} else {
_local1.pl.vz = 0;
}
return;
case 16 :
case 17 :
return;
}
}
};
}
Symbol 257 MovieClip Frame 2
draw();
Symbol 257 MovieClip Frame 3
gotoAndPlay (2);
Symbol 271 MovieClip Frame 1
stop();
Symbol 273 MovieClip Frame 1
stop();
Symbol 284 MovieClip Frame 1
stop();
Symbol 284 MovieClip Frame 11
play();
Symbol 284 MovieClip Frame 12
if (Math.abs(_root.w.pl.vz) < 0.02) {
prevFrame();
}
Symbol 284 MovieClip Frame 13
gotoAndStop (1);
Symbol 284 MovieClip Frame 19
_root.snd.fadeChannel(_root.sndChannelMusic, 1, 15);
_root.snd.fadeChannel(_root.sndChannelMotor, 1, 15);
_root.snd.fadeChannel(_root.sndChannelSqueal, 1, 15);
Symbol 284 MovieClip Frame 63
gotoAndStop (1);
Symbol 284 MovieClip Frame 87
_root.snd.playEvent("sndMarks");
Symbol 284 MovieClip Frame 122
_root.snd.playEvent("sndSet");
Symbol 284 MovieClip Frame 157
_parent.go();
_root.snd.playEvent("sndGo");
_root.snd.fadeChannel(_root.sndChannelMotors, 0, 20);
_root.snd.playEvent("sndRaceStart", 0.5);
_root.sndChannelAmbience = _root.snd.playLoop("sndRaceAmbience", 0);
_root.snd.fadeChannel(_root.sndChannelAmbience, 0.5, 100);
Symbol 284 MovieClip Frame 169
gotoAndStop (1);
Symbol 292 MovieClip Frame 1
stop();
Symbol 300 MovieClip Frame 1
function resetFps() {
this.frames = 0;
this.ms = getTimer();
}
function score(ifInit, ifFinish) {
var _local1 = this;
var _local3 = _root;
var resttime = Math.max(0, time - (getTimer() - timestamp));
timestamp = getTimer();
_local1.timeScore = getTimer();
if (!ifInit) {
var _local2 = Math.max(int(resttime), 0);
var checkpointId = _local3.statistics[_local3.level].checkpoints.length;
var multibonus = checkpointId;
_local2 = _local2 * multibonus;
_local1.actScore = _local1.actScore + _local2;
if (_local2 > 0) {
_local1.titles.bonus = (multibonus + " x Bonus: ") + _local2;
} else {
_local1.titles.bonus = "No Bonus";
}
var statsObj = _local3.statistics[_local3.level].checkpoints[_local3.statistics[_local3.level].checkpoints.length - 1];
statsObj.bonus = _local2;
statsObj.time = getTimer() - _local1.checkpointTimestamp;
_local1.checkpointTimestamp = getTimer();
if (ifFinish) {
_local3.snd.playEvent("sndFinish");
_local1.titles.title = "Finish!";
} else {
_local3.snd.playEvent("sndCheckpoint");
_local1.titles.title = "Checkpoint!";
}
trace("gap check!");
_local1.titles.gotoAndPlay("checkpoint");
} else {
_local1.checkpointTimestamp = getTimer();
_local1.time = 0;
resttime = 0;
}
_local1.time = resttime + 30000;
_local1.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 300 MovieClip Frame 7
stop();
titles.gotoAndPlay("markssetgo");
Symbol 300 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 ((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.snd.fadeChannel(_root.sndChannelMusic, 0, 15);
_root.snd.fadeChannel(_root.sndChannelMotor, 0, 15);
_root.snd.fadeChannel(_root.sndChannelSqueal, 0, 15);
this.titles.gotoAndPlay("checkpoint");
_root.snd.playEvent("sndTimeout");
}
}
timeDisplay = int(timeD / 1000);
if (timeDisplay < 10) {
timeDisplay = "0" + timeDisplay;
}
timeDisplayTenth = "." + (int(timeD / 100) % 10);
if (timeDisplay < warn) {
if (warn > 1) {
_root.snd.playEvent("sndTimer");
}
mcTime.play();
warn--;
}
fps = Math.floor(((frames++) / (getTimer() - ms)) * 10000) / 10;
pos = _root.w.offTe;
if (Key.isDown(8)) {
timestamp = getTimer();
time = 30000;
resetFps();
}
Symbol 300 MovieClip Frame 9
gotoAndPlay (8);
Symbol 314 Button
on (press) {
_root.gotoAndStop("menu");
}
Symbol 317 Button
on (release) {
_global.config.gameScoreSubmit(_root.totalScore);
_root.gotoAndStop("menu");
}