Frame 1
function encrSave(tarArr) {
var _local4 = "";
for (item in tarArr) {
if (tarArr[item] != null) {
_local4 = _local4 + (((item + "=") + tarArr[item]) + "&");
}
}
var _local5 = _local4.length;
var _local3 = "savestr=";
var _local1 = 0;
i = 0;
while (i < _local5) {
if ((i % 10) == 0) {
_local3 = _local3 + _local1;
}
tempNum2 = _local4.charCodeAt(i);
_local1 = _local1 + tempNum2;
_local1 = _local1 % 10;
tempLen2 = String(tempNum2).length;
_local3 = _local3 + ((tempLen2 == 3) ? (tempNum2) : (((tempLen2 < 2) ? ("00" + tempNum2) : ("0" + tempNum2))));
i++;
}
return(_local3);
}
function decrSave(loadStr, fillArr) {
var _local5 = loadStr.length;
var _local15 = "";
var _local3 = "";
var _local7 = "";
var _local9 = 0;
var _local11 = 0;
var _local8 = false;
var _local13 = false;
var _local10 = 0;
var _local4 = 0;
while (_local4 < _local5) {
if (((_local11 % 10) == 0) && (!_local8)) {
if (_local9 != Number(loadStr.substr(_local4, 1))) {
_local13 = true;
_local4 = _local5;
}
_local8 = true;
_local10 = _local10 + 1;
_local4 = _local4 + 1;
}
if (_local4 < _local5) {
_local7 = loadStr.substr(_local4, 1);
if ((_local3.length != 0) || (_local7 != "0")) {
_local3 = _local3 + _local7;
}
if (((_local4 - _local10) % 3) == 2) {
_local15 = _local15 + String.fromCharCode(Number(_local3));
_local9 = _local9 + Number(_local3);
_local9 = _local9 % 10;
_local3 = "";
_local11 = _local11 + 1;
_local8 = false;
}
}
_local4++;
}
if (!_local13) {
var _local14 = _local15.split("&");
_local5 = _local14.length - 1;
_local4 = 0;
while (_local4 < _local5) {
var _local2 = _local14[_local4].split("=");
if (_local2[1] == "false") {
fillArr[_local2[0]] = false;
} else if (_local2[1] == "true") {
fillArr[_local2[0]] = true;
} else {
_local3 = _local2[1].substr(0, 1);
var _local1 = 0;
while (_local1 < 10) {
if (_local3 == String(_local1)) {
_local1 = 13;
}
_local1++;
}
if (_local1 == 14) {
fillArr[_local2[0]] = Number(_local2[1]);
} else {
fillArr[_local2[0]] = String(_local2[1]);
}
}
_local4++;
}
return(true);
}
return(false);
}
var savestr = "";
var lvlstr = "";
var statArr = new Array();
Frame 11
stop();
Frame 17
function resetGme() {
storedL = 0;
_global.lvlCount = 1;
lvlNow = 0;
_global.contins = 3;
_global.gameSpd = 1;
}
function getCode() {
statArr.firstload = firstLoad;
statArr.mosaic_quality = _global.mosaic_quality;
statArr.precis = _global.precis;
statArr.loops = _global.loops;
statArr.detail = _global.detail;
statArr.codestr = _global.codeSTR;
statArr.blood = _global.blood;
savestr = encrSave(statArr);
return(savestr);
}
sndMenu = new Sound(snd_menu);
sndGame = new Sound(snd_game);
snd_menu.stop();
snd_game.stop();
sndMenu.stop();
sndGame.stop();
_global.blood = false;
firstLoad = true;
uncensor = false;
_global.mosaic_quality = 0;
goto = "";
_global.lvlCount = 1;
lvlNow = 0;
_global.th_mode = false;
_global.fileload = false;
lcode = new Array();
_global.codeSTR = "";
lvlfile = new Array();
levelSet = 0;
storedL = 0;
storedP = new Array();
storedT = new Array();
step = 0;
_global.stageWidth = 28;
_global.stageHeight = 20;
_global.raster = 25;
_global.loops = 13;
_global.precis = 1;
_global.detail = true;
Instance of Symbol 51 MovieClip "contBtn" in Frame 18
onClipEvent (load) {
this._visible = false;
}
on (release) {
_parent.gotoAndPlay(_parent._currentframe + 1);
}
Frame 19
Frame 20
if (_global.fileload != true) {
_global.fileload = true;
if (step == 0) {
delay = 0;
loadVariables ("levels.txt", this);
} else if (step == 1) {
delay = 0;
loadVariables ("saves.txt", this);
} else if (step > 1) {
if ((step - 1) > 1) {
if (lvlfile[step - 3] == true) {
errTxt.text = errTxt.text + (("\n file" + (step - 2)) + "x.swf - ok!");
} else {
errTxt.text = errTxt.text + (("\n file" + (step - 2)) + "x.swf - not ok <- not correct file");
problm = true;
}
} else {
errTxt.text = errTxt.text + "\n\n ---------- loading level files! ----------";
}
if ((step - 1) <= levelSet) {
delay = 0;
loadMovie (String(("file" + (step - 1)) + "x.swf"), mcHull1);
}
step = step + 1;
}
}
Frame 22
if ((step == 0) && (levelstr != "")) {
var tempArr = new Array();
var tempBoo = decrSave(levelstr, tempArr);
if (tempBoo && (tempArr.lvlcount != undefined)) {
levelSet = tempArr.lvlcount;
errTxt.text = errTxt.text + (("\n levels.txt loaded - List length:" + tempArr.lvlcount) + "\n\n");
problm = false;
} else {
errTxt.text = errTxt.text + "\n levels.txt loaded - reading failed\n\n";
problm = true;
}
tempArr = null;
step = 1;
_global.fileload = false;
} else if ((step == 1) && (savestr != "")) {
var tempBoo = decrSave(savestr, statArr);
if (tempBoo) {
tempStr = "\nsaves.txt loaded";
} else {
tempStr = "\nsaves.txt loaded - reading failed\n";
problm = true;
}
if (statArr.codestr != undefined) {
_global.codeSTR = statArr.codestr;
if (_global.codeSTR.substr(0, 1) == "y") {
uncensor = true;
}
tempStr = "\n theater passwords loaded (codes)";
}
if (statArr.loops != undefined) {
_global.loops = Math.max(1, Math.min(20, statArr.loops));
tempStr = tempStr + "\n path finding speed loaded (pathloop)";
}
if (statArr.precis != undefined) {
_global.precis = Math.max(1, Math.min(2, statArr.precis));
tempStr = tempStr + "\n unit movement precision loaded (rigor)";
}
if (statArr.detail != undefined) {
_global.detail = statArr.detail;
tempStr = tempStr + "\n background detail setting loaded (BGDetail)";
}
if (statArr.firstload != undefined) {
firstLoad = statArr.firstload;
tempStr = tempStr + "\n firstime setting loaded";
}
if (statArr.blood != undefined) {
_global.blood = statArr.blood;
tempStr = tempStr + "\n firstime setting loaded";
}
if (statArr.mosaic_quality != undefined) {
_global.mosaic_quality = statArr.mosaic_quality;
tempStr = tempStr + "\n selected censor loaded";
}
errTxt.text = errTxt.text + tempStr;
tempStr = null;
step = 2;
_global.fileload = false;
}
if (step <= (levelSet + 2)) {
delay = delay + 1;
if (delay > 30) {
problm = true;
if (step == 0) {
tempStr = "Problem: levels.txt could not be loaded! \n\nlevels.txt should be a textfile which contains this text (correct the level count to the levels you got in your folder): \ntxtLoad=levels&lvlcount=1,2,3\n ";
} else if (step == 1) {
tempStr = "Problem: saves.txt could not be loaded! The saves.txt contains the passwords for the theater mode and default menu settings (you can set them there).";
} else {
tempStr = ((("Problem: For level" + (step - 1)) + " the SWF file could not be loaded. It seems the file") + (step - 1)) + "x.swf is not in the folder (or the file is not original?).";
}
errTxt.text = errTxt.text + ("\n " + tempStr);
tempStr = null;
txtLoad = "";
step = step + 1;
_global.fileload = false;
}
gotoAndPlay ("waitLoad");
}
Frame 23
step = null;
if (problm) {
problm = null;
contBtn._visible = true;
stop();
}
Frame 25
if (firstLoad) {
errTxt._visible = false;
contBtn._visible = true;
stop();
}
Frame 26
firstLoad = false;
Frame 27
stop();
function killMos() {
mosaic_mc[0].onEnterFrame = null;
var _local2 = mosaic_mc.length;
var _local1 = 0;
while (_local1 < _local2) {
removeMovieClip(mosaic_mc[_local1]);
_local1++;
}
mosaic_mc = null;
_local2 = mosaic_bd.length;
_local1 = 0;
while (_local1 < _local2) {
mosaic_bd[_local1].dispose();
_local1++;
}
mosaic_bd = null;
myColorTransform = null;
myBlendMode = null;
myRectangle = null;
clearRect = null;
myMatrix = null;
tempmtx = null;
mosaicRect = null;
alpha_bd.dispose();
alpha_bd = null;
}
function quickMos(_cnum) {
var _local3 = 0;
var _local5 = 0;
var _local4 = 0;
var _local2 = 0;
var _local1;
mosaic_bd[_cnum].copyChannel(alpha_bd, myRectangle, new Point(), 8, 8);
var _local6 = Math.round(mosaic_size * 0.5);
i = 0;
while (i < rasterWidth) {
j = 0;
while (j < rasterHeight) {
_local1 = mosaic_bd[_cnum].getPixel32(i + _local6, j + _local6);
if (_local1 != null) {
if (_local1 != 0) {
_local3 = (_local1 >> 16) & 255;
_local5 = (_local1 >> 8) & 255;
_local4 = _local1 & 255;
_local2 = (_local1 >> 24) & 255;
} else {
_local2 = 0;
}
} else {
_local2 = 0;
}
mosaicRect.x = i;
mosaicRect.y = j;
mosaic_bd[_cnum].fillRect(mosaicRect, Number(((((((("0x" + ((_local2 < 16) ? "0" : "")) + _local2.toString(16)) + ((_local3 < 16) ? "0" : "")) + _local3.toString(16)) + ((_local5 < 16) ? "0" : "")) + _local5.toString(16)) + ((_local4 < 16) ? "0" : "")) + _local4.toString(16)));
j = j + mosaic_size;
}
i = i + mosaic_size;
}
}
function normMos(_cnum) {
var _local7;
var _local3;
var _local4 = 0;
var _local6 = 0;
var _local5 = 0;
var _local2 = 0;
var _local1;
mosaic_bd[_cnum].copyChannel(alpha_bd, myRectangle, new Point(), 8, 8);
i = 0;
while (i < rasterWidth) {
j = 0;
while (j < rasterHeight) {
_local7 = true;
_local3 = true;
mos_w = 0;
while (mos_w < mosaic_size) {
mos_h = 0;
while (mos_h < mosaic_size) {
_local1 = mosaic_bd[_cnum].getPixel32(i + mos_w, j + mos_h);
if (_local1 != null) {
if (_local1 != 0) {
if (_local7) {
_local7 = false;
_local4 = (_local1 >> 16) & 255;
_local6 = (_local1 >> 8) & 255;
_local5 = _local1 & 255;
} else {
_local4 = (((_local1 >> 16) & 255) + _local4) * 0.5;
_local6 = (((_local1 >> 8) & 255) + _local6) * 0.5;
_local5 = ((_local1 & 255) + _local5) * 0.5;
}
if (_local3) {
_local3 = false;
_local2 = (_local1 >> 24) & 255;
} else {
_local2 = (((_local1 >> 24) & 255) + _local2) * 0.5;
}
} else if (_local3) {
_local3 = false;
_local2 = 0;
} else {
_local2 = _local2 * 0.5;
}
} else if (_local3) {
_local3 = false;
_local2 = 0;
} else {
_local2 = _local2 * 0.5;
}
mos_h++;
}
mos_w++;
}
mosaicRect.x = i;
mosaicRect.y = j;
mosaic_bd[_cnum].fillRect(mosaicRect, Number(((((((("0x" + ((_local2 < 16) ? "0" : "")) + _local2.toString(16)) + ((_local4 < 16) ? "0" : "")) + _local4.toString(16)) + ((_local6 < 16) ? "0" : "")) + _local6.toString(16)) + ((_local5 < 16) ? "0" : "")) + _local5.toString(16)));
j = j + mosaic_size;
}
i = i + mosaic_size;
}
}
function prfctMos(_cnum) {
var _local7;
var _local3;
var _local4 = 0;
var _local6 = 0;
var _local5 = 0;
var _local2 = 0;
var _local1 = 0;
i = 0;
while (i < rasterWidth) {
j = 0;
while (j < rasterHeight) {
_local7 = true;
_local3 = true;
mos_w = 0;
while (mos_w < mosaic_size) {
mos_h = 0;
while (mos_h < mosaic_size) {
_local1 = mosaic_bd[_cnum].getPixel(i + mos_w, j + mos_h);
if (_local1 != null) {
if (_local7) {
_local7 = false;
_local4 = (_local1 >> 16) & 255;
_local6 = (_local1 >> 8) & 255;
_local5 = _local1 & 255;
} else {
_local4 = (((_local1 >> 16) & 255) + _local4) * 0.5;
_local6 = (((_local1 >> 8) & 255) + _local6) * 0.5;
_local5 = ((_local1 & 255) + _local5) * 0.5;
}
}
_local1 = (alpha_bd.getPixel32(i + mos_w, j + mos_h) >> 24) & 255;
if (_local1 != null) {
if (_local3) {
_local3 = false;
_local2 = _local1;
} else {
_local2 = (_local1 + _local2) * 0.5;
}
} else if (_local3) {
_local3 = false;
_local2 = 0;
} else {
_local2 = _local2 * 0.5;
}
mos_h++;
}
mos_w++;
}
mosaicRect.x = i;
mosaicRect.y = j;
mosaic_bd[_cnum].fillRect(mosaicRect, Number(((((((("0x" + ((_local2 < 16) ? "0" : "")) + _local2.toString(16)) + ((_local4 < 16) ? "0" : "")) + _local4.toString(16)) + ((_local6 < 16) ? "0" : "")) + _local6.toString(16)) + ((_local5 < 16) ? "0" : "")) + _local5.toString(16)));
j = j + mosaic_size;
}
i = i + mosaic_size;
}
}
function mosaic_resize(new_size) {
mosaic_size = new_size;
mosaicRect.width = new_size;
mosaicRect.height = new_size;
}
if (((mosaic_mc == undefined) && (_global.mosaic_quality > 0)) && (_global.mosaic_quality < 4)) {
var mosaic_size = 6;
var maxMosaic = 2;
var areaX = 170;
var areaY = 140;
var rasterWidth = 0;
var rasterHeight = 0;
var mySmooth = true;
var myColorTransform = (new flash.geom.ColorTransform());
var myBlendMode = "normal";
var myRectangle = (new flash.geom.Rectangle(0, 0, 40, 50));
var clearRect = (new flash.geom.Rectangle(0, 0, areaX, areaY));
var myMatrix = (new flash.geom.Matrix());
var tempmtx = (new flash.geom.Matrix());
var mosaicRect = (new flash.geom.Rectangle(0, 0, mosaic_size, mosaic_size));
var alpha_bd = (new flash.display.BitmapData(areaX, areaY, true, 0));
var mosaic_mc = new Array();
var mosaic_bd = new Array();
i = 0;
while (i < maxMosaic) {
mosaic_bd[i] = new flash.display.BitmapData(areaX, areaY, true, 0);
mosaic_mc[i] = this.createEmptyMovieClip("mosaic_mc" + i, 800 + i);
mosaic_mc[i].attachBitmap(mosaic_bd[i], mosaic_mc[i].getNextHighestDepth());
i++;
}
mosaic_mc[0].onEnterFrame = function () {
var _local3;
_local3 = 0;
while (_local3 < maxMosaic) {
if (this._parent["censor" + _local3] != undefined) {
this._parent["censor" + _local3]._visible = false;
}
mosaic_mc[_local3]._visible = false;
_local3++;
}
_local3 = 0;
while (_local3 < maxMosaic) {
if (this._parent["censor" + _local3] != undefined) {
rasterWidth = Math.ceil(this._parent["censor" + _local3]._width / mosaic_size) * mosaic_size;
rasterHeight = Math.ceil(this._parent["censor" + _local3]._height / mosaic_size) * mosaic_size;
myRectangle.width = rasterWidth;
myRectangle.height = rasterHeight;
mosaic_mc[_local3]._x = Math.round(this._parent["censor" + _local3]._x + ((this._parent["censor" + _local3]._width - rasterWidth) * 0.5));
mosaic_mc[_local3]._y = Math.round(this._parent["censor" + _local3]._y + ((this._parent["censor" + _local3]._height - rasterHeight) * 0.5));
myMatrix.tx = -mosaic_mc[_local3]._x;
myMatrix.ty = -mosaic_mc[_local3]._y;
mosaic_bd[_local3].fillRect(clearRect, 0);
alpha_bd.fillRect(clearRect, 0);
mosaic_bd[_local3].draw(this._parent, myMatrix, myColorTransform, myBlendMode, myRectangle, mySmooth);
tempmtx = this._parent["censor" + _local3].transform.matrix;
tempmtx.tx = 0;
tempmtx.ty = 0;
alpha_bd.draw(this._parent["censor" + _local3], tempmtx, myColorTransform, myBlendMode, myRectangle, mySmooth);
if (_global.mosaic_quality == 3) {
prfctMos(_local3);
} else if (_global.mosaic_quality == 2) {
normMos(_local3);
} else if (_global.mosaic_quality == 1) {
quickMos(_local3);
}
}
_local3++;
}
_local3 = 0;
while (_local3 < maxMosaic) {
if (this._parent["censor" + _local3] != undefined) {
mosaic_mc[_local3]._visible = true;
}
_local3++;
}
};
}
Frame 37
killMos();
Frame 38
resetGme();
snd_game.stop();
sndGame.stop();
snd_menu.gotoAndPlay(1);
stop();
Instance of Symbol 126 MovieClip in Frame 38
onClipEvent (load) {
if (isNaN(_global.loops)) {
_global.loops = 13;
}
if (isNaN(_global.precis)) {
_global.precis = 1;
}
_parent.loopInfo.text = _global.loops;
_parent.precInfo.text = _global.precis;
}
on (release) {
_global.loops = Math.max(1, Math.min(20, Number(_parent.loopInfo.text)));
_global.precis = Math.max(1, Math.min(2, Number(_parent.precInfo.text)));
if (isNaN(_global.loops)) {
_global.loops = 13;
}
if (isNaN(_global.precis)) {
_global.precis = 1;
}
_global.th_mode = false;
_parent.goto = "introA";
_parent.blendover.gotoAndPlay("goon");
_parent.blendover._visible = true;
}
Instance of Symbol 130 MovieClip "switchX" in Frame 38
onClipEvent (load) {
if (_global.detail == true) {
gotoAndStop (1);
} else {
gotoAndStop (2);
}
}
on (release) {
if (_global.detail) {
_global.detail = false;
gotoAndStop (2);
} else {
_global.detail = true;
gotoAndStop (1);
}
}
Instance of Symbol 138 MovieClip "switchZ" in Frame 38
onClipEvent (load) {
function updateMe() {
if (!_parent.uncensor) {
_global.mosaic_quality = Math.min(3, _global.mosaic_quality);
} else {
_global.mosaic_quality = Math.min(4, _global.mosaic_quality);
}
nob._x = Math.max(mark0._x, Math.min(-mark0._x, Math.round(2 - _global.mosaic_quality) * ((mark0._x * 2) / (splits - 1))));
if (_global.mosaic_quality == 0) {
_parent.censortxt.text = "black markers";
} else if (_global.mosaic_quality == 1) {
_parent.censortxt.text = "mosaic quick";
} else if (_global.mosaic_quality == 2) {
_parent.censortxt.text = "mosaic standard";
} else if (_global.mosaic_quality == 3) {
_parent.censortxt.text = "mosaic perfect";
} else if (_global.mosaic_quality == 4) {
_parent.censortxt.text = "none";
} else if (_global.mosaic_quality == 5) {
_parent.censortxt.text = "black bars";
}
}
splits = 5;
i = 1;
while (i < splits) {
duplicateMovieClip ("mark0", "mark" + i, this.getNextHighestDepth());
this["mark" + i]._x = ((((-mark0._x) * 2) / (splits - 1)) * i) + mark0._x;
i++;
}
if (!_parent.uncensor) {
_global.mosaic_quality = Math.min(3, _global.mosaic_quality);
} else {
_global.mosaic_quality = Math.min(4, _global.mosaic_quality);
}
nob._x = Math.max(mark0._x, Math.min(-mark0._x, Math.round(2 - _global.mosaic_quality) * ((mark0._x * 2) / (splits - 1))));
if (_global.mosaic_quality == 0) {
_parent.censortxt.text = "black markers";
} else if (_global.mosaic_quality == 1) {
_parent.censortxt.text = "mosaic quick";
} else if (_global.mosaic_quality == 2) {
_parent.censortxt.text = "mosaic standard";
} else if (_global.mosaic_quality == 3) {
_parent.censortxt.text = "mosaic perfect";
} else if (_global.mosaic_quality == 4) {
_parent.censortxt.text = "none";
} else if (_global.mosaic_quality == 5) {
_parent.censortxt.text = "black bars";
}
nob.swapDepths(this.getNextHighestDepth());
nob.onPress = function () {
this.onEnterFrame = function () {
this._x = Math.max(mark0._x, Math.min(-mark0._x, Math.round(this._parent._xmouse / ((mark0._x * 2) / (splits - 1))) * ((mark0._x * 2) / (splits - 1))));
_global.mosaic_quality = Math.max(0, Math.min(4, 2 - Math.round(this._parent._xmouse / ((mark0._x * 2) / (splits - 1)))));
if (_global.mosaic_quality == 0) {
_parent.censortxt.text = "black markers";
} else if (_global.mosaic_quality == 1) {
_parent.censortxt.text = "mosaic quick";
} else if (_global.mosaic_quality == 2) {
_parent.censortxt.text = "mosaic standard";
} else if (_global.mosaic_quality == 3) {
_parent.censortxt.text = "mosaic perfect";
} else if (_global.mosaic_quality == 4) {
_parent.censortxt.text = "none";
} else if (_global.mosaic_quality == 5) {
_parent.censortxt.text = "black bars";
}
};
};
nob.onRelease = function () {
this.onEnterFrame = null;
updateMe();
};
nob.onReleaseOutside = function () {
this.onEnterFrame = null;
updateMe();
};
}
Instance of Symbol 142 MovieClip in Frame 38
on (release) {
_parent.goto = "howtoplay";
_parent.blendover.gotoAndPlay("goon");
_parent.blendover._visible = true;
}
Instance of Symbol 130 MovieClip "switchY" in Frame 38
onClipEvent (load) {
if (_parent.firstLoad) {
gotoAndStop (1);
} else {
gotoAndStop (2);
}
}
on (release) {
if (_parent.firstLoad) {
_parent.firstLoad = false;
gotoAndStop (2);
} else {
_parent.firstLoad = true;
gotoAndStop (1);
}
}
Instance of Symbol 147 MovieClip "thmc" in Frame 38
onClipEvent (load) {
showMe = false;
if (_parent.lcode[0] != undefined) {
tempArr = String(_global.codeSTR).split(",");
tempLen = tempArr.length;
i = 0;
while (i < tempLen) {
if (tempArr[i] == _parent.lcode[0]) {
showMe = true;
i = tempLen;
}
i++;
}
}
this._visible = showMe;
tempArr = null;
tempLen = null;
showMe = null;
}
on (release) {
_global.th_mode = true;
_parent.goto = "introA";
_parent.blendover.gotoAndPlay("goon");
_parent.blendover._visible = true;
}
Instance of Symbol 130 MovieClip "switchY" in Frame 38
onClipEvent (load) {
if (_global.blood) {
gotoAndStop (1);
} else {
gotoAndStop (2);
}
}
on (release) {
if (_global.blood) {
_global.blood = false;
gotoAndStop (2);
} else {
_global.blood = true;
gotoAndStop (1);
}
}
Instance of Symbol 152 MovieClip in Frame 38
on (release) {
var tempArr = String(_parent.codeline.text).split("=");
var tempBoo = false;
if (tempArr.length == 2) {
tempBoo = _parent.decrSave(tempArr[1], _parent.statArr);
} else {
tempBoo = _parent.decrSave(String(_parent.codeline.text));
}
if (tempBoo) {
if (_parent.statArr.codestr != undefined) {
_global.codeSTR = _parent.statArr.codestr;
}
if (_parent.statArr.loops != undefined) {
_global.loops = Math.max(1, Math.min(20, _parent.statArr.loops));
}
if (_parent.statArr.precis != undefined) {
_global.precis = Math.max(1, Math.min(2, _parent.statArr.precis));
}
if (_parent.statArr.detail != undefined) {
_global.detail = _parent.statArr.detail;
}
if (_parent.statArr.firstload != undefined) {
_parent.firstLoad = _parent.statArr.firstload;
}
if (_parent.statArr.mosaic_quality != undefined) {
_global.mosaic_quality = _parent.statArr.mosaic_quality;
}
if (_global.codeSTR.substr(0, 1) == "y") {
_parent.uncensor = true;
}
_parent.loopInfo.text = _global.loops;
_parent.precInfo.text = _global.precis;
if (_global.detail) {
_parent.switchX.gotoAndStop(1);
} else {
_parent.switchX.gotoAndStop(2);
}
if (_parent.firstLoad) {
_parent.switchY.gotoAndStop(1);
} else {
_parent.switchY.gotoAndStop(2);
}
_parent.switchZ.updateMe();
if (_parent.lcode[0] != undefined) {
tempArr = String(_global.codeSTR).split(",");
var tempLen = tempArr.length;
var i = 0;
while (i < tempLen) {
if (tempArr[i] == _parent.lcode[0]) {
_parent.thmc.showMe = true;
_parent.thmc._visible = true;
i = tempLen;
}
i++;
}
}
} else {
_parent.codeline.text = "loading code failed";
}
}
Instance of Symbol 156 MovieClip in Frame 38
onClipEvent (load) {
this._focusrect = false;
this.useHandCursor = false;
}
on (rollOver) {
_parent.infofield.text = "Precision speed Info:\nYou can set this to 1 - slow but full precision - or 2 - faster but less precision -. This will speed up the rendering speed of fast and many units. Therefor the turrets and missles don't hit 100% of their shots.\nOnly change this if the game runs really slow on your computer when many or fast units are visible.";
}
Instance of Symbol 156 MovieClip in Frame 38
onClipEvent (load) {
this._focusrect = false;
this.useHandCursor = false;
}
on (rollOver) {
_parent.infofield.text = "Pathfinding speed info:\nCan be set from 1 to 20. This is the amound how many steps per frame the path is checked. At 1 one step per frame is checked and should take at level 1 for two paths around 30 seconds.\nHigher values make flash lag to freeze harder, depending on your cpu speed. Find the perfect setting for you.";
}
Instance of Symbol 152 MovieClip in Frame 38
on (release) {
_global.loops = Math.max(1, Math.min(20, Number(_parent.loopInfo.text)));
_global.precis = Math.max(1, Math.min(2, Number(_parent.precInfo.text)));
if (isNaN(_global.loops)) {
_global.loops = 13;
}
if (isNaN(_global.precis)) {
_global.precis = 1;
}
_parent.loopInfo.text = _global.loops;
_parent.precInfo.text = _global.precis;
_parent.codeline.text = _parent.getCode();
}
Frame 46
gotoAndStop ("titleScr");
Frame 54
gotoAndPlay ("howtoplay");
Instance of Symbol 217 MovieClip in Frame 58
onClipEvent (load) {
_parent.codeline.text = _parent.getCode();
}
Frame 65
gotoAndStop ("titleScr");
Frame 66
function killMos() {
mosaic_mc[0].onEnterFrame = null;
var _local2 = mosaic_mc.length;
var _local1 = 0;
while (_local1 < _local2) {
removeMovieClip(mosaic_mc[_local1]);
_local1++;
}
mosaic_mc = null;
_local2 = mosaic_bd.length;
_local1 = 0;
while (_local1 < _local2) {
mosaic_bd[_local1].dispose();
_local1++;
}
mosaic_bd = null;
myColorTransform = null;
myBlendMode = null;
myRectangle = null;
clearRect = null;
myMatrix = null;
tempmtx = null;
mosaicRect = null;
alpha_bd.dispose();
alpha_bd = null;
}
function quickMos(_cnum) {
var _local3 = 0;
var _local5 = 0;
var _local4 = 0;
var _local2 = 0;
var _local1;
mosaic_bd[_cnum].copyChannel(alpha_bd, myRectangle, new Point(), 8, 8);
var _local6 = Math.round(mosaic_size * 0.5);
i = 0;
while (i < rasterWidth) {
j = 0;
while (j < rasterHeight) {
_local1 = mosaic_bd[_cnum].getPixel32(i + _local6, j + _local6);
if (_local1 != null) {
if (_local1 != 0) {
_local3 = (_local1 >> 16) & 255;
_local5 = (_local1 >> 8) & 255;
_local4 = _local1 & 255;
_local2 = (_local1 >> 24) & 255;
} else {
_local2 = 0;
}
} else {
_local2 = 0;
}
mosaicRect.x = i;
mosaicRect.y = j;
mosaic_bd[_cnum].fillRect(mosaicRect, Number(((((((("0x" + ((_local2 < 16) ? "0" : "")) + _local2.toString(16)) + ((_local3 < 16) ? "0" : "")) + _local3.toString(16)) + ((_local5 < 16) ? "0" : "")) + _local5.toString(16)) + ((_local4 < 16) ? "0" : "")) + _local4.toString(16)));
j = j + mosaic_size;
}
i = i + mosaic_size;
}
}
function normMos(_cnum) {
var _local7;
var _local3;
var _local4 = 0;
var _local6 = 0;
var _local5 = 0;
var _local2 = 0;
var _local1;
mosaic_bd[_cnum].copyChannel(alpha_bd, myRectangle, new Point(), 8, 8);
i = 0;
while (i < rasterWidth) {
j = 0;
while (j < rasterHeight) {
_local7 = true;
_local3 = true;
mos_w = 0;
while (mos_w < mosaic_size) {
mos_h = 0;
while (mos_h < mosaic_size) {
_local1 = mosaic_bd[_cnum].getPixel32(i + mos_w, j + mos_h);
if (_local1 != null) {
if (_local1 != 0) {
if (_local7) {
_local7 = false;
_local4 = (_local1 >> 16) & 255;
_local6 = (_local1 >> 8) & 255;
_local5 = _local1 & 255;
} else {
_local4 = (((_local1 >> 16) & 255) + _local4) * 0.5;
_local6 = (((_local1 >> 8) & 255) + _local6) * 0.5;
_local5 = ((_local1 & 255) + _local5) * 0.5;
}
if (_local3) {
_local3 = false;
_local2 = (_local1 >> 24) & 255;
} else {
_local2 = (((_local1 >> 24) & 255) + _local2) * 0.5;
}
} else if (_local3) {
_local3 = false;
_local2 = 0;
} else {
_local2 = _local2 * 0.5;
}
} else if (_local3) {
_local3 = false;
_local2 = 0;
} else {
_local2 = _local2 * 0.5;
}
mos_h++;
}
mos_w++;
}
mosaicRect.x = i;
mosaicRect.y = j;
mosaic_bd[_cnum].fillRect(mosaicRect, Number(((((((("0x" + ((_local2 < 16) ? "0" : "")) + _local2.toString(16)) + ((_local4 < 16) ? "0" : "")) + _local4.toString(16)) + ((_local6 < 16) ? "0" : "")) + _local6.toString(16)) + ((_local5 < 16) ? "0" : "")) + _local5.toString(16)));
j = j + mosaic_size;
}
i = i + mosaic_size;
}
}
function prfctMos(_cnum) {
var _local7;
var _local3;
var _local4 = 0;
var _local6 = 0;
var _local5 = 0;
var _local2 = 0;
var _local1 = 0;
i = 0;
while (i < rasterWidth) {
j = 0;
while (j < rasterHeight) {
_local7 = true;
_local3 = true;
mos_w = 0;
while (mos_w < mosaic_size) {
mos_h = 0;
while (mos_h < mosaic_size) {
_local1 = mosaic_bd[_cnum].getPixel(i + mos_w, j + mos_h);
if (_local1 != null) {
if (_local7) {
_local7 = false;
_local4 = (_local1 >> 16) & 255;
_local6 = (_local1 >> 8) & 255;
_local5 = _local1 & 255;
} else {
_local4 = (((_local1 >> 16) & 255) + _local4) * 0.5;
_local6 = (((_local1 >> 8) & 255) + _local6) * 0.5;
_local5 = ((_local1 & 255) + _local5) * 0.5;
}
}
_local1 = (alpha_bd.getPixel32(i + mos_w, j + mos_h) >> 24) & 255;
if (_local1 != null) {
if (_local3) {
_local3 = false;
_local2 = _local1;
} else {
_local2 = (_local1 + _local2) * 0.5;
}
} else if (_local3) {
_local3 = false;
_local2 = 0;
} else {
_local2 = _local2 * 0.5;
}
mos_h++;
}
mos_w++;
}
mosaicRect.x = i;
mosaicRect.y = j;
mosaic_bd[_cnum].fillRect(mosaicRect, Number(((((((("0x" + ((_local2 < 16) ? "0" : "")) + _local2.toString(16)) + ((_local4 < 16) ? "0" : "")) + _local4.toString(16)) + ((_local6 < 16) ? "0" : "")) + _local6.toString(16)) + ((_local5 < 16) ? "0" : "")) + _local5.toString(16)));
j = j + mosaic_size;
}
i = i + mosaic_size;
}
}
function mosaic_resize(new_size) {
mosaic_size = new_size;
mosaicRect.width = new_size;
mosaicRect.height = new_size;
}
if (((mosaic_mc == undefined) && (_global.mosaic_quality > 0)) && (_global.mosaic_quality < 4)) {
var mosaic_size = 6;
var maxMosaic = 1;
var areaX = 170;
var areaY = 140;
var rasterWidth = 0;
var rasterHeight = 0;
var mySmooth = true;
var myColorTransform = (new flash.geom.ColorTransform());
var myBlendMode = "normal";
var myRectangle = (new flash.geom.Rectangle(0, 0, 40, 50));
var clearRect = (new flash.geom.Rectangle(0, 0, areaX, areaY));
var myMatrix = (new flash.geom.Matrix());
var tempmtx = (new flash.geom.Matrix());
var mosaicRect = (new flash.geom.Rectangle(0, 0, mosaic_size, mosaic_size));
var alpha_bd = (new flash.display.BitmapData(areaX, areaY, true, 0));
var mosaic_mc = new Array();
var mosaic_bd = new Array();
i = 0;
while (i < maxMosaic) {
mosaic_bd[i] = new flash.display.BitmapData(areaX, areaY, true, 0);
mosaic_mc[i] = this.createEmptyMovieClip("mosaic_mc" + i, 800 + i);
mosaic_mc[i].attachBitmap(mosaic_bd[i], mosaic_mc[i].getNextHighestDepth());
i++;
}
mosaic_mc[0].onEnterFrame = function () {
var _local3;
_local3 = 0;
while (_local3 < maxMosaic) {
if (this._parent["censor" + _local3] != undefined) {
this._parent["censor" + _local3]._visible = false;
}
mosaic_mc[_local3]._visible = false;
_local3++;
}
_local3 = 0;
while (_local3 < maxMosaic) {
if (this._parent["censor" + _local3] != undefined) {
rasterWidth = Math.ceil(this._parent["censor" + _local3]._width / mosaic_size) * mosaic_size;
rasterHeight = Math.ceil(this._parent["censor" + _local3]._height / mosaic_size) * mosaic_size;
myRectangle.width = rasterWidth;
myRectangle.height = rasterHeight;
mosaic_mc[_local3]._x = Math.round(this._parent["censor" + _local3]._x + ((this._parent["censor" + _local3]._width - rasterWidth) * 0.5));
mosaic_mc[_local3]._y = Math.round(this._parent["censor" + _local3]._y + ((this._parent["censor" + _local3]._height - rasterHeight) * 0.5));
myMatrix.tx = -mosaic_mc[_local3]._x;
myMatrix.ty = -mosaic_mc[_local3]._y;
mosaic_bd[_local3].fillRect(clearRect, 0);
alpha_bd.fillRect(clearRect, 0);
mosaic_bd[_local3].draw(this._parent, myMatrix, myColorTransform, myBlendMode, myRectangle, mySmooth);
tempmtx = this._parent["censor" + _local3].transform.matrix;
tempmtx.tx = 0;
tempmtx.ty = 0;
alpha_bd.draw(this._parent["censor" + _local3], tempmtx, myColorTransform, myBlendMode, myRectangle, mySmooth);
if (_global.mosaic_quality == 3) {
prfctMos(_local3);
} else if (_global.mosaic_quality == 2) {
normMos(_local3);
} else if (_global.mosaic_quality == 1) {
quickMos(_local3);
}
}
_local3++;
}
_local3 = 0;
while (_local3 < maxMosaic) {
if (this._parent["censor" + _local3] != undefined) {
mosaic_mc[_local3]._visible = true;
}
_local3++;
}
};
}
Instance of Symbol 217 MovieClip in Frame 66
onClipEvent (load) {
if (_global.contins <= 0) {
_parent.yesBttn._visible = false;
}
_parent.numTXT.text = _global.contins;
}
Frame 73
gotoAndStop ("titleScr");
Frame 79
snd_menu.stop();
sndMenu.stop();
this.blendA._speed = (this.blendB._speed = 11);
this.blendA._progr = (this.blendB._progr = 0);
this.blendA.onEnterFrame = function () {
this._visible = true;
this._speed = Math.max(0.3, this._speed * 0.9);
this._progr = Math.min(100, this._progr + this._speed);
this._y = (this._startY * (this._progr * 0.01)) + (this._endY * (1 - (this._progr * 0.01)));
if (this._progr == 100) {
this._speed = 0;
this.onEnterFrame = null;
}
};
this.blendB.onEnterFrame = function () {
this._visible = true;
this._speed = Math.max(0.3, this._speed * 0.9);
this._progr = Math.min(100, this._progr + this._speed);
this._y = (this._startY * (this._progr * 0.01)) + (this._endY * (1 - (this._progr * 0.01)));
if (this._progr == 100) {
this._speed = 0;
this.onEnterFrame = null;
}
};
Instance of Symbol 459 MovieClip "blendA" in Frame 79
onClipEvent (load) {
this._startY = this._y;
this._endY = -158;
this._y = this._endY;
this._visible = false;
}
Instance of Symbol 459 MovieClip "blendB" in Frame 79
onClipEvent (load) {
this._startY = this._y;
this._endY = 658;
this._y = this._endY;
this._visible = false;
}
Frame 88
stop();
Frame 89
snd_game.gotoAndPlay(1);
this.blendA._speed = (this.blendB._speed = 11 - this.blendB._speed);
this.blendA._progr = (this.blendB._progr = 0);
this.blendA.onEnterFrame = function () {
this._speed = Math.max(0.3, this._speed * 0.9);
this._progr = Math.min(100, this._progr + this._speed);
this._y = (this._startY * (1 - (this._progr * 0.01))) + (this._endY * (this._progr * 0.01));
if (this._progr == 100) {
this._speed = 0;
this._visible = false;
this.onEnterFrame = null;
}
};
this.blendB.onEnterFrame = function () {
this._speed = Math.max(0.3, this._speed * 0.9);
this._progr = Math.min(100, this._progr + this._speed);
this._y = (this._startY * (1 - (this._progr * 0.01))) + (this._endY * (this._progr * 0.01));
if (this._progr == 100) {
this._speed = 0;
this._visible = false;
this.onEnterFrame = null;
}
};
gotoAndStop ("gameL0");
Frame 99
gotoAndStop ("gameL1");
Frame 101
gotoAndStop ("gameL1");
Frame 104
tempNum = _global.lvlCount;
while (tempNum > 1) {
tempNum = tempNum - 2;
}
tempNum = 1 - tempNum;
if (lvlNow < _global.lvlCount) {
lvlNow = _global.lvlCount;
loadMovie (String(("level" + _global.lvlCount) + "x.swf"), this["mcHull" + tempNum]);
}
Frame 107
gotoAndStop ("gameL2");
Frame 109
gotoAndStop ("gameL2");
Instance of Symbol 10 MovieClip in Symbol 31 MovieClip Frame 8
on (release) {
_parent._parent.gotoAndPlay("logoOff");
}
Symbol 31 MovieClip Frame 119
_parent.gotoAndPlay("logoOff");
Symbol 31 MovieClip Frame 121
_parent.gotoAndPlay("logoOff");
Symbol 55 MovieClip Frame 12
stop();
Symbol 59 Button
on (release) {
play();
}
Symbol 87 MovieClip Frame 1
stop();
Symbol 87 MovieClip Frame 22
stop();
Symbol 91 Button
on (release) {
play();
}
Symbol 93 MovieClip Frame 1
if (_global.mosaic_quality == 4) {
_visible = false;
}
Symbol 99 MovieClip Frame 1
if (Math.random() < 0.7) {
gotoAndPlay ("blip1");
} else {
gotoAndPlay ("blip2");
}
Symbol 99 MovieClip Frame 12
stop();
Symbol 99 MovieClip Frame 18
stop();
Symbol 163 MovieClip Frame 1
onRelease = function () {
};
Symbol 163 MovieClip Frame 16
stop();
_visible = false;
Symbol 163 MovieClip Frame 44
_parent.gotoAndPlay(_parent.goto);
Symbol 163 MovieClip Frame 46
_parent.gotoAndPlay(_parent.goto);
Symbol 163 MovieClip Frame 48
_parent.gotoAndPlay(_parent.goto);
Symbol 163 MovieClip Frame 51
stop();
Symbol 215 MovieClip Frame 1
stop();
Instance of Symbol 178 MovieClip in Symbol 215 MovieClip Frame 1
on (release) {
_parent._parent.goto = "titleScr";
_parent._parent.blendover.gotoAndPlay("goon");
_parent._parent.blendover._visible = true;
}
Instance of Symbol 191 MovieClip in Symbol 215 MovieClip Frame 1
on (release) {
_parent.gotoAndStop(3);
}
Instance of Symbol 196 MovieClip in Symbol 215 MovieClip Frame 1
on (release) {
_parent.gotoAndStop(2);
}
Instance of Symbol 204 MovieClip in Symbol 215 MovieClip Frame 2
on (release) {
_parent.gotoAndStop(1);
}
Instance of Symbol 196 MovieClip in Symbol 215 MovieClip Frame 3
on (release) {
_parent.gotoAndStop(2);
}
Symbol 224 Button
on (release) {
gotoAndStop ("titleScr");
}
Instance of Symbol 228 MovieClip in Symbol 238 MovieClip Frame 1
onClipEvent (enterFrame) {
_parent._parent.censor0._x = _x + _parent._x;
_parent._parent.censor0._y = _y + _parent._y;
}
Symbol 238 MovieClip Frame 18
stop();
Symbol 240 Button
on (release) {
if (lvlNow != 1) {
_global.contins = _global.contins - 1;
}
tempNum = lvlNow;
while (tempNum > 1) {
tempNum = tempNum - 2;
}
tempNum = 1 - tempNum;
lvlNow = _global.lvlCount - 1;
killMos();
gotoAndStop ("gameL0");
}
Symbol 244 Button
on (release) {
killMos();
gotoAndStop ("titleScr");
}
Symbol 419 MovieClip Frame 40
stop();
Symbol 435 MovieClip Frame 36
stop();
Symbol 452 MovieClip Frame 27
gotoAndPlay ("loop");
Symbol 456 MovieClip Frame 376
_parent.gotoAndPlay("tremor");
Symbol 456 MovieClip Frame 520
_parent.gotoAndPlay("tremor");
Symbol 456 MovieClip Frame 561
_parent._parent.gotoAndPlay("introEnd");
Symbol 456 MovieClip Frame 564
_parent._parent.gotoAndPlay("introEnd");
Symbol 457 MovieClip Frame 65
stop();
Symbol 457 MovieClip Frame 94
stop();
Symbol 462 MovieClip Frame 78
stop();
Symbol 465 Button
on (release) {
gotoAndPlay ("introEnd");
}