Frame 1
game = "bbop1";
version = "20040903";
moreGamesUrl = (("http://www.neodelight.com/?ref=" + game) + "&ref_loc=moregames&ref_ver=") + version;
stop();
this.onEnterFrame = function () {
var percentage = ((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
this.percentageDisplay = ("loading.." + Math.min(100, int(percentage))) + "%";
if ((percentage == 100) || (_root._framesloaded >= 1)) {
this.onEnterFrame = undefined;
_root.nextFrame();
}
};
Frame 2
version = "at";
if ((version == "nd") && ((((((_url.indexOf("http://www.neodelight.") == 0) || (_url.indexOf("http://games.neodelight.") == 0)) || (_url.indexOf("http://dev.neodelight.") == 0)) || (_url.indexOf("http://neodelight.") == 0)) || (_url.indexOf("http://neodelight.") == 0)) || (_url.indexOf("file://") == 0))) {
if (_url.indexOf("file://") != 0) {
getURL ("javascript:if (top.location != location) top.location.href ='http://www.neodelight.com/';");
}
moreGamesUrl = (("http://www.neodelight.com/?ref=" + game) + "&ref_loc=moregames&ref_ver=") + version;
nextEpisodeUrl = "http://www.neodelight.com/games/bbop2";
play();
} else if ((version == "at") && (((((((_url.indexOf("http://arcadetown.com") == 0) || (_url.indexOf("http://www.arcadetown.com") == 0)) || (_url.indexOf("http://heavygames.com") == 0)) || (_url.indexOf("http://www.heavygames.com") == 0)) || (_url.indexOf("http://freewebgames.com") == 0)) || (_url.indexOf("http://www.freewebgames.com") == 0)) || (_url.indexOf("file://") == 0))) {
if ((_url.toLowerCase().substr(0, 4) != "http") && (System.capabilities.os.toLowerCase().indexOf("mac") >= 0)) {
fscommand ("fullscreen", true);
fscommand ("showmenu", false);
Stage.scaleMode = "noScale";
}
moreGamesUrl = "http://www.arcadetown.com/index.asp?gameid=bouncinbop1";
nextEpisodeUrl = "http://www.arcadetown.com/bouncinbop2/playgame.asp";
reducedBranding = true;
play();
} else {
stop();
}
Frame 4
stop();
trace("start v2d");
Frame 5
stop();
Frame 11
play();
Frame 67
stop();
Frame 72
stop();
this.onEnterFrame = function () {
var percentage = (((_root.getBytesLoaded() - this.preloaded) / (_root.getBytesTotal() - this.preloaded)) * 100);
this.percentageDisplay = ("loading.." + Math.min(100, int(percentage))) + "%";
if (percentage == 100) {
this.onEnterFrame = undefined;
_root.nextFrame();
}
};
Frame 73
stop();
Frame 74
_global.v2d.main.startGame(pass);
play();
Frame 75
stop();
Frame 76
prevFrame();
Frame 80
_global.v2d.main.pause();
play();
Frame 90
stop();
Symbol 4 MovieClip [star] Frame 1
function update() {
_y = (_y + this.vy);
if (_y > (_parent._parent.height + 20)) {
this.removeMovieClip();
}
}
Symbol 4 MovieClip [star] Frame 2
update();
Symbol 4 MovieClip [star] Frame 3
update();
gotoAndPlay (2);
Symbol 6 MovieClip Frame 1
stop();
Symbol 6 MovieClip Frame 13
_parent._parent.removeMovieClip();
Symbol 11 MovieClip Frame 1
stop();
Symbol 11 MovieClip Frame 13
_parent._parent.removeMovieClip();
Symbol 13 MovieClip [object] Frame 1
function update() {
_y = (_y + this.vy);
if (_y > (_parent._parent.height + 20)) {
this.removeMovieClip();
}
if (((_y + this._height) > (_parent.ship._y + 20)) && ((_y - this._height) < (_parent.ship._y + 20))) {
if (((_x + this._width) > (_parent.ship._x + 1)) && ((_x - this._width) < (_parent.ship._x - 1))) {
gotoAndPlay (4);
}
}
}
Symbol 13 MovieClip [object] Frame 2
update();
Symbol 13 MovieClip [object] Frame 3
update();
gotoAndPlay (2);
Symbol 13 MovieClip [object] Frame 4
if (gfx._currentframe == 1) {
_parent._parent.score = _parent._parent.score - 10;
if (_parent._parent.score < 0) {
_parent._parent.score = 0;
}
} else {
_parent._parent.score = _parent._parent.score + 10;
}
gfx.gfx.play();
stop();
Symbol 24 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(frame5, "face");
component.registerSkinElement(frame3, "shadow");
component.registerSkinElement(frame1, "darkshadow");
component.registerSkinElement(frame4, "highlight");
component.registerSkinElement(frame2, "highlight3D");
Symbol 30 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(frame5, "face");
component.registerSkinElement(frame3, "shadow");
component.registerSkinElement(frame1, "darkshadow");
component.registerSkinElement(frame4, "highlight");
component.registerSkinElement(frame2, "highlight3D");
Symbol 36 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(frame5, "face");
component.registerSkinElement(frame4, "shadow");
component.registerSkinElement(frame2, "darkshadow");
component.registerSkinElement(frame3, "highlight");
component.registerSkinElement(frame1, "highlight3D");
Symbol 42 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(frame5, "face");
component.registerSkinElement(frame3, "shadow");
component.registerSkinElement(frame1, "darkshadow");
component.registerSkinElement(frame4, "highlight");
component.registerSkinElement(frame2, "highlight3D");
Symbol 43 MovieClip [fpb_states] Frame 1
stop();
Symbol 43 MovieClip [fpb_states] Frame 2
stop();
Symbol 43 MovieClip [fpb_states] Frame 3
stop();
Symbol 43 MovieClip [fpb_states] Frame 4
stop();
Symbol 55 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(arrow_mc, "arrow");
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 65 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(arrow_mc, "arrow");
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 74 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(arrow_mc, "foregroundDisabled");
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 75 MovieClip [UpArrow] Frame 1
stop();
Symbol 75 MovieClip [UpArrow] Frame 2
stop();
Symbol 75 MovieClip [UpArrow] Frame 3
stop();
Symbol 81 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 88 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 93 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(highlight3D_mc, "highlight3D");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
Symbol 94 MovieClip [ScrollThumb] Frame 1
stop();
Symbol 102 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(arrow_mc, "arrow");
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 110 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(arrow_mc, "arrow");
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 118 MovieClip Frame 1
var component = _parent._parent;
component.registerSkinElement(arrow_mc, "foregroundDisabled");
component.registerSkinElement(face_mc, "face");
component.registerSkinElement(shadow_mc, "shadow");
component.registerSkinElement(darkshadow_mc, "darkshadow");
component.registerSkinElement(highlight_mc, "highlight");
component.registerSkinElement(highlight3D_mc, "highlight3D");
Symbol 119 MovieClip [DownArrow] Frame 1
stop();
Symbol 119 MovieClip [DownArrow] Frame 2
stop();
Symbol 119 MovieClip [DownArrow] Frame 3
stop();
Symbol 132 MovieClip Frame 1
function do_loop() {
var x = _xmouse;
if (x < this.minX) {
x = this.minX;
}
if (x > this.maxX) {
x = this.maxX;
}
sky.ship._x = x;
if (Math.random() < 0.1) {
newObject = this.sky.attachMovie("object", "object_" + (nextObjectId++), nextObjectId + 1000);
newObject._x = Math.random() * width;
newObject._y = -20;
newObject.vy = (Math.random() * 7) + 3;
if (Math.random() < 0.5) {
newObject.gfx.gotoAndStop(1);
} else {
newObject.gfx.gotoAndStop(2);
}
}
if (Math.random() < 0.05) {
newObject = this.sky.attachMovie("star", "object_" + (nextObjectId++), nextObjectId);
newObject._x = Math.random() * width;
newObject._y = -20;
newObject.vy = (Math.random() * 3) + 1;
newObject.gfx.gotoAndStop(int(newObject.vy));
}
}
minX = 10;
maxX = 240;
width = 250;
height = 250;
objects = new Array();
nextObjectId = 0;
shipV = 2;
score = 0;
Symbol 132 MovieClip Frame 2
do_loop();
Symbol 132 MovieClip Frame 3
do_loop();
gotoAndPlay (2);
Symbol 140 MovieClip Frame 1
Symbol 140 MovieClip Frame 2
percent = _root.getBytesLoaded() / 1000000;
percent = Math.min(90, int(percent * 90));
percent = percent + int(_global.v2d.initProgress * 10);
percent = Math.min(100, percent);
bar._xscale = percent;
if ((_global.v2d.initProgress == 1) && (_root._framesloaded >= 67)) {
_root.gotoAndPlay("ready");
}
Symbol 149 MovieClip Frame 1
_global.v2d.main.loop();
Symbol 149 MovieClip Frame 2
_global.v2d.main.loop();
Symbol 152 MovieClip Frame 1
_global.v2d.initProgress = 0;
_global.v2d.world = new _global.v2d.CWorld();
_global.v2d.tiles = new _global.v2d.CTileSystem(550, 400, 25, 25);
_global.v2d.event = new _global.v2d.CEventSystem();
_global.v2d.respawn = new _global.v2d.CRespawnSystem();
_global.v2d.sprites = new _global.v2d.CSpriteSystem();
Symbol 152 MovieClip Frame 2
var world = "";
world = "";
world = world + "<?xml version=\"1.0\" ?><!DOCTYPE (c)neodelight v2dml ><world><script name=\"indy_phallusSetPlatform\"><c r=\"stat\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"0\" c=\"propGet\" /><c r=\"pos\" p2=\"3\" p1=\"_22_2F_22\" p0=\"stat\" id=\"1\" c=\"math\" /><c p1=\"pos\" p0=\"_5Fself\" id=\"2\" c=\"droneSetPos\" /></script><script name=\"indy_phallusStat\"><c r=\"p0\" p0=\"_22phallus0_22\" id=\"0\" c=\"objectByName\" /><c r=\"p1\" p0=\"_22phallus1_22\" id=\"1\" c=\"objectByName\" /><c r=\"p2\" p0=\"_22phallus2_22\" id=\"2\" c=\"objectByName\" /><c r=\"s0\" p1=\"_22stat_22\" p0=\"p0\" id=\"3\" c=\"propGet\" /><c r=\"s1\" p1=\"_22stat_22\" p0=\"p1\" id=\"4\" c=\"propGet\" /><c r=\"s2\" p1=\"_22stat_22\" p0=\"p2\" id=\"5\" c=\"propGet\" /><c r=\"stat\" p2=\"s2\" p1=\"s1\" p0=\"s0\" id=\"6\" c=\"strCat\" /><c p0=\"stat\" id=\"7\" c=\"return\" /></script><script name=\"indy_phallusUp\"><c r=\"newStat\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"0\" c=\"propGet\" /><c r=\"newStat\" p2=\"1\" p1=\"_22_2D_22\" p0=\"newStat\" id=\"1\" c=\"math\" /><c p2=\"0\" p1=\"_22_3C_22\" p0=\"newStat\" id=\"2\" c=\"if\" /><c r=\"newStat\" p0=\"0\" id=\"3\" c=\"val\" /><c id=\"4\" c=\"else\" /><c p2=\"_2D22_2E6\" p1=\"0\" p0=\"_5Fobject\" id=\"5\" c=\"posOffset\" /><c p2=\"newStat\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"6\" c=\"propSet\" /></script><script name=\"indy_phallusDown\"><c r=\"newStat\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"0\" c=\"propGet\" /><c r=\"newStat\" p2=\"1\" p1=\"_22_2B_22\" p0=\"newStat\" id=\"1\" c=\"math\" /><c p2=\"newStat\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"2\" c=\"propSet\" /></script><prop name=\"new\"><p v=\"script\" n=\"onInitScreen\"><script><c r=\"b\" p0=\"_22bird_22\" id=\"0\" c=\"plGetBehaviour\" /><c p2=\"_22bird_22\" p1=\"_22_3D_3D_22\" p0=\"b\" id=\"1\" c=\"if\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"2\" c=\"propSet\" /><c id=\"3\" c=\"else\" /><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"4\" c=\"propSet\" /></script></p><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c p1=\"_22birdstart_22\" p0=\"60\" id=\"1\" c=\"plSetContinuePoint\" /><c p0=\"_22bird_22\" id=\"2\" c=\"plSetBehaviour\" /><c p1=\"_22birdstart_22\" p0=\"60\" id=\"3\" c=\"goLevel\" /></script></p><p v=\"1\" n=\"active\" /><p v=\"bird_5Fempty\" n=\"activeGfx\" /><p v=\"10\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /></prop><prop name=\"space_5Fplat_5Fvanish\"><p v=\"script\" n=\"onInitScreen\"><script><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /></script></p><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c p2=\"_2D0_2E4\" p1=\"0\" p0=\"_5Fobject\" id=\"1\" c=\"speedAdd\" /><c p1=\"0_2E4\" p0=\"_5Fobject\" id=\"2\" c=\"speedLimitAbs\" /></script></p><p v=\"space_5Fplat\" n=\"sprite\" /><p v=\"44\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop><prop name=\"ball_5Fdummy\"><p v=\"73\" n=\"player_5FdieAnimFrames\" /><p v=\"sprite_5F0\" n=\"sprite\" /><p v=\"0_2E13\" n=\"engine_5FvUpMed\" /><p v=\"0_2E5\" n=\"engine_5FcontrolAY\" /><p v=\"0\" n=\"engine_5Fweight\" /><p v=\"0_2E08\" n=\"engine_5FvUpMin\" /><p v=\"0_2E2\" n=\"engine_5FvUpMax\" /><p v=\"0_2E15\" n=\"engine_5FvSideMax\" /><p v=\"0_2E7\" n=\"engine_5FfrictXOverSpeed\" /><p v=\"0_2E99\" n=\"engine_5FfrictX\" /><p v=\"1\" n=\"engine_5Fflex\" /><p v=\"0_2E05\" n=\"engine_5FcontrolAX\" /><p v=\"7_2E5\" n=\"engine_5Fradius\" /><p v=\"CSEBall\" n=\"engine\" /></prop><prop name=\"space_5Fsat\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E02\" n=\"engine_5Fspeed\" /><p v=\"13\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"space_5Fsat\" n=\"sprite\" /></prop><prop name=\"city_5Fkatze\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E02\" n=\"engine_5Fspeed\" /><p v=\"20\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"city_5Fkatze\" n=\"sprite\" /></prop><prop name=\"plat_5F50\"><p v=\"script\" n=\"onHit\"><script><c p2=\"_2D0_2E15\" p1=\"0\" p0=\"_5Fobject\" id=\"0\" c=\"speedAdd\" /><c p1=\"0_2E2\" p0=\"_5Fobject\" id=\"1\" c=\"speedLimitAbs\" /></script></p><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop><prop name=\"sky_5Fbutton\"><p v=\"script\" n=\"onInitScreen\"><script><c r=\"o\" p1=\"_223doors_22\" p0=\"_22door_5Fred_22\" id=\"0\" c=\"objectByName\" /><c r=\"s\" p1=\"_22active_22\" p0=\"o\" id=\"1\" c=\"propGet\" /><c p2=\"0\" p1=\"_22_3D_3D_22\" p0=\"s\" id=\"2\" c=\"if\" /><c p2=\"1\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"3\" c=\"propSet\" /><c id=\"4\" c=\"else\" /><c p2=\"0\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"5\" c=\"propSet\" /></script></p><p v=\"script\" n=\"onHit\"><script><c p2=\"1\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c r=\"o\" p1=\"_223doors_22\" p0=\"_22door_5Fred_22\" id=\"1\" c=\"objectByName\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"o\" id=\"2\" c=\"propSet\" /></script></p><p v=\"0\" n=\"stat\" /><p v=\"button_5Fred\" n=\"activeGfx\" /><p v=\"15\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /></prop><prop name=\"bird\"><p v=\"CSEStarshipBall\" n=\"engine\" /><p v=\"73\" n=\"player_5FdieAnimFrames\" /><p v=\"bird\" n=\"sprite\" /><p v=\"0_2E023\" n=\"engine_5FcontrolAY\" /><p v=\"0_2E00015\" n=\"engine_5Fweight\" /><p v=\"0_2E3\" n=\"engine_5Fflex\" /><p v=\"0_2E015\" n=\"engine_5FcontrolAX\" /><p v=\"9\" n=\"engine_5Fradius\" /></prop><prop name=\"wald_5Fplat_5Fvanish_5Frespawn\"><p v=\"25\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /><p v=\"script\" n=\"onHit\"><script><c r=\"b\" p0=\"_22bird_22\" id=\"0\" c=\"plGetBehaviour\" /><c p2=\"_22bird_22\" p1=\"_22_3D_3D_22\" p0=\"b\" id=\"1\" c=\"if\" /><c id=\"2\" c=\"return\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"3\" c=\"propSet\" /><c p2=\"_2D0_2E06\" p1=\"0\" p0=\"_5Fobject\" id=\"4\" c=\"speedAdd\" /><c p1=\"0_2E29\" p0=\"_5Fobject\" id=\"5\" c=\"speedLimitAbs\" /></script></p><p v=\"wald_5Fplatform_5Fsmall\" n=\"sprite\" /><p v=\"script\" n=\"onInitScreen\"><script><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /></script></p></prop><prop name=\"wald_5Fspinne\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E01\" n=\"engine_5Fspeed\" /><p v=\"12\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"wald_5Fspinne\" n=\"sprite\" /></prop><prop name=\"xtra10\"><p v=\"script\" n=\"onHit\"><script><c id=\"0\" c=\"plCoin\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"1\" c=\"propSet\" /><c p0=\"_22coin_22\" id=\"2\" c=\"sndPlay\" /></script></p><p v=\"9\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /><p v=\"points10\" n=\"sprite\" /></prop><prop name=\"wald_5Fplat_5Fvanish\"><p v=\"25\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c p2=\"_2D0_2E06\" p1=\"0\" p0=\"_5Fobject\" id=\"1\" c=\"speedAdd\" /><c p1=\"0_2E29\" p0=\"_5Fobject\" id=\"2\" c=\"speedLimitAbs\" /></script></p><p v=\"wald_5Fplatform_5Fsmall\" n=\"sprite\" /></prop><prop name=\"wald_5Fplat\"><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"0_2E01\" n=\"engine_5Fspeed\" /><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /><p v=\"wald_5Fplatform_5Fbig\" n=\"sprite\" /></prop><prop name=\"wald_5Fbiene\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E01\" n=\"engine_5Fspeed\" /><p v=\"12\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"wald_5Fbiene\" n=\"sprite\" /></prop><prop name=\"indy_5Fbat\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E02\" n=\"engine_5Fspeed\" /><p v=\"10\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"indy_5Fbat\" n=\"sprite\" /></prop><prop name=\"xtraLive\"><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c id=\"1\" c=\"plXtraLive\" /><c p0=\"_22newlife2_22\" id=\"2\" c=\"sndPlay\" /></script></p><p v=\"xtraLive\" n=\"sprite\" /><p v=\"20\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /></prop><prop name=\"deadlyObject\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p></prop><prop name=\"indy_5Fplatform_5Fmoving\"><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"0_2E05\" n=\"engine_5Fspeed\" /><p v=\"60\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /><p v=\"indy_5Fplatform_5Fmoving\" n=\"sprite\" /></prop><prop name=\"indy_5Fplatform\"><p v=\"indy_5Fplatform\" n=\"sprite\" /><p v=\"60\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop><prop name=\"indy_5Fplatform_5Fsmall_5Fvanish\"><p v=\"script\" n=\"onInitScreen\"><script><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /></script></p><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /></script></p><p v=\"1\" n=\"active\" /><p v=\"indy_5Fplatform_5Fsmall\" n=\"sprite\" /><p v=\"34\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop><prop name=\"indy_5Fbumper_5F1_2E5\"><p v=\"script\" n=\"onHit\"><script><c p2=\"_2D0_2E15\" p1=\"0\" p0=\"_5Fobject\" id=\"0\" c=\"speedAdd\" /><c p1=\"0_2E4\" p0=\"_5Fobject\" id=\"1\" c=\"speedLimitAbs\" /></script></p></prop><prop name=\"indy_5Fphallus\"><p v=\"script\" n=\"onInitScreen\"><script><c p0=\"_22indy_5FphallusSetPlatform_22\" id=\"0\" c=\"script\" /></script></p><p v=\"0\" n=\"engine_5Fspeed\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"67_2E8\" n=\"engine_5Fdy\" /><p v=\"0\" n=\"engine_5Fdx\" /><p v=\"0\" n=\"stat\" /><p v=\"phallus\" n=\"activeGfx\" /><p v=\"1\" n=\"active\" /><p v=\"47\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /></prop><prop name=\"indy_5Flore\"><p v=\"70\" n=\"engine_5Fwidth\" /><p v=\"0_2E02\" n=\"engine_5Fspeed\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /><p v=\"indy_5Flore\" n=\"sprite\" /></prop><prop name=\"wald_5Fnager\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E01\" n=\"engine_5Fspeed\" /><p v=\"15\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"wald_5Fnager\" n=\"sprite\" /></prop><prop name=\"wald_5Fpilz\"><p v=\"script\" n=\"onHit\"><script><c p2=\"_2D0_2E25\" p1=\"0\" p0=\"_5Fobject\" id=\"0\" c=\"speedAdd\" /><c p1=\"0_2E55\" p0=\"_5Fobject\" id=\"1\" c=\"speedLimitAbs\" /></script></p><p v=\"35\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /><p v=\"wald_5Fpilz\" n=\"sprite\" /></prop><prop name=\"wald_5Fswitch\"><p v";
world = world + "=\"0\" n=\"stat\" /><p v=\"wald_5Fswitch\" n=\"sprite\" /><p v=\"16\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /></prop><prop name=\"sky_5Fplatform\"><p v=\"sky_5Fplatform\" n=\"sprite\" /><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop><prop name=\"sky_5Fplatform_5Fmoving\"><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"0_2E05\" n=\"engine_5Fspeed\" /><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /><p v=\"sky_5Fplatform\" n=\"sprite\" /></prop><prop name=\"sky_5Fplatform_5Fsmall\"><p v=\"sky_5Fplatform_5Fsmall\" n=\"sprite\" /><p v=\"23\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop><prop name=\"sky_5Fspeer\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E01\" n=\"engine_5Fspeed\" /><p v=\"12\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"sky_5Fspear\" n=\"sprite\" /></prop><prop name=\"sky_5Fplat_5Fvan_5Fresp\"><p v=\"22\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c p2=\"_2D0_2E06\" p1=\"0\" p0=\"_5Fobject\" id=\"1\" c=\"speedAdd\" /><c p1=\"0_2E29\" p0=\"_5Fobject\" id=\"2\" c=\"speedLimitAbs\" /></script></p><p v=\"sky_5Fplatform_5Fsmall\" n=\"sprite\" /><p v=\"script\" n=\"onInitScreen\"><script><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /></script></p></prop><prop name=\"wald_5Fplat_5Fspecial\"><p v=\"25\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /><p v=\"script\" n=\"onHit\"><script><c r=\"b\" p0=\"_22bird_22\" id=\"0\" c=\"plGetBehaviour\" /><c p2=\"_22bird_22\" p1=\"_22_3D_3D_22\" p0=\"b\" id=\"1\" c=\"if\" /><c id=\"2\" c=\"return\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"3\" c=\"propSet\" /><c p2=\"_2D0_2E06\" p1=\"0\" p0=\"_5Fobject\" id=\"4\" c=\"speedAdd\" /><c p1=\"0_2E29\" p0=\"_5Fobject\" id=\"5\" c=\"speedLimitAbs\" /></script></p><p v=\"wald_5Fplatform_5Fsmall\" n=\"sprite\" /><p v=\"script\" n=\"onInitScreen\"><script><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /></script></p></prop><prop name=\"sky_5Fmorgenstern\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E02\" n=\"engine_5Fspeed\" /><p v=\"15\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"sky_5Fmorgenstern\" n=\"sprite\" /></prop><prop name=\"city_5Fratte\"><p v=\"script\" n=\"onHit\"><script><c p1=\"99999\" p0=\"_5Fobject\" id=\"0\" c=\"damage\" /></script></p><p v=\"0_2E02\" n=\"engine_5Fspeed\" /><p v=\"12\" n=\"engine_5Fradius\" /><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"CSECircleDrone\" n=\"engine\" /><p v=\"city_5Fratte\" n=\"sprite\" /></prop><prop name=\"city_5Fplat_5F86\"><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"0_2E05\" n=\"engine_5Fspeed\" /><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /><p v=\"city_5Fplat_5F86\" n=\"sprite\" /></prop><prop name=\"rocket\"><p v=\"0_2E04\" n=\"engine_5FcontrolAR\" /><p v=\"0_2E9\" n=\"engine_5FfrictR\" /><p v=\"73\" n=\"player_5FdieAnimFrames\" /><p v=\"rocket\" n=\"sprite\" /><p v=\"0_2E02\" n=\"engine_5FcontrolAY\" /><p v=\"0_2E000021\" n=\"engine_5Fweight\" /><p v=\"0_2E5\" n=\"engine_5Fflex\" /><p v=\"7_2E5\" n=\"engine_5Fradius\" /><p v=\"CSERocketBall\" n=\"engine\" /></prop><prop name=\"ball\"><p v=\"73\" n=\"player_5FdieAnimFrames\" /><p v=\"sprite_5F0\" n=\"sprite\" /><p v=\"0_2E13\" n=\"engine_5FvUpMed\" /><p v=\"0_2E5\" n=\"engine_5FcontrolAY\" /><p v=\"0_2E00035\" n=\"engine_5Fweight\" /><p v=\"0_2E08\" n=\"engine_5FvUpMin\" /><p v=\"0_2E2\" n=\"engine_5FvUpMax\" /><p v=\"0_2E15\" n=\"engine_5FvSideMax\" /><p v=\"0_2E7\" n=\"engine_5FfrictXOverSpeed\" /><p v=\"0_2E99\" n=\"engine_5FfrictX\" /><p v=\"1\" n=\"engine_5Fflex\" /><p v=\"0_2E05\" n=\"engine_5FcontrolAX\" /><p v=\"7_2E5\" n=\"engine_5Fradius\" /><p v=\"CSEWonderBall\" n=\"engine\" /></prop><prop name=\"vanish\"><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c r=\"o\" p0=\"_22counter_22\" id=\"1\" c=\"objectByName\" /><c r=\"n\" p1=\"_22n_22\" p0=\"o\" id=\"2\" c=\"propGet\" /><c r=\"n\" p2=\"1\" p1=\"_22_2D_22\" p0=\"n\" id=\"3\" c=\"math\" /><c p2=\"n\" p1=\"_22n_22\" p0=\"o\" id=\"4\" c=\"propSet\" /><c p2=\"0\" p1=\"_22_3C_3D_22\" p0=\"n\" id=\"5\" c=\"if\" /><c r=\"o\" p0=\"_22door_22\" id=\"6\" c=\"objectByName\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"o\" id=\"7\" c=\"propSet\" /></script></p></prop><prop name=\"space_5Fplat_5Fmoving\"><p v=\"0\" n=\"engine_5Fpos\" /><p v=\"0_2E05\" n=\"engine_5Fspeed\" /><p v=\"44\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatformDrone\" n=\"engine\" /><p v=\"space_5Fplat\" n=\"sprite\" /></prop><l id=\"0\"><p><v y0=\"1.8\" x0=\"1.8\" /><v y0=\"1.8\" x0=\"545.4\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"1\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"350.05\" x0=\"546.3\" /><v y0=\"350.05\" x0=\"1.8\" /></p><m y1=\"135.5\" x1=\"230\" y0=\"135.9\" x0=\"227.7\"><prop name=\"\"><p v=\"70\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"132.85\" x1=\"327.05\" y0=\"132.85\" x0=\"327.05\"><prop name=\"\"><p v=\"60\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"132.85\" x1=\"415.1\" y0=\"132.3\" x0=\"418.5\"><prop name=\"\"><p v=\"60\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"132.85\" x1=\"513.05\" y0=\"132.85\" x0=\"513.05\"><prop name=\"\"><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"311.45\" x1=\"44.95\" y0=\"311.4\" x0=\"47.7\"><prop name=\"savepoint\" /></m><m y1=\"16.2\" x1=\"533.7\" y0=\"328.5\" x0=\"532.8\"><prop name=\"e\" /></m><m y1=\"102.3\" x1=\"258.75\" y0=\"105.3\" x0=\"264.6\"><prop super=\"xtraLive\" name=\"\" /></m><m y1=\"349.2\" x1=\"232.2\" y0=\"349.2\" x0=\"440.1\"><prop super=\"city_5Fkatze\" name=\"\"><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"104.4\" x1=\"313.2\" y0=\"79.2\" x0=\"313.2\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"77.2\" x1=\"402.55\" y0=\"77.2\" x0=\"402.55\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"73.6\" x1=\"494.2\" y0=\"78.3\" x0=\"495\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"292.6\" x1=\"292.9\" y0=\"292.5\" x0=\"305.1\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"293.5\" x1=\"405.2\" y0=\"290.7\" x0=\"401.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"290.8\" x1=\"495.95\" y0=\"290.8\" x0=\"495.95\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"182.8\" x1=\"156.5\" y0=\"184.25\" x0=\"155.8\"><prop name=\"\"><p v=\"80\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m></l><l id=\"1\"><p><v y0=\"1.8\" x0=\"1.8\" /><v y0=\"2.7\" x0=\"547.2\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"2\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"357.3\" x0=\"548.1\" /><v y0=\"354.6\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"0\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"128.35\" x1=\"9.9\" y0=\"127.8\" x0=\"-1.8\"><prop name=\"\"><p v=\"30\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"125.65\" x1=\"55.7\" y0=\"127.8\" x0=\"57.6\"><prop name=\"\"><p v=\"65\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"125.65\" x1=\"159.05\" y0=\"126\" x0=\"161.1\"><prop name=\"\"><p v=\"65\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"94.25\" x1=\"285.75\" y0=\"95.4\" x0=\"284.4\"><prop name=\"\"><p v=\"270\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"291.7\" x1=\"342.35\" y0=\"292.5\" x0=\"342.9\"><prop name=\"\"><p v=\"210\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"257.6\" x1=\"248\" y0=\"259.2\" x0=\"249.3\"><prop name=\"\"><p v=\"95\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"301.55\" x1=\"204.85\" y0=\"302.4\" x0=\"204.3\"><prop name=\"\"><p v=\"45\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"338.4\" x1=\"16.2\" y0=\"14.4\" x0=\"15.3\"><prop name=\"w\" /></m><m y1=\"16.15\" x1=\"531\" y0=\"343.7\" x0=\"534.35\"><prop name=\"e\" /></m><m y1=\"355.5\" x1=\"178.2\" y0=\"353.7\" x0=\"75.6\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E033\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"355.5\" x1=\"456.3\" y0=\"354.6\" x0=\"284.4\"><prop super=\"city_5Fkatze\" name=\"\"><p v=\"0_2E017\" n=\"engine_5Fspeed\" /><p v=\"0_2E25\" n=\"engine_5Fpos\" /></prop></m><m y1=\"84.35\" x1=\"41.35\" y0=\"84.35\" x0=\"41.35\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"85.25\" x1=\"141.05\" y0=\"85.25\" x0=\"141.05\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"69.1\" x1=\"311.8\" y0=\"69.1\" x0=\"311.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"68.2\" x1=\"398.05\" y0=\"68.2\" x0=\"398.05\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"67.3\" x1=\"483.4\" y0=\"67.3\" x0=\"483.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"267.45\" x1=\"399.85\" y0=\"267.45\" x0=\"399.85\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"246.8\" x1=\"532.8\" y0=\"263.7\" x0=\"510.3\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"2\"><p><v y0=\"1.8\" x0=\"1.8\" /><v y0=\"0\" x0=\"482.1\" /><v y0=\"181.5\" x0=\"481.2\" /><v y0=\"181.5\" x0=\"453.7\" /><v y0=\"211.75\" x0=\"481.2\" /><v y0=\"1.8\" x0=\"502.2\" /><v y0=\"2.7\" x0=\"544.5\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"3\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"350.95\" x0=\"546.3\" /><v y0=\"356.3\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"1\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"282.7\" x1=\"0.9\" y0=\"284.15\" x0=\"-10.1\"><prop name=\"\"><p v=\"40\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"284.5\" x1=\"53\" y0=\"285.3\" x0=\"53.1\"><prop name=\"\"><p v=\"255\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"246.8\" x1=\"301.9\" y0=\"246.55\" x0=\"298.8\"><prop name=\"\"><p v=\"120\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"210\" x1=\"325.25\" y0=\"211.75\" x0=\"321.7\"><prop name=\"\"><p v=\"47\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"88.85\" x1=\"0\" y0=\"88.85\" x0=\"0\"><prop name=\"\"><p v=\"35\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"87.95\" x1=\"51.2\" y0=\"87.95\" x0=\"51.2\"><prop name=\"\"><p v=\"280\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"132.85\" x1=\"353.1\" y0=\"136.55\" x0=\"351.05\"><prop name=\"\"><p v=\"70\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"337.5\" x1=\"16.2\" y0=\"15.3\" x0=\"16.2\"><prop name=\"w\" /></m><m y1=\"19.8\" x1=\"532.8\" y0=\"332.1\" x0=\"531\"><prop name=\"e\" /></m><m y1=\"353";
world = world + ".7\" x1=\"118.8\" y0=\"351.9\" x0=\"425.7\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E021\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"69.1\" x1=\"72.8\" y0=\"69.1\" x0=\"72.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"67.3\" x1=\"221.05\" y0=\"67.3\" x0=\"221.05\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"3\"><p><v y0=\"1.8\" x0=\"2.7\" /><v y0=\"2.7\" x0=\"531.9\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"4\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"157.5\" x0=\"533.7\" /><v y0=\"157.05\" x0=\"460.95\" /><v y0=\"348.25\" x0=\"265.95\" /><v y0=\"348.3\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"2\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"144.5\" x1=\"131.2\" y0=\"144.5\" x0=\"131.2\"><prop name=\"\"><p v=\"65\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"141.8\" x1=\"223.75\" y0=\"144\" x0=\"225.9\"><prop name=\"\"><p v=\"60\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"142.7\" x1=\"312.7\" y0=\"144\" x0=\"315\"><prop name=\"\"><p v=\"60\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"337.5\" x1=\"17.1\" y0=\"24.3\" x0=\"25.2\"><prop name=\"w\" /></m><m y1=\"18.9\" x1=\"516.6\" y0=\"136.8\" x0=\"514.8\"><prop name=\"e\" /></m><m y1=\"347.4\" x1=\"81.9\" y0=\"347.4\" x0=\"335.7\"><prop super=\"city_5Fkatze\" name=\"\"><p v=\"0_2E016\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"122.05\" x1=\"163.55\" y0=\"122.05\" x0=\"163.55\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"81.65\" x1=\"164.45\" y0=\"81.65\" x0=\"164.45\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"122.05\" x1=\"256.05\" y0=\"122.05\" x0=\"256.05\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"80.8\" x1=\"256.95\" y0=\"80.8\" x0=\"256.95\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"120.25\" x1=\"345.05\" y0=\"120.25\" x0=\"345.05\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"79.9\" x1=\"345.9\" y0=\"79.9\" x0=\"345.9\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"4\"><p><v y0=\"1.8\" x0=\"44.05\" /><v y0=\"2.7\" x0=\"547.2\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"5\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"324.9\" x0=\"548.1\" /><v y0=\"324.9\" x0=\"380.95\" /><v y0=\"211.8\" x0=\"381.6\" /><v y0=\"211.8\" x0=\"249.8\" /><v y0=\"271.05\" x0=\"243.5\" /><v y0=\"271.05\" x0=\"205.75\" /><v y0=\"277.35\" x0=\"208.45\" /><v y0=\"326.7\" x0=\"206.65\" /><v y0=\"326.7\" x0=\"44.95\" /></p><m y1=\"205.55\" x1=\"83.55\" y0=\"205.55\" x0=\"83.55\"><prop name=\"\"><p v=\"70\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"105\" x1=\"305.5\" y0=\"103.5\" x0=\"305.1\"><prop name=\"\"><p v=\"260\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"165.15\" x1=\"112.3\" y0=\"165.15\" x0=\"112.3\"><prop name=\"w\" /></m><m y1=\"16.2\" x1=\"532.8\" y0=\"302.4\" x0=\"532.8\"><prop name=\"e\" /></m><m y1=\"326.7\" x1=\"68.4\" y0=\"324.9\" x0=\"180.9\"><prop super=\"city_5Fkatze\" name=\"\" /></m><m y1=\"324\" x1=\"408.6\" y0=\"323.1\" x0=\"585\"><prop super=\"city_5Fkatze\" name=\"\"><p v=\"0_2E7\" n=\"engine_5Fpos\" /></prop></m><m y1=\"84.35\" x1=\"326.15\" y0=\"84.35\" x0=\"326.15\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"82.55\" x1=\"380.05\" y0=\"82.55\" x0=\"380.05\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"82.55\" x1=\"434.85\" y0=\"82.55\" x0=\"434.85\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"79.9\" x1=\"495.05\" y0=\"82.8\" x0=\"491.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"305.15\" x1=\"59.3\" y0=\"305.15\" x0=\"59.3\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"260.3\" x1=\"59.3\" y0=\"260.3\" x0=\"59.3\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"213.6\" x1=\"59.3\" y0=\"213.6\" x0=\"59.3\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"5\"><p><v y0=\"2.7\" x0=\"1.8\" /><v y0=\"2.7\" x0=\"460.95\" /><v y0=\"211.8\" x0=\"459.15\" /><v y0=\"247.7\" x0=\"384.55\" /><v y0=\"280.9\" x0=\"383.65\" /><v y0=\"280.8\" x0=\"347.4\" /><v y0=\"325.8\" x0=\"354\" /><v y0=\"324.9\" x0=\"234.5\" /><v y0=\"307.85\" x0=\"236.3\" /><v y0=\"301.55\" x0=\"246.2\" /><v y0=\"260.1\" x0=\"247.5\" /><v y0=\"260.1\" x0=\"225.9\" /><v y0=\"289.9\" x0=\"223.75\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p2=\"_2D0_2E2\" p1=\"0\" p0=\"_5Fobject\" id=\"0\" c=\"speedAdd\" /><c p1=\"0_2E6\" p0=\"_5Fobject\" id=\"1\" c=\"speedLimitAbs\" /></script></p></prop></v><v y0=\"289.9\" x0=\"175.2\" /><v y0=\"261.9\" x0=\"173.7\" /><v y0=\"261.9\" x0=\"153\" /><v y0=\"306.05\" x0=\"157.25\" /><v y0=\"306.95\" x0=\"163.55\" /><v y0=\"325.8\" x0=\"168\" /><v y0=\"325.8\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"4\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"96.95\" x1=\"0\" y0=\"99.9\" x0=\"-1.85\"><prop name=\"\"><p v=\"175\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"200.15\" x1=\"355.8\" y0=\"201.6\" x0=\"356.4\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"6\" id=\"0\" c=\"goLevel\" /></script></p><p v=\"80\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"306\" x1=\"15.3\" y0=\"17.1\" x0=\"16.2\"><prop name=\"w\" /></m><m y1=\"324.9\" x1=\"-32.4\" y0=\"325.8\" x0=\"134.1\"><prop super=\"city_5Fkatze\" name=\"\"><p v=\"_2D0_2E2\" n=\"engine_5Fpos\" /></prop></m><m y1=\"161.55\" x1=\"333.35\" y0=\"161.55\" x0=\"333.35\"><prop name=\"e\" /></m><m y1=\"78.1\" x1=\"33.25\" y0=\"78.1\" x0=\"33.25\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"76.3\" x1=\"84.45\" y0=\"76.3\" x0=\"84.45\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"75.4\" x1=\"137.45\" y0=\"75.4\" x0=\"137.45\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"6\"><p><v y0=\"1.85\" x0=\"85.2\" /><v y0=\"1.8\" x0=\"546.3\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"7\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"369.75\" x0=\"546.3\" /><v y0=\"369.75\" x0=\"386.35\" /><v y0=\"302.45\" x0=\"389.95\" /><v y0=\"302.45\" x0=\"402.55\" /><v y0=\"293.4\" x0=\"405.9\" /><v y0=\"292.5\" x0=\"388.8\" /><v y0=\"267.3\" x0=\"385.2\" /><v y0=\"266.75\" x0=\"362.95\" /><v y0=\"294.2\" x0=\"359.3\" /><v y0=\"292.5\" x0=\"341.1\" /><v y0=\"303.4\" x0=\"345.55\" /><v y0=\"303.35\" x0=\"362.1\" /><v y0=\"369.75\" x0=\"361.2\" /><v y0=\"369.75\" x0=\"250.7\" /><v y0=\"329.4\" x0=\"248.9\" /><v y0=\"316.8\" x0=\"235.4\" /><v y0=\"316.8\" x0=\"208.45\" /><v y0=\"294.4\" x0=\"206.65\" /><v y0=\"282.7\" x0=\"195\" /><v y0=\"281.4\" x0=\"166.8\" /><v y0=\"239.25\" x0=\"171.4\" /><v y0=\"230.4\" x0=\"149.4\" /><v y0=\"230.4\" x0=\"110.7\" /><v y0=\"237.85\" x0=\"91.65\" /><v y0=\"131.05\" x0=\"93.45\" /><v y0=\"131.05\" x0=\"35.05\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"5\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"35.75\" x0=\"30.25\" /><v y0=\"33.9\" x0=\"86.15\" /></p><m y1=\"301.55\" x1=\"474.4\" y0=\"301.5\" x0=\"473.4\"><prop name=\"\"><p v=\"75\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"85.25\" x1=\"478\" y0=\"85.25\" x0=\"478\"><prop name=\"\"><p v=\"70\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"94.25\" x1=\"58.4\" y0=\"94.25\" x0=\"58.4\"><prop name=\"w\" /></m><m y1=\"17.05\" x1=\"531.9\" y0=\"360.9\" x0=\"533.7\"><prop name=\"e\" /></m><m y1=\"370.8\" x1=\"264.6\" y0=\"369\" x0=\"347.4\"><prop super=\"city_5Fratte\" name=\"\" /></m><m y1=\"343.8\" x1=\"271.8\" y0=\"343.8\" x0=\"271.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"342.85\" x1=\"302.8\" y0=\"343.8\" x0=\"302.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"85.25\" x1=\"132.1\" y0=\"85.25\" x0=\"132.1\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"140\" x1=\"129.4\" y0=\"140\" x0=\"129.4\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"7\"><p><v y0=\"0.9\" x0=\"1.8\" /><v y0=\"0.9\" x0=\"334.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"8\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"0.9\" x0=\"461.85\" /><v y0=\"364.4\" x0=\"459.15\" /><v y0=\"364.4\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"6\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"298.85\" x1=\"0.9\" y0=\"297.9\" x0=\"0.9\"><prop name=\"\"><p v=\"210\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"80.8\" x1=\"0\" y0=\"80.8\" x0=\"0\"><prop name=\"\"><p v=\"210\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"336.55\" x1=\"342.35\" y0=\"337.5\" x0=\"344.7\"><prop name=\"\"><p v=\"50\" n=\"engine_5Fwidth\" /><p v=\"CSEPlatform\" n=\"engine\" /></prop></m><m y1=\"310.55\" x1=\"350.4\" y0=\"313.2\" x0=\"350.1\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"284.5\" x1=\"355.8\" y0=\"287.1\" x0=\"356.4\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"261.15\" x1=\"362.1\" y0=\"261.9\" x0=\"360.9\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"232.45\" x1=\"368.4\" y0=\"237.6\" x0=\"366.3\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"209.1\" x1=\"371.1\" y0=\"213.3\" x0=\"370.8\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"187.6\" x1=\"375.55\" y0=\"189\" x0=\"375.3\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"162.45\" x1=\"380.05\" y0=\"163.8\" x0=\"378.9\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"139.1\" x1=\"384.55\" y0=\"140.4\" x0=\"384.3\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"114.9\" x1=\"389.05\" y0=\"117\" x0=\"388.8\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"90.65\" x1=\"394.45\" y0=\"92.7\" x0=\"394.2\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"67.3\" x1=\"399.85\" y0=\"68.4\" x0=\"398.7\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"42.2\" x1=\"404.35\" y0=\"43.2\" x0=\"402.3\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"17.95\" x1=\"409.7\" y0=\"18\" x0=\"406.8\"><prop super=\"plat_5F50\" name=\"\" /></m><m y1=\"355.5\" x1=\"16.2\" y0=\"14.4\" x0=\"18.9\"><prop name=\"w\" /></m><m y1=\"367.2\" x1=\"299.7\" y0=\"366.3\" x0=\"55.8\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E016\" n=\"engine_5Fspeed\" /><p v=\"_2D0_2E7\" n=\"engine_5Fpos\" /></prop></m><m y1=\"364.5\" x1=\"426.6\" y0=\"368.1\" x0=\"110.7\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E016\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"21.55\" x1=\"379.15\" y0=\"21.55\" x0=\"379.15\"><prop name=\"e\" /></m><m y1=\"142.7\" x1=\"282.15\" y0=\"142.7\" x0=\"282.15\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"197.45\" x1=\"281.25\" y0=\"197.45\" x0=\"281.25\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"243.2\" x1=\"278.55\" y0=\"251.1\" x0=\"279.9\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"8\"><p><v y0=\"2.7\" x0=\"89.85\" /><v y0=\"2.7\" x0=\"510.35\" /><v y0=\"350.15\" x0=\"505.95\" /><v y0=\"350.15\" x0=\"399.6\" /><v y0=\"396.9\" x0=\"398.7\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22n_22\" p0=\"9\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"397.6\" x0=\"329.75\" /><v y0=\"350.95\" x0=\"328.85\" /><v y0=\"350.95\" x0=\"214.75\" /><v y0=\"245.7\" x0=\"215.1\" /><v y0=";
world = world + "\"234\" x0=\"217.8\" /><v y0=\"234\" x0=\"90.9\" /><v y0=\"195.3\" x0=\"89.1\" /><v y0=\"195.3\" x0=\"18\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"7\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"88\" x0=\"16.5\" /></p><m y1=\"163.35\" x1=\"43.15\" y0=\"163.35\" x0=\"43.15\"><prop name=\"w\" /></m><m y1=\"342.85\" x1=\"330.65\" y0=\"349.2\" x0=\"334.55\"><prop super=\"indy_5Fplatform\" name=\"door\" /></m><m y1=\"299.75\" x1=\"500.45\" y0=\"298.8\" x0=\"490.5\"><prop name=\"\"><p v=\"0\" n=\"stat\" /><p v=\"switch\" n=\"activeGfx\" /><p v=\"script\" n=\"onHit\"><script><c r=\"p\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"0\" c=\"propGet\" /><c p2=\"1\" p1=\"_22_3D_3D_22\" p0=\"p\" id=\"1\" c=\"if\" /><c p0=\"_22newlife_22\" id=\"2\" c=\"sndPlay\" /><c r=\"o\" p0=\"_22door_22\" id=\"3\" c=\"objectByName\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"o\" id=\"4\" c=\"propSet\" /><c p2=\"1\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"5\" c=\"propSet\" /></script></p><p v=\"20\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /></prop></m><m y1=\"234\" x1=\"114.3\" y0=\"232.2\" x0=\"204.3\"><prop super=\"city_5Fkatze\" name=\"\" /></m></l><l id=\"9\"><p><v y0=\"1.8\" x0=\"150.95\" /><v y0=\"23.35\" x0=\"150.05\" /><v y0=\"23.35\" x0=\"444.75\" /><v y0=\"107.7\" x0=\"527.4\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"10\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"242.35\" x0=\"528.3\" /><v y0=\"242.35\" x0=\"443.85\" /><v y0=\"296.2\" x0=\"443.85\" /><v y0=\"296.2\" x0=\"395.35\" /><v y0=\"306.05\" x0=\"398.95\" /><v y0=\"347.35\" x0=\"390.85\" /><v y0=\"347.35\" x0=\"163.55\" /><v y0=\"271.05\" x0=\"168\" /><v y0=\"269.25\" x0=\"174.3\" /><v y0=\"247.7\" x0=\"176.1\" /><v y0=\"247.7\" x0=\"181.5\" /><v y0=\"242\" x0=\"179.65\" /><v y0=\"242\" x0=\"43.05\" /><v y0=\"27.5\" x0=\"44\" /><v y0=\"27.5\" x0=\"74.2\" /><v y0=\"1.8\" x0=\"77.3\" /></p><m y1=\"13.45\" x1=\"110.5\" y0=\"13.45\" x0=\"110.5\"><prop name=\"n\" /></m><m y1=\"120.25\" x1=\"495.95\" y0=\"225.9\" x0=\"495.9\"><prop name=\"e\" /></m><m y1=\"343.8\" x1=\"198\" y0=\"344.7\" x0=\"359.1\"><prop super=\"city_5Fkatze\" name=\"\" /></m><m y1=\"45.75\" x1=\"112.3\" y0=\"45.75\" x0=\"112.3\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"111.3\" x1=\"110.5\" y0=\"111.3\" x0=\"110.5\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"176.8\" x1=\"107.8\" y0=\"176.8\" x0=\"107.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"322.2\" x1=\"195.9\" y0=\"322.2\" x0=\"195.9\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"324.9\" x1=\"261.45\" y0=\"323.1\" x0=\"264.6\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"325.8\" x1=\"327.05\" y0=\"324\" x0=\"328.5\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"10\"><prop name=\"\"><p v=\"limelight\" n=\"password\" /></prop><p><v y0=\"29.6\" x0=\"30.55\" /><v y0=\"2.7\" x0=\"108.7\" /><v y0=\"2.7\" x0=\"546.3\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"11\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"359.9\" x0=\"546.3\" /><v y0=\"359.9\" x0=\"113.2\" /><v y0=\"134.65\" x0=\"110.5\" /><v y0=\"134.65\" x0=\"30.55\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"9\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"118.8\" x1=\"66.6\" y0=\"42.3\" x0=\"69.3\"><prop name=\"w\" /></m><m y1=\"17.95\" x1=\"528.3\" y0=\"339.3\" x0=\"530.1\"><prop name=\"e\" /></m><m y1=\"360\" x1=\"248.4\" y0=\"360\" x0=\"508.5\"><prop super=\"city_5Fratte\" name=\"\" /></m><m y1=\"360\" x1=\"229.5\" y0=\"360.9\" x0=\"489.6\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E4\" n=\"engine_5Fpos\" /></prop></m><m y1=\"360\" x1=\"239.4\" y0=\"360.9\" x0=\"499.5\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"_2D0_2E4\" n=\"engine_5Fpos\" /></prop></m><m y1=\"324\" x1=\"152.75\" y0=\"324.9\" x0=\"153\"><prop name=\"savepoint\" /></m><m y1=\"325.8\" x1=\"303.7\" y0=\"325.8\" x0=\"303.7\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"322.2\" x1=\"443.85\" y0=\"322.2\" x0=\"443.85\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"11\"><p><v y0=\"1.85\" x0=\"421.6\" /><v y0=\"354.5\" x0=\"418.7\" /><v y0=\"354.5\" x0=\"401.65\" /><v y0=\"397.6\" x0=\"404.35\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22n_22\" p0=\"12\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"397.6\" x0=\"327.95\" /><v y0=\"355.4\" x0=\"329.75\" /><v y0=\"355.4\" x0=\"2.7\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"10\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"1.8\" x0=\"2.7\" /></p><m y1=\"342\" x1=\"18\" y0=\"19.8\" x0=\"21.6\"><prop name=\"w\" /></m><m y1=\"78.1\" x1=\"406.1\" y0=\"78.1\" x0=\"406.1\"><prop name=\"\"><p v=\"0\" n=\"stat\" /><p v=\"switch\" n=\"activeGfx\" /><p v=\"script\" n=\"onHit\"><script><c r=\"p\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"0\" c=\"propGet\" /><c p2=\"0\" p1=\"_22_3D_3D_22\" p0=\"p\" id=\"1\" c=\"if\" /><c p0=\"_22newlife_22\" id=\"2\" c=\"sndPlay\" /><c p2=\"1\" p1=\"_22stat_22\" p0=\"_5Fself\" id=\"3\" c=\"propSet\" /><c r=\"o\" p0=\"_22door_22\" id=\"4\" c=\"objectByName\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"o\" id=\"5\" c=\"propSet\" /></script></p><p v=\"20\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /></prop></m><m y1=\"357.2\" x1=\"336.95\" y0=\"355.5\" x0=\"336.6\"><prop super=\"indy_5Fplatform\" name=\"door\"><p v=\"indy_5Fplatform_5Fmoving\" n=\"sprite\" /></prop></m><m y1=\"329.4\" x1=\"67.5\" y0=\"90\" x0=\"72.9\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"90.75\" x1=\"186.95\" y0=\"90.9\" x0=\"316.8\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E7\" n=\"engine_5Fpos\" /><p v=\"0_2E02\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"356.4\" x1=\"240.3\" y0=\"356.55\" x0=\"16.5\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E1\" n=\"engine_5Fpos\" /></prop></m><m y1=\"356.3\" x1=\"155.45\" y0=\"355.5\" x0=\"297\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E025\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"170.55\" x1=\"175.2\" y0=\"170.55\" x0=\"175.2\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"225.25\" x1=\"173.4\" y0=\"225.25\" x0=\"173.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"280.9\" x1=\"172.5\" y0=\"280.9\" x0=\"172.5\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"161.55\" x1=\"361.2\" y0=\"161.55\" x0=\"361.2\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"213.6\" x1=\"361.2\" y0=\"221.4\" x0=\"360.9\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"276.45\" x1=\"358.5\" y0=\"279.9\" x0=\"359.1\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"12\"><p><v y0=\"0.9\" x0=\"169.8\" /><v y0=\"46.65\" x0=\"169.8\" /><v y0=\"46.65\" x0=\"547.2\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"13\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"328.5\" x0=\"547.2\"><prop super=\"deadlyObject\" name=\"\" /></v><v y0=\"328.5\" x0=\"22.45\" /><v y0=\"150.8\" x0=\"21.55\" /><v y0=\"68.2\" x0=\"35.95\" /><v y0=\"52.05\" x0=\"53\" /><v y0=\"40.4\" x0=\"95.25\" /><v y0=\"1.8\" x0=\"94.35\" /></p><m y1=\"21.55\" x1=\"129.4\" y0=\"21.55\" x0=\"129.4\"><prop name=\"n\" /></m><m y1=\"60.15\" x1=\"532.8\" y0=\"279.9\" x0=\"533.7\"><prop name=\"e\" /></m><m y1=\"99\" x1=\"90\" y0=\"282.6\" x0=\"99.9\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"1\" n=\"engine_5Fpos\" /><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"181.5\" x1=\"217.2\" y0=\"181.5\" x0=\"342.8\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E015\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"91.8\" x1=\"484.2\" y0=\"301.5\" x0=\"484.2\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"150.8\" x1=\"206.65\" y0=\"150.8\" x0=\"206.65\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"149.9\" x1=\"301\" y0=\"149.9\" x0=\"301\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"148.5\" x1=\"402.3\" y0=\"148.5\" x0=\"402.3\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"13\"><p><v y0=\"45.75\" x0=\"3.6\" /><v y0=\"45.75\" x0=\"546.3\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"14\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"330.3\" x0=\"547.2\"><prop super=\"deadlyObject\" name=\"\" /></v><v y0=\"329.4\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"12\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"288\" x1=\"16.2\" y0=\"62.1\" x0=\"18.9\"><prop name=\"w\" /></m><m y1=\"61.2\" x1=\"532.8\" y0=\"312.3\" x0=\"531\"><prop name=\"e\" /></m><m y1=\"90.9\" x1=\"7.2\" y0=\"310.5\" x0=\"4.5\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"90\" x1=\"139.5\" y0=\"308.7\" x0=\"135\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E015\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"140.4\" x1=\"227.7\" y0=\"309.6\" x0=\"477.9\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"_2D0_2E3\" n=\"engine_5Fpos\" /><p v=\"0_2E0075\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"119.35\" x1=\"102.45\" y0=\"119.35\" x0=\"102.45\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"181.3\" x1=\"99.75\" y0=\"182.7\" x0=\"99.9\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"105\" x1=\"261.45\" y0=\"105\" x0=\"261.45\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"146.3\" x1=\"334.25\" y0=\"146.3\" x0=\"334.25\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"185.8\" x1=\"399.85\" y0=\"185.8\" x0=\"399.85\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"229.75\" x1=\"461.85\" y0=\"228.6\" x0=\"463.5\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"87.05\" x1=\"498.65\" y0=\"137.7\" x0=\"506.7\"><prop super=\"xtraLive\" name=\"\" /></m></l><l id=\"14\"><p><v y0=\"0.9\" x0=\"478\" /><v y0=\"118.45\" x0=\"476.2\" /><v y0=\"123.85\" x0=\"499.55\" /><v y0=\"135.5\" x0=\"513.05\" /><v y0=\"191.15\" x0=\"520.25\" /><v y0=\"334.75\" x0=\"519.35\"><prop super=\"deadlyObject\" name=\"\" /></v><v y0=\"328.5\" x0=\"1.8\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"13\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"35\" x0=\"2.7\" /><v y0=\"30.5\" x0=\"397.15\" /><v y0=\"0.9\" x0=\"398.05\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22s_22\" p0=\"16\" id=\"0\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"289.8\" x1=\"17.1\" y0=\"52.2\" x0=\"18.9\"><prop name=\"w\" /></m><m y1=\"-7.2\" x1=\"406.8\" y0=\"315\" x0=\"404.1\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"_2D0_2E7\" n=\"engine_5Fpos\" /><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"105.3\" x1=\"4.5\" y0=\"313.2\" x0=\"3.6\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"155.8\" x1=\"113.65\" y0=\"155.8\" x0=\"257.55\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E02\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"190.25\" x1=\"150.05\" y0=\"190.25\" x0=\"150.05\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"187.6\" x1=\"221.05\" y0=\"190.8\" x0=\"221.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"190.25\" x1=\"286.6\" y0=\"190.8\" x0=\"289.8\"><prop super=\"xtr";
world = world + "a10\" name=\"\" /></m><m y1=\"21.95\" x1=\"437.4\" y0=\"21.95\" x0=\"437.4\"><prop name=\"n\" /></m><m y1=\"272.4\" x1=\"190.35\" y0=\"273.15\" x0=\"373.05\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E02\" n=\"engine_5Fspeed\" /></prop></m></l><l id=\"15\"><p><v y0=\"23.35\" x0=\"546.3\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22nw_22\" p0=\"16\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"103.2\" x0=\"547.2\" /><v y0=\"103.2\" x0=\"138.35\" /><v y0=\"122.95\" x0=\"139.25\" /><v y0=\"126.55\" x0=\"547.2\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"16\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"366.2\" x0=\"546.3\" /><v y0=\"357.2\" x0=\"56.6\" /><v y0=\"18.85\" x0=\"56.6\" /></p><m y1=\"143.6\" x1=\"531.9\" y0=\"346.5\" x0=\"533.7\"><prop name=\"e\" /></m><m y1=\"36.8\" x1=\"531\" y0=\"85.5\" x0=\"530.1\"><prop name=\"ne\" /></m><m y1=\"105\" x1=\"66.5\" y0=\"352.8\" x0=\"64.8\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E01\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"358.4\" x1=\"63.2\" y0=\"362.7\" x0=\"488.7\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E012\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"359.1\" x1=\"151.2\" y0=\"363.9\" x0=\"532.5\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E012\" n=\"engine_5Fspeed\" /><p v=\"_2D1\" n=\"engine_5Fpos\" /></prop></m><m y1=\"101.75\" x1=\"139.3\" y0=\"101.7\" x0=\"477.9\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E016\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"308.75\" x1=\"168\" y0=\"308.75\" x0=\"168\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"307.85\" x1=\"286.6\" y0=\"307.85\" x0=\"286.6\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"307.85\" x1=\"439.35\" y0=\"307.85\" x0=\"439.35\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"16\"><p><v y0=\"25.15\" x0=\"546.3\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22w_22\" p0=\"17\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"98.75\" x0=\"547.2\" /><v y0=\"97.85\" x0=\"324.35\" /><v y0=\"112.2\" x0=\"324.35\" /><v y0=\"117.55\" x0=\"531.9\" /><v y0=\"362.6\" x0=\"525.6\" /><v y0=\"362.6\" x0=\"481.6\" /><v y0=\"398.5\" x0=\"480.7\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22n_22\" p0=\"14\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"397.6\" x0=\"399.85\" /><v y0=\"361.7\" x0=\"399.85\" /><v y0=\"361.7\" x0=\"2.7\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22e_22\" p0=\"15\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"122.05\" x0=\"2.7\" /><v y0=\"119.35\" x0=\"112.3\" /><v y0=\"100.5\" x0=\"113.2\" /><v y0=\"100.5\" x0=\"3.6\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22ne_22\" p0=\"15\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"17.95\" x0=\"3.6\" /></p><p><v y0=\"116.7\" x0=\"179.7\" /><v y0=\"116.7\" x0=\"266.85\" /><v y0=\"98.75\" x0=\"266.85\" /><v y0=\"98.75\" x0=\"179.7\" /></p><m y1=\"339.25\" x1=\"19.75\" y0=\"138.6\" x0=\"19.8\"><prop name=\"w\" /></m><m y1=\"85.25\" x1=\"18.85\" y0=\"36\" x0=\"19.8\"><prop name=\"nw\" /></m><m y1=\"367.1\" x1=\"439.35\" y0=\"367.1\" x0=\"439.35\"><prop name=\"s\" /></m><m y1=\"36.9\" x1=\"526.5\" y0=\"81.9\" x0=\"526.5\"><prop name=\"e\" /></m><m y1=\"423\" x1=\"411.3\" y0=\"269.1\" x0=\"411.3\"><prop super=\"indy_5Fplatform_5Fmoving\" name=\"\"><p v=\"0_2E017\" n=\"engine_5Fspeed\" /><p v=\"_2D0_2E8\" n=\"engine_5Fpos\" /></prop></m><m y1=\"45.85\" x1=\"120.05\" y0=\"45.85\" x0=\"369.35\"><prop super=\"indy_5Fbat\" name=\"\"><p v=\"0_2E76\" n=\"engine_5Fpos\" /><p v=\"0_2E014\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"361.15\" x1=\"3.65\" y0=\"362.05\" x0=\"391.35\"><prop super=\"city_5Fratte\" name=\"\" /></m><m y1=\"108.6\" x1=\"146.45\" y0=\"110\" x0=\"145.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"152.6\" x1=\"144.65\" y0=\"160\" x0=\"144\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"191.15\" x1=\"142.85\" y0=\"210\" x0=\"142.2\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"110\" x1=\"147.6\" y0=\"260\" x0=\"140.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"270\" x1=\"288.9\" y0=\"110\" x0=\"293.4\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"149.9\" x1=\"292\" y0=\"160\" x0=\"292.5\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"188.5\" x1=\"289.3\" y0=\"210\" x0=\"290.7\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"236.05\" x1=\"288.4\" y0=\"260\" x0=\"288.9\"><prop super=\"xtra10\" name=\"\" /></m></l><l id=\"17\"><p><v y0=\"1.8\" x0=\"345.05\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22s_22\" p0=\"18\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"1.8\" x0=\"532.8\" /><v y0=\"267.45\" x0=\"531.9\" /><v y0=\"266.75\" x0=\"497.7\" /><v y0=\"326.7\" x0=\"368.4\" /><v y0=\"344.65\" x0=\"366.6\" /><v y0=\"344.65\" x0=\"88.05\" /><v y0=\"280.5\" x0=\"87.95\" /><v y0=\"279.55\" x0=\"172.3\" /><v y0=\"251.15\" x0=\"173.2\" /><v y0=\"233.75\" x0=\"181.45\" /><v y0=\"227.3\" x0=\"228.2\" /><v y0=\"163.15\" x0=\"271.3\" /><v y0=\"162.25\" x0=\"288.7\" /><v y0=\"245.9\" x0=\"289.3\" /><v y0=\"248.4\" x0=\"384.95\" /><v y0=\"223.5\" x0=\"384.55\" /><v y0=\"223.5\" x0=\"341.45\" /></p><p><v y0=\"22.85\" x0=\"1.85\" /><v y0=\"25.6\" x0=\"203.15\" /><v y0=\"91.4\" x0=\"286.45\" /><v y0=\"132.55\" x0=\"262.65\" /><v y0=\"162.7\" x0=\"263.55\" /><v y0=\"219.35\" x0=\"226.95\" /><v y0=\"229.4\" x0=\"178.45\" /><v y0=\"252.25\" x0=\"167.5\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22s_22\" p0=\"17\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"255.95\" x0=\"116.25\" /><v y0=\"196.5\" x0=\"143.7\" /><v y0=\"179.15\" x0=\"198.6\" /><v y0=\"148.05\" x0=\"216.9\" /><v y0=\"94.15\" x0=\"183.05\" /><v y0=\"92.3\" x0=\"0\" /></p><m y1=\"77.2\" x1=\"16.2\" y0=\"39.6\" x0=\"17.1\"><prop name=\"w\" /></m><m y1=\"17.05\" x1=\"360.3\" y0=\"17.1\" x0=\"518.4\"><prop name=\"n\" /></m><m y1=\"341.9\" x1=\"202.55\" y0=\"343.8\" x0=\"339.3\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E75\" n=\"engine_5Fpos\" /><p v=\"0_2E013\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"38.6\" x1=\"366.6\" y0=\"38.6\" x0=\"366.6\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"77.2\" x1=\"365.7\" y0=\"80\" x0=\"366.3\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"122.95\" x1=\"364.8\" y0=\"122.95\" x0=\"364.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"329.05\" x1=\"142.95\" y0=\"329.05\" x0=\"142.95\"><prop name=\"birdstart\" /></m><m y1=\"320.8\" x1=\"140.95\" y0=\"328.15\" x0=\"141.15\"><prop name=\"\"><p v=\"script\" n=\"onInitScreen\"><script><c r=\"b\" id=\"0\" c=\"plGetBehaviour\" /><c p0=\"b\" id=\"1\" c=\"trace\" /><c p2=\"_22bird_22\" p1=\"_22_3D_3D_22\" p0=\"b\" id=\"2\" c=\"if\" /><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"3\" c=\"propSet\" /><c id=\"4\" c=\"else\" /><c p2=\"1\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"5\" c=\"propSet\" /></script></p><p v=\"script\" n=\"onHit\"><script><c p2=\"0\" p1=\"_22active_22\" p0=\"_5Fself\" id=\"0\" c=\"propSet\" /><c p1=\"_22birdstart_22\" p0=\"17\" id=\"1\" c=\"plSetContinuePoint\" /><c p0=\"_22bird_22\" id=\"2\" c=\"plSetBehaviour\" /><c p1=\"_22birdstart_22\" p0=\"17\" id=\"3\" c=\"goLevel\" /></script></p><p v=\"10\" n=\"engine_5Fradius\" /><p v=\"CSECircle\" n=\"engine\" /><p v=\"bird_5Fempty\" n=\"activeGfx\" /><p v=\"1\" n=\"active\" /></prop></m><m y1=\"291.45\" x1=\"142.05\" y0=\"291.45\" x0=\"142.05\"><prop super=\"ball\" name=\"s\" /></m><m y1=\"186.45\" x1=\"368.8\" y0=\"188.8\" x0=\"491.25\"><prop super=\"indy_5Fbat\" name=\"\" /></m></l><l id=\"18\"><p><v y0=\"0.9\" x0=\"493.3\" /><v y0=\"158.85\" x0=\"491.5\" /><v y0=\"158.85\" x0=\"98.85\" /><v y0=\"173.2\" x0=\"97.95\" /><v y0=\"173.2\" x0=\"491.5\" /><v y0=\"334.75\" x0=\"488.8\" /><v y0=\"339.25\" x0=\"531\" /><v y0=\"397.6\" x0=\"531\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p1=\"_22n_22\" p0=\"17\" id=\"0\" c=\"goLevel\" /></script></p></prop></v><v y0=\"396.7\" x0=\"339.65\" /><v y0=\"332.1\" x0=\"340.55\" /><v y0=\"333\" x0=\"382.75\" /><v y0=\"304.25\" x0=\"382.75\" /><v y0=\"298.85\" x0=\"19.75\" /><v y0=\"23.35\" x0=\"17.95\" /><v y0=\"28.7\" x0=\"385.45\" /><v y0=\"48.45\" x0=\"384.55\" /><v y0=\"48.45\" x0=\"411.5\" /><v y0=\"2.75\" x0=\"413.35\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c p0=\"_22ball_22\" id=\"0\" c=\"plSetBehaviour\" /><c p1=\"_22s_22\" p0=\"19\" id=\"1\" c=\"goLevel\" /></script></p></prop></v></p><m y1=\"367.2\" x1=\"513.9\" y0=\"368.1\" x0=\"358.2\"><prop name=\"s\" /></m><m y1=\"12.55\" x1=\"428.6\" y0=\"12.6\" x0=\"477\"><prop name=\"n\" /></m><m y1=\"298.8\" x1=\"38.7\" y0=\"305.1\" x0=\"342\"><prop super=\"city_5Fratte\" name=\"\"><p v=\"0_2E014\" n=\"engine_5Fspeed\" /></prop></m><m y1=\"156.6\" x1=\"123.3\" y0=\"160.2\" x0=\"360\"><prop super=\"city_5Fratte\" name=\"\" /></m><m y1=\"307.85\" x1=\"467.2\" y0=\"307.85\" x0=\"467.2\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"341.05\" x1=\"467.2\" y0=\"341.05\" x0=\"467.2\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"94.15\" x1=\"61.35\" y0=\"94.4\" x0=\"312.55\"><prop super=\"indy_5Fbat\" name=\"\"><p v=\"0_2E015\" n=\"engine_5Fspeed\" /></prop></m></l><l id=\"19\"><p><v y0=\"2.7\" x0=\"2.7\" /><v y0=\"2.7\" x0=\"546.3\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c id=\"0\" c=\"finish\" /></script></p></prop></v><v y0=\"396.9\" x0=\"545.4\"><prop name=\"\"><p v=\"script\" n=\"onHit\"><script><c id=\"0\" c=\"finish\" /></script></p></prop></v><v y0=\"396.7\" x0=\"469.9\" /><v y0=\"289.9\" x0=\"467.2\" /><v y0=\"289.9\" x0=\"385.45\" /><v y0=\"244.8\" x0=\"383.4\" /><v y0=\"244.8\" x0=\"191.7\" /><v y0=\"193.85\" x0=\"190.5\" /><v y0=\"196.55\" x0=\"148.25\" /><v y0=\"184.9\" x0=\"143.75\" /><v y0=\"182.2\" x0=\"84.45\" /><v y0=\"198.35\" x0=\"78.15\" /><v y0=\"197.45\" x0=\"41.35\" /><v y0=\"86.15\" x0=\"40.45\" /><v y0=\"43.1\" x0=\"0.9\" /></p><m y1=\"150.8\" x1=\"111.4\" y0=\"152.1\" x0=\"111.6\"><prop name=\"s\" /></m><m y1=\"246.6\" x1=\"220.5\" y0=\"244.8\" x0=\"363.6\"><prop super=\"city_5Fkatze\" name=\"\" /></m><m y1=\"308.75\" x1=\"504.95\" y0=\"308.75\" x0=\"504.95\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"345.55\" x1=\"505.85\" y0=\"340\" x0=\"505.8\"><prop super=\"xtra10\" name=\"\" /></m><m y1=\"373.35\" x1=\"504.95\" y0=\"373.35\" x0=\"504.95\"><prop super=\"xtra10\" name=\"\" /></m></l></world>";
var x = new XML(world);
if (x.status != 0) {
trace("XML-ERROR: " + x.status);
switch (x.status) {
case -2 :
trace("A CDATA section was not properly terminated.");
break;
case -3 :
trace("The XML declaration was not properly terminated.");
break;
case -4 :
trace("The DOCTYPE declaration was not properly terminated.");
break;
case -5 :
trace("A comment was not properly terminated.");
break;
case -6 :
trace("An XML element was malformed.");
break;
case -7 :
trace("Out of memory.");
break;
case -8 :
trace("An attribute value was not properly terminated.");
break;
case -9 :
trace("A start-tag was not matched with an end-tag.");
break;
case -10 :
trace("An end-tag was encountered without a matching start-tag.");
}
return(undefined);
}
trace(("XML OK. length: " + world.length) + " chars");
var world = x.firstChild;
loadLevelPointer = 0;
gotoAndPlay (6);
Symbol 152 MovieClip Frame 6
_global.v2d.initProgress = loadLevelPointer / world.childNodes.length;
if (loadLevelPointer >= world.childNodes.length) {
gotoAndPlay (20);
} else {
_global.v2d.world.addObjectFromXml(world.childNodes[loadLevelPointer]);
loadLevelPointer++;
}
Symbol 152 MovieClip Frame 8
gotoAndPlay (6);
Symbol 152 MovieClip Frame 20
_global.v2d.world.initProps();
_global.v2d.main = new _global.v2d.CMain();
_root.gotoAndPlay("decompress_done");
stop();
Symbol 153 MovieClip Frame 1
_global.v2d = new Object();
_global.v2d.COLOR_VECTOR = 16711680 /* 0xFF0000 */;
_global.v2d.COLOR_VECTOR_ACTIVE = 65280;
_global.v2d.COLOR_VECTOR_HIGHLIGHT = 16776960 /* 0xFFFF00 */;
_global.v2d.COLOR_MARKER = 10066329 /* 0x999999 */;
_global.v2d.COLOR_MARKER_ACTIVE = 2612407 /* 0x27DCB7 */;
_global.v2d.COLOR_MARKER_FILLS = new Array();
_global.v2d.COLOR_MARKER_FILLS.push(65793);
_global.v2d.COLOR_MARKER_FILLS.push(16711680);
_global.v2d.COLOR_MARKER_FILLS.push(65280);
_global.v2d.COLOR_MARKER_FILLS.push(255);
_global.v2d.COLOR_MARKER_FILLS.push(16776960);
_global.v2d.COLOR_MARKER_FILLS.push(65535);
_global.v2d.COLOR_MARKER_FILLS.push(16711935);
_global.v2d.COLOR_MARKER_FILLS.push(16750848);
_global.v2d.COLOR_MARKER_FILLS.push(12255487);
_global.v2d.COLOR_MARKER_FILLS.push(16777215);
_global.v2d.ZERO_LIMIT = 1E-5;
_global.v2d.xmlFactory = new XML();
_x = 0;
_y = 0;
_visible = false;
_global.v2d.array = new Object();
_global.v2d.array.copy = function (source) {
var a = new Array();
for (var i in source) {
a[i] = source[i];
}
return(a);
};
_global.v2d.array.pushArrayItems = function (a, p) {
for (var i in p) {
a.push(p[i]);
}
};
_global.v2d.debug = new Object();
_global.v2d.debug.describe = function (o) {
var d = (("[DESCRIBE: " + o.toString()) + "]");
d = d + "\n---------------------------DESC-START";
for (var i in o) {
d = d + (((newline + i) + ": ") + o[i]);
}
d = d + "\n---------------------------DESC-STOP";
return(d);
};
_global.v2d.math = new Object();
_global.v2d.math.p2pDistance = function (x1, y1, x2, y2) {
var tx = (x2 - x1);
var ty = (y2 - y1);
return(Math.sqrt((tx * tx) + (ty * ty)));
};
_global.v2d.math.squareHit = function (x1, y1, x2, y2, s) {
return((Math.abs(x1 - x2) <= s) && (Math.abs(y1 - y2) <= s));
};
_global.v2d.math.rectHit = function (x1, y1, x2, y2, sx, sy) {
return((Math.abs(x1 - x2) <= sx) && (Math.abs(y1 - y2) <= sy));
};
_global.v2d.math.p2rDistance = function (x1, y1, x2, y2, x3, y3) {
var t = new Object();
t = _root.v2d.cross(x2, y2, x3, y3, x1, y1, x1 + (y3 - y2), y1 + ((x3 - x2) * -1));
};
_global.v2d.math.withinRect = function (x1, y1, x2, y2, x3, y3) {
return((_root.v2d.numBetween(x1, x3, x2) == true) && (_root.v2d.numBetween(y1, y3, y2) == true));
};
_global.v2d.math.r2vertSgnAngle = function (x1, y1, x2, y2) {
return(Math.asin((x2 - x1) / _root.v2d.p2pDistance(x1, y1, x2, y2)));
};
_global.v2d.math.r2vertCwAngle = function (x1, y1, x2, y2) {
var temp = Math.asin((x2 - x1) / _root.v2d.p2pDistance(x1, y1, x2, y2));
if (temp < 0) {
temp = temp + (Math.PI*2);
}
return(temp);
};
_global.v2d.math.numBetween = function (a, b, c) {
if (a == c) {
return(true);
}
if (c > a) {
return((b > a) && (b < c));
}
return((b > c) && (b < a));
};
_global.v2d.paint = new Object();
_global.v2d.paint.drawRect = function (mc, x, y, width, height, lineThickness, lineColor, fillColor, fillAlpha) {
with (mc) {
if (!fillAlpha) {
fillAlpha = 255;
}
if (fillColor) {
beginFill(fillColor, fillAlpha);
}
lineStyle(lineThickness, lineColor);
moveTo(x, y);
lineTo(x + width, y);
lineTo(x + width, y + height);
lineTo(x, y + height);
lineTo(x, y);
if (fillColor) {
endFill();
}
}
};
_global.v2d.paint.drawCircle = function (mc, x, y, r, lineThickness, lineColor, fillColor, fillAlpha) {
with (mc) {
if (!fillAlpha) {
fillAlpha = 255;
}
if (fillColor) {
beginFill(fillColor, fillAlpha);
}
lineStyle(lineThickness, lineColor);
moveTo(x + r, y);
var a = 0.414213562373095;
var angle = 45;
while (angle <= 360) {
var endx = (r * Math.cos((angle * Math.PI) / 180));
var endy = (r * Math.sin((angle * Math.PI) / 180));
var cx = (endx + ((r * a) * Math.cos(((angle - 90) * Math.PI) / 180)));
var cy = (endy + ((r * a) * Math.sin(((angle - 90) * Math.PI) / 180)));
curveTo(cx + x, cy + y, endx + x, endy + y);
angle = angle + 45;
}
if (fillColor) {
endFill();
}
}
};
_global.v2d.paint.drawDebugMarker = function (mc, x, y, col) {
this.drawRect(mc, x - 1, y - 1, 2, 2, 0.5, col);
};
_global.v2d.str = new Object();
_global.v2d.str.replace = function (needle, str, haystack) {
var a = haystack.split(needle);
var result = new String();
var i = 0;
while (i < (a.length - 1)) {
result = result + (a[i] + str);
i++;
}
result = result + a[a.length - 1];
return(result);
};
_global.v2d.str.clean = function (str) {
str = String(str);
var from = 0;
var char;
while (true) {
char = str.charCodeAt(from);
if (((char == 10) || (char == 13)) || (char == 32)) {
from++;
} else {
break;
}
}
var to = (str.length - 1);
while (true) {
char = str.charCodeAt(to);
if ((to > from) && (((char == 10) || (char == 13)) || (char == 32))) {
to--;
} else {
break;
}
}
var result = str.substring(from, to + 1);
return(result);
};
_global.v2d.CPoint = function (x, y) {
this._class = "CPoint";
this.x0 = x;
this.y0 = y;
};
_global.v2d.CPoint.prototype.toString = function () {
return(((("[point (" + this.x0) + ",") + this.y0) + ")]");
};
_global.v2d.CPoint.prototype.calcDistance = function (point) {
var tx = (point.x0 - this.x0);
var ty = (point.y0 - this.y0);
return(Math.sqrt((tx * tx) + (ty * ty)));
};
_global.v2d.CRect = function (x0, y0, x1, y1) {
this._class = "CRect";
this.x0 = x0;
this.y0 = y0;
this.x1 = x1;
this.y1 = y1;
this.standardize();
};
_global.v2d.CRect.prototype.toString = function () {
return(((((((("[rect (" + this.x0) + ",") + this.y0) + ")-(") + this.x1) + ",") + this.y1) + ")]");
};
_global.v2d.CRect.prototype.standardize = function () {
if (this.x0 > this.x1) {
temp = this.x0;
this.x0 = this.x1;
this.x1 = temp;
}
if (this.y0 > this.y1) {
temp = this.y0;
this.y0 = this.y1;
this.y1 = temp;
}
};
_global.v2d.CRect.prototype.drawOutline = function (mc, lineThickness, lineColor) {
with (mc) {
lineStyle(lineThickness, lineColor);
moveTo(this.x0, this.y0);
lineTo(this.x1, this.y0);
lineTo(this.x1, this.y1);
lineTo(this.x0, this.y1);
lineTo(this.x0, this.y0);
}
};
_global.v2d.CProps = function (owner) {
this._class = "CProps";
this.elements = new Object();
this.name = name;
this.owner = owner;
this.superPropsName = "";
};
_global.v2d.CProps.prototype.toString = function () {
return(("[CProps '" + this.name) + "']");
};
_global.v2d.CProps.prototype.toXmlNode = function () {
var e = _global.v2d.xmlFactory.createElement("prop");
var count = 0;
for (var prop in this.elements) {
var child = _global.v2d.xmlFactory.createElement("p");
child.attributes.n = _global.v2d.str.replace("%", "_", escape(prop));
if (prop.substr(0, 2) eq "on") {
child.attributes.v = "script";
child.appendChild(this.elements[prop].toXmlNode());
} else {
child.attributes.v = _global.v2d.str.replace("%", "_", escape(this.elements[prop]));
}
e.appendChild(child);
count++;
}
e.attributes.name = _global.v2d.str.replace("%", "_", escape(this.name));
if (this.superPropsName ne "") {
e.attributes.super = _global.v2d.str.replace("%", "_", escape(this.superPropsName));
}
if (((count > 0) || (this.name ne "")) || (this.superPropsName ne "")) {
return(e);
}
return(undefined);
};
_global.v2d.CProps.prototype.fromXmlNode = function (node) {
delete this.elements;
this.elements = new Object();
for (i in node.childNodes) {
var name = _global.v2d.str.replace("_", "%", node.childNodes[i].attributes.n);
name = unescape(name);
var val = node.childNodes[i].attributes.v;
val = unescape(_global.v2d.str.replace("_", "%", val));
if (val eq "script") {
val = new _global.v2d.CScript();
val.fromXmlNode(node.childNodes[i].childNodes[0]);
} else {
var n = Number(val);
if (String(n) == val) {
val = n;
}
}
this.elements[name] = val;
}
this.name = unescape(_global.v2d.str.replace("_", "%", node.attributes.name));
this.superPropsName = unescape(_global.v2d.str.replace("_", "%", node.attributes.super));
};
_global.v2d.CProps.prototype.initRuntime = function () {
delete this.runtime;
this.runtime = new Object();
for (var prop in _global.v2d.world.superProps[this.superPropsName].elements) {
this.runtime[prop] = _global.v2d.world.superProps[this.superPropsName].elements[prop];
}
for (var prop in this.elements) {
this.runtime[prop] = this.elements[prop];
}
};
_global.v2d.CProps.prototype.addPropsToRuntime = function (p) {
p.initRuntime();
for (var i in p.runtime) {
this.runtime[i] = p.runtime[i];
}
};
_global.v2d.CProps.prototype.resetProp = function (prop) {
this.runtime[prop] = _global.v2d.world.superProps[this.superPropsName].elements[prop];
this.runtime[prop] = this.elements[prop];
};
_global.v2d.CProps.prototype.getProp = function (prop) {
return(this.runtime[prop]);
};
_global.v2d.CProps.prototype.setProp = function (prop, value) {
this.runtime[prop] = value;
this.propEffects(prop);
};
_global.v2d.CProps.prototype.propEffects = function (prop) {
var value = this.getProp(prop);
switch (prop) {
case "active" :
if (value eq "") {
value = 1;
}
var gfx = this.getProp("activeGfx");
if (gfx ne "") {
_global.v2d.gfx.bg[gfx]._visible = value;
_global.v2d.gfx.fg[gfx]._visible = value;
}
var sprite = this.getProp("sprite");
if (sprite ne "") {
this.owner.sprite._visible = value;
}
return;
case "stat" :
var gfx = this.getProp("activeGfx");
_global.v2d.gfx.bg[gfx].gotoAndStop(value + 1);
_global.v2d.gfx.fg[gfx].gotoAndStop(value + 1);
}
};
_global.v2d.CProps.prototype.initScreen = function () {
for (var prop in this.runtime) {
this.propEffects(prop);
}
};
_global.v2d.CProps.prototype.haveProp = function (needProp) {
for (var propName in this.elements) {
if (propName eq needProp) {
return(true);
}
}
if (this.superPropsName eq "") {
return(false);
}
for (var propName in _global.v2d.world.superProps[this.superPropsName].elements) {
if (propName eq needProp) {
return(true);
}
}
return(false);
};
_global.v2d.CProps.prototype.event = function (event, subject, object, collisionPos) {
var script = this.getProp(event);
if (script ne "") {
trace((((("event: " + event) + " s: ") + subject) + " o: ") + object);
script.execute(subject, object, collisionPos);
}
};
_global.v2d.CScript = function () {
this._class = "CScript";
this.name = name;
this.logic = undefined;
this.vars = undefined;
this.labels = undefined;
};
_global.v2d.CScript.prototype.copy = function () {
trace("CScript.copy() -> not implemented yet");
};
_global.v2d.CScript.prototype.toString = function () {
return("[script]");
};
_global.v2d.CScript.prototype.toXmlNode = function () {
var e = _global.v2d.xmlFactory.createElement("script");
if (this.name ne "") {
e.attributes.name = this.name;
}
for (var varname in this.vars) {
var v = _global.v2d.xmlFactory.createElement("v");
v.attributes.v = _global.v2d.str.replace("%", "_", escape(varname));
e.appendChild(v);
}
for (var labelname in this.labels) {
var l = _global.v2d.xmlFactory.createElement("l");
l.attributes.name = _global.v2d.str.replace("%", "_", escape(labelname));
l.attributes.line = this.labels[labelname];
e.appendChild(l);
}
var i = 0;
while (i < this.logic.length) {
var command = _global.v2d.xmlFactory.createElement("c");
command.attributes.c = _global.v2d.str.replace("%", "_", escape(this.logic[i][0]));
command.attributes.id = i;
var j = 0;
while (j < this.logic[i][1].length) {
command.attributes["p" + j] = _global.v2d.str.replace("%", "_", escape(this.logic[i][1][j]));
j++;
}
if (this.logic[i][2] ne "") {
command.attributes.r = _global.v2d.str.replace("%", "_", escape(this.logic[i][2]));
}
e.appendChild(command);
i++;
}
return(e);
};
_global.v2d.CScript.prototype.fromXmlNode = function (node) {
this.name = String(node.attributes.name);
delete this.logic;
delete this.vars;
delete this.labels;
this.logic = new Array();
this.vars = new Array();
this.labels = new Array();
var i = 0;
while (i < node.childNodes.length) {
var c = node.childNodes[i];
if (c.nodeName == "c") {
var id = Number(c.attributes.id);
var command = new Array(3);
command[0] = unescape(_global.v2d.str.replace("_", "%", c.attributes.c));
command[1] = new Array();
var p = 0;
while (true) {
if (c.attributes["p" + p] ne "") {
command[1][p] = unescape(_global.v2d.str.replace("_", "%", c.attributes["p" + p]));
p++;
} else {
break;
}
}
if (c.attributes.r ne "") {
command[2] = unescape(_global.v2d.str.replace("_", "%", c.attributes.r));
}
this.logic[id] = command;
} else if (c.nodeName == "v") {
this.vars[c.attributes.v] = undefined;
} else if (c.nodeName == "l") {
this.labels[unescape(_global.v2d.str.replace("_", "%", c.attributes.name))] = c.attributes.line;
}
i++;
}
};
_global.v2d.CScript.prototype.getSource = function () {
var source = "";
var i = 0;
while (i < this.logic.length) {
for (var label in this.labels) {
if (this.labels[label] == i) {
source = source + (("_" + label) + ";\n");
}
}
if (this.logic[i][2] ne "") {
source = source + (this.logic[i][2] + " = ");
}
if (this.logic[i][0] eq "val") {
source = source + this.logic[i][1][0];
} else {
source = source + (((this.logic[i][0] + "(") + this.logic[i][1].toString()) + ")");
}
source = source + ";\n";
i++;
}
return(source);
};
_global.v2d.CScript.prototype.parse = function (source) {
var newLogic = new Array();
var newLabels = new Array();
var lines = source.split(";");
var equal;
var paraStart;
var paraEnd;
var receiver;
var func;
var params;
var quot0;
var quot1;
var actLine = 0;
var i = 0;
while (i < lines.length) {
line = _global.v2d.str.clean(lines[i]);
if (line.length > 0) {
if (line.substr(0, 1) == "_") {
var label = _global.v2d.str.clean(line.substr(1));
newLabels[label] = actLine;
} else {
var command = new Array(3);
equal = line.indexOf("=");
paraStart = line.indexOf("(");
paraEnd = line.lastIndexOf(")");
if ((equal > -1) && ((equal < paraStart) || (paraStart == -1))) {
receiver = _global.v2d.str.clean(line.substring(0, equal));
command[2] = receiver;
line = _global.v2d.str.clean(line.substr(equal + 1));
paraStart = line.indexOf("(");
paraEnd = line.lastIndexOf(")");
}
if ((paraStart != -1) && (paraEnd != -1)) {
command[0] = _global.v2d.str.clean(line.substring(0, paraStart));
if (line.substr(paraEnd + 1).length > 0) {
trace((("#SYNTAX ERROR 0 in line " + i) + ": ") + lines[i]);
return(false);
}
params = line.substring(paraStart + 1, paraEnd);
params = _global.v2d.str.replace("\\", "\\\\", params);
var pos = 0;
while (true) {
quot0 = params.indexOf("\"", pos);
if (quot0 == -1) {
break;
}
pos = quot0 + 1;
quot1 = params.indexOf("\"", pos);
if (quot1 == -1) {
break;
}
pos = quot1 + 1;
var comma = params.indexOf(",", quot0);
if ((comma != -1) && (comma < quot1)) {
var commaEsc = params.indexOf("\\", quot0 - 1);
var backEsc = params.indexOf("\\", quot0 - 2);
if (((commaEsc - 1) != comma) && ((backEsc - 1) != commaEsc)) {
params = (params.slice(0, comma) + "\\k") + params.slice(comma + 1, params.length);
pos++;
}
} else {
break;
}
var str = params.substring(quot0 + 1, quot1 + 1);
}
params = _global.v2d.str.replace("\\\\", "\\", params);
params = params.split(",");
command[1] = new Array();
var j = 0;
while (j < params.length) {
var param = _global.v2d.str.clean(params[j]);
if (param.length < 1) {
} else {
param = _global.v2d.str.replace("\\k", ",", param);
var n = Number(param);
if (String(n) == param) {
param = n;
} else if ((param.indexOf(")") != -1) || (param.indexOf("(") != -1)) {
trace(((("#SYNTAX ERROR 1 in line " + i) + ": ") + lines[i]) + newline);
return(false);
}
command[1].push(param);
}
j++;
}
} else {
command[0] = "val";
command[1] = new Array(String(_global.v2d.str.clean(line)));
if (command[2] eq "") {
trace(((("#SYNTAX ERROR 2 in line " + i) + ": ") + lines[i]) + newline);
return(false);
}
}
newLogic.push(command);
actLine++;
}
}
i++;
}
delete this.logic;
delete this.labels;
this.logic = newLogic;
this.labels = newLabels;
return(true);
};
_global.v2d.CScript.prototype.execute = function (subject, object, collisionPos) {
var ram = new Array();
ram.collisionPos = collisionPos;
ram.subject = subject;
ram.object = object;
ram.vars = new Array(0);
ram.vars._self = subject;
ram.vars._object = object;
ram.vars.true = 1;
ram.vars.false = 0;
ram.params = new Array(5);
ram.labels = this.labels;
ram.debug = false;
ram.ifResult = true;
ram.i = 0;
while (ram.i < this.logic.length) {
trace("ram.i: " + ram.i);
ram.command = this.logic[ram.i];
if (ram.debug) {
trace(((((ram.command[2] + " = ") + ram.command[0]) + "(") + ram.command[1].toString()) + ")");
}
ram.params.splice(0, ram.params.length);
var p = 0;
while (p < ram.command[1].length) {
if (isNaN(ram.command[1][p])) {
if (ram.command[1][p].substr(0, 1) eq "\"") {
ram.params[p] = ram.command[1][p].substr(1, ram.command[1][p].length - 2);
} else {
ram.params[p] = ram.vars[ram.command[1][p]];
}
} else {
ram.params[p] = Number(ram.command[1][p]);
}
p++;
}
_global.v2d.CScript.api[ram.command[0]](ram);
if (ram.doReturn == true) {
return(ram.return);
}
ram.i++;
}
};
_global.v2d.CScript.api = new Object();
_global.v2d.CScript.api.debug = function (ram) {
ram.debug = true;
};
_global.v2d.CScript.api.damage = function (ram) {
ram.params[0].damage(ram.params[1]);
};
_global.v2d.CScript.api.describe = function (ram) {
trace("[TRACE] " + _global.api.debug.describe(ram.params[0]));
};
_global.v2d.CScript.api.droneSetPos = function (ram) {
ram.params[0].sprite.engine.pos = ram.params[1];
ram.params[0].sprite.engine.move(0);
};
_global.v2d.CScript.api.else = function (ram) {
if (ram.ifResult) {
ram.i++;
}
};
_global.v2d.CScript.api.goLevel = function (ram) {
_global.api.snd.play("newscreen");
_global.v2d.main.setScreen(ram.params[0], ram.params[1], ram.collisionPos);
};
_global.v2d.CScript.api.goto = function (ram) {
if (ram.labels[ram.params[0]]) {
ram.i = ram.labels[ram.params[0]] - 1;
} else {
trace((("#ERROR: label not found: " + ram.params[0]) + " labels: ") + _global.api.debug.describe(ram.labels));
}
};
_global.v2d.CScript.api.if = function (ram) {
switch (ram.params[1]) {
case "<" :
ram.ifResult = ram.params[0] < ram.params[2];
break;
case ">" :
ram.ifResult = ram.params[0] > ram.params[2];
break;
case "<=" :
ram.ifResult = ram.params[0] <= ram.params[2];
break;
case ">=" :
ram.ifResult = ram.params[0] >= ram.params[2];
break;
case "==" :
ram.ifResult = ram.params[0] == ram.params[2];
break;
case "!=" :
ram.ifResult = ram.params[0] != ram.params[2];
}
if (!ram.ifResult) {
ram.i++;
}
};
_global.v2d.CScript.api.mainSleep = function (ram) {
_global.v2d.main.sleep(ram.params[0]);
};
_global.v2d.CScript.api.math = function (ram) {
switch (ram.params[1]) {
case "+" :
ram.vars[ram.command[2]] = ram.params[0] + ram.params[2];
return;
case "-" :
ram.vars[ram.command[2]] = ram.params[0] - ram.params[2];
return;
case "*" :
ram.vars[ram.command[2]] = ram.params[0] * ram.params[2];
return;
case "/" :
ram.vars[ram.command[2]] = ram.params[0] / ram.params[2];
}
};
_global.v2d.CScript.api.objectByName = function (ram) {
if (ram.params[1] eq "") {
ram.vars[ram.command[2]] = _global.v2d.world.actLevel.objectsByName[ram.params[0]];
} else {
ram.vars[ram.command[2]] = _global.v2d.world.getLevelByName(ram.params[1]).objectsByName[ram.params[0]];
}
};
_global.v2d.CScript.api.plGetBehaviour = function (ram) {
ram.vars[ram.command[2]] = _global.v2d.world.players[0].behaviour.superPropsName;
};
_global.v2d.CScript.api.plCoin = function (ram) {
_global.v2d.world.players[0].addCoin();
};
_global.v2d.CScript.api.plScore = function (ram) {
_global.v2d.world.players[0].addScore(ram.params[0]);
};
_global.v2d.CScript.api.plSetContinuePoint = function (ram) {
_global.v2d.world.players[0].setContinuePoint(ram.params[0], ram.params[1]);
};
_global.v2d.CScript.api.plSetBehaviour = function (ram) {
_global.v2d.world.players[0].setBehaviour(ram.params[0]);
};
_global.v2d.CScript.api.plXtraLive = function (ram) {
_global.v2d.world.players[0].actLives++;
_root.osd.updateLives();
};
_global.v2d.CScript.api.posOffset = function (ram) {
ram.params[0].sprite.engine.position.x0 = ram.params[0].sprite.engine.position.x0 + ram.params[1];
ram.params[0].sprite.engine.position.y0 = ram.params[0].sprite.engine.position.y0 + ram.params[2];
};
_global.v2d.CScript.api.propGet = function (ram) {
ram.vars[ram.command[2]] = ram.params[0].props.getProp(ram.params[1]);
};
_global.v2d.CScript.api.propSet = function (ram) {
ram.params[0].props.setProp(ram.params[1], ram.params[2]);
_global.v2d.respawn.addJob(ram.params[0].props, ram.params[1], "onResetWorld");
};
_global.v2d.CScript.api.return = function (ram) {
ram.doReturn = true;
ram.return = ram.params[0];
};
_global.v2d.CScript.api.rootControl = function (ram) {
_root.gotoAndPlay(ram.params[0]);
};
_global.v2d.CScript.api.finish = function () {
_root.gotoAndPlay("nextEpisode");
};
_global.v2d.CScript.api.rsJob = function (ram) {
if (ram.params[0].props == undefined) {
trace("#ERROR in script at 'respawn': can't find props of object");
}
_global.v2d.respawn.addJob(ram.params[0].props, ram.params[1], ram.params[2]);
};
_global.v2d.CScript.api.script = function (ram) {
if (_global.v2d.world.scripts[ram.params[0]]) {
ram.vars[ram.command[2]] = _global.v2d.world.scripts[ram.params[0]].execute(ram.subject, ram.object);
} else {
trace("#ERROR: script not found: " + ram.params[0]);
}
};
_global.v2d.CScript.api.sndPlay = function (ram) {
_global.api.snd.play(ram.params[0]);
};
_global.v2d.CScript.api.speedAdd = function (ram) {
ram.params[0].speed.x1 = ram.params[0].speed.x1 + ram.params[1];
ram.params[0].speed.y1 = ram.params[0].speed.y1 + ram.params[2];
};
_global.v2d.CScript.api.speedAbs = function (ram) {
ram.params[0].speed.unify();
ram.params[0].speed.scale(ram.params[1]);
};
_global.v2d.CScript.api.speedLimitAbs = function (ram) {
var vAbs = ram.params[0].speed.length();
if (vAbs > ram.params[1]) {
ram.params[0].speed.unify();
ram.params[0].speed.scale(ram.params[1]);
}
};
_global.v2d.CScript.api.spritePlay = function (ram) {
ram.params[0].sprite.play();
};
_global.v2d.CScript.api.spritePlayLabel = function (ram) {
ram.params[0].sprite.gotoAndPlay(ram.params[1]);
};
_global.v2d.CScript.api.spriteScale = function (ram) {
ram.params[0].sprite._xscale = ram.params[1];
ram.params[0].sprite._yscale = ram.params[2];
};
_global.v2d.CScript.api.spriteRotate = function (ram) {
ram.params[0].sprite._rotation = ram.params[1];
};
_global.v2d.CScript.api.strCat = function (ram) {
ram.vars[ram.command[2]] = "";
var j = 0;
while (j < ram.params.length) {
ram.vars[ram.command[2]] = ram.vars[ram.command[2]] + String(ram.params[j]);
j++;
}
};
_global.v2d.CScript.api.trace = function (ram) {
trace("[TRACE] " + ram.params[0]);
};
_global.v2d.CScript.api.val = function (ram) {
ram.vars[ram.command[2]] = ram.params[0];
};
_global.v2d.CMarker = function (x0, y0, x1, y1) {
this._class = "CMarker";
this.x0 = Number(x0);
this.y0 = Number(y0);
if (x1 eq "") {
this.x1 = this.x0;
} else {
this.x1 = Number(x1);
}
if (y1 eq "") {
this.y1 = this.y0;
} else {
this.y1 = Number(y1);
}
this.sprite = undefined;
this.props = new _global.v2d.CProps(this);
};
_global.v2d.CMarker.prototype.copy = function () {
trace("CMarker.copy() -> not implemented yet");
};
_global.v2d.CMarker.prototype.toString = function () {
return(((("[marker x:" + this.x0) + " y:") + this.y0) + "]");
};
_global.v2d.CMarker.prototype.toXmlNode = function () {
var e = _global.v2d.xmlFactory.createElement("m");
e.appendChild(this.props.toXmlNode());
e.attributes.x0 = this.x0;
e.attributes.y0 = this.y0;
e.attributes.x1 = this.x1;
e.attributes.y1 = this.y1;
return(e);
};
_global.v2d.CMarker.prototype.fromXmlNode = function (node) {
this.x0 = Number(node.attributes.x0);
this.y0 = Number(node.attributes.y0);
this.x1 = Number(node.attributes.x1);
this.y1 = Number(node.attributes.y1);
if (node.childNodes[0]) {
this.props.fromXmlNode(node.childNodes[0]);
}
};
_global.v2d.CMarker.prototype.createSprite = function (pos, spriteProps) {
if (!spriteProps) {
spriteProps = this.props;
}
pos = Number(pos);
this.sprite = _global.v2d.sprites.createSprite(spriteProps.getProp("sprite"));
var engine = spriteProps.getProp("engine");
var x = (this.x0 + ((this.x1 - this.x0) * pos));
var y = (this.y0 + ((this.y1 - this.y0) * pos));
if (engine ne "") {
this.sprite.engine = new _global.v2d[engine](this.sprite, spriteProps, x, y, this.x1, this.y1);
}
return(this.sprite);
};
_global.v2d.CMarker.prototype.positionSprite = function () {
if (this.sprite) {
this.sprite._x = this.x0;
this.sprite._y = this.y0;
}
};
_global.v2d.CMarker.prototype.drawEditView = function (mc) {
this.levedMarkerHandle = mc.attachMovie("leved_handle_marker", "marker_handle" + mc.freeInstance, mc.freeInstance++);
this.levedMc = mc;
this.updateEditView();
};
_global.v2d.CMarker.prototype.updateEditView = function () {
if (this.sprite) {
this.positionSprite();
}
this.levedMarkerHandle._x = this.x0;
this.levedMarkerHandle._y = this.y0;
var r = this.props.getProp("engine_radius");
if (r) {
this.levedMarkerHandle.radius._visible = true;
this.levedMarkerHandle.radius._width = r * 2;
this.levedMarkerHandle.radius._height = r * 2;
} else {
this.levedMarkerHandle.radius._visible = false;
}
var e = this.props.getProp("engine");
if ((e eq "") || (_global.v2d[e].desc.doubleMarker == true)) {
with (this.levedMc) {
clear();
var width = Number(this.props.getProp("engine_width"));
beginFill(4491468, 34);
lineStyle(1, 4491468);
moveTo(this.x0, this.y0);
lineTo(this.x0 + width, this.y0);
lineTo(this.x1 + width, this.y1);
lineTo(this.x1, this.y1);
lineTo(this.x0, this.y0);
endFill();
}
this.levedMarkerHandle.dxy._visible = true;
this.levedMarkerHandle.dxy._x = this.x1 - this.x0;
this.levedMarkerHandle.dxy._y = this.y1 - this.y0;
} else {
this.levedMarkerHandle.dxy._visible = false;
}
if (this.props.getProp("engine").substr(0, 11) eq "CSEPlatform") {
this.levedMarkerHandle.platform._visible = true;
this.levedMarkerHandle.platform._width = this.props.getProp("engine_width");
} else {
this.levedMarkerHandle.platform._visible = false;
}
this.levedMarkerHandle.gotoAndStop("active_" + (_root.leved.selectedObject == this));
};
_global.v2d.CVector = function (x0, y0, x1, y1) {
this._class = "CVector";
this.debug = false;
this.geometry = "vector";
this.props = new _global.v2d.CProps(this);
this.x0 = x0;
this.y0 = y0;
this.x1 = x1;
this.y1 = y1;
this.owner = undefined;
};
_global.v2d.CVector.prototype.toString = function () {
return(((((((((("[vektor " + this.id) + ": (") + this.x0) + ",") + this.y0) + ")+(") + this.x1) + ",") + this.y1) + ")]");
};
_global.v2d.CVector.prototype.toXmlNode = function () {
var e = _global.v2d.xmlFactory.createElement("v");
e.appendChild(this.props.toXmlNode());
e.attributes.x0 = this.x0;
e.attributes.y0 = this.y0;
return(e);
};
_global.v2d.CVector.prototype.fromXmlNode = function (vector) {
this.x0 = Number(vector.attributes.x0);
this.y0 = Number(vector.attributes.y0);
if (vector.childNodes[0]) {
this.props.fromXmlNode(vector.childNodes[0]);
}
};
_global.v2d.CVector.prototype.cache = function () {
this.c_length = this.length();
this.c_normal = this.getNormal(this.c_normal);
this.c_slopeFactor = this.calcSlopeFactor();
};
_global.v2d.CVector.prototype.length = function () {
return(Math.sqrt((this.x1 * this.x1) + (this.y1 * this.y1)));
};
_global.v2d.CVector.prototype.distanceFromBase = function (point) {
var tx = (point.x0 - this.x0);
var ty = (point.y0 - this.y0);
return(Math.sqrt((tx * tx) + (ty * ty)));
};
_global.v2d.CVector.prototype.getSlope = function () {
return(this.y1 / this.x1);
};
_global.v2d.CVector.prototype.calcSlopeFactor = function () {
var len = this.length();
this.c_slopeFactor = 1 - Math.abs(this.y1 / len);
var cos = (this.x1 / len);
if (cos > 0) {
this.c_slopeFactor = this.c_slopeFactor * -1;
}
return(this.c_slopeFactor);
};
_global.v2d.CVector.prototype.hitRect = function (rect) {
if ((((this.x0 >= rect.x0) && (this.x0 <= rect.x1)) && (this.y0 >= rect.y0)) && (this.y0 <= rect.y1)) {
return(true);
}
chi = this.calcHCross(rect.y0);
if ((((chi[1] >= 0) && (chi[1] <= 1)) && (chi[0] >= rect.x0)) && (chi[0] <= rect.x1)) {
return(true);
}
clo = this.calcHCross(rect.y1);
if ((((clo[1] >= 0) && (clo[1] <= 1)) && (clo[0] >= rect.x0)) && (clo[0] <= rect.x1)) {
return(true);
}
cle = this.calcVCross(rect.x0);
if ((((cle[1] >= 0) && (cle[1] <= 1)) && (cle[0] >= rect.y0)) && (cle[0] <= rect.y1)) {
return(true);
}
cri = this.calcVCross(rect.x1);
if ((((cri[1] >= 0) && (cri[1] <= 1)) && (cri[0] >= rect.y0)) && (cri[0] <= rect.y1)) {
return(true);
}
return(false);
};
_global.v2d.CVector.prototype.calcHCross = function (y) {
var s = ((y - this.y0) / this.y1);
var x = (this.x0 + (s * this.x1));
return([x, s]);
};
_global.v2d.CVector.prototype.calcVCross = function (x) {
var s = ((x - this.x0) / this.x1);
var y = (this.y0 + (s * this.y1));
return([y, s]);
};
_global.v2d.CVector.prototype.cross = function (v) {
var nq = ((this.x1 * v.y1) - (v.x1 * this.y1));
if (nq == 0) {
return({code:0});
}
n = ((v.y1 * (v.x0 - this.x0)) + (v.x1 * (this.y0 - v.y0))) / nq;
m = (((this.y1 * (this.x0 - v.x0)) + (this.x1 * (v.y0 - this.y0))) / nq) * -1;
if (Math.abs(n) < _global.v2d.ZERO_LIMIT) {
n = 0;
}
if (Math.abs(m) < _global.v2d.ZERO_LIMIT) {
m = 0;
}
var x = (this.x0 + (this.x1 * n));
var y = (this.y0 + (this.y1 * n));
var code = 7;
if ((n < 0) || (n > 1)) {
code = code - 2;
}
if ((m < 0) || (m > 1)) {
code = code - 4;
}
return({code:code, n:n, m:m, x:x, y:y});
};
_global.v2d.CVector.prototype.hit = function (object, collisionPos) {
this.owner.props.event("onHit", this.owner, object);
this.props.event("onHit", this, object, collisionPos);
};
_global.v2d.CVector.prototype.copy = function (bag) {
if (!bag) {
return(new _global.v2d.CVector(this.x0, this.y0, this.x1, this.y1));
}
bag.x0 = this.x0;
bag.y0 = this.y0;
bag.x1 = this.x1;
bag.y1 = this.y1;
return(bag);
};
_global.v2d.CVector.prototype.calcPerpendicular = function (point) {
var a = (point.x0 - this.x0);
var b = (point.y0 - this.y0);
var c = (Math.pow(this.x1, 2) + Math.pow(this.y1, 2));
var p = (((this.x1 * a) + (this.y1 * b)) / c);
var d = (((((this.y1 * a) - (this.x1 * b)) / c) * this.length()) * -1);
return({p:p, d:d});
};
_global.v2d.CVector.prototype.getPerpendicular = function (point, bag) {
var p = this.calcPerpendicular(point);
var v = bag;
if (!v) {
v = new _global.v2d.CVector(this.x0 + (this.x1 * p.p), this.y0 + (this.y1 * p.p), this.y1 * -1, this.x1);
} else {
v.x0 = this.x0 + (this.x1 * p.p);
v.y0 = this.y0 + (this.y1 * p.p);
v.x1 = this.y1 * -1;
v.y1 = this.x1;
}
v.unify();
v.scale(p.d);
v.p = p.p;
v.d = p.d;
return(v);
};
_global.v2d.CVector.prototype.getParallel = function (distance, bag) {
var n = this.getNormal(bag);
n.scale(distance);
n.x0 = this.x0 + n.x1;
n.y0 = this.y0 + n.y1;
n.x1 = this.x1;
n.y1 = this.y1;
return(n);
};
_global.v2d.CVector.prototype.cf_getParallel = function (distance, bag) {
var n = this.c_normal.copy(bag);
n.scale(distance);
n.x0 = this.x0 + n.x1;
n.y0 = this.y0 + n.y1;
n.x1 = this.x1;
n.y1 = this.y1;
return(n);
};
_global.v2d.CVector.prototype.getNormal = function (bag) {
v = this.copy(bag);
if (this.debug) {
v.id = this.id + "_normal";
}
v.scale(0.5);
v.x0 = v.x0 + v.x1;
v.y0 = v.y0 + v.y1;
temp = v.x1;
v.x1 = v.y1 * -1;
v.y1 = temp;
v.unify();
return(v);
};
_global.v2d.CVector.prototype.getBoundingRect = function (bag) {
if (!bag) {
return(new _global.v2d.CRect(this.x0, this.y0, this.x0 + this.x1, this.y0 + this.y1));
}
bag.x0 = this.x0;
bag.y0 = this.y0;
bag.x1 = this.x0 + this.x1;
bag.y1 = this.y0 + this.y1;
bag.standardize();
return(bag);
};
_global.v2d.CVector.prototype.moveBaseTo = function (x, y) {
this.x0 = x;
this.y0 = y;
};
_global.v2d.CVector.prototype.pointTo = function (x, y) {
this.x1 = x - this.x0;
this.y1 = y - this.y0;
};
_global.v2d.CVector.prototype.unify = function () {
var size = this.length();
if (size != 0) {
this.x1 = this.x1 / size;
this.y1 = this.y1 / size;
}
};
_global.v2d.CVector.prototype.scale = function (factor) {
this.x1 = this.x1 * factor;
this.y1 = this.y1 * factor;
};
_global.v2d.CVector.prototype.draw = function (mc, thickness, color) {
with (mc) {
lineStyle(thickness, color);
moveTo(this.x0, this.y0);
lineTo(this.x0 + this.x1, this.y0 + this.y1);
}
};
_global.v2d.CVector.prototype.drawEditView = function (mc, noHandles) {
this.levedPolyHandle.removeMovieClip();
if (!noHandles) {
this.levedVertexHandle = mc.attachMovie("leved_handle_vertex", "vertex_handle" + mc.freeInstance, mc.freeInstance++);
if (this.id == 0) {
this.levedPolyHandle = mc.attachMovie("leved_handle_poly", "poly_handle" + mc.freeInstance, mc.freeInstance++);
}
}
this.levedMc = mc;
this.updateEditView();
};
_global.v2d.CVector.prototype.updateEditView = function (highlite) {
var active = false;
if (((_root.leved.selectedObject == this) || (_root.leved.selectedObject == this.owner)) || (highlite == true)) {
lineColor = _global.v2d.COLOR_VECTOR_ACTIVE;
active = true;
} else {
lineColor = _global.v2d.COLOR_VECTOR;
}
if (highlite eq "false") {
lineColor = _global.v2d.COLOR_VECTOR;
}
this.levedMc.clear();
this.draw(this.levedMc, 1, lineColor);
if (!this.drawEditViewNormal) {
this.drawEditViewNormal = new _global.v2d.CVector();
}
var n = this.getNormal(this.drawEditViewNormal);
n.scale(-5);
n.draw(this.levedMc, 1, lineColor);
this.levedVertexHandle._x = this.x0;
this.levedVertexHandle._y = this.y0;
this.levedVertexHandle.gotoAndStop("active_" + active);
this.levedPolyHandle._x = this.drawEditViewNormal.x0;
this.levedPolyHandle._y = this.drawEditViewNormal.y0;
};
_global.v2d.CPoly = function () {
this._class = "CPoly";
this.vectors = new Array();
this.props = new _global.v2d.CProps(this);
};
_global.v2d.CPoly.prototype.toString = function () {
return(("[Poly " + this.id) + "]");
};
_global.v2d.CPoly.prototype.toXmlNode = function () {
var e = _global.v2d.xmlFactory.createElement("p");
var p = this.props.toXmlNode();
e.appendChild(p);
var i = 0;
while (i < this.vectors.length) {
e.appendChild(this.vectors[i].toXmlNode());
i++;
}
return(e);
};
_global.v2d.CPoly.prototype.fromXmlNode = function (poly) {
var i = 0;
while (i < poly.childNodes.length) {
var o = poly.childNodes[i];
switch (o.nodeName) {
case "v" :
var vector = (new _global.v2d.CVector());
vector.fromXmlNode(o);
this.addVector(vector);
break;
case "prop" :
this.props.fromXmlNode(o);
}
i++;
}
this.correctVectors();
};
_global.v2d.CPoly.prototype.addVector = function (v) {
v.owner = this;
v.id = this.vectors.length;
this.vectors.push(v);
};
_global.v2d.CPoly.prototype.splitVector = function (v) {
var newVector = (new _global.v2d.CVector(v.x0 + (v.x1 * 0.5), v.y0 + (v.y1 * 0.5), 0, 0));
newVector.owner = this;
this.vectors.splice(v.id + 1, 0, newVector);
this.correctVectors();
return(newVector);
};
_global.v2d.CPoly.prototype.removeVector = function (v) {
if (this.vectors.length > 2) {
this.vectors.splice(v.id, 1);
var i = 0;
while (i < this.vectors.length) {
this.vectors[i].id = i;
i++;
}
this.correctVectors();
return(true);
}
};
_global.v2d.CPoly.prototype.nextVector = function (id) {
if ((++id) == this.vectors.length) {
return(this.vectors[0]);
}
return(this.vectors[id]);
};
_global.v2d.CPoly.prototype.prevVector = function (id) {
if ((--id) < 0) {
return(this.vectors[this.vectors.length - 1]);
}
return(this.vectors[id]);
};
_global.v2d.CPoly.prototype.movePointTo = function (id, x, y) {
var v = this.vectors[id];
var next = this.nextVector(id);
var prev = this.prevVector(id);
if ((!((x == next.x0) && (y == next.y0))) && (!((x == prev.x0) && (y == prev.y0)))) {
v.moveBaseTo(x, y);
v.pointTo(next.x0, next.y0);
prev.pointTo(v.x0, v.y0);
}
v.updateEditView();
prev.updateEditView();
};
_global.v2d.CPoly.prototype.movePoly = function (dx, dy) {
var i = 0;
while (i < this.vectors.length) {
this.vectors[i].x0 = this.vectors[i].x0 + dx;
this.vectors[i].y0 = this.vectors[i].y0 + dy;
i++;
}
};
_global.v2d.CPoly.prototype.correctVectors = function () {
var i = 0;
while (i < this.vectors.length) {
var act = this.vectors[i];
var next = this.nextVector(i);
act.pointTo(next.x0, next.y0);
i++;
}
};
_global.v2d.CPoly.prototype.clear = function () {
while (this.vectors.length > 0) {
this.vectors.pop();
}
};
_global.v2d.CPoly.prototype.drawEditView = function (mc) {
mc.clear();
for (var i in mc) {
removeMovieClip(mc[i]);
}
mc.freeInstance = 0;
var i = 0;
while (i < this.vectors.length) {
vectorMc = mc.createEmptyMovieClip("vector_" + mc.freeInstance, mc.freeInstance++);
vectorMc.freeInstance = 0;
vectorMc.vector = this.vectors[i];
this.vectors[i].drawEditView(vectorMc);
this.vectors[i].nextVector = this.nextVector(i);
this.vectors[i].prevVector = this.prevVector(i);
this.vectors[i].id = i;
i++;
}
};
_global.v2d.CPoly.prototype.updateEditView = function () {
var i = 0;
while (i < this.vectors.length) {
this.vectors[i].updateEditView();
i++;
}
};
_global.v2d.CLevel = function (id) {
this._class = "CLevel";
this.id = id;
this.polys = new Array();
this.markers = new Array();
this.props = new _global.v2d.CProps(this);
this.objectsByName = undefined;
};
_global.v2d.CLevel.prototype.toString = function () {
return(("[Level " + this.id) + "]");
};
_global.v2d.CLevel.prototype.toXmlNode = function () {
var e = _global.v2d.xmlFactory.createElement("l");
e.attributes.id = this.id;
var p = this.props.toXmlNode();
e.appendChild(p);
var i = 0;
while (i < this.polys.length) {
var p = this.polys[i].toXmlNode();
e.appendChild(p);
i++;
}
var i = 0;
while (i < this.markers.length) {
var m = this.markers[i].toXmlNode();
e.appendChild(m);
i++;
}
return(e);
};
_global.v2d.CLevel.prototype.fromXmlNode = function (level) {
this.id = level.attributes.id;
var i = 0;
while (i < level.childNodes.length) {
var o = level.childNodes[i];
switch (o.nodeName) {
case "p" :
var poly = (new _global.v2d.CPoly());
poly.fromXmlNode(o);
this.addPoly(poly);
break;
case "m" :
var marker = (new _global.v2d.CMarker());
marker.fromXmlNode(o);
this.addMarker(marker);
break;
case "prop" :
this.props.fromXmlNode(o);
}
i++;
}
this.updateObjectsByName();
};
_global.v2d.CLevel.prototype.updateObjectsByName = function () {
delete this.objectsByName;
this.objectsByName = new Array();
var i = 0;
while (i < this.markers.length) {
if (this.markers[i].props.name ne "") {
this.objectsByName[this.markers[i].props.name] = this.markers[i];
}
i++;
}
var i = 0;
while (i < this.polys.length) {
var poly = this.polys[i];
if (poly.props.name ne "") {
this.objectsByName[poly.props.name] = poly;
}
var j = 0;
while (j < poly.vectors.length) {
if (poly.vectors[j].props.name ne "") {
this.objectsByName[poly.vectors[j].props.name] = poly.vectors[j];
}
j++;
}
i++;
}
};
_global.v2d.CLevel.prototype.addPoly = function (p) {
this.polys.push(p);
};
_global.v2d.CLevel.prototype.addPolyAt = function (p, id) {
this.polys.splice(id, 0, p);
};
_global.v2d.CLevel.prototype.deletePoly = function (id) {
this.polys.splice(id, 1);
};
_global.v2d.CLevel.prototype.addMarker = function (m) {
this.markers.push(m);
m.id = this.markers.length - 1;
};
_global.v2d.CLevel.prototype.addMarkerAt = function (m, id) {
this.markers.splice(id, 0, m);
m.id = id;
};
_global.v2d.CLevel.prototype.deleteMarker = function (id) {
this.markers.splice(id, 1);
};
_global.v2d.CLevel.prototype.clear = function () {
this.polys.splice(0, this.polys.length);
this.markers.splice(0, this.markers.length);
};
_global.v2d.CLevel.prototype.init = function (entrance, pos) {
pos = Number(pos);
_root.osd.update();
this.props.initScreen();
_global.v2d.sprites.reset();
_global.v2d.gfx.fg.gotoAndStop(this.id + 1);
var targetFrame = (this.id + 1);
_global.v2d.gfx.bg.gotoAndStop(targetFrame);
var i = 0;
while (i < this.markers.length) {
this.markers[i].id = i;
if (!_global.v2d[this.markers[i].props.getProp("engine")].desc.player) {
this.markers[i].createSprite();
}
i++;
}
var i = 0;
while (i < _global.v2d.world.players.length) {
_global.v2d.world.players[i].initOnScreen(entrance, pos);
i++;
}
var i = 0;
while (i < this.polys.length) {
var poly = this.polys[i];
poly.props.initScreen();
var j = 0;
while (j < poly.vectors.length) {
poly.vectors[j].props.initScreen();
j++;
}
var j = 0;
while (j < this.markers.length) {
this.markers[j].props.initScreen();
j++;
}
i++;
}
trace("\ninit level " + this.id);
_global.v2d.event.execute("onInitScreen");
_global.v2d.tiles.loadLevel(this);
};
_global.v2d.CLevel.prototype.drawEditView = function (mc) {
mc.clear();
for (var i in mc) {
removeMovieClip(mc[i]);
}
mc.freeInstance = 0;
var i = 0;
while (i < this.polys.length) {
polyMc = mc.createEmptyMovieClip("poly_" + mc.freeInstance, mc.freeInstance++);
polyMc.poly = this.polys[i];
this.polys[i].drawEditView(polyMc);
this.polys[i].id = i;
i++;
}
var i = 0;
while (i < this.markers.length) {
markerMc = mc.createEmptyMovieClip("marker_" + mc.freeInstance, mc.freeInstance++);
markerMc.freeInstance = 0;
markerMc.marker = this.markers[i];
this.markers[i].drawEditView(markerMc);
this.markers[i].id = i;
i++;
}
};
_global.v2d.CPlayer = function (id) {
this._class = "CPlayer";
this.debug = false;
this.id = id;
this.behaviour = new _global.v2d.CProps(this);
this.behaviour.superPropsName = "ball";
this.sprite = undefined;
this.inventory = new Array();
this.continues = -1;
this.lives = 6;
this.hitPoints = 1;
this.energy = 1;
this.score = 0;
this.coins = 0;
this.firstContinue = true;
};
_global.v2d.CPlayer.prototype.toString = function () {
return(("[Player: id=" + this.id) + "]");
};
_global.v2d.CPlayer.prototype.damage = function (amount) {
this.hitPoints = this.hitPoints - amount;
if (this.hitPoints <= 0) {
this.die();
}
};
_global.v2d.CPlayer.prototype.addScore = function (points) {
this.score = this.score + points;
_root.osd.updateScore();
};
_global.v2d.CPlayer.prototype.addCoin = function () {
this.addScore(5);
this.coins++;
if (this.coins >= 30) {
this.coins = this.coins - 30;
this.addLife();
}
_root.osd.updateCoins();
};
_global.v2d.CPlayer.prototype.addLife = function () {
this.actLives++;
_root.osd.updateLives();
_root.osd.extraLife();
};
_global.v2d.CPlayer.prototype.die = function () {
if (this.invincibleStat) {
return(undefined);
}
_global.v2d.event.execute("onPlayerDie");
this.sprite.gotoAndPlay("die");
_global.v2d.main.sleep(Number(this.sprite.engine.props.getProp("player_dieAnimFrames")));
this.actLives--;
if (this.actLives == 0) {
this.initNewContinue();
} else {
this.initNewLive();
}
};
_global.v2d.CPlayer.prototype.initNewLive = function () {
trace("init new live");
this.actHitPoints = this.hitPoints;
this.actEnergy = this.energy;
_global.v2d.main.setScreen(this.newLiveScreen, this.newLiveMarker, this.newLivePos);
this.invincibleStat = true;
this.framesAlive = 0;
};
_global.v2d.CPlayer.prototype.initNewContinue = function () {
trace("init new continue");
this.newLiveScreen = this.newContinueScreen;
this.newLiveMarker = this.newContinueMarker;
this.newLivePos = 0;
this.actLives = this.lives;
_global.v2d.main.status = _global.v2d.main.STATUS_GAMEOVER;
trace("call gameover osd");
if (true || (this.firstContinue)) {
this.firstContinue = false;
trace("init continue");
this.initNewContinue2();
} else {
trace("gameover");
_root.osd.gameOver();
}
};
_global.v2d.CPlayer.prototype.initNewContinue2 = function () {
this.score = 0;
this.coins = 0;
_global.v2d.respawn.executeJob("onResetWorld");
this.initNewLive();
};
_global.v2d.CPlayer.prototype.initOnScreen = function (entrance, pos) {
if (entrance eq "") {
entrance = "savepoint";
}
this.newLiveScreen = _global.v2d.world.actLevel.id;
this.newLiveMarker = entrance;
this.newLivePos = pos;
this.behaviour.initRuntime();
var markers = _global.v2d.world.actLevel.markers;
var found = false;
var i = 0;
while (i < markers.length) {
if (markers[i].props.name eq entrance) {
markers[i].props.initRuntime();
this.behaviour.addPropsToRuntime(markers[i].props);
this.sprite = markers[i].createSprite(pos, this.behaviour);
this.sprite.engine.team = "player";
this.sprite.engine.player = this;
found = true;
break;
}
i++;
}
if (!found) {
trace(("#ERROR: can't find marker >" + entrance) + "< on this screen");
}
};
_global.v2d.CPlayer.prototype.setBehaviour = function (b) {
trace("setBehaviour: " + b);
this.behaviour.superPropsName = b;
};
_global.v2d.CPlayer.prototype.setContinuePoint = function (screen, marker) {
trace((("set cont point: " + screen) + " -> ") + marker);
this.newContinueScreen = screen;
this.newContinueMarker = marker;
this.newLiveScreen = screen;
this.newLiveMarker = marker;
this.newLivePos = 0;
this.actPass = _global.v2d.world.levels[screen].props.getProp("password");
trace("pass: " + this.actPass);
_root.osd.updatePass();
};
_global.v2d.CPlayer.desc = new Object();
var desc = _global.v2d.CPlayer.desc;
desc.useProps = ["player_dieAnimFrames"];
_global.v2d.CWorld = function () {
this._class = "CWorld";
this.debug = false;
this.levels = new Array(_global.v2d.maxLevels);
this.scripts = new Array();
this.superProps = new Array();
this.players = new Array(1);
this.players[0] = new _global.v2d.CPlayer(0);
this.actLevelId = -1;
this.ready = false;
};
_global.v2d.CWorld.prototype.toString = function () {
return("[World]");
};
_global.v2d.CWorld.prototype.toXml = function () {
var x = new XML();
x.xmlDecl = "<?xml version=\"1.0\" ?>";
x.docTypeDecl = "<!DOCTYPE (c)neodelight v2dml >";
var e = x.createElement("world");
for (var i in this.scripts) {
this.scripts[i].name = i;
e.appendChild(this.scripts[i].toXmlNode());
}
for (var i in this.superProps) {
e.appendChild(this.superProps[i].toXmlNode());
}
var i = 0;
while (i < _global.v2d.maxLevels) {
var l = this.levels[i].toXmlNode();
l.attributes.id = i;
e.appendChild(l);
i++;
}
x.appendChild(e);
return(x);
};
_global.v2d.CWorld.prototype.addObjectFromXml = function (o) {
switch (o.nodeName) {
case "l" :
var id = o.attributes.id;
if (!this.levels[id]) {
this.levels[id] = new _global.v2d.CLevel();
} else {
this.levels[id].clear();
}
this.levels[id].fromXmlNode(o);
return;
case "script" :
this.scripts[o.attributes.name] = new _global.v2d.CScript();
this.scripts[o.attributes.name].fromXmlNode(o);
return;
case "prop" :
var p = (new _global.v2d.CProps());
p.fromXmlNode(o);
this.superProps[p.name] = p;
}
};
_global.v2d.CWorld.prototype.initProps = function () {
for (var i in this.superProps) {
this.superProps[i].initRuntime();
}
for (var i in this.levels) {
var level = this.levels[i];
level.props.initRuntime();
for (var j in level.markers) {
level.markers[j].props.initRuntime();
}
for (var j in level.polys) {
var poly = level.polys[j];
poly.props.initRuntime();
for (var k in poly.vectors) {
poly.vectors[k].props.initRuntime();
}
}
}
};
_global.v2d.CWorld.prototype.createLevel = function (id) {
this.levels[id] = new _global.v2d.CLevel();
this.levels[id].id = id;
this.actLevelId = id;
};
_global.v2d.CWorld.prototype.deleteLevel = function (id) {
this.levels[id] = undefined;
if (this.actLevelId == id) {
this.actLevel = undefined;
}
};
_global.v2d.CWorld.prototype.setLevel = function (id, entrance, pos) {
_global.v2d.main.pause();
this.actLevel = this.levels[id];
this.actLevelId = id;
this.actLevel.id = id;
_root.osd.updateLevel();
if (this.debug) {
trace("init level---------------START");
}
_root.leved.refresh();
this.actLevel.init(entrance, pos);
if (this.debug) {
trace("init level---------------STOP");
}
if (!this.actLevel) {
if (this.debug) {
trace("#ERROR: CWorld.setLevel: no leveldata");
}
_global.v2d.gfx.fg.gotoAndStop(id + 1);
_global.v2d.gfx.bg.gotoAndStop(id + 1);
}
};
_global.v2d.CWorld.prototype.getLevelByName = function (name) {
var i = 0;
while (i < this.levels.length) {
if (this.levels[i].props.name eq name) {
return(this.levels[i]);
}
i++;
}
trace("#ERROR: can't find level " + name);
return(undefined);
};
_global.v2d.CWorld.prototype.resolvePassword = function (pass) {
result = -1;
var i = 0;
while (i < this.levels.length) {
if (this.levels[i].props.getProp("password") eq pass) {
return(i);
}
i++;
}
return(result);
};
_global.v2d.CWorld.prototype.clear = function () {
var i = 0;
while (i < _global.v2d.maxLevels) {
this.levels[i] = false;
i++;
}
};
_global.v2d.CSEPlatform = function (sprite, props, x, y) {
this._class = "CSEPlatform";
this.width = props.getProp("engine_width");
this.sprite = sprite;
this.sprite._x = x;
this.sprite._y = y;
this.sprite._rotation = 0;
this.props = props;
this.team = "";
this.geometry = "platform";
this.position = new _global.v2d.CVector(x, y, 0, 0);
this.vx = 0;
this.vy = 0;
this.c_slopeFactor = 1;
};
_global.v2d.CSEPlatform.prototype.toString = function () {
return(((((("[SpriteEngine:Platform pos: " + this.position) + " width=") + this.width) + " (sprite:") + this.sprite._target) + ")]");
};
_global.v2d.CSEPlatform.prototype.hit = function (object) {
this.props.event("onHit", this, object);
};
_global.v2d.CSEPlatform.prototype.getBoundingRect = function (bag) {
bag.x0 = this.position.x0;
bag.y0 = this.position.y0;
bag.x1 = this.position.x0 + this.width;
bag.y1 = this.position.y0;
return(bag);
};
_global.v2d.CSEPlatform.desc = new Object();
var desc = _global.v2d.CSEPlatform.desc;
desc.useProps = new Array("engine_width");
_global.v2d.CSEPlatformDrone = function (sprite, props, x0, y0, x1, y1) {
super(sprite, props, x0, y0);
this._class = "CSEPlatformDrone";
this.debug = true;
if (this.debug) {
this.drawEditView(this.sprite);
}
this.dx = Number(x1 - x0);
this.dy = Number(y1 - y0);
this.v = Number(props.getProp("engine_speed"));
this.pos = Number(props.getProp("engine_pos"));
if (this.pos < 0) {
this.v = this.v * -1;
this.pos = this.pos * -1;
}
this.rootX = x0;
this.rootY = y0;
this.sprite._x = this.rootX + (this.dx * this.pos);
this.sprite._y = this.rootY + (this.dy * this.pos);
this.sprite._rotation = 0;
this.move(0);
};
_global.v2d.CSEPlatformDrone.prototype = new _global.v2d.CSEPlatform();
_global.v2d.CSEPlatformDrone.prototype.move = function (dt) {
this.pos = this.pos + this.v;
if (this.pos > 1) {
this.pos = 1;
this.v = Math.abs(this.v) * -1;
} else if (this.pos < 0) {
this.pos = 0;
this.v = Math.abs(this.v);
}
var toX = (this.rootX + (this.dx * this.pos));
var toY = (this.rootY + (this.dy * this.pos));
this.vx = toX - this.position.x0;
this.vy = toY - this.position.y0;
this.position.x0 = toX;
this.position.y0 = toY;
this.sprite._x = this.position.x0;
this.sprite._y = this.position.y0;
};
_global.v2d.CSEPlatformDrone.prototype.getBoundingRect = function (bag) {
bag.x0 = Math.min(this.rootX, this.rootX + this.dx);
bag.y0 = Math.min(this.rootY, this.rootY + this.dy);
bag.x1 = Math.max(this.rootX + this.width, (this.rootX + this.dx) + this.width);
bag.y1 = Math.max(this.rootY, this.rootY + this.dy);
return(bag);
};
_global.v2d.CSEPlatformDrone.prototype.toString = function () {
return(((((("[SpriteEngine:PlatformDrone (sprite:" + this.sprite._target) + " dx:") + this.dx) + " dy:") + this.dy) + "]");
};
_global.v2d.CSEPlatformDrone.desc = new Object();
var desc = _global.v2d.CSEPlatformDrone.desc;
desc.useProps = _global.v2d.array.copy(_global.v2d.CSEPlatform.desc.useProps);
desc.useProps.push("engine_pos", "engine_speed");
desc.doubleMarker = true;
_global.v2d.CSECircle = function (sprite, props, x, y) {
this._class = "CSECircle";
this.debug = false;
this.sprite = sprite;
this.sprite._x = x;
this.sprite._y = y;
this.sprite._rotation = 0;
this.props = props;
this.team = "";
this.geometry = "circle";
this.radius = props.getProp("engine_radius");
this.position = new _global.v2d.CVector(x, y, 0, 0);
};
_global.v2d.CSECircle.prototype.hit = function (object) {
this.props.event("onHit", this, object);
};
_global.v2d.CSECircle.prototype.getBoundingRect = function (bag) {
if (!bag) {
return(new _global.v2d.CRect(this.position.x0 - this.radius, this.position.y0 - this.radius, this.position.x0 + this.radius, this.position.y0 + this.radius));
}
bag.x0 = this.position.x0 - this.radius;
bag.y0 = this.position.y0 - this.radius;
bag.x1 = this.position.x0 + this.radius;
bag.y1 = this.position.y0 + this.radius;
return(bag);
};
_global.v2d.CSECircle.prototype.toString = function () {
return(("[SpriteEngine:Circle (sprite:" + this.sprite._target) + ")]");
};
_global.v2d.CSECircle.desc = new Object();
var desc = _global.v2d.CSECircle.desc;
desc.useProps = ["engine_radius"];
_global.v2d.CSECircleDrone = function (sprite, props, x0, y0, x1, y1) {
super(sprite, props, x0, y0);
this._class = "CSECircleDrone";
this.dx = Number(x1 - x0);
this.dy = Number(y1 - y0);
this.v = Number(props.getProp("engine_speed"));
this.pos = Number(props.getProp("engine_pos"));
if (this.pos < 0) {
this.v = this.v * -1;
this.pos = this.pos * -1;
}
if ((this.v * this.dx) < 0) {
this.sprite._xscale = -100;
} else {
this.sprite._xscale = 100;
}
this.rootX = x0;
this.rootY = y0;
this.move(0);
};
_global.v2d.CSECircleDrone.prototype = new _global.v2d.CSECircle();
_global.v2d.CSECircleDrone.prototype.move = function (dt) {
this.pos = this.pos + this.v;
if (this.pos > 1) {
this.pos = 1;
this.v = Math.abs(this.v) * -1;
if (this.dx > 0) {
this.sprite._xscale = -100;
} else {
this.sprite._xscale = 100;
}
} else if (this.pos < 0) {
this.pos = 0;
this.v = Math.abs(this.v);
if (this.dx > 0) {
this.sprite._xscale = 100;
} else {
this.sprite._xscale = -100;
}
}
this.position.x0 = this.rootX + (this.dx * this.pos);
this.sprite._x = this.position.x0;
this.position.y0 = this.rootY + (this.dy * this.pos);
this.sprite._y = this.position.y0;
};
_global.v2d.CSECircleDrone.prototype.getBoundingRect = function (bag) {
bag.x0 = this.rootX;
bag.y0 = this.rootY;
bag.x1 = this.rootX + this.dx;
bag.y1 = this.rootY + this.dy;
bag.standardize();
bag.x0 = bag.x0 - this.radius;
bag.y0 = bag.y0 - this.radius;
bag.x1 = bag.x1 + this.radius;
bag.y1 = bag.y1 + this.radius;
return(bag);
};
_global.v2d.CSECircleDrone.prototype.toString = function () {
return(((((("[SpriteEngine:CircleDrone (sprite:" + this.sprite._target) + " dx:") + this.dx) + " dy:") + this.dy) + "]");
};
_global.v2d.CSECircleDrone.desc = new Object();
var desc = _global.v2d.CSECircleDrone.desc;
desc.useProps = _global.v2d.array.copy(_global.v2d.CSECircle.desc.useProps);
desc.useProps.push("engine_pos", "engine_speed");
desc.doubleMarker = true;
_global.v2d.CSEBall = function (sprite, props, x, y) {
super(sprite, props, x, y);
this._class = "CSEBall";
this.debug = false;
this.weight = props.getProp("engine_weight");
if (this.weight eq "") {
this.weight = 0;
}
this.flex = props.getProp("engine_flex");
if (this.flex eq "") {
this.flex = 1;
}
this.boundingRect = new _global.v2d.CRect();
this.objects = new Array();
this.to = new _global.v2d.CPoint();
this.perpTo = new _global.v2d.CVector();
this.par = new _global.v2d.CVector();
this.cornerPerp = new _global.v2d.CVector();
this.mirrorVector = new _global.v2d.CVector();
this.speed = new _global.v2d.CVector(0, 0, 0, 0);
if (props.getProp("engine_vx") ne "") {
this.speed.x1 = props.getProp("engine_vx");
}
if (props.getProp("engine_vy") ne "") {
this.speed.y1 = props.getProp("engine_vy");
}
this.rotation = this.sprite._rotation;
};
_global.v2d.CSEBall.prototype = new _global.v2d.CSECircle();
_global.v2d.CSEBall.prototype.move = function (dt) {
this.position.x1 = this.speed.x1 * dt;
this.position.y1 = this.speed.y1 * dt;
this.to.x0 = this.position.x0 + this.position.x1;
this.to.y0 = this.position.y0 + this.position.y1;
this.boundingRect.x0 = this.position.x0;
this.boundingRect.y0 = this.position.y0;
this.boundingRect.x1 = this.to.x0;
this.boundingRect.y1 = this.to.y0;
this.boundingRect.standardize();
this.boundingRect.x0 = this.boundingRect.x0 - this.radius;
this.boundingRect.y0 = this.boundingRect.y0 - this.radius;
this.boundingRect.x1 = this.boundingRect.x1 + this.radius;
this.boundingRect.y1 = this.boundingRect.y1 + this.radius;
this.objects = _global.v2d.tiles.getVectorsWithinRect(this.boundingRect, this.objects);
if (this.debug) {
trace((((((("\n[" + _global.v2d.main.step) + "]->(") + this.objects.length) + "): move=") + this.position) + " speed=") + this.speed);
this.boundingRect.drawOutline(_root.leved.debug, 1, 16750848);
this.position.draw(_root.leved.debug, 1, 39168);
}
var collision = false;
var collisionObject = undefined;
var collisionPos = 0;
_root.leved.collisionChecks = this.objects.length;
var i = 0;
while (i < this.objects.length) {
var object = this.objects[i];
if (object.geometry eq "vector") {
if (this.debug) {
trace((("collision check. this: " + this.position) + " v: ") + object);
var tmp = this.position.getParallel(((i + 1) * 3) - 2);
object.draw(_root.leved.debug, 1, 8704);
}
if (this.debug) {
trace("Collision Check Vector Line................");
}
if (this.radius > 0) {
this.par = object.cf_getParallel(this.radius, this.par);
} else {
this.par = object;
}
if (this.debug) {
trace("par=" + this.par);
}
var perpFrom = this.par.calcPerpendicular(this.position);
if (Math.abs(perpFrom.d) < _global.v2d.ZERO_LIMIT) {
perpFrom.d = 0;
}
if (this.debug) {
trace("perpFrom.d: " + perpFrom.d);
}
if (perpFrom.d >= 0) {
this.perpTo = this.par.getPerpendicular(this.to, this.perpTo);
if (this.debug) {
trace("perpTo.d: " + this.perpTo.d);
}
if (this.perpTo.d < 0) {
var cross = this.position.cross(this.par);
if (cross.code == 7) {
if (this.debug) {
trace("collision");
}
collision = true;
this.to.x0 = cross.x;
this.to.y0 = cross.y;
this.position.pointTo(this.to.x0, this.to.y0);
this.perpTo.scale(-1);
var v = this.speed.length();
if (this.debug) {
trace((("speed before: " + this.speed) + " v=") + v);
trace((((((("perpTo=" + this.perpTo) + " perpFrom=") + this.perpFrom) + " cross=") + cross.x) + "/") + cross.y);
}
this.speed.x1 = (this.perpTo.x0 + this.perpTo.x1) - cross.x;
this.speed.y1 = (this.perpTo.y0 + this.perpTo.y1) - cross.y;
if (this.debug) {
trace("after mirror/before unify: " + this.speed);
}
this.speed.unify();
this.speed.scale(v);
if (this.debug) {
trace("speed after: " + this.speed);
}
collisionObject = object;
collisionPos = cross.m;
}
if (this.debug) {
var temp = this.speed.copy();
temp.scale(dt);
temp.x0 = this.to.x0;
temp.y0 = this.to.y0;
temp.draw(_root.leved.debug, 1, 16711680);
trace((((((((((("cross code:" + cross.code) + " n:") + cross.n) + " m:") + cross.m) + " x:") + cross.x) + " y:") + cross.y) + "vector: ") + this.par);
this.perpTo = this.par.getPerpendicular(this.to, this.perpTo);
trace("new perpTo.d: " + this.perpTo.d);
}
}
}
if (this.radius > 0) {
if (this.debug) {
trace("Collision Check Vector Corner..............");
}
this.cornerPerp = this.position.getPerpendicular(object, this.cornerPerp);
if ((Math.abs(this.cornerPerp.d) <= this.radius) && (this.cornerPerp.p > 0)) {
this.par = this.position.getParallel(this.cornerPerp.d, this.par);
var parOffset = ((this.radius * Math.abs(Math.sin(Math.acos(Math.abs(this.cornerPerp.d) / this.radius)))) / this.position.length());
this.par.x0 = this.par.x0 + (this.par.x1 * parOffset);
this.par.y0 = this.par.y0 + (this.par.y1 * parOffset);
var p;
if (Math.abs(this.par.x1) > Math.abs(this.par.y1)) {
p = (object.x0 - this.par.x0) / this.par.x1;
} else {
p = (object.y0 - this.par.y0) / this.par.y1;
}
if ((p > 0) && (p <= 1)) {
if (this.debug) {
trace("Corner Hit");
}
collision = true;
this.position.x1 = this.position.x1 * p;
this.position.y1 = this.position.y1 * p;
this.to.x0 = this.sprite._x + this.position.x1;
this.to.y0 = this.sprite._y + this.position.y1;
this.mirrorVector.x0 = object.x0;
this.mirrorVector.y0 = object.y0;
this.mirrorVector.pointTo(this.to.x0, this.to.y0);
this.cornerPerp = this.mirrorVector.getPerpendicular(this.position, this.cornerPerp);
var v = this.speed.length();
this.cornerPerp.scale(-1);
this.speed.x1 = (this.cornerPerp.x0 + this.cornerPerp.x1) - this.to.x0;
this.speed.y1 = (this.cornerPerp.y0 + this.cornerPerp.y1) - this.to.y0;
this.speed.unify();
this.speed.scale(v);
collisionObject = object;
collisionPos = 0;
}
}
}
} else if (object.geometry == "circle") {
var distance = _global.v2d.math.p2pDistance(this.position.x0, this.position.y0, object.position.x0, object.position.y0);
if (distance < (this.radius + object.radius)) {
object.hit(this);
}
} else if (object.geometry == "platform") {
if (this.debug) {
trace("Collision Check Platform.............. " + object.toString());
}
if (this.position.y1 > 0) {
var cross = this.position.calcHCross(object.position.y0);
var dx = (cross[0] - object.position.x0);
if ((dx > (this.radius * -1)) && (dx < (object.width + this.radius))) {
var fromY = (this.position.y0 + this.radius);
var toY = (this.to.y0 + this.radius);
if (this.debug) {
trace((("fromY: " + fromY) + " toY: ") + toY);
trace((("platfrom position.y0: " + object.position.y0) + " object.vy: ") + object.vy);
}
if ((fromY <= Math.max(object.position.y0, object.position.y0 - object.vy)) && (toY >= Math.min(object.position.y0, object.position.y0 - object.vy))) {
if (this.debug) {
trace("platform collision occured!");
}
collision = true;
collisionObject = object;
collisionPos = 0;
cross = this.position.calcHCross(object.position.y0 - this.radius);
this.to.x0 = cross[0];
this.to.y0 = object.position.y0 - this.radius;
this.position.pointTo(this.to.x0, this.to.y0);
this.speed.y1 = Math.abs(this.speed.y1) * -1;
this.speed.y1 = this.speed.y1 + ((object.vy / dt) * 3);
}
}
}
} else {
trace("CSEBall: unknown collision object type: " + _global.v2d.debug.describe(object));
}
i++;
}
this.sprite._x = this.to.x0;
this.sprite._y = this.to.y0;
this.position.x0 = this.to.x0;
this.position.y0 = this.to.y0;
this.sprite._rotation = this.sprite._rotation + (this.rotation * dt);
if (collision) {
this.collision(collisionObject, collisionPos);
} else {
this.noCollision(dt);
}
if (this.debug) {
var temp = this.speed.copy();
temp.scale(dt);
temp.x0 = this.to.x0;
temp.y0 = this.to.y0;
temp.draw(_root.leved.debug, 1, 65280);
}
};
_global.v2d.CSEBall.prototype.collision = function (collisionObject, collisionPos) {
collisionObject.hit(this, collisionPos);
this.speed.scale(this.flex);
};
_global.v2d.CSEBall.prototype.noCollision = function (dt) {
this.speed.y1 = this.speed.y1 + (this.weight * dt);
};
_global.v2d.CSEBall.prototype.getBoundingRect = function (bag) {
return("master");
};
_global.v2d.CSEBall.prototype.toString = function () {
return(((((("[SpriteEngine:Ball (sprite:" + this.sprite._target) + " vx:") + this.vx) + " vy:") + this.vy) + "]");
};
_global.v2d.CSEBall.desc = new Object();
var desc = _global.v2d.CSEBall.desc;
desc.useProps = _global.v2d.array.copy(_global.v2d.CSECircle.desc.useProps);
desc.useProps.push("engine_weight", "engine_flex", "engine_vx", "engine_vy");
_global.v2d.CSEWonderBall = function (sprite, props, x, y) {
super(sprite, props, x, y);
this._class = "CSEWonderBall";
this.team = "player";
this.player = undefined;
this.aY = props.getProp("engine_controlAY");
this.aX = props.getProp("engine_controlAX");
this.vXMax = props.getProp("engine_vSideMax");
this.vYMax = props.getProp("engine_vUpMax") * -1;
this.vYMed = props.getProp("engine_vUpMed") * -1;
this.vYMin = props.getProp("engine_vUpMin") * -1;
this.vYTarget = this.vYMed;
this.fX = props.getProp("engine_frictX");
this.fXOverLimit = props.getProp("engine_frictXOverSpeed");
};
_global.v2d.CSEWonderBall.prototype = new _global.v2d.CSEBall();
_global.v2d.CSEWonderBall.prototype.move = function (dt) {
if (Key.isDown(38)) {
this.vYTarget = this.vYMax;
} else if (Key.isDown(40)) {
this.vYTarget = this.vYMin;
} else {
this.vYTarget = this.vYMed;
}
this.speed.x1 = this.speed.x1 * this.fX;
super.move(dt);
this.player.framesAlive++;
if (this.player.framesAlive > 50) {
this.player.invincibleStat = false;
}
};
_global.v2d.CSEWonderBall.prototype.noCollision = function (dt) {
super.noCollision(dt);
if (Key.isDown(37) && (_global.v2d.main.step > 2)) {
this.rotation = this.rotation - 0.1;
var newSpeed = (this.speed.x1 - this.aX);
newSpeed = newSpeed * this.fXOverLimit;
this.speed.x1 = Math.min(this.speed.x1, newSpeed);
}
if (Key.isDown(39) && (_global.v2d.main.step > 2)) {
this.rotation = this.rotation + 0.1;
var newSpeed = (this.speed.x1 + this.aX);
newSpeed = newSpeed * this.fXOverLimit;
this.speed.x1 = Math.max(this.speed.x1, newSpeed);
}
this.rotation = this.rotation * 0.9;
};
_global.v2d.CSEWonderBall.prototype.collision = function (collisionObject, collisionPos) {
super.collision(collisionObject, collisionPos);
this.sprite.blink();
_global.api.snd.play("bounce");
var slopeFactor = collisionObject.c_slopeFactor;
if (slopeFactor > 0.2) {
var acc = (this.aY * slopeFactor);
if (this.speed.y1 < this.vYTarget) {
this.speed.y1 = (acc * this.vYTarget) + ((1 - acc) * this.speed.y1);
} else {
var newSpeed = (this.vYTarget * slopeFactor);
if (newSpeed < this.speed.y1) {
this.speed.y1 = newSpeed;
}
}
}
};
_global.v2d.CSEWonderBall.prototype.damage = function (amount) {
this.player.damage(amount);
};
_global.v2d.CSEWonderBall.prototype.getBoundingRect = function (bag) {
return("master");
};
_global.v2d.CSEWonderBall.prototype.toString = function () {
return(((((("[SpriteEngine:WonderBall (sprite:" + this.sprite._target) + " vx:") + this.vx) + " vy:") + this.vy) + "]");
};
_global.v2d.CSEWonderBall.desc = new Object();
var desc = _global.v2d.CSEWonderBall.desc;
desc.useProps = _global.v2d.array.copy(_global.v2d.CSEBall.desc.useProps);
desc.useProps.push("engine_controlAY", "engine_controlAX", "engine_vSideMax", "engine_vUpMax", "engine_vUpMed", "engine_vUpMin", "engine_frictX", "engine_frictXOverSpeed");
_global.v2d.array.pushArrayItems(desc.useProps, _global.v2d.CPlayer.desc.useProps);
desc.player = true;
desc.doubleMarker = true;
_global.v2d.CSEStarshipBall = function (sprite, props, x, y) {
super(sprite, props, x, y);
this._class = "CSEStarshipBall";
this.team = "player";
this.player = undefined;
this.aY = props.getProp("engine_controlAY");
this.aX = props.getProp("engine_controlAX");
};
_global.v2d.CSEStarshipBall.prototype = new _global.v2d.CSEBall();
_global.v2d.CSEStarshipBall.prototype.move = function (dt) {
if (Key.isDown(38)) {
this.speed.y1 = this.speed.y1 - this.aY;
}
super.move(dt);
};
_global.v2d.CSEStarshipBall.prototype.noCollision = function (dt) {
super.noCollision(dt);
if (Key.isDown(37) && (_global.v2d.main.step > 2)) {
this.speed.x1 = this.speed.x1 - this.aX;
}
if (Key.isDown(39) && (_global.v2d.main.step > 2)) {
this.speed.x1 = this.speed.x1 + this.aX;
}
this.rotation = this.rotation * 0.9;
};
_global.v2d.CSEStarshipBall.prototype.collision = function (collisionObject, collisionPos) {
super.collision(collisionObject, collisionPos);
};
_global.v2d.CSEStarshipBall.prototype.damage = function (amount) {
this.player.damage(amount);
};
_global.v2d.CSEStarshipBall.prototype.getBoundingRect = function (bag) {
return("master");
};
_global.v2d.CSEStarshipBall.prototype.toString = function () {
return(((((("[SpriteEngine:starshipball (sprite:" + this.sprite._target) + " vx:") + this.vx) + " vy:") + this.vy) + "]");
};
_global.v2d.CSEStarshipBall.desc = new Object();
var desc = _global.v2d.CSEStarshipBall.desc;
desc.useProps = _global.v2d.array.copy(_global.v2d.CSEBall.desc.useProps);
desc.useProps.push("engine_controlAY", "engine_controlAX");
_global.v2d.array.pushArrayItems(desc.useProps, _global.v2d.CPlayer.desc.useProps);
desc.player = true;
desc.doubleMarker = true;
_global.v2d.CSERocketBall = function (sprite, props, x, y) {
super(sprite, props, x, y);
this._class = "CSERocketBall";
this.team = "player";
this.player = undefined;
this.aY = props.getProp("engine_controlAY");
this.aR = props.getProp("engine_controlAR");
this.fR = props.getProp("engine_frictR");
};
_global.v2d.CSERocketBall.prototype = new _global.v2d.CSEBall();
_global.v2d.CSERocketBall.prototype.move = function (dt) {
if (Key.isDown(38)) {
this.speed.y1 = this.speed.y1 - (Math.cos((this.sprite._rotation / 180) * Math.PI) * this.aY);
this.speed.x1 = this.speed.x1 + (Math.sin((this.sprite._rotation / 180) * Math.PI) * this.aY);
}
super.move(dt);
};
_global.v2d.CSERocketBall.prototype.noCollision = function (dt) {
super.noCollision(dt);
if (Key.isDown(37) && (_global.v2d.main.step > 2)) {
this.rotation = this.rotation - this.aR;
}
if (Key.isDown(39) && (_global.v2d.main.step > 2)) {
this.rotation = this.rotation + this.aR;
}
this.rotation = this.rotation * this.fR;
};
_global.v2d.CSERocketBall.prototype.collision = function (collisionObject, collisionPos) {
super.collision(collisionObject, collisionPos);
};
_global.v2d.CSERocketBall.prototype.damage = function (amount) {
this.player.damage(amount);
};
_global.v2d.CSERocketBall.prototype.getBoundingRect = function (bag) {
return("master");
};
_global.v2d.CSERocketBall.prototype.toString = function () {
return(((((("[SpriteEngine:rocketball (sprite:" + this.sprite._target) + " vx:") + this.vx) + " vy:") + this.vy) + "]");
};
_global.v2d.CSERocketBall.desc = new Object();
var desc = _global.v2d.CSERocketBall.desc;
desc.useProps = _global.v2d.array.copy(_global.v2d.CSEBall.desc.useProps);
desc.useProps.push("engine_controlAY", "engine_controlAR", "engine_frictR");
_global.v2d.array.pushArrayItems(desc.useProps, _global.v2d.CPlayer.desc.useProps);
desc.player = true;
desc.doubleMarker = true;
_global.v2d.CEventSystem = function () {
this._class = "CEventSystem";
};
_global.v2d.CEventSystem.prototype.toString = function () {
return("[EventSystem]");
};
_global.v2d.CEventSystem.prototype.execute = function (event) {
trace("execute event: " + event);
_global.v2d.respawn.executeJob(event);
var i = 0;
while (i < _global.v2d.world.actLevel.polys.length) {
var poly = _global.v2d.world.actLevel.polys[i];
poly.props.event(event, poly);
var j = 0;
while (j < poly.vectors.length) {
poly.vectors[j].props.event(event, poly.vectors[j]);
j++;
}
i++;
}
var i = 0;
while (i < _global.v2d.world.actLevel.markers.length) {
var marker = _global.v2d.world.actLevel.markers[i];
marker.props.event(event, marker);
i++;
}
};
_global.v2d.CRespawnSystem = function () {
this._class = "CRespawnSystem";
this.jobs = new Array();
this.clear();
};
_global.v2d.CRespawnSystem.prototype.toString = function () {
return("[RespawnSystem]");
};
_global.v2d.CRespawnSystem.prototype.clear = function () {
for (e in this.jobs) {
var list = this.jobs[e];
var i = 0;
while (i < list.length) {
delete list[i];
i++;
}
delete list;
}
};
_global.v2d.CRespawnSystem.prototype.addJob = function (props, name, event) {
if (this.jobs[event] == undefined) {
this.jobs[event] = new Array();
}
this.jobs[event].push(new Array(props, name));
};
_global.v2d.CRespawnSystem.prototype.executeJob = function (event) {
var list = this.jobs[event];
while (list.length > 0) {
var job = list.pop();
job[0].resetProp(job[1]);
}
delete this.jobs[event];
};
_global.v2d.CTileSystem = function (screenWidth, screenHeight, tileWidth, tileHeight) {
this._class = "CTileSystem";
this.screenWidth = screenWidth;
this.screenHeight = screeHeight;
this.tileWidth = tileWidth;
this.tileHeight = tileHeight;
this.tilesX = Math.floor(screenWidth / tileWidth);
this.tilesY = Math.floor(screenHeight / tileHeight);
this.tiles = new Array(this.tilesX);
var i = 0;
while (i < this.tilesX) {
this.tiles[i] = new Array(this.tilesY);
var j = 0;
while (j < this.tilesY) {
this.tiles[i][j] = new Array();
this.tiles[i][j].rect = new _global.v2d.CRect(i * this.tileWidth, j * this.tileHeight, (i + 1) * this.tileWidth, (j + 1) * this.tileHeight);
j++;
}
i++;
}
this.master = new Array();
this.boundingRect = new _global.v2d.CRect();
};
_global.v2d.CTileSystem.prototype.toString = function () {
return("[TileSystem]");
};
_global.v2d.CTileSystem.prototype.clear = function () {
var i = 0;
while (i < this.tilesX) {
var j = 0;
while (j < this.tilesY) {
this.tiles[i][j].splice(0, this.tiles[i][j].length);
j++;
}
i++;
}
this.master.splice(0, this.master.length);
};
_global.v2d.CTileSystem.prototype.drawEditView = function (mc) {
var i = 0;
while (i < this.tilesX) {
var j = 0;
while (j < this.tilesY) {
this.tiles[i][j].rect.drawOutline(mc, 1, 214748364);
j++;
}
i++;
}
};
_global.v2d.CTileSystem.prototype.addVector = function (v) {
v.cache();
var sel = this.selectTileCoords(v.getBoundingRect(this.boundingRect));
var i = sel.fromX;
while (i <= sel.toX) {
var j = sel.fromY;
while (j <= sel.toY) {
if (v.hitRect(this.tiles[i][j].rect)) {
this.tiles[i][j].push(v);
}
j++;
}
i++;
}
};
_global.v2d.CTileSystem.prototype.addSprite = function (s) {
var br = s.getBoundingRect(this.boundingRect);
if (br == undefined) {
return(undefined);
}
if (br == "master") {
this.master.push(s);
return(undefined);
}
var sel = this.selectTileCoords(br);
var i = sel.fromX;
while (i <= sel.toX) {
var j = sel.fromY;
while (j <= sel.toY) {
if ((i >= 0) && (j >= 0)) {
this.tiles[i][j].push(s);
}
j++;
}
i++;
}
};
_global.v2d.CTileSystem.prototype.selectTileCoords = function (rect) {
rect.standardize();
var fromX = Math.floor(rect.x0 / this.tileWidth);
var toX = Math.floor(rect.x1 / this.tileWidth);
var fromY = Math.floor(rect.y0 / this.tileHeight);
var toY = Math.floor(rect.y1 / this.tileHeight);
if (fromX > toX) {
var temp = fromX;
fromX = toX;
toX = temp;
}
if (fromY > toY) {
var temp = fromY;
fromY = toY;
toY = temp;
}
return({fromX:fromX, toX:toX, fromY:fromY, toY:toY});
};
_global.v2d.CTileSystem.prototype.getVectorsWithinRect = function (rect, bag) {
var sel = this.selectTileCoords(rect);
var result = bag;
if (!result) {
trace("getVectorsWithinRect: no bag");
result = new Array();
} else {
bag.splice(0, bag.length);
}
var i = sel.fromX;
while (i <= sel.toX) {
var j = sel.fromY;
while (j <= sel.toY) {
var k = 0;
while (k < this.tiles[i][j].length) {
var candidate = this.tiles[i][j][k];
var exists = false;
var l = 0;
while (l < result.length) {
if (result[l] === candidate) {
exists = true;
break;
}
l++;
}
if (((!exists) && (candidate.props.getProp("active") != 0)) && (candidate.owner.props.getProp("active") != 0)) {
result.push(candidate);
}
k++;
}
j++;
}
i++;
}
var i = 0;
while (i < this.master.length) {
result.push(this.master[i]);
i++;
}
return(result);
};
_global.v2d.CTileSystem.prototype.loadLevel = function (level) {
this.clear();
var i = 0;
while (i < level.polys.length) {
var poly = level.polys[i];
var j = 0;
while (j < poly.vectors.length) {
this.addVector(poly.vectors[j]);
j++;
}
i++;
}
var i = 0;
while (i < _global.v2d.sprites.sprites.length) {
var sprite = _global.v2d.sprites.sprites[i].engine;
if (sprite.team ne "player") {
this.addSprite(sprite);
}
i++;
}
};
_global.v2d.CSpriteSystem = function () {
this._class = "CSpriteSystem";
this.sprites = new Array();
this.reset();
};
_global.v2d.CSpriteSystem.prototype.toString = function () {
return("[SpriteSystem]");
};
_global.v2d.CSpriteSystem.prototype.reset = function () {
for (var mc in _global.v2d.gfx.sprites) {
_global.v2d.gfx.sprites[mc].removeMovieClip();
}
this.sprites.splice(0, this.sprites.length);
this.nextId = 0;
};
_global.v2d.CSpriteSystem.prototype.createSprite = function (identifier) {
if (identifier eq "") {
identifier = "vector_engine_sprite_invisible";
}
_global.v2d.gfx.sprites.attachMovie(identifier, "s_" + this.nextId, this.nextId, engine);
var sprite = _global.v2d.gfx.sprites["s_" + this.nextId];
this.sprites.push(sprite);
this.nextId++;
return(sprite);
};
_global.v2d.CSpriteSystem.prototype.moveSprites = function (dt) {
var i = 0;
while (i < this.sprites.length) {
this.sprites[i].engine.move(dt);
i++;
}
};
_global.v2d.CMain = function () {
this._class = "CMain";
this.STATUS_INACTIVE = 0;
this.STATUS_RUNNING = 1;
this.STATUS_PAUSED = 2;
this.STATUS_GAMEOVER = 3;
this.status = this.STATUS_INACTIVE;
this.step = 0;
this.sleepSteps = 0;
this.stepTimeStamp = 0;
this.maxStepTime = 80;
this.targetScreen = undefined;
this.targetMarker = undefined;
_global.v2d.ready = true;
};
_global.v2d.CMain.prototype.loop = function () {
if (this.sleepSteps > 0) {
this.sleepSteps--;
} else {
switch (this.status) {
case this.STATUS_RUNNING :
this.doStep();
return;
case this.STATUS_INACTIVE :
case this.STATUS_PAUSED :
this.stepTimeStamp = getTimer();
if (this.targetScreen ne "") {
this.doSetScreen();
}
return;
case this.GAMEOVER :
this.stepTimeStamp = getTimer();
}
}
};
_global.v2d.CMain.prototype.doStep = function () {
this.step++;
_root.leved.debug.clear();
var millis = (getTimer() - this.stepTimeStamp);
this.stepTimeStamp = getTimer();
if (millis > this.maxStepTime) {
millis = this.maxStepTime;
}
_global.v2d.sprites.moveSprites(millis);
};
_global.v2d.CMain.prototype.setScreen = function (index, marker, pos, pause) {
this.pause();
this.targetScreen = index;
this.targetMarker = marker;
this.targetPos = Number(pos);
this.targetPause = pause;
};
_global.v2d.CMain.prototype.doSetScreen = function () {
this.step = 0;
_global.v2d.world.setLevel(this.targetScreen, this.targetMarker, this.targetPos);
this.targetScreen = undefined;
this.targetMarker = undefined;
this.targetPos = undefined;
if (!this.targetPause) {
this.run();
}
};
_global.v2d.CMain.prototype.resetScreen = function (entrance) {
this.pause();
this.step = 0;
_global.v2d.world.actLevel.init(entrance);
};
_global.v2d.CMain.prototype.levedResetScreen = function (entrance) {
_global.v2d.world.actLevel.updateObjectsByName();
_global.v2d.world.initProps();
this.resetScreen(entrance);
};
_global.v2d.CMain.prototype.run = function () {
this.stepTimeStamp = getTimer();
this.status = this.STATUS_RUNNING;
};
_global.v2d.CMain.prototype.pause = function () {
this.status = this.STATUS_PAUSED;
};
_global.v2d.CMain.prototype.sleep = function (frames) {
this.sleepSteps = frames;
};
_global.v2d.CMain.prototype.startGame = function (pass) {
_global.v2d.gfx = _root.gfx;
_global.v2d.maxLevels = Math.max(_global.v2d.gfx.bg._totalframes, _global.v2d.gfx.fg._totalframes);
var startLevel = _global.v2d.world.resolvePassword(pass);
if (pass != -1) {
_global.v2d.world.players[0].setContinuePoint(startLevel, "savepoint");
}
_global.v2d.world.players[0].initNewContinue();
};
_global.v2d.CMain.prototype.exit = function () {
_global.v2d.respawn.executeJob("onResetWorld");
_root.gotoAndPlay("intro_play");
};
_global.v2d.CMain.prototype.toString = function () {
return(("[MainLoop (status: " + this.status) + ")]");
};
Symbol 153 MovieClip Frame 2
stop();
Symbol 156 MovieClip Frame 1
#initclip 1
_global.api = new Object();
_global.api.debug = new Object();
_global.api.debug.describe = function (o) {
var d = (("[DESCRIBE: " + o.toString()) + "]");
d = d + "\n---------------------------DESC-START";
for (var i in o) {
d = d + (((newline + i) + ": ") + o[i]);
}
d = d + "\n---------------------------DESC-STOP";
return(d);
};
_global.api.snd = new Object();
_global.api.snd.lib = new Object();
_global.api.snd.load = function (name, url) {
var s = new Sound();
if (url eq "") {
s.attachSound(name);
} else {
s.loadSound(url);
}
_global.api.snd.lib[name] = s;
};
_global.api.snd.play = function (name) {
_root.snd[name].gotoAndPlay(1);
};
_global.api.highscore = new Object();
_global.api.highscore.charTable = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&=.";
_global.api.highscore.keystring = "whytheheckdoyouwasteyourtimehackingthishighscorelist";
_global.api.highscore.keystring2 = "AnotherKey4You2FindOut4815jiagIOm30JK";
_global.api.highscore.urlSubmit = "http://www.neodelight.com/v4/high_enter.php";
_global.api.highscore.initSession = function () {
this.session = "";
while (this.session.length < 20) {
this.session = this.session + this.charTable.charAt(Math.round(Math.random() * (this.charTable.length - 1)));
}
this.charTableIndex = new Array();
var i = 0;
while (i < this.charTable.length) {
this.charTableIndex[this.charTable.charCodeAt(i)] = i;
i++;
}
};
_global.api.highscore.submit = function (pGame, pDisciple, pScore0, pScore1) {
var s = (("g=" + pGame) + "&");
s = s + (("d=" + pDisciple) + "&");
s = s + (("s0=" + pScore0) + "&");
s = s + (("s1=" + pScore1) + "&");
s = s + ("se=" + escape(session));
s = s + "&c=42";
var urlSubmit = ((this.urlSubmit + "?s=") + escape(this.encrypt(this.encrypt(s, this.keystring), this.keystring2)));
trace(urlSubmit);
getURL (urlSubmit, "_blank");
};
_global.api.highscore.encrypt = function (text, pKey) {
var crypt = "";
var checkSum = 0;
var shift;
var code;
var i = 0;
while (i < text.length) {
char = this.charTableIndex[text.charCodeAt(i)];
shift = this.charTableIndex[pKey.charCodeAt(i % pKey.length)];
code = (char + shift) + checkSum;
code = code % this.charTable.length;
crypt = crypt + this.charTable.charAt(code);
checkSum = checkSum + code;
i++;
}
checkSum = checkSum % this.charTable.length;
return((crypt + "") + this.charTable.charAt(checkSum));
};
_global.api.highscore.initSession();
#endinitclip
_visible = false;
Symbol 160 MovieClip Frame 1
stop();
Symbol 162 MovieClip Frame 1
stop();
Symbol 164 MovieClip Frame 1
stop();
Symbol 166 MovieClip Frame 1
stop();
Symbol 168 MovieClip Frame 1
stop();
Symbol 169 MovieClip Frame 1
stop();
Symbol 170 MovieClip Frame 1
_visible = false;
Symbol 174 Button
on (release) {
_root.gotoAndStop("intro");
}
Symbol 181 MovieClip Frame 1
startFrame = _parent._currentframe;
Symbol 181 MovieClip Frame 2
vol = (1 - ((_parent._currentFrame - startFrame) / (_parent._totalFrames - startFrame))) * 100;
if (vol < 0) {
vol = 0;
}
_parent.snd.setVolume(vol);
Symbol 181 MovieClip Frame 3
gotoAndPlay (2);
Symbol 182 MovieClip Frame 1
snd = new Sound(this);
snd.setVolume(100);
if (_root.reducedBranding) {
_parent.play();
} else {
_parent.stop();
}
Symbol 182 MovieClip Frame 123
stop();
_parent.play();
Symbol 188 Button
on (press) {
if (_root.leved.mode != _root.leved.MODE_ARROW) {
return(undefined);
}
_root.leved.selectObject(_parent.marker);
_root.leved.dragListener = this;
this.x = _root._xmouse;
this.y = _root._ymouse;
this.dragmode = "p1";
}
Symbol 191 Button
on (press) {
if (_root.leved.mode != _root.leved.MODE_ARROW) {
return(undefined);
}
_root.leved.selectObject(_parent.marker);
_root.leved.dragListener = this;
this.x = _root._xmouse;
this.y = _root._ymouse;
this.dragmode = "p0";
}
Symbol 192 Button
on (press) {
if (_root.leved.mode != _root.leved.MODE_ARROW) {
return(undefined);
}
_root.leved.selectObject(_parent.marker);
_root.leved.dragListener = this;
this.x = _root._xmouse;
this.y = _root._ymouse;
this.dragmode = "p0";
}
Symbol 193 MovieClip [leved_handle_marker] Frame 1
function drag() {
var newX = _root._xmouse;
var newY = _root._ymouse;
var rasterX = Number(_root.leved.rasterX);
var rasterY = Number(_root.leved.rasterY);
if (rasterX > 0) {
newX = Math.round(newX / rasterX) * rasterX;
}
if (rasterY > 0) {
newY = Math.round(newY / rasterY) * rasterY;
}
switch (this.dragMode) {
case "p0" :
with (_parent) {
marker.x0 = newX;
marker.y0 = newY;
}
break;
case "p1" :
with (_parent) {
marker.x1 = newX;
marker.y1 = newY;
}
}
_parent.marker.updateEditView();
}
Symbol 193 MovieClip [leved_handle_marker] Frame 2
stop();
Symbol 194 Button
on (press) {
if (_root.leved.mode != _root.leved.MODE_ARROW) {
return(undefined);
}
_root.leved.selectObject(_parent._parent.poly);
_root.leved.dragListener = this;
this.x = _root._xmouse;
this.y = _root._ymouse;
}
Symbol 195 MovieClip [leved_handle_poly] Frame 1
function drag() {
var dx = (_root._xmouse - this.x);
var dy = (_root._ymouse - this.y);
this.x = _root._xmouse;
this.y = _root._ymouse;
_parent._parent.poly.movePoly(dx, dy);
_parent._parent.poly.updateEditView();
}
Symbol 196 Button
on (press) {
if (_root.leved.mode != _root.leved.MODE_ARROW) {
return(undefined);
}
this.lastClick = getTimer();
_root.leved.selectObject(_parent.vector);
_root.leved.dragListener = this;
}
Symbol 197 Button
on (press) {
if (_root.leved.mode != _root.leved.MODE_ARROW) {
return(undefined);
}
this.lastClick = getTimer();
_root.leved.selectObject(_parent.vector);
_root.leved.dragListener = this;
}
Symbol 198 MovieClip [leved_handle_vertex] Frame 1
function drag() {
var x = _root._xmouse;
var y = _root._ymouse;
if (x < 0) {
x = 0;
}
if (y < 0) {
y = 0;
}
switch (_root.leved.alignMode) {
case "prev" :
if (Key.isDown(17)) {
if (Key.isDown(16)) {
x = _parent.vector.prevVector.x0;
} else {
y = _parent.vector.prevVector.y0;
}
}
break;
case "next" :
if (Key.isDown(17)) {
if (Key.isDown(16)) {
x = _parent.vector.nextVector.x0;
} else {
y = _parent.vector.nextVector.y0;
}
}
break;
case "rect" :
if (Key.isDown(17)) {
var alignX0 = _parent.vector.nextVector.x0;
var alignY0 = _parent.vector.prevVector.y0;
var alignX1 = _parent.vector.prevVector.x0;
var alignY1 = _parent.vector.nextVector.y0;
if (_global.v2d.math.p2pDistance(alignX0, alignY0, _root._xmouse, _root._ymouse) < _global.v2d.math.p2pDistance(alignX1, alignY1, _root._xmouse, _root._ymouse)) {
x = alignX0;
y = alignY0;
} else {
x = alignX1;
y = alignY1;
}
}
break;
default :
trace("unknown align mode: " + _root.leved.alignMode);
}
_parent._parent.poly.movePointTo(_parent.vector.id, x, y);
}
Symbol 198 MovieClip [leved_handle_vertex] Frame 2
stop();
Symbol 235 MovieClip Frame 2
if (_global.v2d.world.players[0].invincibleStat) {
gotoAndPlay (20);
} else if (Math.random() < 0.99) {
gotoAndPlay (1);
}
Symbol 235 MovieClip Frame 19
gotoAndPlay (1);
Symbol 235 MovieClip Frame 23
if (_global.v2d.world.players[0].invincibleStat) {
gotoAndPlay (20);
}
Symbol 240 MovieClip Frame 1
_rotation = (-1 * _parent._rotation);
Symbol 240 MovieClip Frame 73
stop();
Symbol 243 MovieClip [sprite_0] Frame 1
function blink() {
if (!_global.v2d.world.players[0].invincibleStat) {
gfx.gotoAndPlay("blink");
}
}
stop();
Symbol 243 MovieClip [sprite_0] Frame 2
_global.api.snd.play("die");
Symbol 243 MovieClip [sprite_0] Frame 72
stop();
Symbol 253 MovieClip [bird] Frame 1
stop();
Symbol 253 MovieClip [bird] Frame 2
_global.api.snd.play("die");
Symbol 253 MovieClip [bird] Frame 72
stop();
Symbol 263 MovieClip Frame 1
stop();
Symbol 269 Button
on (release) {
fscommand ("quit");
getURL (_root.moreGamesUrl, "_top");
}
Symbol 272 Button
on (release) {
getURL (_root.moreGamesUrl, "_top");
}
Symbol 275 MovieClip Frame 10
stop();
Symbol 279 Button
on (release) {
pass = "";
gotoAndPlay (72);
}
Symbol 280 MovieClip Frame 1
this.preloaded = _root.getBytesLoaded();
this.onEnterFrame = function () {
percent = (_root.getBytesLoaded() - this.preloaded) / (_root.getBytesTotal() - this.preloaded);
percent = int(percent * 100);
this.bar._xscale = percent;
if (percent == 100) {
_root.nextFrame();
}
};
Symbol 286 Button
on (release) {
nextFrame();
}
Symbol 294 Button
on (release) {
prevFrame();
}
Symbol 301 Button
on (release) {
getURL (_root.moreGamesUrl, "_top");
}
Symbol 316 MovieClip Frame 1
gotoAndStop(_root.version);
Symbol 317 MovieClip Frame 1
stop();
Symbol 318 Button
on (release) {
nextFrame();
}
Symbol 376 MovieClip Frame 1
stop();
fg.stop();
bg.stop();
Instance of Symbol 375 MovieClip in Symbol 376 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 394 Button
on (release) {
nextFrame();
}
Symbol 402 Button
on (release) {
_global.v2d.main.exit();
}
Symbol 408 Button
on (release) {
prevFrame();
}
Symbol 409 MovieClip Frame 1
stop();
Symbol 417 MovieClip Frame 1
stop();
Symbol 421 Button
on (release) {
_global.v2d.world.players[0].initNewContinue2();
gotoAndStop (1);
}
Symbol 422 Button
on (release) {
_global.v2d.main.exit();
}
Symbol 424 MovieClip Frame 1
stop();
Symbol 424 MovieClip Frame 2
stop();
Symbol 425 MovieClip Frame 1
this.update = function () {
this.updateLives();
this.updateScore();
this.updateLevel();
this.updatePass();
this.updateCoins();
};
this.updateLives = function () {
this.actLives = _global.v2d.world.players[0].actLives;
if (l < 5) {
this.lives.gotoAndStop(this.actLives + 1);
} else {
this.lives.gotoAndStop(6);
}
};
this.updateScore = function () {
this.actScore = _global.v2d.world.players[0].score;
};
this.updateCoins = function () {
this.actCoins = _global.v2d.world.players[0].coins;
};
this.updateLevel = function () {
this.actLevel = "#" + _global.v2d.world.actLevel.id;
};
this.updatePass = function () {
if (_global.v2d.world.players[0].actPass eq "") {
this.actPass = "";
} else {
this.actPass = "password: " + _global.v2d.world.players[0].actPass;
}
};
this.extraLife = function () {
extraLifeAnim.gotoAndPlay(2);
};
this.gameOver = function () {
gameOverMc.gotoAndPlay(2);
};
this.actLives = 0;
this.actScore = 0;
this.update();
Instance of Symbol 390 MovieClip in Symbol 425 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 433 Button
on (release) {
_global.v2d.main.exit();
}
Symbol 437 Button
on (release) {
getURL (_root.nextEpisodeUrl, "_top");
}
Symbol 440 MovieClip Frame 1
gotoAndStop(_root.version);