home *** CD-ROM | disk | FTP | other *** search
/ Champak 48 / cdrom_image.iso / Games / bobsleddin.swf / scripts / frame_4 / DoAction.as
Encoding:
Text File  |  2007-09-28  |  47.3 KB  |  859 lines

  1. function spawnFlyingCargo(o)
  2. {
  3.    var _loc2_ = this.sector.previous;
  4.    this.world.addObject(new FlyingCargo(o),_loc2_.x,_loc2_.y,_loc2_.z,_loc2_.index);
  5. }
  6. function _curve(spline, a0, a1, p1, rad, type, drawStyle, color, heightRatio)
  7. {
  8.    a0.x += spline.lastVector.x;
  9.    a0.y += spline.lastVector.y;
  10.    a0.z += spline.lastVector.z;
  11.    a1.x += spline.lastVector.x;
  12.    a1.y += spline.lastVector.y;
  13.    a1.z += spline.lastVector.z;
  14.    p1.x += spline.lastVector.x;
  15.    p1.y += spline.lastVector.y;
  16.    p1.z += spline.lastVector.z;
  17.    var _loc5_ = spline.appendCurve(a0,a1,p1,rad,type,color);
  18.    if(heightRatio)
  19.    {
  20.       _loc5_.yScale = heightRatio;
  21.    }
  22.    return _loc5_;
  23. }
  24. function _line(spline, p1, rad, type, drawStyle, color, heightRatio)
  25. {
  26.    p1.x += spline.lastVector.x;
  27.    p1.y += spline.lastVector.y;
  28.    p1.z += spline.lastVector.z;
  29.    seg = spline.appendLine(p1,rad,type,color);
  30.    if(heightRatio)
  31.    {
  32.       seg.yScale = heightRatio;
  33.    }
  34.    return seg;
  35. }
  36. function configureEngine(game)
  37. {
  38.    game.camera.hither = 30;
  39.    game.camera.depthFocus = 120;
  40.    if(Performance)
  41.    {
  42.       sceneQuality = Math.ceil(300 / Performance.score * 6) * 50;
  43.       PerformanceRes = Performance.toString();
  44.       if(recorderLimit)
  45.       {
  46.          maxElapsedTime = 0.01;
  47.          game.camera.yon = 2000;
  48.          maxElapsedTime = 0.1;
  49.          game.processLevel(100,null,false);
  50.          return undefined;
  51.       }
  52.       game.processLevel(Math.min(600,Math.max(100,sceneQuality)),null,false);
  53.       maxElapsedTime = 0.3;
  54.       if(Performance.processor > 1400)
  55.       {
  56.          game.camera.yon = 6000;
  57.       }
  58.       else if(Performance.processor > 700)
  59.       {
  60.          _quality = "MEDIUM";
  61.          game.camera.yon = 4500;
  62.       }
  63.       else
  64.       {
  65.          _quality = "MEDIUM";
  66.          game.camera.yon = 3000;
  67.       }
  68.    }
  69.    else
  70.    {
  71.       game.camera.yon = 4000;
  72.       game.processLevel(500);
  73.    }
  74. }
  75. function initPreGame()
  76. {
  77.    countdownTime = 9;
  78.    countdownStartAt = 5;
  79.    countdownSeconds = 0;
  80.    gameDisplay.onMenuOpen = pauseGame;
  81.    gameDisplay.onMenuClose = unpauseGame;
  82.    KeysEnabled = true;
  83.    runGame(0.001);
  84.    updateGame = preGame;
  85. }
  86. function preGame(elapsed)
  87. {
  88.    countdownTime -= elapsed;
  89.    var _loc1_ = countdownSeconds != (countdownSeconds = Math.ceil(countdownTime));
  90.    if(countdownTime <= 0.75)
  91.    {
  92.       updateGame = runGame;
  93.    }
  94.    else if(_loc1_)
  95.    {
  96.       if(countdownSeconds == 8)
  97.       {
  98.          gameDisplay.showRecordTime(currentLevel.records[0]);
  99.       }
  100.       else if(countdownSeconds == 5)
  101.       {
  102.          gameDisplay.hideRecordTime();
  103.          dinosaur = new GameNode(null,"DinoStart");
  104.          gameStage.addObject(dinosaur,gameSled.x,gameSled.y,gameSled.z,gameSled.sector.index);
  105.          dinosaur.addToScene();
  106.          gameStage.render();
  107.       }
  108.       else if(countdownSeconds == 1)
  109.       {
  110.          dinosaur.target.countdown.gotoAndPlay("Go");
  111.       }
  112.       else if(countdownSeconds <= 4)
  113.       {
  114.          dinosaur.target.countdown.gotoAndPlay("Num" + (countdownSeconds - 1));
  115.       }
  116.    }
  117.    updateCamera(elapsed * 0.5,gameSled);
  118.    gameStage.render();
  119. }
  120. function runGame(elapsed)
  121. {
  122.    var _loc3_ = undefined;
  123.    var _loc1_ = undefined;
  124.    if(KeysEnabled)
  125.    {
  126.       _loc3_ = Key.isDown(39) - Key.isDown(37);
  127.       _loc1_ = Key.isDown(38) - Key.isDown(40);
  128.    }
  129.    gameSled.update(elapsed,_loc3_,_loc1_,_loc1_);
  130.    updateCamera(elapsed,gameSled);
  131.    gameStage.update(elapsed);
  132.    gameStage.render();
  133.    gameDisplay.update(elapsed);
  134. }
  135. function updateCamera(elapsed, target)
  136. {
  137.    if(target.elevated)
  138.    {
  139.       cameraOffset.x += (target.up.x * 100 - cameraOffset.x) * elapsed * 4;
  140.       cameraOffset.y += (target.up.y * 50 - cameraOffset.y) * elapsed * 4;
  141.    }
  142.    else
  143.    {
  144.       cameraOffset.x += (target.up.x * 150 - cameraOffset.x) * elapsed * 4;
  145.       cameraOffset.y += (target.up.y * 75 - cameraOffset.y) * elapsed * 4;
  146.    }
  147.    cameraOffset.z += (150 - Math.min(target.velocity.z * 0.03,100) - cameraOffset.z) * 2 * elapsed;
  148.    gameStage.camera.x = target.x - cameraOffset.x;
  149.    gameStage.camera.y = target.y - cameraOffset.y;
  150.    gameStage.camera.z = target.z - cameraOffset.z * 0.4 - 30;
  151.    gameStage.camera.depthFocus += (150 - Math.min(target.velocity.z * 0.03,100) - gameStage.camera.depthFocus) * 4 * elapsed;
  152. }
  153. function update()
  154. {
  155.    var _loc1_ = Math.min(maxElapsedTime,- lastTime + (lastTime = getTimer() * 0.001));
  156.    if(paused)
  157.    {
  158.       return undefined;
  159.    }
  160.    updateGame(_loc1_);
  161. }
  162. function pauseGame()
  163. {
  164.    paused = true;
  165.    rootSoundControl.setVolume(0);
  166. }
  167. function unpauseGame()
  168. {
  169.    paused = false;
  170.    rootSoundControl.setVolume(100);
  171. }
  172. function startGameRun()
  173. {
  174.    lastTime = getTimer() * 0.001;
  175.    if(GameInterval)
  176.    {
  177.       clearInterval(GameInterval);
  178.    }
  179.    GameInterval = setInterval(update,1);
  180. }
  181. function stopGameRun()
  182. {
  183.    clearInterval(GameInterval);
  184. }
  185. function playAgain()
  186. {
  187.    gotoAndStop(4);
  188.    gotoAndStop("Game");
  189.    Flash.setTimeout(startNewGame,100);
  190. }
  191. function quitGame()
  192. {
  193.    _level0.quitGame(_root.gameScore);
  194.    forceExternalBreak();
  195.    _level2500.viewHighScores(_root.gameScore);
  196. }
  197. function startNewGame()
  198. {
  199.    if(gameScore)
  200.    {
  201.       _level0.sendScore(_root.gameScore);
  202.    }
  203.    gameTrack = 0;
  204.    if(Key.isDown(50))
  205.    {
  206.       gameTrack = 1;
  207.    }
  208.    else if(Key.isDown(51))
  209.    {
  210.       gameTrack = 2;
  211.    }
  212.    gameScore = 0;
  213.    gameLives = !PostVR_Lives ? 3 : 5;
  214.    nextLevel();
  215. }
  216. function startNextLevel()
  217. {
  218.    gameTrack++;
  219.    if(gameTrack == Tracks.length)
  220.    {
  221.       gotoAndStop("GameWin");
  222.       return undefined;
  223.    }
  224.    gotoAndStop("Game");
  225.    Flash.setTimeout(nextLevel,10);
  226. }
  227. function nextLevel()
  228. {
  229.    switch(gameTrack)
  230.    {
  231.       case 0:
  232.          startLevel(Tracks[gameTrack],"Fred");
  233.          break;
  234.       case 1:
  235.          startLevel(Tracks[gameTrack],"Barney");
  236.          break;
  237.       case 2:
  238.          startLevel(Tracks[gameTrack],"Dino");
  239.    }
  240.    startGameRun();
  241. }
  242. function resetLevel()
  243. {
  244.    stopGameRun();
  245.    call(4);
  246.    gotoAndStop("reset");
  247.    gotoAndStop("Game");
  248.    stopAllSounds();
  249.    Flash.setTimeout(function(o)
  250.    {
  251.       startLevel(Tracks[gameTrack],currentCharacter);
  252.       startGameRun();
  253.       updateAfterEvent();
  254.    }
  255.    ,40,_root);
  256. }
  257. function loseGame()
  258. {
  259.    stopGameRun();
  260.    call(4);
  261.    stopAllSounds();
  262.    gotoAndStop("GameLose");
  263. }
  264. function showScoreBoard()
  265. {
  266.    stopGameRun();
  267.    call(4);
  268.    gotoAndStop("ScoreBoard");
  269.    currentLevel.records.sortOnNumeric("time");
  270.    var _loc2_ = 0;
  271.    while(_loc2_ < currentLevel.records.length)
  272.    {
  273.       var _loc3_ = currentLevel.records[_loc2_];
  274.       var _loc1_ = scoreboard.attachMovie("ScoreBoard Rank Box","sb" + _loc2_,_loc2_);
  275.       _loc1_._x = 85;
  276.       _loc1_._y = 85 + 50 * _loc2_;
  277.       _loc1_.player.gotoAndStop(_loc3_.name);
  278.       _loc1_.time = formatTime(_loc3_.time);
  279.       _loc1_.score = Math.floor(currentLevel.bonusTime / _loc3_.time * 25000) * (currentLevel.records.length - _loc2_);
  280.       _loc1_.rank = "#" + (_loc2_ + 1);
  281.       if(_loc3_.current)
  282.       {
  283.          _loc1_.gotoAndStop("red");
  284.          gameScore += _loc1_.score;
  285.       }
  286.       _loc2_ = _loc2_ + 1;
  287.    }
  288.    stopAllSounds();
  289. }
  290. function getCharacterID(name)
  291. {
  292.    switch(name.toLowerCase())
  293.    {
  294.       case "fred":
  295.          return BB.FRED;
  296.       case "barney":
  297.          return BB.BARNEY;
  298.       case "dino":
  299.          return BB.DINO;
  300.       default:
  301.    }
  302. }
  303. function setGlobalMusic(linkageID, repeat)
  304. {
  305.    gameAudio.stop();
  306.    if(linkageID != null)
  307.    {
  308.       gameAudio.attachSound(linkageID);
  309.    }
  310.    gameAudio.start(0,!repeat ? 0 : 10000);
  311. }
  312. function gameMessages(message)
  313. {
  314.    if(gameSled.messagesDisabled)
  315.    {
  316.       return undefined;
  317.    }
  318.    if(gameSled.recorder)
  319.    {
  320.       System.setClipboard(outputRecorderData(gameSled.recorder));
  321.       recordedData = gameSled.raceTime;
  322.    }
  323.    KeysEnabled = false;
  324.    gameSled.inMotion = false;
  325.    gameSled.keepTrackOfTime = false;
  326.    gameSled.messagesDisabled = true;
  327.    paused = true;
  328.    sled.sledSound.stop();
  329.    switch(message)
  330.    {
  331.       case "finish":
  332.          setGlobalMusic("finishRace");
  333.          gameDisplay.avatar.character.gotoAndStop("happy");
  334.          currentLevel.records.push({current:true,name:getCharacterID(currentCharacter),time:gameSled.raceTime});
  335.          currentLevel.records.sortOnNumeric("time");
  336.          if(gameDisplay.letters == BB.ALL_LETTERS)
  337.          {
  338.             gameDisplay.showScreen("all_letters",gameSled.raceTime);
  339.          }
  340.          else if(currentLevel.records[0].current)
  341.          {
  342.             gameDisplay.showScreen("finishracebest",gameSled.raceTime);
  343.          }
  344.          else
  345.          {
  346.             gameDisplay.showScreen(message,gameSled.raceTime);
  347.          }
  348.          gameScore = gameSled.score;
  349.          Flash.setTimeout(function()
  350.          {
  351.             showScoreBoard();
  352.          }
  353.          ,EndScreenTime);
  354.          break;
  355.       case "damage":
  356.       case "timeout":
  357.          setGlobalMusic("lose life");
  358.          gameDisplay.avatar.character.gotoAndStop("sad");
  359.          gameLives--;
  360.          gameDisplay.showScreen(message,gameSled.raceTime);
  361.          if(gameLives >= 1)
  362.          {
  363.             Flash.setTimeout(resetLevel,EndScreenTime);
  364.          }
  365.          else
  366.          {
  367.             gameScore = gameSled.score;
  368.             Flash.setTimeout(loseGame,EndScreenTime);
  369.          }
  370.    }
  371. }
  372. function startLevel(level, character)
  373. {
  374.    currentLevel = level;
  375.    currentCharacter = character;
  376.    cameraOffset = new Vector(0,0,120);
  377.    paused = false;
  378.    if(level.fogColor)
  379.    {
  380.       gameStage.setFog(level.fogColor,level.fogNear,level.fogFar,level.fogAmount);
  381.    }
  382.    if(level.outsideFogColor)
  383.    {
  384.       gameStage.outsideFogColor = level.outsideFogColor;
  385.    }
  386.    if(level.outsideColor != null)
  387.    {
  388.       level.course.setOutsideColor(level.outsideColor);
  389.    }
  390.    if(level.courseColor != null)
  391.    {
  392.       level.course.setDefaultColor(level.courseColor);
  393.    }
  394.    gameStage.setLevelSpline(level.course);
  395.    gameDisplay.setOpenTextFieldColor(level.openTextColor);
  396.    var _loc1_ = 0;
  397.    while(_loc1_ < level.backgrounds.length)
  398.    {
  399.       gameStage.addBackground(level.backgrounds[_loc1_]);
  400.       _loc1_ = _loc1_ + 1;
  401.    }
  402.    configureEngine(gameStage);
  403.    gameSled = new Sled("Bobsled " + character);
  404.    gameSled.score = gameScore;
  405.    gameSled.lives = gameLives;
  406.    gameSled.timeRemaining = level.startTime;
  407.    gameSled.onMessage = gameMessages;
  408.    if(useRecorder)
  409.    {
  410.       gameSled.recorder = [];
  411.    }
  412.    if(recordedData)
  413.    {
  414.       integrateRecordedData(gameStage,recordedData);
  415.    }
  416.    gameDisplay.watch(gameSled,character);
  417.    gameStage.addObject(gameSled,0,180,300);
  418.    gameSled.addToScene();
  419.    gameStage.finalizeLevel();
  420.    cameraOffset.x += gameSled.up.x * 150 - cameraOffset.x;
  421.    cameraOffset.y += gameSled.up.y * 75 - cameraOffset.y;
  422.    gameStage.render();
  423.    updateGame = initPreGame;
  424. }
  425. PostVR_Magnets = _level0.PostVR_Magnets;
  426. PostVR_Lasers = _level0.PostVR_Lasers;
  427. PostVR_Blades = _level0.PostVR_Blades;
  428. PostVR_Lives = _level0.PostVR_Lives;
  429. PostVR_Burst = _level0.PostVR_Burst;
  430. Array.prototype.sortOnNumeric = function(column)
  431. {
  432.    var _loc7_ = undefined;
  433.    var _loc3_ = undefined;
  434.    var _loc2_ = undefined;
  435.    var _loc6_ = undefined;
  436.    var _loc4_ = undefined;
  437.    _loc3_ = _loc7_ = this.length;
  438.    while((_loc3_ = _loc3_ - 1) > -1)
  439.    {
  440.       _loc6_ = _loc2_ = _loc3_;
  441.       _loc4_ = nc = this[_loc3_][column];
  442.       while((_loc2_ = _loc2_ - 1) > -1)
  443.       {
  444.          if(this[_loc2_][column] > _loc4_)
  445.          {
  446.             _loc6_ = _loc2_;
  447.             _loc4_ = nc = this[_loc2_][column];
  448.          }
  449.       }
  450.       this[_loc6_] = this[_loc3_];
  451.       this[_loc3_] = nc;
  452.    }
  453. };
  454. var Tracks = [];
  455. var o = Tracks[0] = new GameLevel();
  456. o.addBackground(new Background("BG Bedrock Day",600,600,32000));
  457. o.addRecord(BB.SLATE,89.6);
  458. o.addRecord(BB.PEBBLES,102.9);
  459. o.addRecord(BB.BETTY,111.8);
  460. o.courseColor = new RGB(141,215,255);
  461. o.fogColor = new RGB(62,103,255);
  462. o.fogNear = 300;
  463. o.fogFar = 4500;
  464. var c;
  465. var s;
  466. o.course = s = new Course(new Vector(0,0,0));
  467. c = _line(s,new Vector(0,0,1000),150,Course.OPEN,drawStyles.generic);
  468. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,0.661,0,0,0.7731,0,0,0.9037,0,0);
  469. c = _curve(s,new Vector(0,0,1000),new Vector(0,500,2000),new Vector(0,500,3000),150,Course.OPEN,drawStyles.generic);
  470. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,1.24988097690242,-45,0,1.27759863963803,-45,0,1.29163600800997,-45,0,1.32004503869517,-45,0,1.30578627125394,-45,0,1.56004109230489,45,0,1.5756366835076,45,0,1.59128943149695,45,0,1.60699784177017,45,0,1.62276053631062,45,0,1.89799534001481,-45,0,1.91456583802647,-45,0,1.93117348499426,-45,0,1.94781718393261,-45,0,1.96449571791384,-45,0);
  471. c.addObject(new SnowPile(),1.9543,45,0);
  472. c = _curve(s,new Vector(0,500,1000),new Vector(1500,-500,5000),new Vector(0,500,7000),150,Course.CLOSED,drawStyles.generic);
  473. c.addObject(new RockPile(BB.TALL),2.1716,20,0);
  474. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,2.2454,0,0,2.2532,0,0,2.2609,0,0,2.2685,0,0,2.2834,0,0,2.3542,0,0,2.3812,-44,0,2.401,-82,0,2.4206,-116,0,2.4399,-148,0,2.478,-217,0,2.4968,-253,0,2.5155,71,0,2.5341,37,0,2.5527,6,0,2.6767,-6,0,2.6956,-6,0,2.7146,-7,0,2.7338,-7,0);
  475. c.addObject(new RockPile(BB.TALL),2.459,0,0);
  476. c.addObject(new GameLetter(0),2.459,-182,0);
  477. c.addObject(new SnowPile(BB.TALL),2.7589,60,0);
  478. c.addObject(new SnowPile(BB.TALL),2.7589,-60,0);
  479. c.addObject(new SnowPile(BB.SMALL),2.7438,180,0);
  480. c.addObject(new GameBoostPad(),2.7596,-8,0);
  481. c = _curve(s,new Vector(0,-500,1000),new Vector(0,500,2000),new Vector(0,0,2500),150,Course.CLOSED,drawStyles.generic);
  482. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,3.1529,8,0,3.2252,11,0,3.3213,12,0,3.815,5,0,3.8775,4,0,3.9436,3,0);
  483. c.addObject(new GameMagnet(),3.64,0,0);
  484. c.addObject(new SnowPile(BB.SHORT),3.9436,80,0);
  485. c.addObject(new SnowPile(BB.SHORT),3.9436,80,0);
  486. c = _curve(s,new Vector(0,-500,1000),new Vector(0,0,3000),new Vector(0,0,4000),200,Course.OPEN,drawStyles.generic);
  487. c.addObject(new GameCargo(),4,0,0);
  488. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,4.2132,60,0,4.2933,60,0,4.3692,60,0,4.2132,-60,0,4.2933,-60,0,4.3692,-60,0,4.4666,0,0,4.5025,0,0,4.5383,0,0,4.574,0,0,4.6099,0,0,4.6599,20,0,4.7065,60,0,4.7547,60,0,4.7928,20,0,4.6599,-20,0,4.7065,-60,0,4.7547,-60,0,4.7928,-20,0);
  489. c.addObject(new GamePoint(GamePoint.HIGH_VALUE),4.7298,-80,0);
  490. c = _curve(s,new Vector(0,0,500),new Vector(1000,-500,2500),new Vector(2000,-1000,3500),200,Course.OPEN,drawStyles.generic);
  491. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,5.1144,80,0,5.1901,80,0,5.2577,80,0,5.29,80,0,5.1901,0,0,5.224,0,0,5.2577,0,0,5.1144,-80,0,5.1901,-80,0,5.2577,-80,0,5.29,-80,0);
  492. c.addObject(new GamePoint(GamePoint.HIGH_VALUE),5.4851,90,0);
  493. c.addObject(new GamePoint(GamePoint.HIGH_VALUE),5.4851,-90,0);
  494. c.addObject(new SnowPile(BB.SHORT),5.4951,50,0);
  495. c.addObject(new SnowPile(BB.SHORT),5.4951,-50,0);
  496. c = _curve(s,new Vector(1000,-500,1000),new Vector(2000,-1000,3000),new Vector(2000,-500,3500),200,Course.OPEN,drawStyles.generic);
  497. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,6.1191,-1,0,6.1407,-19,0,6.1618,-41,0,6.3503,-71,0,6.3796,-77,0,6.3894,-71,0);
  498. c.addObject(new PalmTree(BB.TALL),6.2,45,0);
  499. c.addObject(new GameLetter(1),6.3698,79,0);
  500. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,6.51,-2,0,6.5415,-3,0,6.5737,-4,0,6.6183,-4,0);
  501. c.addObject(new PalmTree(BB.SMALL),6.5629,45,0);
  502. c.addObject(new GameBoostPad(),6.6795,-5,0);
  503. c = _curve(s,new Vector(0,500,500),new Vector(300,800,1000),new Vector(500,1200,3500),200,Course.OPEN,drawStyles.generic);
  504. c.addObject(new GamePoint(GamePoint.HIGH_VALUE),7.8767,30,0);
  505. c.addObject(new GameBlades(),7.9167,30,0);
  506. c.addObject(new GameCheckPoint(25),7.5,0,200);
  507. c.addObject(new PalmTree(BB.TALL),7.8018,45,0);
  508. c.addObject(new RockPile(BB.SMALL),7.9767,60,0);
  509. c.addObject(new RockPile(BB.TALL),7.9767,-70,0);
  510. c = _curve(s,new Vector(0,200,500),new Vector(0,300,1000),new Vector(1000,200,1500),200,Course.CLOSED,drawStyles.generic);
  511. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,8.1827,-8,0,8.3368,33,0,8.486,81,0,8.6288,-248,0,8.7645,-226,0,8.8924,-208,0,8.9999,-191,0);
  512. c = _curve(s,new Vector(1000,-100,500),new Vector(0,900,2000),new Vector(-1000,800,3500),200,Course.CLOSED,drawStyles.generic);
  513. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,9.1385,-145,0,9.2077,-116,0,9.2674,-93,0,9.3214,-71,0,9.3715,-50,0,9.4187,-29,0,9.4609,-7,0,9.5041,14,0);
  514. c.addObject(new SnowPile(BB.SMALL),9.8,60,0);
  515. c.addObject(new SnowPile(BB.SMALL),9.95,-60,0);
  516. c.addObject(new GameBoostPad(),9.8921,6,0);
  517. c.addObject(new GameHealth(),9.7171,12,0);
  518. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,9.9641,4,0,9.9945,3,0);
  519. c = _curve(s,new Vector(-1000,700,1500),new Vector(0,1200,2000),new Vector(0,600,4000),200,Course.OPEN,drawStyles.generic);
  520. c.addCluster(PalmTree,[BB.SMALL],true,10.768,-60,0,10.4791,31,0,10.6211,45,0,10.6933,-72,0);
  521. c = _curve(s,new Vector(0,-600,1500),new Vector(500,-2000,2000),new Vector(800,-1000,3000),200,Course.CLOSED,drawStyles.generic);
  522. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,11.1333,-264,0,11.1521,-249,0,11.1808,-229,0,11.2007,-215,0,11.2325,-192,0,11.253,-177,0,11.2736,-162,0,11.295,-146,0,11.33,-120,0,11.3532,-102,0);
  523. c = _curve(s,new Vector(300,1000,1000),new Vector(600,2500,2000),new Vector(600,0,5000),150,Course.CLOSED,drawStyles.generic);
  524. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,12.0011,-172,0,12.0296,-172,0,12.0497,-172,0,12.07,-171,0,12.1,-171,0,12.1195,-170,0,12.1395,-170,0,12.1695,-169,0,12.1853,-168,0,12.2108,-166,0,12.2271,-164,0,12.2502,-162,0,12.2741,-158,0);
  525. c.addObject(new GameBoostPad(),12.5965,-4,0);
  526. c.addObject(new GameHealth(),12.7024,-4,0);
  527. c.addObject(new GameLasers(),12.98,-2,0);
  528. c.addObject(new GameLetter(2),12.9198,-2,0);
  529. c = _curve(s,new Vector(0,0,1000),new Vector(0,0,3000),new Vector(0,500,4000),150,Course.OPEN,drawStyles.generic);
  530. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,13.2318,1,0,13.2531,22,0,13.2785,58,0,13.3019,89,0);
  531. c.addCluster(SnowPile,[BB.TALL],true,13.348,60,0,13.348,30,0,13.348,-30,0);
  532. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,13.9288,0,0,13.9042,0,0,13.8802,0,0,13.9565,0,0,13.9877,0,0);
  533. c.addCluster(SnowPile,[BB.TALL],true,13.9288,-50,0,13.9288,-90,0,13.9288,90,0,13.9288,50,0);
  534. c = _curve(s,new Vector(0,0,1000),new Vector(600,600,2000),new Vector(600,400,3000),150,Course.OPEN,drawStyles.generic);
  535. c.addObject(new GameCheckPoint(30),0.99,0,200);
  536. c.addObject(new GameBoostPad(),14.4573,-73,0);
  537. c = _curve(s,new Vector(0,400,1000),new Vector(600,-200,2000),new Vector(600,-800,3000),100,Course.OPEN,drawStyles.generic);
  538. c = _line(s,new Vector(0,1000,4000),200,Course.OPEN,drawStyles.generic);
  539. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,16.6,-70,0,16.6152,-69,0,16.6319,-68,0,16.6471,-67,0,16.6624,-65,0,16.6776,-63,0,16.9308,45,0,16.9645,50,0,16.9476,49,0,16.9813,50,0,16.9996,50,0);
  540. c.addObject(new GameHealth(),0.8,0,0);
  541. c.addObject(new SnowPile(BB.SMALL),16.88,-50,0);
  542. c = _curve(s,new Vector(0,0,1000),new Vector(600,-300,2000),new Vector(200,-1000,3000),300,Course.OPEN,drawStyles.generic);
  543. c.addObject(new GameLetter(3),17.4427,0,0);
  544. c.addObject(new SnowPile(BB.TALL),17.4427,45,0);
  545. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,17.5658,-31,0,17.5919,-32,0,17.6179,-32,0,17.6418,-31,0,17.691,-30,0,17.6676,-31,0);
  546. c = _curve(s,new Vector(0,0,1000),new Vector(600,-300,2000),new Vector(200,-1500,3000),150,Course.CLOSED,drawStyles.generic);
  547. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,18.9252,2,0,18.9472,1,0,18.9688,0,0,18.9901,-1,0);
  548. c = _curve(s,new Vector(400,-1000,1500),new Vector(600,0,2000),new Vector(2000,-1000,3500),150,Course.CLOSED,drawStyles.generic);
  549. c.addObject(new GameHealth(),0.7024,-40,0);
  550. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,19.0099,8,0,19.0391,48,0,19.068,77,0,19.0997,-255,0,19.1327,-227,0,19.1653,-201,0,19.1845,-186,0,19.2199,-158,0,19.2578,-128,0,19.2996,-95,0,19.3455,-60,0,19.3934,-27,0,19.4658,-15,0,19.7369,-51,0,19.7592,-67,0,19.781,-83,0,19.8022,-98,0);
  551. c.addObject(new GameBoostPad(),19.8607,-101,0);
  552. c = _curve(s,new Vector(400,-1000,1500),new Vector(600,-1500,2000),new Vector(2000,-1000,3500),150,Course.CLOSED,drawStyles.generic);
  553. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,20.2006,89,0,20.2196,-262,0,20.2387,-247,0,20.2587,-228,0,20.2779,-210,0,20.2994,-191,0,20.3183,-174,0,20.3373,-166,0,20.3564,-161,0,20.3758,-159,0,20.3967,-157,0,20.945,33,0,20.9575,20,0,20.9699,4,0,20.9806,-12,0,20.9913,-25,0);
  554. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,20.4168,-156,0,20.4384,-155,0,20.4602,-155,0);
  555. c.addObject(new GameLetter(4),20.504,-154,0);
  556. c.addObject(new GameMagnet(),3.89,0,0);
  557. c = _line(s,new Vector(600,2500,6500),200,Course.OPEN,drawStyles.generic);
  558. c.addObject(new GameCheckPoint(25),0.041,0,200);
  559. c.addObject(new GameCargo(),4,0,0);
  560. c.addObject(new GameBoostPad(),21.079,-60,0);
  561. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,21.1148,-58,0,21.1259,-56,0,21.1374,-55,0,21.1479,-54,0,21.1571,-52,0,21.1658,-51,0,21.2529,0,0,21.2609,15,0,21.2689,30,0,21.2767,43,0,21.2846,50,0,21.292,53,0,21.2997,54,0,21.3948,-13,0,21.4024,-28,0,21.4095,-41,0,21.4165,-53,0,21.4234,-64,0,21.4306,-69,0,21.4372,-71,0);
  562. c.addObject(new GameLetter(5),21.3228,52,0);
  563. c.addObject(new RockPile(BB.SMALL),21.4012,45,0);
  564. c.addObject(new GameBoostPad(),21.4565,-71,0);
  565. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,21.5364,-30,0,21.544,-30,0,21.5516,-30,0,21.5592,-20,0,21.5668,-10,0,21.6538,10,0,21.6612,20,0,21.6693,30,0,21.7371,60,0,21.746,60,0,21.7542,60,0,21.7617,60,0,21.7703,60,0,21.7796,60,0,21.7894,60,0,21.7989,60,0,21.9802,-19,0,21.9967,-18,0);
  566. c = _line(s,new Vector(0,2000,4500),300,Course.OPEN,drawStyles.generic);
  567. c.addObject(new GameBoostPad(),0.05,-45,0);
  568. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,22.0175,-20,0,29.109427916011,-45,0,29.1287790994471,-45,0,29.1483365062972,-45,0,29.1680785751297,-45,0,29.1879850475903,-45,0,29.4158008550965,45,0,29.4544938657695,45,0,29.4958008550965,45,0,29.6091349723901,42,0,29.6406090913331,39,0,29.6723888648254,36,0,29.7044336483208,30,0,29.7367053367365,20,0);
  569. c = _curve(s,new Vector(0,0,500),new Vector(-1000,0,1000),new Vector(-1500,0,1500),200,Course.OPEN,drawStyles.generic);
  570. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,23.3531,-44,0,23.4013,-47,0,23.4487,-49,0,23.4966,-43,0,23.5418,-32,0,23.5862,-20,0,23.6304,-6,0,23.6738,8,0,23.7132,20,0,23.7516,31,0,23.7884,42,0,23.8258,53,0);
  571. c = _curve(s,new Vector(-500,0,500),new Vector(-500,0,1000),new Vector(0,0,2000),200,Course.OPEN,drawStyles.generic);
  572. c.addObject(new GameBoostPad(),24.3155,64,0);
  573. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,24.4069,72,0,24.3776,73,0,24.4359,71,0,24.4646,69,0,24.493,68,0,24.5211,67,0,24.5515,66,0,24.5815,65,0,24.611,63,0,24.6395,62,0,24.6683,61,0,24.6962,60,0,24.7236,58,0,24.9203,-5,0,24.9466,-6,0,24.9708,-6,0,24.9938,-6,0);
  574. c = _curve(s,new Vector(500,0,500),new Vector(1000,0,1000),new Vector(1000,-500,2000),200,Course.OPEN,drawStyles.generic);
  575. c.addObject(new GameLetter(6),23.9234,-79,0);
  576. c = _line(s,new Vector(0,0,50000),300,Course.OPEN,drawStyles.generic);
  577. c.addObject(new GameFinishLine(),0.01,0,200);
  578. var o = Tracks[1] = new GameLevel();
  579. o.addBackground(new Background("BG Bedrock Dusk",600,600,32000));
  580. o.addRecord(BB.WILMA,86.2);
  581. o.addRecord(BB.BAMBAM,94.9);
  582. o.addRecord(BB.BETTY,105);
  583. o.courseColor = new RGB(7973339);
  584. o.fogColor = new RGB(681323);
  585. o.outsideColor = new RGB(16710896);
  586. o.outsideFogColor = new RGB(16707012);
  587. o.fogNear = 300;
  588. o.fogFar = 4500;
  589. o.startTime = 25;
  590. var c;
  591. var s;
  592. o.course = s = new Course(new Vector(0,0,0));
  593. c = _curve(s,new Vector(0,-500,1250),new Vector(-500,-500,2000),new Vector(-1000,1000,4000),150,Course.OPEN,drawStyles.generic);
  594. c.addCluster(GamePoint,[],true,1.3936,-63,0,1.419,-70,0,1.4483,-71,0,1.4727,-69,0,1.4987,-77,0);
  595. c.addCluster(RockPile,[BB.SMALL],true,1.44,80,0,1.45,60,0,1.46,40,0,1.47,20,0,1.48,0,0);
  596. c.addObject(new SnowPile(BB.TALL),1.6844,-79,0);
  597. c.addCluster(GamePoint,[],true,1.8124,85,0,1.8291,87,0,1.8458,88,0,1.8621,-270,0,1.8796,87,0);
  598. c.addCluster(SnowPile,[BB.TALL],true,1.82,-80,0,1.83,-60,0,1.84,-40,0,1.85,-20,0,1.86,0,0,1.865,20,0);
  599. c.addObject(PalmTree(BB.TALL),1.9912,77,0);
  600. c = _curve(s,new Vector(-1000,1000,2000),new Vector(0,1000,3000),new Vector(500,0,4000),175,Course.OPEN,drawStyles.generic);
  601. c.addCluster(GamePoint,[],true,2.1051,16,0,2.1209,-13,0,2.137,-27,0,2.1535,-32,0,2.1934,-30,0);
  602. c.addCluster(SnowPile,[BB.TALL],true,1.1535,-80,0,1.1535,0,0,1.1535,20,0,1.1535,40,0,1.1535,60,0,1.1535,80,0);
  603. c.addCluster(GamePoint,[],true,2.5283,45,0,2.5542,45,0,2.5806,45,0,2.6096,45,0,2.6391,45,0);
  604. c.addCluster(SnowPile,[BB.TALL],true,1.5806,90,0,1.5806,0,0,1.5806,-20,0,1.5806,-40,0,1.5806,-60,0,1.5806,-80,0);
  605. c.addCluster(GamePoint,[],true,2.982,0,0,2.9977,0,0,2.9547,0,0);
  606. c.addCluster(RockPile,[BB.TALL],true,1.9999,90,0,1.9999,-90,0);
  607. c = _curve(s,new Vector(500,1000,1000),new Vector(0,1500,3000),new Vector(500,0,4000),125,Course.OPEN,drawStyles.generic);
  608. c.addObject(new GameBoostPad(),3.2,-48,0);
  609. c.addCluster(SnowPile,[BB.TALL],true,3.4,0,0,3.41,0,0,3.42,0,0,3.43,0,0,3.44,0,0,3.45,0,0,3.46,0,0);
  610. c.addCluster(GamePoint,[],true,3.41,-79,0,3.42,-84,0,3.43,-82,0,3.44,-79,0,3.45,-71,0);
  611. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,3.41,79,0,3.42,84,0,3.43,82,0,3.44,79,0,3.45,71,0);
  612. c.addObject(new RockPile(BB.SMALL),3.62,-70,0);
  613. c.addObject(new RockPile(BB.SMALL),3.62,70,0);
  614. c.addCluster(SnowPile,[BB.TALL],true,3.82,0,0,3.83,0,0,3.84,0,0,3.85,0,0,3.86,0,0,3.87,0,0,3.88,0,0);
  615. c.addCluster(GamePoint,[],true,3.81,79,0,3.83,84,0,3.85,82,0,3.87,79,0,3.89,71,0);
  616. c.addObject(new GameLetter(0),3.94,-85,0);
  617. c = _curve(s,new Vector(500,1000,1000),new Vector(-1400,-500,1500),new Vector(100,0,2500),400,Course.OPEN,drawStyles.generic);
  618. c.addCluster(SnowPile,[BB.TALL],true,4.5335,5,0,4.6511,7,0,4.8397,14,0);
  619. c.addCluster(GamePoint,[],true,3.65,79,0,3.67,84,0,3.69,82,0,3.71,79,0,3.73,71,0,3.75,71,0,3.77,71,0,3.79,71,0);
  620. c = _curve(s,new Vector(100,0,1000),new Vector(100,-500,3000),new Vector(-1500,0,4000),400,Course.CLOSED,drawStyles.generic);
  621. c.addCluster(SnowPile,[BB.TALL],true,5.02,120,0,5.02,-120,0);
  622. c.addCluster(RockPile,[BB.SMALL],true,5.06,30,0,5.03,15,0,5.01,0,0,5.03,-15,0,5.06,-30,0);
  623. c.addCluster(SnowPile,[BB.TALL],true,5.1,45,0,5.1,-45,0);
  624. c.addObject(new GameBoostPad(),5.3,0,0);
  625. c.addCluster(GamePoint,[],true,3.78,180,0,3.8,180,0,3.82,180,0,3.84,180,0,3.86,180,0,3.88,180,0,3.9,180,0,3.92,180,0);
  626. c = _curve(s,new Vector(-1400,500,1000),new Vector(-1400,1500,3500),new Vector(0,2500,4500),400,Course.CLOSED,drawStyles.generic);
  627. c.addObject(new GameCheckPoint(45),2.1716,0,200);
  628. c.addObject(new GameBoostPad(),6.5723,95,0);
  629. c.addCluster(GamePoint,[],true,6.1173,-60,0,6.1373,-60,0,6.1573,-60,0,6.1773,-60,0,6.1973,-60,0,6.3014,60,0,6.3214,60,0,6.3414,60,0,6.3614,60,0,6.3814,60,0,6.8047,89,0,6.8202,88,0,6.8437,87,0,6.8668,86,0,6.8841,85,0);
  630. c = _curve(s,new Vector(350,250,250),new Vector(350,250,1000),new Vector(350,-500,1500),200,Course.CLOSED,drawStyles.generic);
  631. c.addCluster(RockPile,[BB.TALL],true,7.3432,50,0,7.3232,70,0,7.3032,90,0,7.3232,110,0,7.3432,130,0);
  632. c.addCluster(RockPile,[BB.TALL],true,7.3432,-50,0,7.3232,-70,0,7.3032,-90,0,7.3232,-110,0,7.3432,-130,0);
  633. c.addCluster(GamePoint,[],true,7.5339,0,0,7.5979,0,0,7.6328,0,0,7.699,0,0,7.7314,0,0);
  634. c = _curve(s,new Vector(0,-750,500),new Vector(0,-750,1000),new Vector(0,0,1500),200,Course.CLOSED,drawStyles.generic);
  635. c.addObject(new GameMagnet(),8,0,0);
  636. c.addCluster(GamePoint,[],true,8.1792,63,0,8.2144,72,0,8.2771,89,0,8.3451,-253,0,8.3831,-243,0,8.455,-223,0,8.518,-205,0,8.5818,-196,0,8.6449,-193,0,8.1792,-63,0,8.2144,-72,0,8.2771,-89,0,8.3451,253,0,8.3831,243,0,8.455,223,0,8.518,205,0,8.5818,196,0,8.6449,193,0);
  637. c.addObject(new GameLetter(1),8.9041,180,0);
  638. c = _line(s,new Vector(0,-1000,2000),150,Course.OPEN,drawStyles.generic);
  639. c.addObject(new GameBlades(),9.99,80,0);
  640. c.addObject(new GameBlades(),9.99,-80,0);
  641. c.addObject(new GameBoostPad(),9.7,0,0);
  642. c = _line(s,new Vector(0,1000,100),150,Course.OPEN,drawStyles.generic);
  643. c = _curve(s,new Vector(0,0,2400),new Vector(-600,-800,4400),new Vector(1000,-600,5400),230,Course.OPEN,drawStyles.generic);
  644. c.addCluster(RockPile,[BB.SHORT],true,11.62,86,0,11.6,60,0,11.58,30,0,11.56,0,0,11.58,-30,0,11.6,-60,0,11.62,-86,0);
  645. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,11.6228,-108,-9,11.6422,-120,-27,11.6228,108,-9,11.6422,120,-27,11.9961,-256,4,11.9961,256,4);
  646. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,11.4953,3,0,11.5306,-29,0,11.5525,-41,0,11.5626,-44,0,11.5846,-60,0,11.6068,-83,0,11.5306,29,0,11.5525,41,0,11.5626,44,0,11.5846,60,0,11.6068,83,0,11.9214,56,0,11.9495,79,0,11.9616,88,0,11.987,-260,4,11.9214,-56,0,11.9495,-79,0,11.9616,-88,0,11.987,260,4);
  647. c.addCluster(RockPile,[BB.SHORT],true,11.98,86,0,11.96,60,0,11.94,30,0,11.92,0,0,11.94,-30,0,11.96,-60,0,11.98,-86,0);
  648. c = _curve(s,new Vector(400,200,1000),new Vector(1800,2000,5000),new Vector(1900,3000,7000),230,Course.OPEN,drawStyles.generic);
  649. c.addCluster(GamePoint,[],true,12.2,-3,0,12.215,-3,0,12.23,-3,0,12.245,-3,0,12.26,-3,0);
  650. c.addCluster(GamePoint,[],true,12.313,13,0,12.3193,25,0,12.3274,40,0,12.3416,65,0,12.3486,77,0,12.3615,88,0,12.313,-13,0,12.3193,-25,0,12.3274,-40,0,12.3416,-65,0,12.3486,-77,0,12.3615,-88,0);
  651. c.addObject(new GameLaser(),12.7334,60,0);
  652. c.addCluster(SnowPile,[BB.TALL],true,12.38,-50,0,12.36,-30,0,12.34,0,0,12.36,30,0,12.38,50,0);
  653. c.addObject(new GameBoostPad(),12.4778,0,0);
  654. c = _curve(s,new Vector(0,500,1000),new Vector(200,3500,5000),new Vector(250,4000,5500),200,Course.CLOSED,drawStyles.generic);
  655. c.addCluster(GamePoint,[],true,13.116,-3,0,13.151,-44,0,13.1845,-88,0,13.216,234,0,13.2372,209,0,13.2572,184,0,13.2791,155,0,13.3062,113,0,13.3245,86,0,13.343,59,0,13.3635,31,0,13.3814,8,0);
  656. c.addCluster(SnowPile,[BB.TALL],true,13.116,-183,0,13.151,-223,0,13.1845,-268,0,13.216,54,0,13.2372,20,0,13.2572,4,0,13.2791,-25,0,13.3062,-67,0,13.3245,-94,0,13.343,-121,0,13.3635,-149,0,13.3814,-172,0);
  657. c.addObject(new GameHealth(),13.5,60,0);
  658. c.addCluster(GamePoint,[],true,14.5813,32,0,14.5471,37,0,14.605,28,0);
  659. c.addCluster(RockPile,[BB.TALL],true,14.5389,90,0,14.5222,0,0);
  660. c = _curve(s,new Vector(-250,500,500),new Vector(-800,2000,2000),new Vector(-800,2000,6000),200,Course.CLOSED,drawStyles.generic);
  661. c.addCluster(GamePoint,[],true,14.5813,32,0,14.5471,37,0,14.605,28,0,14.7628,-51,0,14.7756,-56,0,14.7892,-57,0,14.7954,-56,0,14.8025,-54,0);
  662. c.addCluster(GamePoint,[],true,15.1305,55,0,15.1941,58,0,15.2207,57,0,15.2714,55,0);
  663. c.addCluster(RockPile,[BB.TALL],true,14.1305,0,0,14.1941,-30,0,14.2207,-60,0);
  664. c.addObject(new GameLetter(2),14.24,-110,0);
  665. c.addObject(new GameBoostPad(),14.504,44,0);
  666. c.addObject(new GameMagnet(),1.997,45,0);
  667. c = _curve(s,new Vector(0,0,500),new Vector(800,-1000,1500),new Vector(450,0,3000),150,Course.CLOSED,drawStyles.generic);
  668. c.addCluster(GamePoint,[],true,15.1305,55,0,15.1941,58,0,15.2207,57,0,15.2714,55,0);
  669. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,15.6609,180,0,15.6791,180,0,15.7104,180,0,15.7405,180,0,15.768,180,0,15.7827,180,0,15.8096,180,0,15.8374,180,0);
  670. c.addCluster(RockPile,[BB.TALL],true,14.1305,0,0,14.1941,-30,0,14.2207,-60,0);
  671. c.addObject(new GameLetter(3),15.5,-180,0);
  672. c = _curve(s,new Vector(0,0,2400),new Vector(-600,-800,4400),new Vector(1000,-600,5400),230,Course.OPEN,drawStyles.generic);
  673. c.addObject(new GameBoostPad(),14.03,0,0);
  674. c.addObject(new GameCheckPoint(35),0.5,0,200);
  675. c.addCluster(GamePoint,[],true,1.8757,26,0,1.8925,28,0,1.9087,30,0,1.9255,32,0,1.9417,34,0,1.9589,36,0);
  676. c = _curve(s,new Vector(0,-1800,1500),new Vector(0,-1600,2500),new Vector(0,800,2700),200,Course.OPEN,drawStyles.generic);
  677. c.addCluster(GamePoint,[],true,2.111,-60,0,2.134,-60,0,2.147,-60,0,2.16,-60,0,2.173,-60,0);
  678. c.addObject(new GameBoostPad(),2.4551,-60,0);
  679. c.addObject(new GameLetter(4),2.4,80,0);
  680. c.addObject(new PalmTree(BB.TALL),2.4551,0,0);
  681. c.addObject(new GameBoostPad(),2.4551,60,0);
  682. c = _curve(s,new Vector(0,0,500),new Vector(500,-500,1500),new Vector(750,-1500,2000),200,Course.OPEN,drawStyles.generic);
  683. c.addObject(new GameLasers(),3.6,0,0);
  684. c.addCluster(SnowPile,[BB.TALL],true,3.7386,-90,0,3.888,-90,0,3.953,-90,0,3.7386,90,0,3.888,90,0,3.953,90,0);
  685. c = _curve(s,new Vector(250,-1000,500),new Vector(500,-1500,1500),new Vector(500,-1800,3000),200,Course.OPEN,drawStyles.generic);
  686. c.addCluster(SnowPile,[BB.TALL],true,4.3019,0,0,4.3899,0,0,4.4777,0,0,4.5637,1,0,4.6465,1,0);
  687. c = _curve(s,new Vector(2000,0,2000),new Vector(4000,0,3500),new Vector(4000,1000,5000),150,Course.CLOSED,drawStyles.generic);
  688. c.addObject(new GameBoostPad(),5.1,41,0);
  689. c.addObject(new GameLetter(5),5,41,0);
  690. c.addObject(new GameBoostPad(),0.5,-135,0);
  691. c.addCluster(GamePoint,[],true,5.7706,0,0,5.7895,0,0,5.8083,0,0,5.8269,-1,0,5.8453,-1,0,5.8635,-2,0);
  692. c.addObject(new GameBoostPad(),0.9,0,0);
  693. c = _curve(s,new Vector(0,2000,3000),new Vector(4000,0,3500),new Vector(4000,1000,5000),150,Course.OPEN,drawStyles.generic);
  694. c.addObject(new GameBoostPad(),6.2559,60,0);
  695. c.addObject(new GameBoostPad(),6.9307,-70,0);
  696. c.addCluster(GamePoint,[],true,6.1789,65,0,6.1928,65,0,6.204,65,0,6.2181,64,0,6.2294,63,0,6.3505,59,0,6.3652,59,0,6.3801,59,0,6.3901,59,0,6.4052,58,0,6.5446,40,0,6.555,40,0,6.5707,40,0,6.5863,40,0,6.8657,-51,0,6.8857,-59,0,6.905,-62,0,6.9271,-65,0);
  697. c.addObject(new PalmTree(BB.TALL),6.5289,80,0);
  698. c = _curve(s,new Vector(0,1000,1500),new Vector(-4000,0,3000),new Vector(-4000,-500,5000),150,Course.OPEN,drawStyles.generic);
  699. c.addObject(new PalmTree(BB.TALL),7.2366,0,0);
  700. c.addObject(new GameBoostPad(),7.5617,-45,0);
  701. c.addObject(new GameLetter(6),7.3813,-10,0);
  702. c.addObject(new RockPile(BB.SMALL),7.8574,-90,0);
  703. c.addObject(new RockPile(BB.SMALL),7.8774,-40,0);
  704. c.addObject(new RockPile(BB.SMALL),7.8974,10,0);
  705. c.addObject(new GameBoostPad(),7.9078,45,0);
  706. c = _line(s,new Vector(0,0,35000),200,Course.OPEN,drawStyles.generic);
  707. c.addObject(new GameBoostPad(),8.1,-5,0);
  708. c.addObject(new GameFinishLine(),0.15,0,200);
  709. var o = Tracks[2] = new GameLevel();
  710. o.addBackground(new Background("BG Bedrock Night",600,600,45000));
  711. o.addRecord(BB.PEBBLES,90.2);
  712. o.addRecord(BB.SLATE,108.9);
  713. o.addRecord(BB.BETTY,111);
  714. o.courseColor = new RGB(163788);
  715. o.courseLineColor = new RGB(16777215);
  716. o.outsideColor = new RGB(215,215,235);
  717. o.outsideFogColor = new RGB(160,150,200);
  718. o.fogColor = new RGB(18031);
  719. o.fogNear = 300;
  720. o.fogFar = 2500;
  721. o.startTime = 50;
  722. o.openTextColor = 13421823;
  723. var c;
  724. var s;
  725. o.course = s = new Course(new Vector(0,0,0));
  726. c = _line(s,new Vector(0,0,500),150,Course.OPEN,drawStyles.generic,null,1);
  727. c = _curve(s,new Vector(0,0,1000),new Vector(0,-100,1500),new Vector(0,300,2500),150,Course.OPEN,drawStyles.generic,null,1);
  728. c.addObject(new GameBlades(),1.6,60,0);
  729. c.addObject(new GameLasers(),1.6,-60,0);
  730. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,1.7011,70,0,1.7346,70,0,1.779,70,0,1.8225,70,0,1.8545,70,0);
  731. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,1.7011,-70,0,1.7346,-70,0,1.779,-70,0,1.8225,-70,0,1.8545,-70,0);
  732. c = _curve(s,new Vector(0,400,1000),new Vector(0,1200,1500),new Vector(0,1600,2500),150,Course.OPEN,drawStyles.generic,null,1);
  733. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,2.1623,-59,0,2.1949,-35,0,2.2284,-10,0,2.2617,12,0,2.296,27,0,2.331,32,0,2.3685,44,0,2.4096,52,0,2.436,56,0);
  734. c.addObject(new GameLetter(0),1.8229,-60,0);
  735. c = _curve(s,new Vector(0,400,1000),new Vector(1600,1200,1500),new Vector(1800,1600,2500),150,Course.OPEN,drawStyles.generic,null,1);
  736. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,3.0631,29,0,3.096,56,0,3.1325,80,0,3.1576,-263,-1,3.1953,-243,-4,3.2209,-240,-14,3.2472,-241,-15,3.2782,-249,-5,3.307,-266,13,3.336,64,18,3.3622,37,0);
  737. c.addCluster(SnowPile,[BB.TALL],true,3.2209,-70,0,3.2209,70,0);
  738. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,3.8685,79,0,3.8971,-265,6,3.9338,-263,6,3.9623,80,11,3.9882,49,0);
  739. c = _curve(s,new Vector(200,400,1000),new Vector(-400,0,2000),new Vector(600,625,4500),300,Course.OPEN,drawStyles.generic,null,1);
  740. c.addCluster(SnowPile,[BB.SMALL],true,4.2831,80,0,4.3162,50,0,4.341,20,0,4.3729,-10,0,4.3967,-40,0,4.4987,-70,0,4.5273,-50,0,4.5483,-30,0,4.5689,-10,0,4.5955,10,0,4.6359,30,0,4.6546,50,0,4.679,70,0,4.7836,80,0,4.8004,60,0,4.8172,40,0,4.8333,20,0,4.8506,0,0,4.8673,-20,0,4.8778,-40,0,4.8929,-60,0);
  741. c.addObject(new GameLetter(1),4.8778,30,0);
  742. c = _line(s,new Vector(200,125,500),300,Course.OPEN,drawStyles.generic,null,0.5);
  743. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,5.2121,0,0,5.3877,5,0,5.5829,9,0,5.7665,11,0);
  744. c = _curve(s,new Vector(200,0,500),new Vector(-600,-1100,2500),new Vector(-900,-1400,3500),300,Course.CLOSED,drawStyles.generic,null,0.5);
  745. c.addObject(new GameLaser(),6.1,0,0);
  746. c.addCluster(SnowPile,[BB.TALL],true,6.2752,0,0,6.2752,180,0,6.4889,20,0,6.4889,0,0,6.4889,-20,0,6.4889,180,0,6.6361,0,0,6.6361,180,0);
  747. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,6.4886,-94,2,6.5089,-97,7,6.528,-98,9,6.7871,-71,36,6.8104,-69,42,6.8337,-67,48,6.8754,-64,56,6.8992,-63,60,6.8565,-65,53);
  748. c.addObject(new GameBoostPad(),6.7227,-70,0);
  749. c.addObject(new GameBoostPad(),6.7227,70,0);
  750. c = _curve(s,new Vector(0,-300,1000),new Vector(0,2400,3000),new Vector(0,2400,6000),300,Course.CLOSED,drawStyles.generic,null,0.5);
  751. c.addObject(new GameBoostPad(),7.2968,-145,0);
  752. c.addCluster(SnowPile,[BB.TALL],true,7.09,-180,0,7.06,-150,0,7.03,-120,0,7,-90,0,7.03,-60,0,7.06,-30,0,7.09,0,0,7.3101,-90,0,7.2901,-60,0,7.2701,-30,0,7.2501,0,0,7.2701,30,0,7.2901,60,0,7.3101,90,0,7.2501,180,0,7.3968,-90,0,7.4082,-90,0,7.4254,-90,0,7.4412,-90,0,7.4566,-90,0,7.4708,-90,0,7.3968,90,0,7.4082,90,0,7.4254,90,0,7.4412,90,0,7.4566,90,0,7.4708,90,0,7.4867,-163,0,7.8313,0,0,7.8313,180,0);
  753. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,7.278,120,0,7.3043,120,0,7.3169,120,0,7.3292,120,0,7.3526,120,0,7.8078,88,0,7.8157,86,0,7.8235,84,0,7.8311,82,0,7.846,78,0);
  754. c.addObject(new GameBoostPad(),7.4412,135,0);
  755. c.addObject(new GameLetter(2),7.9727,-26,0);
  756. c = _line(s,new Vector(0,450,5000),150,Course.OPEN,drawStyles.generic,null,0.5);
  757. c.addObject(new GameHealth(),8.0421,-45,0);
  758. c.addObject(new GameMagnet(),0.02,0,0);
  759. c.addObject(new GameHealth(),8.0421,45,0);
  760. c.addObject(new GameBoostPad(),8.12,0,0);
  761. c.addObject(new GameBoostPad(),8.16,-45,0);
  762. c.addObject(new GameBoostPad(),8.16,45,0);
  763. c.addObject(new GameCheckPoint(30),8.5,0,300);
  764. c.addObject(new GamePoint(GamePoint.HIGH_VALUE),8.4206,0,0);
  765. c = _curve(s,new Vector(0,-300,1000),new Vector(0,2400,4000),new Vector(0,2400,6000),125,Course.CLOSED,drawStyles.generic,null,1);
  766. c.addCluster(SnowPile,[BB.TALL],true,9.1365,0,0,9.1365,120,0,9.1365,240,0,9.3737,40,0,9.3737,160,0,9.3737,280,0,9.5307,80,0,9.5307,200,0,9.5307,320,0);
  767. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,9.6357,0,0,9.6446,-20,0,9.6586,-41,0,9.6714,-59,0,9.6853,-78,0,9.6992,-90,0,9.6446,20,0,9.6586,41,0,9.6714,59,0,9.6853,78,0,9.6992,90,0,9.6357,180,0,9.6446,160,0,9.6586,140,0,9.6714,120,0,9.6853,100,0,9.6446,200,0,9.6586,220,0,9.6714,240,0,9.6853,260,0,9.7112,90,0,9.8028,70,0,9.8169,50,0,9.8312,30,0,9.8451,0,0,9.8028,110,0,9.8169,130,0,9.8312,150,0,9.8451,180,0,9.7112,-90,0,9.8028,-70,0,9.8169,-50,0,9.8312,-30,0,9.8451,0,0,9.8028,-110,0,9.8169,-130,0,9.8312,-150,0);
  768. c.addCluster(SnowPile,[BB.TALL],true,9.6853,180,0,9.6853,0,0,9.8755,0,0,9.8755,180,0,9.9483,60,0,9.9483,240,0);
  769. c = _curve(s,new Vector(0,0,2000),new Vector(-1000,-1000,4000),new Vector(-1500,-1000,5000),125,Course.CLOSED,drawStyles.generic,null,2);
  770. c.addObject(new GameMagnet(),10.0839,220,0);
  771. c.addCluster(SnowPile,[BB.TALL],true,9.0878,120,0,9.0878,-60,0,9.2533,0,0,9.2533,180,0,10.3366,0,0,10.3637,0,0,10.3945,0,0,10.4234,0,0);
  772. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,10.3366,-90,0,10.3637,-90,0,10.3945,-90,0,10.4234,-90,0,10.3366,90,0,10.3637,90,0,10.3945,90,0,10.4234,90,0,10.7645,-90,0,10.7945,-90,0,10.8245,-90,0,10.8545,-90,0);
  773. c.addObject(new GameBoostPad(30),10.5202,0,0);
  774. c = _curve(s,new Vector(-500,0,1000),new Vector(-1500,1000,3000),new Vector(-1500,1000,4000),125,Course.CLOSED,drawStyles.generic,null,1);
  775. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,11.2063,-230,-18,11.2303,-212,-41,11.2472,-199,-60,11.2707,-180,-75,11.2952,-156,-50,11.316,-130,-17,11.332,-105,-2,11.3543,-72,-3,11.3778,-43,-23,11.3916,-29,-38);
  776. c.addCluster(SnowPile,[BB.TALL],true,11.4335,-90,0,11.4335,-110,0,11.4335,-130,0,11.4335,-150,0,11.4335,-70,0,11.4335,-50,0,11.4335,-30,0);
  777. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,11.8,0,0,11.85,0,0,11.9,0,0);
  778. c.addObject(new GameLetter(3),12.3652,0,0);
  779. c = _line(s,new Vector(0,0,5000),250,Course.OPEN,drawStyles.generic,null,1);
  780. c.addObject(new GameBoostPad(),12.0657,70,0);
  781. c.addObject(new GameCheckPoint(30),12.3652,0,250);
  782. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,12.1,110,0,12.14,110,0,12.18,110,0,12.22,110,0,12.26,110,0,12.3,110,0,12.34,110,0,12.38,110,0,12.42,110,0,12.46,110,0,12.5,110,0,12.54,110,0,12.58,110,0,12.62,110,0,12.66,110,0,12.7,110,0,12.74,110,0,12.78,110,0,12.1,-110,0,12.14,-110,0,12.18,-110,0,12.22,-110,0,12.26,-110,0,12.3,-110,0,12.34,-110,0,12.38,-110,0,12.42,-110,0,12.46,-110,0,12.5,-110,0,12.54,-110,0,12.58,-110,0,12.62,-110,0,12.66,-110,0,12.7,-110,0,12.74,-110,0,12.78,-110,0);
  783. c = _curve(s,new Vector(0,0,1000),new Vector(1500,1000,2000),new Vector(500,1000,4000),250,Course.CLOSED,drawStyles.generic,null,1);
  784. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,13.106,71,0,13.1306,84,0,13.163,-259,0,13.1991,-241,0,13.2212,-230,0,13.2558,-213,0,13.2765,-202,0,13.3081,-184,0,13.3259,-173,0);
  785. c.addCluster(SnowPile,[BB.TALL],true,9.27,-60,0,9.3,-30,0,9.33,0,0);
  786. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,13.5698,0,0,13.5943,15,0,13.6101,26,0,13.6338,41,0,13.6552,54,0,13.6784,70,0,13.7023,86,0);
  787. c.addCluster(SnowPile,[BB.TALL],true,9.6784,-180,0,9.6784,-150,0,9.6784,-120,0,9.6784,-60,0,9.6784,-30,0,9.6784,0,0);
  788. c.addObject(new GameBoostPad(),13.9334,-90,0);
  789. c.addObject(new GameBoostPad(),13.7023,-90,0);
  790. c.addCluster(SnowPile,[BB.TALL],true,9.91,-135,0,9.91,-45,0);
  791. c = _curve(s,new Vector(-1000,0,2000),new Vector(1500,0,3000),new Vector(450,900,4500),250,Course.CLOSED,drawStyles.generic,null,1);
  792. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,14.1358,-48,0,14.1545,-31,0,14.1732,-15,0,14.1941,2,0,14.2135,17,0,14.2353,33,0,14.2556,48,0,14.2777,64,0,14.3005,80,0);
  793. c.addCluster(SnowPile,[BB.TALL],true,14.5546,67,0,14.572,53,0,14.5897,39,0,14.6166,18,0,14.6348,5,0,14.661,-14,0,14.6785,-26,0,14.705,-44,0,14.7492,-73,0);
  794. c.addObject(new GameLetter(4),14.9252,10,0);
  795. c = _curve(s,new Vector(150,300,500),new Vector(0,2400,3000),new Vector(0,2400,5000),125,Course.OPEN,drawStyles.generic,null,1);
  796. c.addObject(new GameBoostPad(),15.0925,63,0);
  797. c.addCluster(RockPile,[BB.SMALL],true,15.4032,-80,0,15.4232,-50,0,15.4232,50,0,15.4032,80,0,15.561,0,0,15.5758,25,0,15.5914,50,0,15.606,75,0,15.5758,-25,0,15.5914,-50,0,15.606,-75,0);
  798. c.addObject(new GameBoostPad(),15.7126,0,0);
  799. c.addObject(new GameMagnet(),15.69,0,0);
  800. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,15.531,0,0,15.5458,25,0,15.5614,50,0,15.576,75,0,15.5458,-25,0,15.5614,-50,0,15.576,-75,0,15.7841,-84,0,15.7975,-103,-3,15.8282,-114,-12,15.8134,-115,-13,15.8465,-98,-1,15.7841,84,0,15.7975,103,-3,15.8282,114,-12,15.8134,115,-13,15.8465,98,-1,15.9385,97,0,15.9542,97,0,15.9739,97,0,15.9385,-97,0,15.9542,-97,0,15.9739,-97,0);
  801. c = _line(s,new Vector(0,0,2500),250,Course.OPEN,drawStyles.generic,null,1);
  802. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,16.2069,-95,-1,16.2433,-112,-5,16.2801,-118,-7,16.3293,-113,4,16.3666,-98,19,16.2069,95,-1,16.2433,112,-5,16.2801,118,-7,16.3293,113,4,16.3666,98,19);
  803. c.addCluster(RockPile,[BB.SMALL],true,16.6478,75,0,16.6106,75,0,16.6886,75,0,16.6478,-75,0,16.6106,-75,0,16.6886,-75,0);
  804. c = _curve(s,new Vector(0,0,1500),new Vector(1500,1000,2000),new Vector(500,1000,4000),250,Course.CLOSED,drawStyles.generic,null,1);
  805. c.addCluster(RockPile,[BB.SMALL],false,17.0312,0,0,17.0412,20,0,17.0512,40,0,17.0412,-20,0,17.0512,-40,0,17.9464,-90,0,17.962,-60,0,17.9772,-30,0,17.9924,0,0);
  806. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,17.4006,-60,0,17.4523,-30,0,17.5277,0,0,17.5722,30,0,17.5975,47,0,17.4006,61,0,17.4523,30,0,17.5722,-30,0,17.5975,-60,0);
  807. c.addObject(new GameLetter(5),17.8744,-47,0);
  808. c = _line(s,new Vector(0,0,2500),150,Course.OPEN,drawStyles.generic,null,1);
  809. c.addCluster(RockPile,[BB.TALL],true,18.9228,-90,0,18.9228,90,0,18.2478,60,0,18.2278,30,0,18.2078,0,0,18.1678,-30,0,18.1278,-60,0);
  810. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,18.167,-245,-23,18.2062,-240,-33,18.2478,-241,-30,18.2874,-248,-16,18.6075,-88,0,18.651,-107,-7,18.6876,-115,-16,18.7312,-115,-17,18.7679,-108,-8,18.8143,-86,0);
  811. c = _curve(s,new Vector(0,0,2500),new Vector(2500,-1500,3000),new Vector(3000,-2500,4000),125,Course.OPEN,drawStyles.generic,null,1);
  812. c.addCluster(RockPile,[BB.TALL],true,19.1315,82,0,19.1315,-82,0);
  813. c.addCluster(RockPile,[BB.TALL],false,19.5,90,-25,19.5,-90,-25);
  814. c = _curve(s,new Vector(500,-1000,2500),new Vector(1000,0,3000),new Vector(500,-500,5500),125,Course.OPEN,drawStyles.generic,null,1.5);
  815. c.addObject(new GameCheckPoint(30),20.01,0,250);
  816. c.addObject(new GameBoostPad(),20.1,-80,0);
  817. c.addObject(new GameBoostPad(),20.1,80,0);
  818. c.addCluster(SnowPile,[BB.TALL],true,20.3,-70,0,20.3,70,0,20.8599,90,0);
  819. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,20.3,-100,0,20.3,100,0);
  820. c.addCluster(GamePoint,[GamePoint.LOW_VALUE],true,20.5027,80,-1,20.5225,76,-1,20.5457,85,0,20.5852,88,1,20.8234,-75,-2,20.8072,-77,-1,20.7906,-75,-2,20.7681,-60,-6,20.8394,-74,-2,20.8599,-90,0,20.875,-89,1);
  821. c.addObject(new GameLetter(6),20.4766,64,0);
  822. c.addObject(new GameBoostPad(),20.7507,-64,0);
  823. c.addObject(new GameLaser(),20.7307,-64,0);
  824. c = _curve(s,new Vector(-500,-1000,2500),new Vector(1000,0,3000),new Vector(0,-500,5500),125,Course.CLOSED,drawStyles.generic,null,1.5);
  825. c.addCluster(SnowPile,[BB.TALL],true,21.0372,-150,0,21.0372,-130,0,21.0372,-110,0,21.0372,-90,0,21.0372,-70,0,21.0372,-50,0,21.0372,-30,0,21.3616,-70,0,21.3616,-50,0,21.3616,-30,0,21.3616,30,0,21.3616,50,0,21.3616,70,0,21.6749,-180,0,21.6749,-160,0,21.6749,-200,0,21.8125,0,0,21.8125,20,0,21.8125,-20,0,21.9655,90,0,21.9655,180,0,21.9655,270,0,21.9655,135,0,21.9655,225,0);
  826. c = _curve(s,new Vector(-1000,-500,2500),new Vector(-1000,0,3000),new Vector(0,-600,5500),125,Course.OPEN,drawStyles.generic,null,1.5);
  827. c.addObject(new GameCargo(),4,0,0);
  828. c.addCluster(SnowPile,[BB.TALL],true,21.1146,0,0,21.1146,60,0,21.1146,-60,0,21.1146,-30,0,21.1146,30,0,21.2657,0,0,21.2657,-45,0,21.2657,45,0,21.4937,-60,0,21.4937,60,0,21.7477,-20,0,21.7477,20,0,22.9324,5,0,22.9466,-3,0,22.9611,-5,0);
  829. c.addCluster(GamePoint,[GamePoint.HIGH_VALUE],true,22.9324,80,0,22.9466,80,0,22.9611,80,0);
  830. c.addObject(new GameBoostPad(),20.9466,80,0);
  831. c = _curve(s,new Vector(1000,-600,1500),new Vector(1000,0,4000),new Vector(2000,1000,6000),250,Course.OPEN,drawStyles.generic,null,1);
  832. c.addObject(new GameBoostPad(),23.245,39,0);
  833. c.addObject(new GameFinishLine(),0.5,0,200);
  834. c = _curve(s,new Vector(0,500,1000),new Vector(0,0,2000),new Vector(0,500,4000),150,Course.OPEN,drawStyles.generic,null,1);
  835. c = _curve(s,new Vector(0,1000,2000),new Vector(-1500,1000,4000),new Vector(-2000,1000,6000),150,Course.OPEN,drawStyles.generic,null,1);
  836. c = _line(s,new Vector(0,0,25000),150,Course.OPEN,drawStyles.generic,null,1);
  837. var EndScreenTime = 5000;
  838. _global.formatTime = function(value)
  839. {
  840.    var _loc1_ = Math.floor(value % 60);
  841.    return Math.floor(value / 60) + ":" + (_loc1_ >= 10 ? _loc1_ : "0" + _loc1_) + "." + Math.floor(value % 1 * 10);
  842. };
  843. var gameSled;
  844. var currentLevel;
  845. var currentCharacter;
  846. var KeysEnabled = true;
  847. var updateGame = null;
  848. var countdownTime = 9;
  849. var countdownStartAt = 5;
  850. var countdownSeconds = 0;
  851. var cameraOffset;
  852. var dinosaur;
  853. var rootSoundControl = new Sound(_root);
  854. var GameInterval;
  855. var gameAudio = new Sound(this);
  856. var gameTrack;
  857. var gameScore;
  858. var gameLives;
  859.