Section 1
//buttons_94 (CarGame_fla.buttons_94)
package CarGame_fla {
import flash.display.*;
public dynamic class buttons_94 extends MovieClip {
public var next:SimpleButton;
public var back:SimpleButton;
}
}//package CarGame_fla
Section 2
//buySell_373 (CarGame_fla.buySell_373)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class buySell_373 extends MovieClip {
public var carAfter:SimpleButton;
public var carDescrp:MovieClip;
public var buyBn:SimpleButton;
public var carBefore:SimpleButton;
public var availableMoney:TextField;
}
}//package CarGame_fla
Section 3
//carSelect_325 (CarGame_fla.carSelect_325)
package CarGame_fla {
import flash.display.*;
public dynamic class carSelect_325 extends MovieClip {
public var spdBar:MovieClip;
public var hndBar:MovieClip;
public var selectedCar:MovieClip;
public var prevCar:SimpleButton;
public var accBar:MovieClip;
public var nextCar:SimpleButton;
public function carSelect_325(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 4
//carSelectscreenCopy_118 (CarGame_fla.carSelectscreenCopy_118)
package CarGame_fla {
import flash.display.*;
public dynamic class carSelectscreenCopy_118 extends MovieClip {
public function carSelectscreenCopy_118(){
addFrameScript(4, frame5, 5, frame6, 6, frame7);
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame5(){
stop();
}
}
}//package CarGame_fla
Section 5
//circuit_77 (CarGame_fla.circuit_77)
package CarGame_fla {
import flash.display.*;
public dynamic class circuit_77 extends MovieClip {
public function circuit_77(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 6
//dar4_175 (CarGame_fla.dar4_175)
package CarGame_fla {
import flash.display.*;
public dynamic class dar4_175 extends MovieClip {
public function dar4_175(){
addFrameScript(30, frame31);
}
function frame31(){
stop();
}
}
}//package CarGame_fla
Section 7
//dhaldade_211 (CarGame_fla.dhaldade_211)
package CarGame_fla {
import flash.display.*;
public dynamic class dhaldade_211 extends MovieClip {
public var createProfile:MovieClip;
public var masking:MovieClip;
public var oldProfile:SimpleButton;
public var newProfile:SimpleButton;
public function dhaldade_211(){
addFrameScript(28, frame29);
}
function frame29(){
stop();
if (((((((this.parent.parent.parent as MainClass).playerProfiles.player1 == null)) && (((this.parent.parent.parent as MainClass).playerProfiles.player2 == null)))) && (((this.parent.parent.parent as MainClass).playerProfiles.player3 == null)))){
masking.visible = true;
} else {
masking.visible = false;
};
}
}
}//package CarGame_fla
Section 8
//directionText_258 (CarGame_fla.directionText_258)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class directionText_258 extends MovieClip {
public var directionIndicator:TextField;
}
}//package CarGame_fla
Section 9
//dishome_178 (CarGame_fla.dishome_178)
package CarGame_fla {
import flash.display.*;
public dynamic class dishome_178 extends MovieClip {
public function dishome_178(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package CarGame_fla
Section 10
//drift_79 (CarGame_fla.drift_79)
package CarGame_fla {
import flash.display.*;
public dynamic class drift_79 extends MovieClip {
public function drift_79(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 11
//evevts_330 (CarGame_fla.evevts_330)
package CarGame_fla {
import flash.display.*;
public dynamic class evevts_330 extends MovieClip {
public var locked:MovieClip;
public var prevEvent:SimpleButton;
public var eventSelected:MovieClip;
public var nextEvent:SimpleButton;
public var damagedCar:MovieClip;
public var raceBn:SimpleButton;
public function evevts_330(){
addFrameScript(0, frame1);
}
function frame1(){
this.damagedCar.gotoAndStop(1);
}
}
}//package CarGame_fla
Section 12
//ffd_196 (CarGame_fla.ffd_196)
package CarGame_fla {
import flash.display.*;
public dynamic class ffd_196 extends MovieClip {
public function ffd_196(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package CarGame_fla
Section 13
//finishingText_38 (CarGame_fla.finishingText_38)
package CarGame_fla {
import flash.display.*;
public dynamic class finishingText_38 extends MovieClip {
public var num:MovieClip;
}
}//package CarGame_fla
Section 14
//finishingTextcopy_41 (CarGame_fla.finishingTextcopy_41)
package CarGame_fla {
import flash.display.*;
public dynamic class finishingTextcopy_41 extends MovieClip {
public var num:MovieClip;
public function finishingTextcopy_41(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 15
//garageCar_278 (CarGame_fla.garageCar_278)
package CarGame_fla {
import flash.display.*;
public dynamic class garageCar_278 extends MovieClip {
public function garageCar_278(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 16
//highRadioButton_133 (CarGame_fla.highRadioButton_133)
package CarGame_fla {
import flash.display.*;
public dynamic class highRadioButton_133 extends MovieClip {
public function highRadioButton_133(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 17
//highRadioButtonmedium_135 (CarGame_fla.highRadioButtonmedium_135)
package CarGame_fla {
import flash.display.*;
public dynamic class highRadioButtonmedium_135 extends MovieClip {
public function highRadioButtonmedium_135(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 18
//highScores_207 (CarGame_fla.highScores_207)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class highScores_207 extends MovieClip {
public var score1:TextField;
public var score5:TextField;
public var score10:TextField;
public var score6:TextField;
public var date1:TextField;
public var date2:TextField;
public var date3:TextField;
public var date6:TextField;
public var date7:TextField;
public var date5:TextField;
public var date9:TextField;
public var player1:TextField;
public var player2:TextField;
public var player6:TextField;
public var player7:TextField;
public var player8:TextField;
public var player5:TextField;
public var date4:TextField;
public var date8:TextField;
public var player3:TextField;
public var player9:TextField;
public var player4:TextField;
public var date10:TextField;
public var player10:TextField;
public var score2:TextField;
public var score3:TextField;
public var score7:TextField;
public var score8:TextField;
public var score9:TextField;
public var score4:TextField;
public function highScores_207(){
addFrameScript(33, frame34);
}
function frame34(){
stop();
(this.parent.parent as MainClass).fetchHighScore(null);
}
}
}//package CarGame_fla
Section 19
//inputtextboxLoad_231 (CarGame_fla.inputtextboxLoad_231)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class inputtextboxLoad_231 extends MovieClip {
public var loadSlot:TextField;
public function inputtextboxLoad_231(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 20
//instructions_187 (CarGame_fla.instructions_187)
package CarGame_fla {
import flash.display.*;
public dynamic class instructions_187 extends MovieClip {
public var iBox:MovieClip;
public function instructions_187(){
addFrameScript(33, frame34);
}
function frame34(){
stop();
}
}
}//package CarGame_fla
Section 21
//InstructionsSpace_194 (CarGame_fla.InstructionsSpace_194)
package CarGame_fla {
import flash.display.*;
public dynamic class InstructionsSpace_194 extends MovieClip {
public function InstructionsSpace_194(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 22
//intro_75 (CarGame_fla.intro_75)
package CarGame_fla {
import flash.display.*;
public dynamic class intro_75 extends MovieClip {
public var raceSelect:MovieClip;
public function intro_75(){
addFrameScript(0, frame1, 38, frame39);
}
function frame1(){
if ((this.parent.parent as MainClass).dontPlay > 1){
gotoAndStop(totalFrames);
};
}
function frame39(){
if ((this.parent.parent as MainClass).dontPlay < 2){
(this.parent.parent as MainClass).dontPlay = 2;
};
stop();
}
}
}//package CarGame_fla
Section 23
//laps_107 (CarGame_fla.laps_107)
package CarGame_fla {
import flash.display.*;
public dynamic class laps_107 extends MovieClip {
public function laps_107(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 24
//loadSlot_224 (CarGame_fla.loadSlot_224)
package CarGame_fla {
import flash.display.*;
public dynamic class loadSlot_224 extends MovieClip {
public function loadSlot_224(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 25
//lodbar2new_1 (CarGame_fla.lodbar2new_1)
package CarGame_fla {
import flash.display.*;
public dynamic class lodbar2new_1 extends MovieClip {
public var percentbar:MovieClip;
}
}//package CarGame_fla
Section 26
//LoseText_378 (CarGame_fla.LoseText_378)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class LoseText_378 extends MovieClip {
public var errormesg:TextField;
public var submitScore:SimpleButton;
public var totalScore:TextField;
public var playAgain:SimpleButton;
public var player:TextField;
}
}//package CarGame_fla
Section 27
//map_101 (CarGame_fla.map_101)
package CarGame_fla {
import flash.display.*;
public dynamic class map_101 extends MovieClip {
public var trk_img:MovieClip;
public function map_101(){
addFrameScript(0, frame1, 49, frame50);
}
function frame1(){
if ((this.parent.parent as MainClass).dontPlay > 2){
gotoAndStop(totalFrames);
};
}
function frame50(){
if ((this.parent.parent as MainClass).dontPlay < 3){
(this.parent.parent as MainClass).dontPlay = 3;
};
stop();
}
}
}//package CarGame_fla
Section 28
//mcBar_253 (CarGame_fla.mcBar_253)
package CarGame_fla {
import flash.display.*;
public dynamic class mcBar_253 extends MovieClip {
public function mcBar_253(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 29
//mcBuySell_372 (CarGame_fla.mcBuySell_372)
package CarGame_fla {
import flash.display.*;
public dynamic class mcBuySell_372 extends MovieClip {
public var buyBox:MovieClip;
public var backToGarage:SimpleButton;
public function mcBuySell_372(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package CarGame_fla
Section 30
//mcCarDiscription_327 (CarGame_fla.mcCarDiscription_327)
package CarGame_fla {
import flash.display.*;
public dynamic class mcCarDiscription_327 extends MovieClip {
public var notOwned:MovieClip;
public function mcCarDiscription_327(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 31
//mcCarDiscription2_374 (CarGame_fla.mcCarDiscription2_374)
package CarGame_fla {
import flash.display.*;
public dynamic class mcCarDiscription2_374 extends MovieClip {
public var spdBar:MovieClip;
public var hndBar:MovieClip;
public var owned:mcOwned;
public var accBar:MovieClip;
public function mcCarDiscription2_374(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 32
//mcCareerSc_210 (CarGame_fla.mcCareerSc_210)
package CarGame_fla {
import flash.display.*;
public dynamic class mcCareerSc_210 extends MovieClip {
public function mcCareerSc_210(){
addFrameScript(34, frame35);
}
function frame35(){
stop();
}
}
}//package CarGame_fla
Section 33
//mcCareerScOut_209 (CarGame_fla.mcCareerScOut_209)
package CarGame_fla {
import flash.display.*;
public dynamic class mcCareerScOut_209 extends MovieClip {
public var loadProfile:SimpleButton;
public var createProfile:SimpleButton;
public var profileBack:SimpleButton;
public var slots:MovieClip;
public var back:SimpleButton;
public var loadSlots:MovieClip;
public function mcCareerScOut_209(){
addFrameScript(40, frame41, 58, frame59, 75, frame76);
}
function frame76(){
stop();
loadProfile.enabled = false;
}
function frame41(){
stop();
}
function frame59(){
stop();
createProfile.enabled = false;
}
}
}//package CarGame_fla
Section 34
//mcCarSelect_324 (CarGame_fla.mcCarSelect_324)
package CarGame_fla {
import flash.display.*;
public dynamic class mcCarSelect_324 extends MovieClip {
public var carBox:MovieClip;
public var backToGarage:SimpleButton;
public function mcCarSelect_324(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
(this.parent.parent as MainClass).sCar = GParams.currentCar;
}
function frame17(){
stop();
}
}
}//package CarGame_fla
Section 35
//mcCarSelectCars_313 (CarGame_fla.mcCarSelectCars_313)
package CarGame_fla {
import flash.display.*;
public dynamic class mcCarSelectCars_313 extends MovieClip {
public function mcCarSelectCars_313(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 36
//mcDamageBar_252 (CarGame_fla.mcDamageBar_252)
package CarGame_fla {
import flash.display.*;
public dynamic class mcDamageBar_252 extends MovieClip {
public var damageBar:MovieClip;
public function mcDamageBar_252(){
addFrameScript(0, frame1);
}
function frame1(){
this.damageBar.gotoAndStop(1);
}
}
}//package CarGame_fla
Section 37
//mcDamagedCarText_370 (CarGame_fla.mcDamagedCarText_370)
package CarGame_fla {
import flash.display.*;
public dynamic class mcDamagedCarText_370 extends MovieClip {
public var damageText:MovieClip;
public function mcDamagedCarText_370(){
addFrameScript(0, frame1, 61, frame62);
}
function frame1(){
stop();
}
function frame62(){
stop();
}
}
}//package CarGame_fla
Section 38
//mcEvents_329 (CarGame_fla.mcEvents_329)
package CarGame_fla {
import flash.display.*;
public dynamic class mcEvents_329 extends MovieClip {
public var backToGarage:SimpleButton;
public var eventsBox:MovieClip;
public function mcEvents_329(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package CarGame_fla
Section 39
//McEventsTracksLaps_334 (CarGame_fla.McEventsTracksLaps_334)
package CarGame_fla {
import flash.display.*;
public dynamic class McEventsTracksLaps_334 extends MovieClip {
public var nextRace:SimpleButton;
public var trophyText:Symbol4;
public var prevRace:SimpleButton;
public var raceSelected:MovieClip;
public var tinted:MovieClip;
public function McEventsTracksLaps_334(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 40
//mcGarage_263 (CarGame_fla.mcGarage_263)
package CarGame_fla {
import flash.display.*;
public dynamic class mcGarage_263 extends MovieClip {
public var garageCar:MovieClip;
public var trophy:MovieClip;
}
}//package CarGame_fla
Section 41
//mcGarageDisplay_279 (CarGame_fla.mcGarageDisplay_279)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcGarageDisplay_279 extends MovieClip {
public var money:TextField;
public var repute:TextField;
}
}//package CarGame_fla
Section 42
//mcIndicator_254 (CarGame_fla.mcIndicator_254)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcIndicator_254 extends MovieClip {
public var driftReq:TextField;
public var completed:TextField;
public var driftScore:TextField;
public var Cposition:TextField;
public var timeBox:TextField;
public function mcIndicator_254(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 43
//mcInstructionText_193 (CarGame_fla.mcInstructionText_193)
package CarGame_fla {
import flash.display.*;
public dynamic class mcInstructionText_193 extends MovieClip {
public var iSprint:SimpleButton;
public var iControls:SimpleButton;
public var i:MovieClip;
public var iCircuit:SimpleButton;
public var iDrift:SimpleButton;
public function mcInstructionText_193(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 44
//mcLoadProfileText_230 (CarGame_fla.mcLoadProfileText_230)
package CarGame_fla {
import flash.display.*;
public dynamic class mcLoadProfileText_230 extends MovieClip {
public var mcLoadSlot1:MovieClip;
public var mcLoadSlot3:MovieClip;
public var mcLoadSlot2:MovieClip;
}
}//package CarGame_fla
Section 45
//mcMeter_323 (CarGame_fla.mcMeter_323)
package CarGame_fla {
import flash.display.*;
public dynamic class mcMeter_323 extends MovieClip {
public function mcMeter_323(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 46
//mcNewProfileText_223 (CarGame_fla.mcNewProfileText_223)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcNewProfileText_223 extends MovieClip {
public var slot3:TextField;
public var mcSlot2:MovieClip;
public var slot1:TextField;
public var slot2:TextField;
public var mcSlot1:MovieClip;
public var mcSlot3:MovieClip;
}
}//package CarGame_fla
Section 47
//mcNotEnoughMoney_289 (CarGame_fla.mcNotEnoughMoney_289)
package CarGame_fla {
import flash.display.*;
public dynamic class mcNotEnoughMoney_289 extends MovieClip {
public function mcNotEnoughMoney_289(){
addFrameScript(0, frame1, 31, frame32);
}
function frame1(){
stop();
}
function frame32(){
stop();
}
}
}//package CarGame_fla
Section 48
//mcOptionSCreen_126 (CarGame_fla.mcOptionSCreen_126)
package CarGame_fla {
import fl.controls.*;
import flash.display.*;
public dynamic class mcOptionSCreen_126 extends MovieClip {
public var soundS:Slider;
public var Mute:MovieClip;
public var highBtn:MovieClip;
public var lowBtn:MovieClip;
public var mediumBtn:MovieClip;
public var quitBtn:SimpleButton;
public var musicS:Slider;
public var resumeBtn:SimpleButton;
public function mcOptionSCreen_126(){
addFrameScript(33, frame34);
}
function frame34(){
stop();
}
}
}//package CarGame_fla
Section 49
//mcOptionScreeninside_157 (CarGame_fla.mcOptionScreeninside_157)
package CarGame_fla {
import flash.display.*;
public dynamic class mcOptionScreeninside_157 extends MovieClip {
public function mcOptionScreeninside_157(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 50
//mcPopup1_295 (CarGame_fla.mcPopup1_295)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcPopup1_295 extends MovieClip {
public var OK:SimpleButton;
public var popUpMoney:TextField;
public var popUpRepute:TextField;
}
}//package CarGame_fla
Section 51
//mcPopup2_298 (CarGame_fla.mcPopup2_298)
package CarGame_fla {
import flash.display.*;
public dynamic class mcPopup2_298 extends MovieClip {
public var Yes:SimpleButton;
public var No:SimpleButton;
}
}//package CarGame_fla
Section 52
//mcPopup3_301 (CarGame_fla.mcPopup3_301)
package CarGame_fla {
import flash.display.*;
public dynamic class mcPopup3_301 extends MovieClip {
public var saveNo:SimpleButton;
public var saveYes:SimpleButton;
}
}//package CarGame_fla
Section 53
//mcRepair_318 (CarGame_fla.mcRepair_318)
package CarGame_fla {
import flash.display.*;
public dynamic class mcRepair_318 extends MovieClip {
public var repairBox:MovieClip;
public var backToGarage:SimpleButton;
public function mcRepair_318(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package CarGame_fla
Section 54
//mcScGamePortals_234 (CarGame_fla.mcScGamePortals_234)
package CarGame_fla {
import flash.display.*;
public dynamic class mcScGamePortals_234 extends MovieClip {
public var back:SimpleButton;
}
}//package CarGame_fla
Section 55
//mcScHighScores_205 (CarGame_fla.mcScHighScores_205)
package CarGame_fla {
import flash.display.*;
public dynamic class mcScHighScores_205 extends MovieClip {
public var iDisplay:MovieClip;
public var back:SimpleButton;
public function mcScHighScores_205(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 56
//mcSectorSelect_312 (CarGame_fla.mcSectorSelect_312)
package CarGame_fla {
import flash.display.*;
public dynamic class mcSectorSelect_312 extends MovieClip {
public function mcSectorSelect_312(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 57
//mcSpeedBar_256 (CarGame_fla.mcSpeedBar_256)
package CarGame_fla {
import flash.display.*;
public dynamic class mcSpeedBar_256 extends MovieClip {
public var speed1:MovieClip;
public var speed3:MovieClip;
public var speed2:MovieClip;
}
}//package CarGame_fla
Section 58
//mcSpeedDigits_257 (CarGame_fla.mcSpeedDigits_257)
package CarGame_fla {
import flash.display.*;
public dynamic class mcSpeedDigits_257 extends MovieClip {
public function mcSpeedDigits_257(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11);
}
function frame10(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame11(){
stop();
}
}
}//package CarGame_fla
Section 59
//mcTotaled_40 (CarGame_fla.mcTotaled_40)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcTotaled_40 extends MovieClip {
public var winText:TextField;
}
}//package CarGame_fla
Section 60
//mcTrackLaps1_336 (CarGame_fla.mcTrackLaps1_336)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackLaps1_336 extends MovieClip {
public var raceCompleted:MovieClip;
public function mcTrackLaps1_336(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 61
//mcTrackLaps2_343 (CarGame_fla.mcTrackLaps2_343)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackLaps2_343 extends MovieClip {
public var raceCompleted:MovieClip;
public function mcTrackLaps2_343(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 62
//mcTrackLaps3_348 (CarGame_fla.mcTrackLaps3_348)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackLaps3_348 extends MovieClip {
public var raceCompleted:MovieClip;
public function mcTrackLaps3_348(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 63
//mcTrackLaps4_354 (CarGame_fla.mcTrackLaps4_354)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackLaps4_354 extends MovieClip {
public var raceCompleted:MovieClip;
public function mcTrackLaps4_354(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 64
//mcTrackLaps5_358 (CarGame_fla.mcTrackLaps5_358)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackLaps5_358 extends MovieClip {
public var raceCompleted:MovieClip;
public function mcTrackLaps5_358(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 65
//mcTrackLaps6_362 (CarGame_fla.mcTrackLaps6_362)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackLaps6_362 extends MovieClip {
public var raceCompleted:MovieClip;
public function mcTrackLaps6_362(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 66
//mcTrackSelect_335 (CarGame_fla.mcTrackSelect_335)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTrackSelect_335 extends MovieClip {
public function mcTrackSelect_335(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 67
//mcTunerCar03_423 (CarGame_fla.mcTunerCar03_423)
package CarGame_fla {
import flash.display.*;
public dynamic class mcTunerCar03_423 extends MovieClip {
public var rb:MovieClip;
public var rf:MovieClip;
public var lb:MovieClip;
public var lf:MovieClip;
}
}//package CarGame_fla
Section 68
//mcUpgrade_302 (CarGame_fla.mcUpgrade_302)
package CarGame_fla {
import flash.display.*;
public dynamic class mcUpgrade_302 extends MovieClip {
public var upgradeBox:MovieClip;
public var backToGarage:SimpleButton;
public function mcUpgrade_302(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package CarGame_fla
Section 69
//Mcupgrade1_304 (CarGame_fla.Mcupgrade1_304)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Mcupgrade1_304 extends MovieClip {
public var upgradeBn1:SimpleButton;
public var rate:TextField;
public function Mcupgrade1_304(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 70
//mcUpgrade2_307 (CarGame_fla.mcUpgrade2_307)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcUpgrade2_307 extends MovieClip {
public var upgradeBn2:SimpleButton;
public var rate:TextField;
public function mcUpgrade2_307(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 71
//mcUpgrade3_309 (CarGame_fla.mcUpgrade3_309)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mcUpgrade3_309 extends MovieClip {
public var upgradeBn3:SimpleButton;
public var rate:TextField;
public function mcUpgrade3_309(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 72
//menuAni_163 (CarGame_fla.menuAni_163)
package CarGame_fla {
import flash.display.*;
public dynamic class menuAni_163 extends MovieClip {
public var GamePortals:SimpleButton;
public var highScores:SimpleButton;
public var quickRace:SimpleButton;
public var addMore:SimpleButton;
public var playMore:SimpleButton;
public var instructions:SimpleButton;
public var career:SimpleButton;
public function menuAni_163(){
addFrameScript(85, frame86);
}
function frame86(){
stop();
}
}
}//package CarGame_fla
Section 73
//muteoption_143 (CarGame_fla.muteoption_143)
package CarGame_fla {
import flash.display.*;
public dynamic class muteoption_143 extends MovieClip {
public function muteoption_143(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 74
//Path_103 (CarGame_fla.Path_103)
package CarGame_fla {
import flash.display.*;
public dynamic class Path_103 extends MovieClip {
public var trk_img1:MovieClip;
public var prevTrk:SimpleButton;
public var nextTrk:SimpleButton;
}
}//package CarGame_fla
Section 75
//pgrade1_303 (CarGame_fla.pgrade1_303)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class pgrade1_303 extends MovieClip {
public var spdBar:MovieClip;
public var hndBar:MovieClip;
public var nextSector:SimpleButton;
public var availableMoney:TextField;
public var prevSector:SimpleButton;
public var carDetails:MovieClip;
public var accBar:MovieClip;
public var upgradeTier1:MovieClip;
public var upgradeTier2:MovieClip;
public var upgradeTier3:MovieClip;
public var selectedSector:MovieClip;
}
}//package CarGame_fla
Section 76
//preloadergamename_10 (CarGame_fla.preloadergamename_10)
package CarGame_fla {
import flash.display.*;
public dynamic class preloadergamename_10 extends MovieClip {
public function preloadergamename_10(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package CarGame_fla
Section 77
//radioButtonlow_137 (CarGame_fla.radioButtonlow_137)
package CarGame_fla {
import flash.display.*;
public dynamic class radioButtonlow_137 extends MovieClip {
public function radioButtonlow_137(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 78
//repair_319 (CarGame_fla.repair_319)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class repair_319 extends MovieClip {
public var condition:MovieClip;
public var conditionMeter:MovieClip;
public var repairMoney:TextField;
public var availableMoney:TextField;
public var repairBn:SimpleButton;
}
}//package CarGame_fla
Section 79
//SChighsocres1_208 (CarGame_fla.SChighsocres1_208)
package CarGame_fla {
import flash.display.*;
public dynamic class SChighsocres1_208 extends MovieClip {
public var back:SimpleButton;
public function SChighsocres1_208(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 80
//SCinstructions_188 (CarGame_fla.SCinstructions_188)
package CarGame_fla {
import flash.display.*;
public dynamic class SCinstructions_188 extends MovieClip {
public var iSprint:SimpleButton;
public var iDisplay:MovieClip;
public var iControls:SimpleButton;
public var iCircuit:SimpleButton;
public var iDrift:SimpleButton;
public function SCinstructions_188(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 81
//screen_105 (CarGame_fla.screen_105)
package CarGame_fla {
import flash.display.*;
public dynamic class screen_105 extends MovieClip {
public var moreLap:SimpleButton;
public var lapCount:MovieClip;
public var lessLap:SimpleButton;
public function screen_105(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
if (GParams.currentRace == GParams.SPRINT){
gotoAndStop(6);
};
}
function frame4(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
}
}//package CarGame_fla
Section 82
//selectCar_117 (CarGame_fla.selectCar_117)
package CarGame_fla {
import flash.display.*;
public dynamic class selectCar_117 extends MovieClip {
public var insideQR:MovieClip;
public var prevCar:SimpleButton;
public var car_selected:MovieClip;
public var nextCar:SimpleButton;
public function selectCar_117(){
addFrameScript(0, frame1, 50, frame51);
}
function frame1(){
if ((this.parent.parent as MainClass).dontPlay > 3){
gotoAndStop(totalFrames);
};
}
function frame51(){
if (((!((this.parent == null))) && (!((this.parent.parent == null))))){
if ((this.parent.parent as MainClass).dontPlay < 4){
(this.parent.parent as MainClass).dontPlay = 4;
};
};
stop();
}
}
}//package CarGame_fla
Section 83
//sigma_212 (CarGame_fla.sigma_212)
package CarGame_fla {
import flash.display.*;
public dynamic class sigma_212 extends MovieClip {
public function sigma_212(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
}
}
}//package CarGame_fla
Section 84
//sprint_78 (CarGame_fla.sprint_78)
package CarGame_fla {
import flash.display.*;
public dynamic class sprint_78 extends MovieClip {
public function sprint_78(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 85
//status_320 (CarGame_fla.status_320)
package CarGame_fla {
import flash.display.*;
public dynamic class status_320 extends MovieClip {
public function status_320(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package CarGame_fla
Section 86
//tar_173 (CarGame_fla.tar_173)
package CarGame_fla {
import flash.display.*;
public dynamic class tar_173 extends MovieClip {
public function tar_173(){
addFrameScript(27, frame28);
}
function frame28(){
stop();
}
}
}//package CarGame_fla
Section 87
//trophies_264 (CarGame_fla.trophies_264)
package CarGame_fla {
import flash.display.*;
public dynamic class trophies_264 extends MovieClip {
public var trophy1:MovieClip;
public var trophy5:MovieClip;
public var trophy4:MovieClip;
public var trophy6:MovieClip;
public var trophy3:MovieClip;
public var trophy2:MovieClip;
public function trophies_264(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CarGame_fla
Section 88
//typeofRace_76 (CarGame_fla.typeofRace_76)
package CarGame_fla {
import fl.controls.*;
import flash.display.*;
public dynamic class typeofRace_76 extends MovieClip {
public var drtText:MovieClip;
public var sprint:RadioButton;
public var cktText:MovieClip;
public var sptText:MovieClip;
public var drift:RadioButton;
public var circuit:RadioButton;
public function typeofRace_76(){
__setProp_circuit_typeofRace_Layer1_1();
__setProp_sprint_typeofRace_Layer1_1();
__setProp_drift_typeofRace_Layer1_1();
}
function __setProp_drift_typeofRace_Layer1_1(){
try {
drift["componentInspectorSetting"] = true;
} catch(e:Error) {
};
drift.enabled = true;
drift.groupName = "RadioButtonGroup";
drift.label = "";
drift.labelPlacement = "right";
drift.selected = false;
drift.value = "";
drift.visible = true;
try {
drift["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_sprint_typeofRace_Layer1_1(){
try {
sprint["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sprint.enabled = true;
sprint.groupName = "RadioButtonGroup";
sprint.label = "";
sprint.labelPlacement = "right";
sprint.selected = false;
sprint.value = "";
sprint.visible = true;
try {
sprint["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_circuit_typeofRace_Layer1_1(){
try {
circuit["componentInspectorSetting"] = true;
} catch(e:Error) {
};
circuit.enabled = true;
circuit.groupName = "RadioButtonGroup";
circuit.label = "";
circuit.labelPlacement = "right";
circuit.selected = true;
circuit.value = "";
circuit.visible = true;
try {
circuit["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package CarGame_fla
Section 89
//winscreen_16 (CarGame_fla.winscreen_16)
package CarGame_fla {
import flash.display.*;
public dynamic class winscreen_16 extends MovieClip {
public var playMore:SimpleButton;
public var box:MovieClip;
public function winscreen_16(){
addFrameScript(47, frame48);
}
function frame48(){
stop();
}
}
}//package CarGame_fla
Section 90
//WinText_24 (CarGame_fla.WinText_24)
package CarGame_fla {
import flash.display.*;
import flash.text.*;
public dynamic class WinText_24 extends MovieClip {
public var errormesg:TextField;
public var submitScore:SimpleButton;
public var totalScore:TextField;
public var playAgain:SimpleButton;
public var player:TextField;
}
}//package CarGame_fla
Section 91
//zapper_204 (CarGame_fla.zapper_204)
package CarGame_fla {
import flash.display.*;
public dynamic class zapper_204 extends MovieClip {
public function zapper_204(){
addFrameScript(30, frame31);
}
function frame31(){
stop();
}
}
}//package CarGame_fla
Section 92
//zapper1_127 (CarGame_fla.zapper1_127)
package CarGame_fla {
import flash.display.*;
public dynamic class zapper1_127 extends MovieClip {
public function zapper1_127(){
addFrameScript(22, frame23);
}
function frame23(){
stop();
}
}
}//package CarGame_fla
Section 93
//zar_169 (CarGame_fla.zar_169)
package CarGame_fla {
import flash.display.*;
public dynamic class zar_169 extends MovieClip {
public function zar_169(){
addFrameScript(54, frame55);
}
function frame55(){
stop();
}
}
}//package CarGame_fla
Section 94
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class AdLoader {
private static var cpmstarLoader:Loader;
public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{
var _local3:String;
Security.allowDomain("server.cpmstar.com");
_local3 = "http://server.cpmstar.com/adviewas3.swf";
cpmstarLoader = new Loader();
cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2)));
return (cpmstarLoader);
}
}
}//package CPMStar
Section 95
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import fl.events.*;
import flash.utils.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 96
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.core.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 97
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 98
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 99
//RadioButton (fl.controls.RadioButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import flash.ui.*;
public class RadioButton extends LabelButton implements IFocusManagerGroup {
protected var _value:Object;
protected var defaultGroupName:String;// = "RadioButtonGroup"
protected var _group:RadioButtonGroup;
private static var defaultStyles:Object = {icon:null, upIcon:"RadioButton_upIcon", downIcon:"RadioButton_downIcon", overIcon:"RadioButton_overIcon", disabledIcon:"RadioButton_disabledIcon", selectedDisabledIcon:"RadioButton_selectedDisabledIcon", selectedUpIcon:"RadioButton_selectedUpIcon", selectedDownIcon:"RadioButton_selectedDownIcon", selectedOverIcon:"RadioButton_selectedOverIcon", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public static var createAccessibilityImplementation:Function;
public function RadioButton(){
defaultGroupName = "RadioButtonGroup";
super();
mode = "border";
groupName = defaultGroupName;
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = (background.x - _local2);
uiFocusRect.y = (background.y - _local2);
uiFocusRect.width = (background.width + (_local2 * 2));
uiFocusRect.height = (background.height + (_local2 * 2));
};
}
private function setThis():void{
var _local1:RadioButtonGroup;
_local1 = _group;
if (_local1 != null){
if (_local1.selection != this){
_local1.selection = this;
};
} else {
super.selected = true;
};
}
override public function get autoRepeat():Boolean{
return (false);
}
override public function set autoRepeat(_arg1:Boolean):void{
}
protected function handleClick(_arg1:MouseEvent):void{
if (_group == null){
return;
};
_group.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.DOWN:
setNext(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.UP:
setPrev(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
setPrev(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.RIGHT:
setNext(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.SPACE:
setThis();
_toggle = false;
default:
super.keyDownHandler(_arg1);
break;
};
}
private function setNext(_arg1:Boolean=true):void{
var _local2:RadioButtonGroup;
var _local3:IFocusManager;
var _local4:int;
var _local5:Number;
var _local6:int;
var _local7:*;
_local2 = _group;
if (_local2 == null){
return;
};
_local3 = focusManager;
if (_local3){
_local3.showFocusIndicator = true;
};
_local4 = _local2.getRadioButtonIndex(this);
_local5 = _local2.numRadioButtons;
_local6 = _local4;
if (_local4 != -1){
do {
_local6++;
_local6 = ((_local6)>(_local2.numRadioButtons - 1)) ? 0 : _local6;
_local7 = _local2.getRadioButtonAt(_local6);
if (((_local7) && (_local7.enabled))){
if (_arg1){
_local2.selection = _local7;
};
_local7.setFocus();
return;
};
if (((_arg1) && (!((_local2.getRadioButtonAt(_local6) == _local2.selection))))){
_local2.selection = this;
};
this.drawFocus(true);
} while (_local6 != _local4);
};
}
public function get group():RadioButtonGroup{
return (_group);
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
super.keyUpHandler(_arg1);
if ((((_arg1.keyCode == Keyboard.SPACE)) && (!(_toggle)))){
_toggle = true;
};
}
override public function get selected():Boolean{
return (super.selected);
}
override public function set toggle(_arg1:Boolean):void{
throw (new Error("Warning: You cannot change a RadioButtons toggle."));
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
public function set group(_arg1:RadioButtonGroup):void{
groupName = _arg1.name;
}
override public function set selected(_arg1:Boolean):void{
if ((((_arg1 == false)) || (selected))){
return;
};
if (_group != null){
_group.selection = this;
} else {
super.selected = _arg1;
};
}
override protected function draw():void{
super.draw();
}
override public function get toggle():Boolean{
return (true);
}
override protected function configUI():void{
var _local1:Shape;
var _local2:Graphics;
super.configUI();
super.toggle = true;
_local1 = new Shape();
_local2 = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, 100, 100);
_local2.endFill();
background = (_local1 as DisplayObject);
addChildAt(background, 0);
addEventListener(MouseEvent.CLICK, handleClick, false, 0, true);
}
public function set groupName(_arg1:String):void{
if (_group != null){
_group.removeRadioButton(this);
_group.removeEventListener(Event.CHANGE, handleChange);
};
_group = ((_arg1)==null) ? null : RadioButtonGroup.getGroup(_arg1);
if (_group != null){
_group.addRadioButton(this);
_group.addEventListener(Event.CHANGE, handleChange, false, 0, true);
};
}
public function get value():Object{
return (_value);
}
override protected function drawLayout():void{
var _local1:Number;
super.drawLayout();
_local1 = Number(getStyleValue("textPadding"));
switch (_labelPlacement){
case ButtonLabelPlacement.RIGHT:
icon.x = _local1;
textField.x = (icon.x + (icon.width + _local1));
background.width = ((textField.x + textField.width) + _local1);
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.LEFT:
icon.x = ((width - icon.width) - _local1);
textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width);
background.width = ((textField.width + icon.width) + (_local1 * 3));
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.TOP:
case ButtonLabelPlacement.BOTTOM:
background.width = (Math.max(textField.width, icon.width) + (_local1 * 2));
background.height = ((textField.height + icon.height) + (_local1 * 3));
break;
};
background.x = Math.min((icon.x - _local1), (textField.x - _local1));
background.y = Math.min((icon.y - _local1), (textField.y - _local1));
}
override protected function drawBackground():void{
}
override protected function initializeAccessibility():void{
if (RadioButton.createAccessibilityImplementation != null){
RadioButton.createAccessibilityImplementation(this);
};
}
public function get groupName():String{
return (((_group)==null) ? null : _group.name);
}
private function setPrev(_arg1:Boolean=true):void{
var _local2:RadioButtonGroup;
var _local3:IFocusManager;
var _local4:int;
var _local5:int;
var _local6:*;
_local2 = _group;
if (_local2 == null){
return;
};
_local3 = focusManager;
if (_local3){
_local3.showFocusIndicator = true;
};
_local4 = _local2.getRadioButtonIndex(this);
_local5 = _local4;
if (_local4 != -1){
do {
--_local5;
_local5 = ((_local5)==-1) ? (_local2.numRadioButtons - 1) : _local5;
_local6 = _local2.getRadioButtonAt(_local5);
if (((_local6) && (_local6.enabled))){
if (_arg1){
_local2.selection = _local6;
};
_local6.setFocus();
return;
};
if (((_arg1) && (!((_local2.getRadioButtonAt(_local5) == _local2.selection))))){
_local2.selection = this;
};
this.drawFocus(true);
} while (_local5 != _local4);
};
}
protected function handleChange(_arg1:Event):void{
super.selected = (_group.selection == this);
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 100
//RadioButtonGroup (fl.controls.RadioButtonGroup)
package fl.controls {
import flash.events.*;
public class RadioButtonGroup extends EventDispatcher {
protected var _selection:RadioButton;
protected var radioButtons:Array;
protected var _name:String;
private static var groups:Object;
private static var groupCount:uint = 0;
public function RadioButtonGroup(_arg1:String){
_name = _arg1;
radioButtons = [];
registerGroup(this);
}
public function getRadioButtonIndex(_arg1:RadioButton):int{
var _local2:int;
var _local3:RadioButton;
_local2 = 0;
while (_local2 < radioButtons.length) {
_local3 = (radioButtons[_local2] as RadioButton);
if (_local3 == _arg1){
return (_local2);
};
_local2++;
};
return (-1);
}
public function get numRadioButtons():int{
return (radioButtons.length);
}
public function get name():String{
return (_name);
}
public function get selection():RadioButton{
return (_selection);
}
public function set selection(_arg1:RadioButton):void{
if ((((((_selection == _arg1)) || ((_arg1 == null)))) || ((getRadioButtonIndex(_arg1) == -1)))){
return;
};
_selection = _arg1;
dispatchEvent(new Event(Event.CHANGE, true));
}
public function set selectedData(_arg1:Object):void{
var _local2:int;
var _local3:RadioButton;
_local2 = 0;
while (_local2 < radioButtons.length) {
_local3 = (radioButtons[_local2] as RadioButton);
if (_local3.value == _arg1){
selection = _local3;
return;
};
_local2++;
};
}
public function removeRadioButton(_arg1:RadioButton):void{
var _local2:int;
_local2 = getRadioButtonIndex(_arg1);
if (_local2 != -1){
radioButtons.splice(_local2, 1);
};
if (_selection == _arg1){
_selection = null;
};
}
public function addRadioButton(_arg1:RadioButton):void{
if (_arg1.groupName != name){
_arg1.groupName = name;
return;
};
radioButtons.push(_arg1);
if (_arg1.selected){
selection = _arg1;
};
}
public function getRadioButtonAt(_arg1:int):RadioButton{
return (RadioButton(radioButtons[_arg1]));
}
public function get selectedData():Object{
var _local1:RadioButton;
_local1 = _selection;
return (((_local1)==null) ? null : _local1.value);
}
public static function getGroup(_arg1:String):RadioButtonGroup{
var _local2:RadioButtonGroup;
if (groups == null){
groups = {};
};
_local2 = (groups[_arg1] as RadioButtonGroup);
if (_local2 == null){
_local2 = new RadioButtonGroup(_arg1);
if ((++groupCount % 20) == 0){
cleanUpGroups();
};
};
return (_local2);
}
private static function registerGroup(_arg1:RadioButtonGroup):void{
if (groups == null){
groups = {};
};
groups[_arg1.name] = _arg1;
}
private static function cleanUpGroups():void{
var _local1:String;
var _local2:RadioButtonGroup;
for (_local1 in groups) {
_local2 = (groups[_local1] as RadioButtonGroup);
if (_local2.radioButtons.length == 0){
delete groups[_local1];
};
};
}
}
}//package fl.controls
Section 101
//Slider (fl.controls.Slider)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
public class Slider extends UIComponent implements IFocusManagerComponent {
protected var _direction:String;
protected var _liveDragging:Boolean;// = false
protected var _value:Number;// = 0
protected var _snapInterval:Number;// = 0
protected var _minimum:Number;// = 0
protected var _maximum:Number;// = 10
protected var track:BaseButton;
protected var _tickInterval:Number;// = 0
protected var tickContainer:Sprite;
protected var thumb:BaseButton;
protected static const TICK_STYLES:Object = {upSkin:"tickSkin"};
protected static const TRACK_STYLES:Object = {upSkin:"sliderTrackSkin", overSkin:"sliderTrackSkin", downSkin:"sliderTrackSkin", disabledSkin:"sliderTrackDisabledSkin"};
protected static const THUMB_STYLES:Object = {upSkin:"thumbUpSkin", overSkin:"thumbOverSkin", downSkin:"thumbDownSkin", disabledSkin:"thumbDisabledSkin"};
protected static var defaultStyles:Object = {thumbUpSkin:"SliderThumb_upSkin", thumbOverSkin:"SliderThumb_overSkin", thumbDownSkin:"SliderThumb_downSkin", thumbDisabledSkin:"SliderThumb_disabledSkin", sliderTrackSkin:"SliderTrack_skin", sliderTrackDisabledSkin:"SliderTrack_disabledSkin", tickSkin:"SliderTick_skin", focusRectSkin:null, focusRectPadding:null};
public function Slider(){
_direction = SliderDirection.HORIZONTAL;
_minimum = 0;
_maximum = 10;
_value = 0;
_tickInterval = 0;
_snapInterval = 0;
_liveDragging = false;
super();
setStyles();
}
public function get minimum():Number{
return (_minimum);
}
public function set minimum(_arg1:Number):void{
_minimum = _arg1;
this.value = Math.max(_arg1, this.value);
invalidate(InvalidationType.DATA);
}
public function get maximum():Number{
return (_maximum);
}
protected function positionThumb():void{
thumb.x = ((((_direction)==SliderDirection.VERTICAL) ? ((maximum - minimum) - value) : (value - minimum) / (maximum - minimum)) * _width);
}
protected function clearTicks():void{
if (((!(tickContainer)) || (!(tickContainer.parent)))){
return;
};
removeChild(tickContainer);
}
protected function onTrackClick(_arg1:MouseEvent):void{
calculateValue(track.mouseX, InteractionInputType.MOUSE, SliderEventClickTarget.TRACK);
if (!liveDragging){
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.TRACK, InteractionInputType.MOUSE));
};
}
public function set maximum(_arg1:Number):void{
_maximum = _arg1;
this.value = Math.min(_arg1, this.value);
invalidate(InvalidationType.DATA);
}
public function get liveDragging():Boolean{
return (_liveDragging);
}
protected function doDrag(_arg1:MouseEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = (_width / snapInterval);
_local3 = track.mouseX;
calculateValue(_local3, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_DRAG, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:uint;
var _local3:Number;
var _local4:Boolean;
if (!enabled){
return;
};
_local2 = ((snapInterval)>0) ? snapInterval : 1;
_local4 = (direction == SliderDirection.HORIZONTAL);
if ((((((_arg1.keyCode == Keyboard.DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.LEFT)) && (_local4))))){
_local3 = (value - _local2);
} else {
if ((((((_arg1.keyCode == Keyboard.UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.RIGHT)) && (_local4))))){
_local3 = (value + _local2);
} else {
if ((((((_arg1.keyCode == Keyboard.PAGE_DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.HOME)) && (_local4))))){
_local3 = minimum;
} else {
if ((((((_arg1.keyCode == Keyboard.PAGE_UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.END)) && (_local4))))){
_local3 = maximum;
};
};
};
};
if (!isNaN(_local3)){
_arg1.stopPropagation();
doSetValue(_local3, InteractionInputType.KEYBOARD, null, _arg1.keyCode);
};
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
super.enabled = _arg1;
track.enabled = (thumb.enabled = _arg1);
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_PRESS, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB));
}
public function get snapInterval():Number{
return (_snapInterval);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_RELEASE, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB));
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE));
}
public function set liveDragging(_arg1:Boolean):void{
_liveDragging = _arg1;
}
public function set value(_arg1:Number):void{
doSetValue(_arg1);
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
_direction = _arg1;
_local2 = (_direction == SliderDirection.VERTICAL);
if (isLivePreview){
if (_local2){
setScaleY(-1);
y = track.height;
} else {
setScaleY(1);
y = 0;
};
positionThumb();
return;
};
if (((_local2) && (componentInspectorSetting))){
if ((rotation % 90) == 0){
setScaleY(-1);
};
};
if (!componentInspectorSetting){
rotation = (_local2) ? 90 : 0;
};
}
public function set tickInterval(_arg1:Number):void{
_tickInterval = _arg1;
invalidate(InvalidationType.SIZE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
track.setSize(_width, track.height);
track.drawNow();
thumb.drawNow();
};
if (tickInterval > 0){
drawTicks();
} else {
clearTicks();
};
positionThumb();
super.draw();
}
override protected function configUI():void{
super.configUI();
thumb = new BaseButton();
thumb.setSize(13, 13);
thumb.autoRepeat = false;
addChild(thumb);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
track = new BaseButton();
track.move(0, 0);
track.setSize(80, 4);
track.autoRepeat = false;
track.useHandCursor = false;
track.addEventListener(MouseEvent.CLICK, onTrackClick, false, 0, true);
addChildAt(track, 0);
}
public function set snapInterval(_arg1:Number):void{
_snapInterval = _arg1;
}
public function get value():Number{
return (_value);
}
public function get direction():String{
return (_direction);
}
public function get tickInterval():Number{
return (_tickInterval);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if ((((_direction == SliderDirection.VERTICAL)) && (!(isLivePreview)))){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
invalidate(InvalidationType.SIZE);
}
protected function drawTicks():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:uint;
var _local5:DisplayObject;
clearTicks();
tickContainer = new Sprite();
_local1 = ((maximum)<1) ? (tickInterval / 100) : tickInterval;
_local2 = ((maximum - minimum) / _local1);
_local3 = (_width / _local2);
_local4 = 0;
while (_local4 <= _local2) {
_local5 = getDisplayObjectInstance(getStyleValue("tickSkin"));
_local5.x = (_local3 * _local4);
_local5.y = ((track.y - _local5.height) - 2);
tickContainer.addChild(_local5);
_local4++;
};
addChild(tickContainer);
}
protected function calculateValue(_arg1:Number, _arg2:String, _arg3:String, _arg4:int=undefined):void{
var _local5:Number;
_local5 = ((_arg1 / _width) * (maximum - minimum));
if (_direction == SliderDirection.VERTICAL){
_local5 = (maximum - _local5);
} else {
_local5 = (minimum + _local5);
};
doSetValue(_local5, _arg2, _arg3, _arg4);
}
protected function getPrecision(_arg1:Number):Number{
var _local2:String;
_local2 = _arg1.toString();
if (_local2.indexOf(".") == -1){
return (0);
};
return (_local2.split(".").pop().length);
}
protected function doSetValue(_arg1:Number, _arg2:String=null, _arg3:String=null, _arg4:int=undefined):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local5 = _value;
if (((!((_snapInterval == 0))) && (!((_snapInterval == 1))))){
_local6 = Math.pow(10, getPrecision(snapInterval));
_local7 = (_snapInterval * _local6);
_local8 = Math.round((_arg1 * _local6));
_local9 = (Math.round((_local8 / _local7)) * _local7);
_arg1 = (_local9 / _local6);
_value = Math.max(minimum, Math.min(maximum, _arg1));
} else {
_value = Math.max(minimum, Math.min(maximum, Math.round(_arg1)));
};
if (((!((_local5 == _value))) && (((((liveDragging) && (!((_arg3 == null))))) || ((_arg2 == InteractionInputType.KEYBOARD)))))){
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, _arg3, _arg2, _arg4));
};
positionThumb();
}
protected function setStyles():void{
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 102
//SliderDirection (fl.controls.SliderDirection)
package fl.controls {
public class SliderDirection {
public static var HORIZONTAL:String = "horizontal";
public static var VERTICAL:String = "vertical";
}
}//package fl.controls
Section 103
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 104
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 105
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.utils.*;
import flash.text.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 106
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 107
//InteractionInputType (fl.events.InteractionInputType)
package fl.events {
public class InteractionInputType {
public static const MOUSE:String = "mouse";
public static const KEYBOARD:String = "keyboard";
}
}//package fl.events
Section 108
//SliderEvent (fl.events.SliderEvent)
package fl.events {
import flash.events.*;
public class SliderEvent extends Event {
protected var _triggerEvent:String;
protected var _keyCode:Number;
protected var _value:Number;
protected var _clickTarget:String;
public static const CHANGE:String = "change";
public static const THUMB_PRESS:String = "thumbPress";
public static const THUMB_DRAG:String = "thumbDrag";
public static const THUMB_RELEASE:String = "thumbRelease";
public function SliderEvent(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:int=0){
_value = _arg2;
_keyCode = _arg5;
_triggerEvent = _arg4;
_clickTarget = _arg3;
super(_arg1);
}
public function get clickTarget():String{
return (_clickTarget);
}
override public function clone():Event{
return (new SliderEvent(type, _value, _clickTarget, _triggerEvent, _keyCode));
}
override public function toString():String{
return (formatToString("SliderEvent", "type", "value", "bubbles", "cancelable", "keyCode", "triggerEvent", "clickTarget"));
}
public function get triggerEvent():String{
return (_triggerEvent);
}
public function get value():Number{
return (_value);
}
public function get keyCode():Number{
return (_keyCode);
}
}
}//package fl.events
Section 109
//SliderEventClickTarget (fl.events.SliderEventClickTarget)
package fl.events {
public class SliderEventClickTarget {
public static const TRACK:String = "track";
public static const THUMB:String = "thumb";
}
}//package fl.events
Section 110
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.core.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 111
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 112
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 113
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 114
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.utils.*;
import flash.text.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 115
//ButtonSound (ButtonSound)
package {
import flash.media.*;
public dynamic class ButtonSound extends Sound {
}
}//package
Section 116
//Car (Car)
package {
import flash.display.*;
import flash.geom.*;
public class Car extends MovieClip {
private var turn_vel_max:Number;
public var MAX_VEL:Number;
public var Sliding:Boolean;// = false
private var OFF_ROAD_FRICTION_SLIDING:Number;
public var turnLeft:Boolean;// = false
private var stuckFlip:Number;// = 0
private var OFF_ROAD_FRICTION_ROLLING:Number;
private var AI:Boolean;
private var MAX_ROT:Number;
public var decelerate:Boolean;// = false
private var nearPt:Point;
private var wrongDirection:Number;// = 0
public var skill:Number;// = 1
private var SLOW_DCC:Number;
private var i:uint;
private var p:Point;
private var ROT_FRIC_SLID:Number;
private var Pt3:Point;
private var Pt4:Point;
var vel_vect_slid:Vector;
private var Pt1:Point;
private var Pt2:Point;
private var RET_TURN_VEL:Number;
public var offScreen:Boolean;// = false
private var goingIn:Boolean;// = false
private var TURN_VEL:Number;
public var vel_vect:Vector;
private var FS:Number;
private var FR:Number;
private var temp_vel:Number;
private var accUpgd:Number;
public var accelerate:Boolean;// = false
private var MAX_ACC:Number;
public var car_vect:Vector;
private var turn_vel_min:Number;
private var ROT_VEL:Number;
public var collRect:Rect;
private var rot_vel_prev:Number;// = 0
private var spdUpgd:Number;
private var FRR:Number;
public var currChk:Number;// = 0
public var leftB:Sprite;
public var leftF:Sprite;
private var getIn:Boolean;// = false
private var CAR_ROT_MAX:Number;
private var rot_vel:Number;// = 0
public var Shadow:Sprite;
private var dist1:Number;
private var dist2:Number;
private var rotating:Boolean;// = false
private var stuckDist:Number;// = 0.5
private var CAR_ROT_VEL:Number;
public var totalDistance:Number;// = 0
public var Drift:Boolean;// = false
private var slid_vect:Vector;
private var prevPt:Point;
public var turnRight:Boolean;// = false
public var rightB:Sprite;
public var rightF:Sprite;
private var dist:Number;
public var rot_vel_coll:Number;// = 0
public var tpt1:Point;
public var tpt2:Point;
public var tpt3:Point;
public var tpt4:Point;
var CUR_ACC:Number;// = 0
private var FRICTION_SLIDING:Number;
var tyre_vect:Vector;
private var temp:Number;
private var random1:Number;// = -1
private var rot:Number;// = 0
var vel_vect_roll:Vector;
public var currPt:Point;
private var roll_vect:Vector;
public var collided:int;// = -1
private var FRICTION_ROLLING:Number;
public var Burn:Sprite;
private var stuck:Boolean;// = false
public var handBrake:Boolean;// = false
private var hndUpgd:Number;
public function Car(){
rot = 0;
offScreen = false;
totalDistance = 0;
Sliding = false;
Drift = false;
roll_vect = new Vector(0, 0);
slid_vect = new Vector(0, 0);
rotating = false;
rot_vel = 0;
rot_vel_prev = 0;
rot_vel_coll = 0;
vel_vect = new Vector(0, 0);
car_vect = new Vector(0, 0);
tyre_vect = new Vector(0, 0);
vel_vect_roll = new Vector(0, 0);
vel_vect_slid = new Vector(0, 0);
CUR_ACC = 0;
skill = 1;
currPt = new Point(0, 0);
Pt1 = new Point(0, 0);
Pt2 = new Point(0, 0);
Pt3 = new Point(0, 0);
Pt4 = new Point(0, 0);
prevPt = new Point(0, 0);
accelerate = false;
decelerate = false;
turnRight = false;
turnLeft = false;
handBrake = false;
getIn = false;
goingIn = false;
currChk = 0;
random1 = -1;
wrongDirection = 0;
stuck = false;
stuckDist = 0.5;
collided = -1;
stuckFlip = 0;
dist = stuckDist;
p = new Point();
super();
}
private function wrongDirect():Boolean{
var _local1:Boolean;
_local1 = false;
p.x = Container.checkPoints[currChk][0];
p.y = Container.checkPoints[currChk][1];
if (Point.distance(currPt, p) > Point.distance(prevPt, p)){
wrongDirection++;
if (wrongDirection > 0){
accelerate = true;
handBrake = false;
turnLeft = true;
turnRight = false;
decelerate = false;
_local1 = true;
};
} else {
wrongDirection = 0;
_local1 = false;
};
return (_local1);
}
public function getDrift():Number{
var _local1:Number;
_local1 = 0;
temp_vel = vel_vect.magnitude();
if (((!((temp_vel == 0))) && (!((temp_vel == vel_vect.dot(car_vect)))))){
_local1 = (temp_vel + ((180 / Math.PI) * Math.acos((vel_vect.dot(car_vect) / temp_vel))));
} else {
_local1 = 0;
};
if (isNaN(_local1)){
_local1 = 0;
};
return (_local1);
}
public function run(_arg1:Boolean){
vel_vect.x = collRect.xvel;
vel_vect.y = collRect.yvel;
alignVectors();
prevPt.x = currPt.x;
prevPt.y = currPt.y;
currPt.x = x;
currPt.y = y;
if (!_arg1){
if (AI){
if (!offScreen){
if (stuck){
if ((((dist < stuckDist)) && (!((collided == -1))))){
stuck = false;
if (decelerate){
accelerate = true;
decelerate = false;
} else {
if (accelerate){
decelerate = true;
accelerate = false;
};
};
if (stuckFlip == 0){
turnRight = false;
turnLeft = false;
} else {
if (stuckFlip == 1){
turnRight = false;
turnLeft = true;
} else {
turnRight = true;
turnLeft = false;
};
};
};
} else {
if (!stuck){
if ((((dist < stuckDist)) && (!((collided == -1))))){
stuck = true;
if (accelerate){
decelerate = true;
accelerate = false;
};
if (stuckFlip == 0){
turnRight = false;
turnLeft = false;
} else {
if (stuckFlip == 1){
turnRight = false;
turnLeft = true;
} else {
turnRight = true;
turnLeft = false;
};
};
};
};
};
if (stuck){
if ((((dist > 5)) && ((collided == -1)))){
stuck = false;
};
if (collided != -1){
stuckFlip = ((stuckFlip + 1) % 3);
};
};
if (!stuck){
Think();
Reflect();
};
dist = Point.distance(currPt, prevPt);
} else {
updateCheckPoint();
if (currChk < Container.totalCheckPoints){
Pt1.x = Container.checkPoints[currChk][0];
Pt1.y = Container.checkPoints[currChk][1];
} else {
Pt1.x = Container.checkPoints[0][0];
Pt1.y = Container.checkPoints[0][1];
};
accelerate = true;
decelerate = false;
handBrake = false;
turnLeft = false;
turnRight = false;
Pt2.x = (x + (10 * Math.cos(((rotation * Math.PI) / 180))));
Pt2.y = (y + (10 * Math.sin(((rotation * Math.PI) / 180))));
Pt3.x = (x + (10 * Math.cos((((rotation - 180) * Math.PI) / 180))));
Pt3.y = (y + (10 * Math.sin((((rotation - 180) * Math.PI) / 180))));
dist1 = Point.distance(Pt1, Pt2);
dist2 = Point.distance(Pt1, Pt3);
if (dist1 < dist2){
rot = 0;
turnRight = true;
} else {
if (dist1 > dist2){
rot = 0;
turnLeft = true;
};
};
if (((turnLeft) || (turnRight))){
if (vel_vect.magnitude() > (3 * turn_vel_max)){
decelerate = false;
accelerate = false;
handBrake = true;
};
if (vel_vect.magnitude() < turn_vel_min){
decelerate = false;
accelerate = true;
handBrake = false;
};
};
nearPt = Container.nearestTile(currPt)[1];
if (Point.distance(currPt, nearPt) > (GParams.SIDE * 1.5)){
collRect.x = nearPt.x;
collRect.y = nearPt.y;
update();
};
if ((((Math.random() > (0.3 + (GParams.AIlevel * 0.1)))) && (((GParams.nPt0 + 3) < currChk)))){
if (vel_vect.magnitude() > turn_vel_max){
decelerate = false;
accelerate = false;
handBrake = true;
};
};
};
} else {
if (!AI){
accelerate = false;
decelerate = false;
turnLeft = false;
turnRight = false;
if (!rotating){
GParams.currentSpeed = vel_vect.dot(car_vect);
accelerate = MainClass.upKey;
decelerate = MainClass.downKey;
turnLeft = MainClass.leftKey;
turnRight = MainClass.rightKey;
updateCheckPoint();
};
handBrake = MainClass.handKey;
};
};
} else {
accelerate = false;
decelerate = false;
turnLeft = false;
turnRight = false;
handBrake = true;
updateCheckPoint();
};
if (accelerate){
if (vel_vect.magnitude() < MAX_VEL){
CUR_ACC = MAX_ACC;
} else {
CUR_ACC = 0;
};
};
if (decelerate){
if ((((((vel_vect.magnitude() < 7)) && ((vel_vect.dot(car_vect) < 0)))) || ((vel_vect.dot(car_vect) >= 0)))){
CUR_ACC = -(MAX_ACC);
} else {
CUR_ACC = 0;
};
};
if (((!(accelerate)) && (!(decelerate)))){
CUR_ACC = (CUR_ACC * SLOW_DCC);
if (CUR_ACC < 0.01){
CUR_ACC = 0;
};
};
if (onRoad(new Point(x, y))){
FR = FRICTION_ROLLING;
FS = FRICTION_SLIDING;
FRR = (ROT_FRIC_SLID * FS);
} else {
FR = OFF_ROAD_FRICTION_ROLLING;
FS = OFF_ROAD_FRICTION_SLIDING;
FRR = (ROT_FRIC_SLID * FS);
};
if (offScreen){
FS = (FRICTION_SLIDING + 0.5);
};
if (handBrake){
FR = (FR * 6);
FS = (FS * 1.2);
FRR = (ROT_FRIC_SLID * FS);
};
vel_vect.plusEquals(car_vect.mult(CUR_ACC));
if (turnLeft){
if (rot > -(MAX_ROT)){
rot = (rot - TURN_VEL);
};
};
if (turnRight){
if (rot < MAX_ROT){
rot = (rot + TURN_VEL);
};
};
if (((!(turnLeft)) && (!(turnRight)))){
if (vel_vect.magnitude() > 0){
if (rot > RET_TURN_VEL){
rot = (rot - RET_TURN_VEL);
} else {
if (rot < -(RET_TURN_VEL)){
rot = (rot + RET_TURN_VEL);
} else {
rot = 0;
};
};
} else {
rot = 0;
rot_vel_prev = 0;
};
};
if (((!((leftF == null))) && (!((rightF == null))))){
leftF.rotation = (rot / 2);
rightF.rotation = (rot / 2);
};
if (Math.abs(rot_vel_coll) < CAR_ROT_MAX){
rotating = false;
Drift = true;
if (vel_vect.magnitude() > 1){
if (rot != 0){
rot_vel = (((MAX_VEL + 5) - vel_vect.dot(car_vect)) / 2);
if (rot_vel > CAR_ROT_MAX){
rot_vel = CAR_ROT_MAX;
};
rot_vel = (rot_vel * (rot / Math.abs(rot)));
} else {
if (((!(turnLeft)) && (!(turnRight)))){
if (rot_vel > FRR){
rot_vel = (rot_vel - FRR);
} else {
if (rot_vel < -(FRR)){
rot_vel = (rot_vel + FRR);
} else {
rot_vel = 0;
};
};
};
};
if ((rot_vel - rot_vel_prev) > CAR_ROT_VEL){
rot_vel = (rot_vel_prev + CAR_ROT_VEL);
} else {
if ((rot_vel - rot_vel_prev) < -(CAR_ROT_VEL)){
rot_vel = (rot_vel_prev - CAR_ROT_VEL);
};
};
if (car_vect.dot(roll_vect) >= 0){
rotation = (rotation + rot_vel);
} else {
rotation = (rotation - rot_vel);
};
rot_vel_prev = rot_vel;
} else {
rot_vel = 0;
};
} else {
Drift = false;
rotating = true;
rotation = (rotation + rot_vel_coll);
if (rot_vel_coll > (CAR_ROT_MAX / 2)){
rot_vel_coll = (rot_vel_coll - (CAR_ROT_MAX / 2));
} else {
if (rot_vel_coll < (-(CAR_ROT_MAX) / 2)){
rot_vel_coll = (rot_vel_coll + (CAR_ROT_MAX / 2));
} else {
rot_vel_coll = 0;
};
};
};
alignVectors();
roll_vect = car_vect.plus(tyre_vect);
roll_vect.divEquals(roll_vect.magnitude());
if (vel_vect.dot(roll_vect) < 0){
roll_vect.minusEquals(roll_vect.mult(2));
};
vel_vect_roll = roll_vect.mult(vel_vect.dot(roll_vect));
vel_vect_slid = vel_vect.minus(vel_vect_roll);
slid_vect = vel_vect_slid.div(vel_vect_slid.magnitude());
if (vel_vect_roll.magnitude() > FR){
vel_vect_roll.minusEquals(roll_vect.mult(FR));
} else {
vel_vect_roll.minusEquals(vel_vect_roll);
};
if (vel_vect_slid.magnitude() > FS){
vel_vect_slid.minusEquals(slid_vect.mult(FS));
} else {
vel_vect_slid.minusEquals(vel_vect_slid);
};
vel_vect = vel_vect_roll.plus(vel_vect_slid);
if ((((((vel_vect_slid.magnitude() > 5)) || (!(onRoad(currPt))))) || (handBrake))){
Sliding = true;
} else {
Sliding = false;
};
collRect.rotation = (rotation + 90);
collRect.xvel = vel_vect.x;
collRect.yvel = vel_vect.y;
collRect.move();
alignVectors();
}
private function Reflect(){
var _local1:uint;
Pt1.x = (x + (10 * vel_vect.x));
Pt1.y = (y + (10 * vel_vect.y));
_local1 = 0;
while (_local1 < Container.collidables.length) {
if ((((((((((((Container.collidables[_local1].x < (Pt1.x + 45))) && ((Container.collidables[_local1].x > (Pt1.x - 45))))) && ((Container.collidables[_local1].y < (Pt1.y + 45))))) && ((Container.collidables[_local1].y > (Pt1.y - 45))))) && (!((Container.collidables[_local1].x == x))))) && (!((Container.collidables[_local1].y == y))))){
if (((!(turnLeft)) && (!(turnRight)))){
handBrake = true;
Pt2.x = (Pt1.x + (70 * Math.cos(((rotation * Math.PI) / 180))));
Pt2.y = (Pt1.y + (70 * Math.cos(((rotation * Math.PI) / 180))));
Pt3.x = (Pt1.x + (70 * Math.cos((((rotation - 180) * Math.PI) / 180))));
Pt3.y = (Pt1.y + (70 * Math.cos((((rotation - 180) * Math.PI) / 180))));
if (onRoad(Pt2)){
turnRight = true;
} else {
if (onRoad(Pt3)){
turnLeft = true;
};
};
} else {
if (turnRight){
if (onRoad(Pt2)){
handBrake = true;
} else {
if (onRoad(Pt3)){
accelerate = true;
};
};
} else {
if (turnLeft){
if (onRoad(Pt3)){
handBrake = true;
} else {
if (onRoad(Pt2)){
accelerate = true;
};
};
};
};
};
};
_local1++;
};
Pt1.x = (x + (20 * vel_vect.x));
Pt1.y = (y + (20 * vel_vect.y));
_local1 = 0;
while (_local1 < Container.collidables.length) {
if ((((((((((((Container.collidables[_local1].x < (Pt1.x + 45))) && ((Container.collidables[_local1].x > (Pt1.x - 45))))) && ((Container.collidables[_local1].y < (Pt1.y + 45))))) && ((Container.collidables[_local1].y > (Pt1.y - 45))))) && (!((Container.collidables[_local1].x == x))))) && (!((Container.collidables[_local1].y == y))))){
if (((!(turnLeft)) && (!(turnRight)))){
decelerate = true;
Pt2.x = (Pt1.x + (70 * Math.cos(((rotation * Math.PI) / 180))));
Pt2.y = (Pt1.y + (70 * Math.cos(((rotation * Math.PI) / 180))));
Pt3.x = (Pt1.x + (70 * Math.cos((((rotation - 180) * Math.PI) / 180))));
Pt3.y = (Pt1.y + (70 * Math.cos((((rotation - 180) * Math.PI) / 180))));
if (onRoad(Pt2)){
turnRight = true;
} else {
if (onRoad(Pt3)){
turnLeft = true;
};
};
} else {
if (turnRight){
if (onRoad(Pt2)){
decelerate = true;
} else {
if (onRoad(Pt3)){
accelerate = true;
};
};
} else {
if (turnLeft){
if (onRoad(Pt3)){
decelerate = true;
} else {
if (onRoad(Pt2)){
accelerate = true;
};
};
};
};
};
};
_local1++;
};
}
private function alignVectors(){
car_vect.x = Math.cos((((rotation - 90) * Math.PI) / 180));
car_vect.y = Math.sin((((rotation - 90) * Math.PI) / 180));
tyre_vect.x = Math.cos(((((rotation + rot) - 90) * Math.PI) / 180));
tyre_vect.y = Math.sin(((((rotation + rot) - 90) * Math.PI) / 180));
}
public function update(){
totalDistance = (totalDistance + Point.distance(new Point(x, y), new Point(collRect.x, collRect.y)));
rotation = (collRect.rotation - 90);
x = collRect.x;
y = collRect.y;
vel_vect.x = collRect.xvel;
vel_vect.y = collRect.yvel;
Shadow.x = (x + 3);
Shadow.y = (y + 3);
Shadow.rotation = rotation;
}
private function Think(){
if (onRoad(currPt)){
updateCheckPoint();
if (wrongDirect()){
return;
};
goingIn = false;
Pt1.x = ((x + (10 * vel_vect.x)) + (20 * Math.cos((((rotation - 180) * Math.PI) / 180))));
Pt1.y = ((y + (10 * vel_vect.y)) + (20 * Math.sin((((rotation - 180) * Math.PI) / 180))));
Pt2.x = ((x + (10 * vel_vect.x)) + (20 * Math.cos(((rotation * Math.PI) / 180))));
Pt2.y = ((y + (10 * vel_vect.y)) + (20 * Math.sin(((rotation * Math.PI) / 180))));
if (((!(onRoad(Pt1))) || (!(onRoad(Pt2))))){
if (!onRoad(Pt1)){
accelerate = false;
decelerate = false;
handBrake = false;
turnLeft = false;
turnRight = true;
if (vel_vect.magnitude() > turn_vel_max){
decelerate = false;
accelerate = false;
handBrake = true;
};
if (vel_vect.magnitude() < turn_vel_min){
decelerate = false;
accelerate = true;
handBrake = false;
};
};
if (!onRoad(Pt2)){
accelerate = false;
decelerate = false;
handBrake = false;
turnLeft = true;
turnRight = false;
if (vel_vect.magnitude() > turn_vel_max){
decelerate = false;
handBrake = true;
accelerate = false;
};
if (vel_vect.magnitude() < turn_vel_min){
decelerate = false;
handBrake = false;
accelerate = true;
};
};
} else {
Pt1.x = (x + (20 * vel_vect.x));
Pt1.y = (y + (20 * vel_vect.y));
if (onRoad(Pt1)){
accelerate = true;
decelerate = false;
turnLeft = false;
turnRight = false;
handBrake = false;
} else {
Pt2.x = (Pt1.x + (120 * Math.cos((((rotation - 180) * Math.PI) / 180))));
Pt2.y = (Pt1.y + (120 * Math.sin((((rotation - 180) * Math.PI) / 180))));
if (onRoad(Pt2)){
accelerate = false;
decelerate = false;
turnLeft = true;
turnRight = false;
handBrake = false;
if (vel_vect.magnitude() > turn_vel_max){
decelerate = true;
accelerate = false;
handBrake = false;
};
if (vel_vect.magnitude() < turn_vel_min){
decelerate = false;
accelerate = true;
handBrake = false;
};
} else {
Pt2.x = (Pt1.x + (120 * Math.cos(((rotation * Math.PI) / 180))));
Pt2.y = (Pt1.y + (120 * Math.sin(((rotation * Math.PI) / 180))));
if (onRoad(Pt2)){
accelerate = false;
decelerate = false;
handBrake = false;
turnLeft = false;
turnRight = true;
if (vel_vect.magnitude() > turn_vel_max){
decelerate = true;
accelerate = false;
handBrake = false;
};
if (vel_vect.magnitude() < turn_vel_min){
decelerate = false;
accelerate = true;
handBrake = false;
};
};
};
};
};
} else {
accelerate = false;
if ((((((vel_vect.magnitude() > 0)) && ((vel_vect.dot(car_vect) > 0)))) && (!(goingIn)))){
decelerate = false;
handBrake = true;
getIn = true;
(Pt1 == null);
} else {
decelerate = false;
handBrake = false;
accelerate = true;
if (getIn){
turnLeft = false;
turnRight = false;
getIn = false;
goingIn = true;
};
if (goingIn){
if (Pt1 == null){
Pt1 = Container.nearestTile(currPt)[1];
};
accelerate = true;
decelerate = false;
handBrake = false;
turnLeft = false;
turnRight = false;
Pt2.x = (x + (10 * Math.cos(((rotation * Math.PI) / 180))));
Pt2.y = (y + (10 * Math.sin(((rotation * Math.PI) / 180))));
Pt3.x = (x + (10 * Math.cos((((rotation - 180) * Math.PI) / 180))));
Pt3.y = (y + (10 * Math.sin((((rotation - 180) * Math.PI) / 180))));
dist1 = Point.distance(Pt1, Pt2);
dist2 = Point.distance(Pt1, Pt3);
if (dist1 < dist2){
turnRight = true;
} else {
if (dist1 > dist2){
turnLeft = true;
};
};
};
};
};
}
public function init(_arg1:Number=1500, _arg2:Number=1500, _arg3:uint=0, _arg4:Boolean=false){
this.x = _arg1;
this.y = _arg2;
this.rotation = 120;
collRect = new Rect(_arg1, _arg2, 68, 38, 1, (rotation + 90), 0, 0, 1);
alignVectors();
AI = _arg4;
Container.collidables.push(this);
currPt.x = _arg1;
currPt.y = _arg2;
prevPt.x = _arg1;
prevPt.y = _arg2;
if (AI){
(this as MovieClip).gotoAndStop((Math.ceil((Math.random() * 3)) + 1));
} else {
(this as MovieClip).gotoAndStop(1);
};
FRICTION_ROLLING = GParams.FRICTION_ROLLING[_arg3];
ROT_FRIC_SLID = GParams.ROT_FRIC_SLID[_arg3];
MAX_ROT = GParams.MAX_ROT[_arg3];
ROT_VEL = GParams.ROT_VEL[_arg3];
OFF_ROAD_FRICTION_ROLLING = GParams.OFF_ROAD_FRICTION_ROLLING[_arg3];
OFF_ROAD_FRICTION_SLIDING = GParams.OFF_ROAD_FRICTION_SLIDING[_arg3];
TURN_VEL = GParams.TURN_VEL[_arg3];
RET_TURN_VEL = GParams.RET_TURN_VEL[_arg3];
SLOW_DCC = GParams.SLOW_DCC[_arg3];
switch (_arg3){
case GParams.MUSCLE:
temp = GParams.upgrade1;
break;
case GParams.TUNER:
temp = GParams.upgrade2;
break;
case GParams.EXOTIC:
temp = GParams.upgrade3;
break;
};
if ((temp % GParams.accUpgrade3) == 0){
accUpgd = 3;
} else {
if ((temp % GParams.accUpgrade2) == 0){
accUpgd = 2;
} else {
if ((temp % GParams.accUpgrade1) == 0){
accUpgd = 1;
} else {
accUpgd = 0;
};
};
};
if ((temp % GParams.spdUpgrade3) == 0){
spdUpgd = 3;
} else {
if ((temp % GParams.spdUpgrade2) == 0){
spdUpgd = 2;
} else {
if ((temp % GParams.spdUpgrade1) == 0){
spdUpgd = 1;
} else {
spdUpgd = 0;
};
};
};
if ((temp % GParams.hndUpgrade3) == 0){
hndUpgd = 3;
} else {
if ((temp % GParams.hndUpgrade2) == 0){
hndUpgd = 2;
} else {
if ((temp % GParams.hndUpgrade1) == 0){
hndUpgd = 1;
} else {
hndUpgd = 0;
};
};
};
if (!MainClass.careerMode){
MAX_ACC = (GParams.MAX_ACC[_arg3] - 0.05);
FRICTION_SLIDING = (GParams.FRICTION_SLIDING[_arg3] - 0.05);
MAX_VEL = GParams.MAX_VEL[_arg3];
CAR_ROT_MAX = (GParams.CAR_ROT_MAX[_arg3] - 0.05);
CAR_ROT_VEL = (GParams.CAR_ROT_VEL[_arg3] - 0.05);
} else {
if (!AI){
MAX_ACC = ((GParams.MAX_ACC[_arg3] - 0.05) + (0.05 * accUpgd));
FRICTION_SLIDING = ((GParams.FRICTION_SLIDING[_arg3] - 0.05) + (0.05 * hndUpgd));
MAX_VEL = (GParams.MAX_VEL[_arg3] + (5 * spdUpgd));
CAR_ROT_MAX = ((GParams.CAR_ROT_MAX[_arg3] - 0.05) + (0.05 * hndUpgd));
CAR_ROT_VEL = ((GParams.CAR_ROT_VEL[_arg3] - 0.05) + (0.05 * hndUpgd));
} else {
MAX_ACC = ((GParams.MAX_ACC[_arg3] - 0.05) + (0.025 * (GParams.Events - 1)));
FRICTION_SLIDING = ((GParams.FRICTION_SLIDING[_arg3] - 0.05) + (0.025 * (GParams.Events - 1)));
MAX_VEL = (GParams.MAX_VEL[_arg3] + (2.5 * (GParams.Events - 1)));
CAR_ROT_MAX = ((GParams.CAR_ROT_MAX[_arg3] - 0.05) + (0.025 * (GParams.Events - 1)));
CAR_ROT_VEL = ((GParams.CAR_ROT_VEL[_arg3] - 0.05) + (0.025 * (GParams.Events - 1)));
};
};
turn_vel_max = ((3 * MAX_VEL) / 8);
turn_vel_min = (MAX_VEL / 4);
}
private function updateCheckPoint(){
Pt1.x = Container.checkPoints[currChk][0];
Pt1.y = Container.checkPoints[currChk][1];
if (AI){
if (Point.distance(currPt, Pt1) < (GParams.SIDE * 1.5)){
currChk++;
if (currChk >= Container.totalCheckPoints){
currChk = 0;
};
};
} else {
if (Point.distance(currPt, Pt1) < (GParams.SIDE * 1.7)){
currChk++;
if (currChk >= Container.totalCheckPoints){
currChk = 0;
};
};
};
}
public function checkDirection():Boolean{
var _local1:Boolean;
_local1 = false;
p.x = Container.checkPoints[currChk][0];
p.y = Container.checkPoints[currChk][1];
if (Point.distance(currPt, p) > Point.distance(prevPt, p)){
_local1 = true;
} else {
_local1 = false;
};
return (_local1);
}
public function onRoad(_arg1:Point):Boolean{
return (Container.onRoad(this.parent.localToGlobal(_arg1)));
}
}
}//package
Section 117
//Channel (Channel)
package {
import flash.media.*;
import flash.events.*;
public class Channel {
private var st:SoundTransform;
private var music:Boolean;// = true
private var sc:SoundChannel;
private var cs:Sound;// = null
public static var soundVol:int = 100;
public static var muteStatus:Boolean = false;
public static var musicVol:int = 100;
private static var sound:Array = new Array();
public static var lastVolm:int = 100;
public static var SETVOL:Channel;
public static var lastVols:int = 100;
public function Channel(){
st = new SoundTransform();
sc = new SoundChannel();
cs = null;
music = true;
super();
sound.push(this);
}
public function setVolObj(){
SETVOL = new Channel();
}
public function setVolumeMusic(_arg1:int){
var _local2:int;
_local2 = 0;
while (_local2 < sound.length) {
if (sound[_local2].isMusic()){
if (!muteStatus){
lastVolm = _arg1;
musicVol = _arg1;
sound[_local2].setVolume(_arg1);
} else {
lastVolm = _arg1;
sound[_local2].setVolume(0);
};
};
_local2++;
};
}
public function setVolumeAll(_arg1:int){
var _local2:int;
_local2 = 0;
while (_local2 < sound.length) {
if (!muteStatus){
musicVol = _arg1;
soundVol = _arg1;
lastVolm = _arg1;
lastVols = _arg1;
sound[_local2].setVolume(_arg1);
} else {
lastVolm = _arg1;
lastVols = _arg1;
sound[_local2].setVolume(0);
};
_local2++;
};
}
public function stopSound(){
sc.stop();
if (sc.hasEventListener(Event.SOUND_COMPLETE)){
sc.removeEventListener(Event.SOUND_COMPLETE, soundHandler);
};
}
public function muteAllSound(){
var _local1:int;
_local1 = 0;
while (_local1 < sound.length) {
sound[_local1].setVolume(0);
musicVol = 0;
soundVol = 0;
_local1++;
};
muteStatus = true;
}
private function soundHandler(_arg1:Event){
sc.removeEventListener(Event.SOUND_COMPLETE, soundHandler);
sc = cs.play();
setVolume(musicVol);
sc.addEventListener(Event.SOUND_COMPLETE, soundHandler);
}
public function unmuteAllSound(){
muteStatus = false;
musicVol = lastVolm;
soundVol = lastVols;
setVolumeSound(lastVols);
setVolumeMusic(lastVolm);
}
public function setVolumeSound(_arg1:int){
var _local2:int;
_local2 = 0;
while (_local2 < sound.length) {
if (sound[_local2].isMusic() == false){
if (!muteStatus){
lastVols = _arg1;
soundVol = _arg1;
sound[_local2].setVolume(_arg1);
} else {
lastVols = _arg1;
sound[_local2].setVolume(0);
};
};
_local2++;
};
}
public function isMusic(){
return (music);
}
private function setVolume(_arg1:int){
st.volume = (_arg1 / 100);
sc.soundTransform = st;
}
public function playSound(_arg1:Sound, _arg2:Boolean=false){
cs = _arg1;
if (_arg2){
sc = cs.play();
setVolume(musicVol);
sc.addEventListener(Event.SOUND_COMPLETE, soundHandler);
music = true;
} else {
sc = cs.play();
setVolume(soundVol);
music = false;
};
}
}
}//package
Section 118
//Circ (Circ)
package {
public class Circ extends Collidable {
var radius:Number;
public function Circ(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8);
radius = _arg3;
curr = new Vector(x, y);
prev = new Vector(x, y);
}
override function draw(){
graphics.beginFill(0xFF0000, visibility);
graphics.drawCircle(0, 0, radius);
graphics.endFill();
}
function getProjection(_arg1:Vector):Interval{
var _local2:Interval;
var _local3:Number;
_local2 = new Interval();
_local3 = curr.dot(_arg1);
_local2.min = (_local3 - radius);
_local2.max = (_local3 + radius);
return (_local2);
}
public function setCircDimensions(_arg1:Number, _arg2:Number, _arg3:Number){
x = _arg1;
y = _arg2;
radius = _arg3;
}
function getIntervalX():Interval{
var _local1:Interval;
_local1 = new Interval();
_local1.min = (curr.x - radius);
_local1.max = (curr.x + radius);
return (_local1);
}
function getIntervalY():Interval{
var _local1:Interval;
_local1 = new Interval();
_local1.min = (curr.y - radius);
_local1.max = (curr.y + radius);
return (_local1);
}
}
}//package
Section 119
//Collidable (Collidable)
package {
import flash.display.*;
public class Collidable extends MovieClip {
var friction:Number;// = 0.1
var visibility:Number;
public var Mass:Number;
public var xvel:Number;
var curr:Vector;
var prev:Vector;
var fixed:Boolean;// = false
public var yvel:Number;
var elasticity:Number;// = 0.5
public function Collidable(_arg1:Number, _arg2:Number, _arg3:Number=1, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0){
friction = 0.1;
elasticity = 0.5;
fixed = false;
super();
x = _arg1;
y = _arg2;
this.xvel = _arg5;
this.yvel = _arg6;
rotation = _arg4;
Mass = _arg3;
curr = new Vector(x, y);
prev = new Vector(x, y);
visibility = _arg7;
}
public function setCollisionParameters(_arg1:Number, _arg2:Number){
friction = _arg1;
elasticity = _arg2;
}
function draw(){
}
public function get Fixed():Boolean{
return (fixed);
}
public function setFixed(_arg1:Boolean){
xvel = 0;
yvel = 0;
fixed = _arg1;
}
public function get invMass():Number{
return ((1 / Mass));
}
function setcurr(_arg1:Vector):void{
curr = _arg1;
x = curr.x;
y = curr.y;
}
public function set velocity(_arg1:Vector):void{
xvel = _arg1.x;
yvel = _arg1.y;
}
protected function setVectors(){
prev = curr;
curr = new Vector(x, y);
}
public function setvisible(_arg1:Boolean):void{
if (_arg1){
visibility = 1;
} else {
visibility = 0;
};
}
public function move():void{
draw();
x = (x + xvel);
y = (y + yvel);
setVectors();
}
public function get velocity():Vector{
var _local1:Vector;
_local1 = new Vector(xvel, yvel);
return (_local1);
}
}
}//package
Section 120
//CollisionDR (CollisionDR)
package {
final class CollisionDR {
private static var detectionOnly:Boolean = false;
static function testCollision(_arg1:Collidable, _arg2:Collidable, _arg3:Boolean):Boolean{
detectionOnly = _arg3;
if ((((_arg1 is Rect)) && ((_arg2 is Rect)))){
return (testCollisionRectonRect((_arg1 as Rect), (_arg2 as Rect)));
};
if ((((_arg1 is Rect)) && ((_arg2 is Circ)))){
return (testCollisionRectonCirc((_arg1 as Rect), (_arg2 as Circ)));
};
if ((((_arg1 is Circ)) && ((_arg2 is Rect)))){
return (testCollisionRectonCirc((_arg2 as Rect), (_arg1 as Circ)));
};
if ((((_arg1 is Circ)) && ((_arg2 is Circ)))){
return (testCollisionCirconCirc((_arg1 as Circ), (_arg2 as Circ)));
};
return (false);
}
private static function closestVertex(_arg1:Vector, _arg2:Rect):Vector{
var _local3:Vector;
var _local4:Vector;
var _local5:int;
var _local6:Number;
_local3 = _arg1.minus(_arg2.curr);
_local4 = new Vector(_arg2.curr.x, _arg2.curr.y);
_local5 = 0;
while (_local5 < 2) {
_local6 = _local3.dot(_arg2.getaxis(_local5));
if (_local5 == 0){
if (_local6 >= 0){
_local6 = (_arg2.rectW / 2);
} else {
if (_local6 < 0){
_local6 = (-(_arg2.rectW) / 2);
_local4.plusEquals(_arg2.getaxis(_local5).mult(_local6));
};
};
if (_local6 >= 0){
_local6 = (_arg2.rectH / 2);
} else {
if (_local6 < 0){
_local6 = (-(_arg2.rectH) / 2);
};
};
_local4.plusEquals(_arg2.getaxis(_local5).mult(_local6));
};
_local5++;
};
return (_local4);
}
private static function resolveCollision(_arg1:Collidable, _arg2:Collidable, _arg3:Vector, _arg4:Number):void{
var _local5:Vector;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Vector;
var _local11:Vector;
var _local12:Number;
var _local13:Vector;
var _local14:Vector;
var _local15:Vector;
var _local16:Vector;
var _local17:Vector;
var _local18:Vector;
if (!detectionOnly){
_arg1.setcurr(_arg1.prev);
_arg2.setcurr(_arg2.prev);
_local5 = _arg3.mult(_arg4);
_local6 = (_arg1.elasticity + _arg1.elasticity);
_local7 = (_arg1.invMass + _arg2.invMass);
_local8 = clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1);
_local9 = _arg3.dot(_arg1.velocity);
_local10 = _arg3.mult(_local9);
_local11 = _arg1.velocity.minus(_local10);
_local12 = _arg3.dot(_arg2.velocity);
_local13 = _arg3.mult(_local12);
_local14 = _arg2.velocity.minus(_local13);
_local15 = _local13.mult(((_local6 + 1) * _arg1.invMass)).plus(_local10.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7);
_local16 = _local10.mult(((_local6 + 1) * _arg2.invMass)).plus(_local13.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7);
_local11.multEquals(_local8);
_local14.multEquals(_local8);
_local17 = _local5.mult((_arg1.invMass / _local7));
_local18 = _local5.mult((-(_arg2.invMass) / _local7));
_local15.plusEquals(_local11);
_local16.plusEquals(_local14);
if (!_arg1.fixed){
_arg1.velocity = _local15;
_arg1.setcurr(_arg1.curr.plus(_local17));
};
if (!_arg2.fixed){
_arg2.velocity = _local16;
_arg2.setcurr(_arg2.curr.plus(_local18));
};
};
}
static function testCollisionRectonRect(_arg1:Rect, _arg2:Rect):Boolean{
var _local3:Boolean;
var _local4:Vector;
var _local5:Number;
var _local6:int;
var _local7:Vector;
var _local8:Number;
var _local9:Vector;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Boolean;
_local3 = true;
_local5 = Number.POSITIVE_INFINITY;
_local6 = 0;
while (_local6 < 2) {
_local7 = _arg1.getaxis(_local6);
_local8 = testIntervals(_arg1.getProjection(_local7), _arg2.getProjection(_local7));
if (_local8 == 0){
_local3 = false;
};
_local9 = _arg2.getaxis(_local6);
_local10 = testIntervals(_arg2.getProjection(_local9), _arg1.getProjection(_local9));
if (_local10 == 0){
_local3 = false;
};
_local11 = Math.abs(_local8);
_local12 = Math.abs(_local10);
if ((((_local11 < Math.abs(_local5))) || ((_local12 < Math.abs(_local5))))){
_local13 = (_local11 < _local12);
_local4 = (_local13) ? _local7 : _local9;
_local5 = (_local13) ? _local8 : _local10;
};
_local6++;
};
if (_local3){
resolveCollision(_arg1, _arg2, _local4, _local5);
};
return (_local3);
}
static function testCollisionRectonCirc(_arg1:Rect, _arg2:Circ):Boolean{
var _local3:Boolean;
var _local4:Vector;
var _local5:Number;
var _local6:Array;
var _local7:int;
var _local8:Number;
var _local9:Vector;
var _local10:Number;
var _local11:Vector;
var _local12:Number;
_local3 = true;
_local5 = Number.POSITIVE_INFINITY;
_local6 = new Array(2);
_local7 = 0;
while (_local7 < 2) {
_local9 = _arg1.getaxis(_local7);
_local10 = testIntervals(_arg1.getProjection(_local9), _arg2.getProjection(_local9));
if (_local10 == 0){
return (false);
};
if (Math.abs(_local10) < Math.abs(_local5)){
_local4 = _local9;
_local5 = _local10;
};
_local6[_local7] = _local10;
_local7++;
};
_local8 = _arg2.radius;
if ((((Math.abs(_local6[0]) < _local8)) && ((Math.abs(_local6[1]) < _local8)))){
_local11 = closestVertex(_arg2.curr, _arg1);
_local4 = _local11.minus(_arg2.curr);
_local12 = _local4.magnitude();
_local5 = (_local8 - _local12);
if (_local5 > 0){
_local4.divEquals(_local12);
} else {
_local3 = false;
};
};
if (_local3){
resolveCollision(_arg1, _arg2, _local4, _local5);
};
return (_local3);
}
private static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 > _arg3){
return (_arg3);
};
if (_arg1 < _arg2){
return (_arg2);
};
return (_arg1);
}
private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{
var _local3:Number;
var _local4:Number;
if (_arg1.max < _arg2.min){
return (0);
};
if (_arg2.max < _arg1.min){
return (0);
};
_local3 = (_arg2.max - _arg1.min);
_local4 = (_arg2.min - _arg1.max);
return (((Math.abs(_local3) < Math.abs(_local4))) ? _local3 : _local4);
}
private static function testCollisionCirconCirc(_arg1:Circ, _arg2:Circ):Boolean{
var _local3:Boolean;
var _local4:Number;
var _local5:Number;
var _local6:Vector;
var _local7:Number;
var _local8:Number;
_local3 = true;
_local4 = testIntervals(_arg1.getIntervalX(), _arg2.getIntervalX());
if (_local4 == 0){
_local3 = false;
};
_local5 = testIntervals(_arg1.getIntervalY(), _arg2.getIntervalY());
if (_local5 == 0){
_local3 = false;
};
_local6 = _arg1.curr.minus(_arg2.curr);
_local7 = _local6.magnitude();
_local8 = ((_arg1.radius + _arg2.radius) - _local7);
if (_local8 > 0){
_local6.divEquals(_local7);
resolveCollision(_arg1, _arg2, _local6, _local8);
return (_local3);
};
return (false);
}
}
}//package
Section 121
//Container (Container)
package {
import flash.display.*;
import flash.geom.*;
public class Container extends Sprite {
private var currTile:Tile;
private var pt:Array;
private var fin:Point;
public var dChannel1:Channel;
public var dChannel2:Channel;
private var TFactory:trailFactory;
public var dChannel0:Channel;
public var dChannel3:Channel;
private var raceStart:Boolean;// = false
var t1:Number;
private var center:Point;
private var offSet:Number;// = 100
var t:Number;
private var TContainer:trailContainer;
private var finLine:FinishLine;
public var car1:Car;
public var car2:Car;
public var car3:Car;
private var distance1:Array;
private var distance2:Array;
private var EFactory:elementFactory;
private var hitS:HitSound;
private var trails:trail;
public var endWall:Wall;
var LevelMap:Array;
private var carAngle:Number;// = 0
private var color:Number;
private var rotColl:Number;// = 0
private var miniMap:MiniMap;
private var point:Point;
private var startAngle:Number;// = -1
private var explodeS:DestroySound;
private var localCenter:Point;
private var startPoint0:Point;
private var startPoint2:Point;
private var startPoint1:Point;
private var startPoint3:Point;
private var screenRot:Number;
public var car:Car;
private var screenCenter:Point;
private var hitChannel:Channel;
private var screenShake:Number;
private static var dist:Number;
public static var totalCheckPoints:uint;
public static var checkPoints:Array;
public static var collidables:Array = new Array();
private static var tileSet:Array;
private static var Pnt1:Point = new Point(0, 0);
private static var Pnt2:Point = new Point(0, 0);
public function Container(){
startAngle = -1;
carAngle = 0;
hitChannel = new Channel();
hitS = new HitSound();
explodeS = new DestroySound();
endWall = new CWall1();
dChannel0 = new Channel();
dChannel1 = new Channel();
dChannel2 = new Channel();
dChannel3 = new Channel();
offSet = 100;
center = new Point(250, 350);
screenCenter = new Point(250, 250);
raceStart = false;
distance1 = new Array(Number, Number, Number, Number);
distance2 = new Array(Number, Number, Number, Number);
pt = new Array(new Point(), new Point(), new Point(), new Point());
rotColl = 0;
point = new Point();
super();
}
private function setTrails(_arg1:Car){
_arg1.tpt1 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.leftF.x, _arg1.leftF.y)));
_arg1.tpt2 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.rightF.x, _arg1.rightF.y)));
_arg1.tpt3 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.leftB.x, _arg1.leftB.y)));
_arg1.tpt4 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.rightB.x, _arg1.rightB.y)));
}
private function updateTiles(){
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:uint;
var _local8:int;
var _local9:int;
if (raceStart){
trace("new race starting");
raceStart = false;
currTile.init();
_local1 = 0;
while (_local1 < 7) {
tileSet[_local1].init();
_local1++;
};
_local1 = 0;
while (_local1 < GParams.level[GParams.currentLevel].length) {
if (GParams.level[GParams.currentLevel][_local1][0] == GParams.ROAD){
currTile.setTileParams(GParams.level[GParams.currentLevel][_local1][1], GParams.level[GParams.currentLevel][_local1][2], GParams.level[GParams.currentLevel][_local1][3], GParams.level[GParams.currentLevel][_local1][4], GParams.level[GParams.currentLevel][_local1][5], this, LevelMap[GParams.level[GParams.currentLevel][_local1][2]][GParams.level[GParams.currentLevel][_local1][3]][GParams.level[GParams.currentLevel][_local1][4]].element, LevelMap[GParams.level[GParams.currentLevel][_local1][2]][GParams.level[GParams.currentLevel][_local1][3]][GParams.level[GParams.currentLevel][_local1][4]].position);
setCurrent(currTile);
break;
};
_local1++;
};
} else {
_local2 = currTile.mc.x;
_local3 = currTile.mc.y;
localCenter = this.globalToLocal(screenCenter);
_local4 = localCenter.x;
_local5 = localCenter.y;
if (Point.distance(new Point(_local2, _local3), new Point(_local4, _local5)) > GParams.THRESHOLD){
_local6 = ((Math.atan2((_local5 - _local3), (_local4 - _local2)) * 180) / Math.PI);
if (_local6 >= 0){
if (_local6 < 60){
_local7 = (1 - currTile.TileRow);
if (currTile.TileRow == GParams.ODD){
_local8 = currTile.TileX;
_local9 = currTile.TileY;
} else {
_local8 = (currTile.TileX + 1);
_local9 = (currTile.TileY + 1);
};
} else {
if (_local6 < 120){
_local7 = currTile.TileRow;
_local8 = currTile.TileX;
_local9 = (currTile.TileY + 1);
} else {
if (_local6 <= 180){
_local7 = (1 - currTile.TileRow);
if (currTile.TileRow == GParams.ODD){
_local8 = (currTile.TileX - 1);
_local9 = currTile.TileY;
} else {
_local8 = currTile.TileX;
_local9 = (currTile.TileY + 1);
};
};
};
};
} else {
if (_local6 > -60){
_local7 = (1 - currTile.TileRow);
if (currTile.TileRow == GParams.ODD){
_local8 = currTile.TileX;
_local9 = (currTile.TileY - 1);
} else {
_local8 = (currTile.TileX + 1);
_local9 = currTile.TileY;
};
} else {
if (_local6 > -120){
_local7 = currTile.TileRow;
_local8 = currTile.TileX;
_local9 = (currTile.TileY - 1);
} else {
if (_local6 > -180){
_local7 = (1 - currTile.TileRow);
if (currTile.TileRow == GParams.ODD){
_local8 = (currTile.TileX - 1);
_local9 = (currTile.TileY - 1);
} else {
_local8 = currTile.TileX;
_local9 = currTile.TileY;
};
};
};
};
};
if (LevelMap[_local7][_local8][_local9].type == null){
currTile.setTileParams(GParams.BLANK, _local7, _local8, _local9, GParams.ZERO, this, LevelMap[_local7][_local8][_local9].element, LevelMap[_local7][_local8][_local9].position);
setCurrent(currTile);
} else {
currTile.setTileParams(LevelMap[_local7][_local8][_local9].type, _local7, _local8, _local9, LevelMap[_local7][_local8][_local9].angle, this, LevelMap[_local7][_local8][_local9].element, LevelMap[_local7][_local8][_local9].position);
setCurrent(currTile);
};
};
};
}
public function zoomOut(){
this.scaleX = 0.533;
this.scaleY = 0.533;
miniMap.scaleX = 2;
miniMap.scaleY = 2;
}
public function updateMiniMap(){
var _local1:Point;
miniMap.rotation = -(miniMap.parent.rotation);
_local1 = globalToLocal(new Point(30, 390));
miniMap.x = _local1.x;
miniMap.y = _local1.y;
GParams.nPt0 = nearestTile(new Point(car.x, car.y))[0];
miniMap.miniCar.gotoAndStop((GParams.nPt0 + 1));
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
GParams.nPt1 = nearestTile(new Point(car1.x, car1.y))[0];
miniMap.miniCar1.gotoAndStop((GParams.nPt1 + 1));
GParams.nPt2 = nearestTile(new Point(car2.x, car2.y))[0];
miniMap.miniCar2.gotoAndStop((GParams.nPt2 + 1));
GParams.nPt3 = nearestTile(new Point(car3.x, car3.y))[0];
miniMap.miniCar3.gotoAndStop((GParams.nPt3 + 1));
} else {
miniMap.miniCar1.visible = false;
miniMap.miniCar2.visible = false;
miniMap.miniCar3.visible = false;
};
}
private function rotateCar(_arg1:Collidable, _arg2:Car){
point.x = _arg1.x;
point.y = _arg1.y;
point = localToGlobal(point);
pt[0] = _arg2.localToGlobal(new Point((_arg2.leftF.x - 50), (_arg2.leftF.y - 10)));
pt[1] = _arg2.localToGlobal(new Point((_arg2.rightF.x + 50), (_arg2.rightF.y - 10)));
pt[2] = _arg2.localToGlobal(new Point((_arg2.leftB.x - 50), (_arg2.leftB.y + 10)));
pt[3] = _arg2.localToGlobal(new Point((_arg2.rightB.x + 50), (_arg2.rightB.y + 10)));
distance1[0] = Point.distance(point, pt[0]);
distance1[1] = Point.distance(point, pt[1]);
distance1[2] = Point.distance(point, pt[2]);
distance1[3] = Point.distance(point, pt[3]);
distance2 = distance1.concat();
distance2.sort(Array.NUMERIC);
if (_arg2.vel_vect.magnitude() > 5){
rotColl = ((50 - Math.abs(_arg2.vel_vect.dot(_arg2.car_vect))) / 4);
} else {
rotColl = 0;
};
if (rotColl > 6){
rotColl = 6;
};
if ((((((distance1[1] == distance2[0])) && ((distance1[3] == distance2[1])))) || ((((distance1[2] == distance2[0])) && ((distance1[0] == distance2[1])))))){
_arg2.rot_vel_coll = (_arg2.rot_vel_coll - rotColl);
};
if ((((((distance1[3] == distance2[0])) && ((distance1[1] == distance2[1])))) || ((((distance1[0] == distance2[0])) && ((distance1[2] == distance2[1])))))){
_arg2.rot_vel_coll = (_arg2.rot_vel_coll + rotColl);
};
}
public function remove(){
var _local1:int;
var _local2:*;
MainClass.upKey = false;
MainClass.downKey = false;
MainClass.leftKey = false;
MainClass.rightKey = false;
MainClass.handKey = false;
car.parent.rotation = 0;
if (contains(TContainer)){
removeChild(TContainer);
};
if (contains(miniMap)){
removeChild(miniMap);
};
if (contains(car)){
removeChild(car);
removeChild(car.Shadow);
Container.collidables.splice(Container.collidables.indexOf(car), 1);
};
if (contains(car1)){
removeChild(car1);
removeChild(car1.Shadow);
Container.collidables.splice(Container.collidables.indexOf(car1), 1);
};
if (contains(car2)){
removeChild(car2);
removeChild(car2.Shadow);
Container.collidables.splice(Container.collidables.indexOf(car2), 1);
};
if (contains(car3)){
removeChild(car3);
removeChild(car3.Shadow);
Container.collidables.splice(Container.collidables.indexOf(car3), 1);
};
_local1 = 0;
while (_local1 < 7) {
if (contains(tileSet[_local1].mc)){
tileSet[_local1].removeTile();
};
_local1++;
};
tileSet.splice(0, (tileSet.length - 1));
if (contains(currTile.mc)){
currTile.removeTile();
};
startAngle = -1;
trace("objects left", numChildren);
_local1 = (numChildren - 1);
while (_local1 >= 0) {
_local2 = removeChildAt(_local1);
trace(_local2, _local2.name);
_local1--;
};
Container.collidables.splice(0, Container.collidables.length);
}
private function setCurrent(_arg1:Tile){
var _local2:uint;
var _local3:int;
var _local4:uint;
var _local5:uint;
_local5 = 0;
_local4 = (1 - _arg1.TileRow);
if (_arg1.TileRow == GParams.ODD){
_local2 = _arg1.TileX;
_local3 = _arg1.TileY;
} else {
_local2 = (_arg1.TileX + 1);
_local3 = (_arg1.TileY + 1);
};
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[1].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[1].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
_local4 = _arg1.TileRow;
_local2 = _arg1.TileX;
_local3 = (_arg1.TileY + 1);
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[2].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[2].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
_local4 = (1 - _arg1.TileRow);
if (_arg1.TileRow == GParams.ODD){
_local2 = (_arg1.TileX - 1);
_local3 = _arg1.TileY;
} else {
_local2 = _arg1.TileX;
_local3 = (_arg1.TileY + 1);
};
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[3].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[3].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
_local4 = (1 - _arg1.TileRow);
if (_arg1.TileRow == GParams.ODD){
_local2 = _arg1.TileX;
_local3 = (_arg1.TileY - 1);
} else {
_local2 = (_arg1.TileX + 1);
_local3 = _arg1.TileY;
};
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[4].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[4].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
_local4 = _arg1.TileRow;
_local2 = _arg1.TileX;
_local3 = (_arg1.TileY - 1);
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[5].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[5].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
_local4 = (1 - _arg1.TileRow);
if (_arg1.TileRow == GParams.ODD){
_local2 = (_arg1.TileX - 1);
_local3 = (_arg1.TileY - 1);
} else {
_local2 = _arg1.TileX;
_local3 = _arg1.TileY;
};
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[6].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[6].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
_local4 = _arg1.TileRow;
_local2 = _arg1.TileX;
_local3 = _arg1.TileY;
if ((((_local2 >= 0)) && ((_local3 >= 0)))){
if (LevelMap[_local4][_local2][_local3].type != null){
tileSet[0].setTileParams(LevelMap[_local4][_local2][_local3].type, _local4, _local2, _local3, LevelMap[_local4][_local2][_local3].angle, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
} else {
if (LevelMap[_local4][_local2][_local3].type == null){
tileSet[0].setTileParams(GParams.BLANK, _local4, _local2, _local3, GParams.ZERO, this, LevelMap[_local4][_local2][_local3].element, LevelMap[_local4][_local2][_local3].position);
};
};
};
}
public function createMap(){
var _local1:uint;
var _local2:int;
var _local3:uint;
var _local4:uint;
LevelMap = new Array();
checkPoints = new Array();
_local1 = 0;
while (_local1 < 2) {
LevelMap[_local1] = new Array();
_local3 = 0;
while (_local3 < GParams.MaxX) {
LevelMap[_local1][_local3] = new Array();
_local4 = 0;
while (_local4 < GParams.MaxY) {
LevelMap[_local1][_local3][_local4] = new Object();
LevelMap[_local1][_local3][_local4].type = null;
LevelMap[_local1][_local3][_local4].number = -1;
_local4++;
};
_local3++;
};
_local1++;
};
totalCheckPoints = 0;
_local2 = 0;
while (_local2 < GParams.level[GParams.currentLevel].length) {
if (GParams.level[GParams.currentLevel][_local2][0] == GParams.ROAD){
GParams.allTile++;
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].type = GParams.level[GParams.currentLevel][_local2][1];
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].angle = GParams.level[GParams.currentLevel][_local2][5];
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].number = totalCheckPoints;
checkPoints[totalCheckPoints] = new Array(new Number(), new Number());
if (GParams.level[GParams.currentLevel][_local2][2] == GParams.ODD){
checkPoints[totalCheckPoints][0] = (GParams.startX + ((GParams.level[GParams.currentLevel][_local2][3] * 3) * GParams.SIDE));
checkPoints[totalCheckPoints][1] = (GParams.startY + ((GParams.level[GParams.currentLevel][_local2][4] * 1.732) * GParams.SIDE));
} else {
checkPoints[totalCheckPoints][0] = ((GParams.startX + (GParams.SIDE * 1.5)) + ((GParams.level[GParams.currentLevel][_local2][3] * 3) * GParams.SIDE));
checkPoints[totalCheckPoints][1] = ((GParams.startY + ((GParams.SIDE * 1.732) / 2)) + ((GParams.level[GParams.currentLevel][_local2][4] * 1.732) * GParams.SIDE));
};
totalCheckPoints++;
if (GParams.level[GParams.currentLevel][_local2][1] == GParams.STRAIGHT){
if (Math.random() <= 0.7){
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].element = GParams.TREE;
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].position = Math.ceil(((15 * Math.random()) - 0.1));
} else {
if (Math.random() <= 0.8){
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].element = GParams.STONE;
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].position = Math.ceil(((15 * Math.random()) - 0.1));
} else {
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].element = GParams.NOELEMENT;
};
};
};
if (GParams.level[GParams.currentLevel][_local2][1] == GParams.CURVE){
GParams.curveTile++;
if (Math.random() < 0.8){
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].element = GParams.TREE;
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].position = (20 + Math.ceil(((3 * Math.random()) - 0.1)));
} else {
if (Math.random() <= 0.8){
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].element = GParams.DRUM;
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].position = Math.ceil(((3 * Math.random()) - 0.1));
} else {
LevelMap[GParams.level[GParams.currentLevel][_local2][2]][GParams.level[GParams.currentLevel][_local2][3]][GParams.level[GParams.currentLevel][_local2][4]].element = GParams.NOELEMENT;
};
};
};
} else {
if (GParams.level[GParams.currentLevel][_local2][0] == GParams.BG){
GParams.currentBG = GParams.level[GParams.currentLevel][_local2][1];
} else {
if (GParams.level[GParams.currentLevel][_local2][0] == GParams.FINISH){
fin = new Point(GParams.level[GParams.currentLevel][_local2][1], GParams.level[GParams.currentLevel][_local2][2]);
if (finLine == null){
finLine = new FinishLine();
};
finLine.x = GParams.level[GParams.currentLevel][_local2][1];
finLine.y = GParams.level[GParams.currentLevel][_local2][2];
finLine.rotation = GParams.level[GParams.currentLevel][_local2][3];
addChild(finLine);
} else {
if (GParams.level[GParams.currentLevel][_local2][0] == GParams.ANGLE){
startAngle = GParams.level[GParams.currentLevel][_local2][1];
} else {
if (GParams.level[GParams.currentLevel][_local2][0] == GParams.BARRIER){
endWall.x = GParams.level[GParams.currentLevel][_local2][1];
endWall.y = GParams.level[GParams.currentLevel][_local2][2];
endWall.scaleY = 1.5;
endWall.place();
endWall.rotateWall((GParams.level[GParams.currentLevel][_local2][3] + 1));
addChild(endWall);
Container.collidables.push(endWall);
trace("endWall added");
};
};
};
};
};
_local2++;
};
if (startAngle == 0){
carAngle = 90;
startPoint2 = new Point((checkPoints[0][0] + 40), (checkPoints[0][1] + 20));
startPoint1 = new Point((checkPoints[0][0] - 80), (checkPoints[0][1] + 80));
startPoint0 = new Point((checkPoints[0][0] - 40), (checkPoints[0][1] - 20));
startPoint3 = new Point((checkPoints[0][0] + 80), (checkPoints[0][1] - 80));
};
if (startAngle == 60){
carAngle = 210;
startPoint2 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] + 50));
startPoint1 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] + 50));
startPoint0 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] - 50));
startPoint3 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] - 50));
};
if (startAngle == 120){
carAngle = 150;
startPoint2 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] + 50));
startPoint1 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] + 50));
startPoint0 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] - 50));
startPoint3 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] - 50));
};
if (startAngle == 180){
carAngle = 270;
startPoint2 = new Point((checkPoints[0][0] + 40), (checkPoints[0][1] + 20));
startPoint1 = new Point((checkPoints[0][0] - 80), (checkPoints[0][1] + 80));
startPoint0 = new Point((checkPoints[0][0] - 40), (checkPoints[0][1] - 20));
startPoint3 = new Point((checkPoints[0][0] + 80), (checkPoints[0][1] - 80));
};
if (startAngle == 240){
carAngle = 30;
startPoint2 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] + 50));
startPoint1 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] + 50));
startPoint0 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] - 50));
startPoint3 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] - 50));
};
if (startAngle == 300){
carAngle = 330;
startPoint2 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] + 50));
startPoint1 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] + 50));
startPoint0 = new Point((checkPoints[0][0] - 60), (checkPoints[0][1] - 50));
startPoint3 = new Point((checkPoints[0][0] + 60), (checkPoints[0][1] - 50));
};
elementFactory.init();
}
public function init(){
var _local1:int;
trace("child remaining: ", numChildren);
if (contains(endWall)){
trace("contains endWall");
};
screenShake = 0;
GParams.curveTile = 0;
GParams.allTile = 0;
raceStart = true;
if (miniMap == null){
miniMap = new MiniMap();
};
switch (GParams.currentLevel){
case 0:
miniMap = new trk0();
break;
case 1:
miniMap = new trk1();
break;
case 2:
miniMap = new trk2();
break;
case 3:
miniMap = new trk3();
break;
case 4:
miniMap = new trk4();
break;
case 5:
miniMap = new trk5();
break;
case 6:
miniMap = new trk6();
break;
case 7:
miniMap = new trk7();
break;
case 8:
miniMap = new trk8();
break;
};
car1 = new Muscle();
car2 = new Exotic();
car3 = new Tuner();
if (TFactory == null){
TFactory = new trailFactory();
};
if (TContainer == null){
TContainer = new trailContainer();
};
if (!contains(TContainer)){
addChild(TContainer);
};
if (EFactory == null){
EFactory = new elementFactory();
};
tileSet = new Array(7);
currTile = new Tile();
_local1 = 0;
while (_local1 < 7) {
tileSet[_local1] = new Tile();
_local1++;
};
zoomOut();
}
public function burnCar1(){
car1.Burn.visible = true;
}
public function burnCar3(){
car3.Burn.visible = true;
}
public function burnCar0(){
car.Burn.visible = true;
}
public function burnCar2(){
car2.Burn.visible = true;
}
public function addCar(){
switch (GParams.currentCar){
case GParams.MUSCLE:
car = new Muscle();
break;
case GParams.TUNER:
car = new Tuner();
break;
case GParams.EXOTIC:
car = new Exotic();
break;
default:
car = new Exotic();
break;
};
car.init(startPoint0.x, startPoint0.y, GParams.currentCar, false);
car.collRect.rotation = 0;
car.collRect.rotation = carAngle;
car.update();
car.Burn.visible = false;
addChild(car.Shadow);
addChild(car);
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
car1.init(startPoint1.x, startPoint1.y, GParams.MUSCLE, true);
car1.collRect.rotation = 0;
car1.collRect.rotation = carAngle;
car1.update();
car1.Burn.visible = false;
addChild(car1.Shadow);
addChild(car1);
car2.init(startPoint2.x, startPoint2.y, GParams.TUNER, true);
car2.collRect.rotation = 0;
car2.collRect.rotation = carAngle;
car2.update();
car2.Burn.visible = false;
addChild(car2.Shadow);
addChild(car2);
car3.init(startPoint3.x, startPoint3.y, GParams.EXOTIC, true);
car3.collRect.rotation = 0;
car3.collRect.rotation = carAngle;
car3.update();
car3.Burn.visible = false;
addChild(car3.Shadow);
addChild(car3);
};
counterMove();
}
private function inTile(_arg1:Car){
var _local2:Point;
var _local3:int;
_local2 = _arg1.parent.localToGlobal(new Point(_arg1.x, _arg1.y));
_local3 = 0;
while (_local3 < 7) {
if (((!((tileSet == null))) && (!((tileSet[_local3].mc == null))))){
if (tileSet[_local3].mc.hitTestPoint(_local2.x, _local2.y, true)){
_arg1.offScreen = false;
return (true);
};
};
_local3++;
};
_arg1.offScreen = true;
return (false);
}
private function drawTrails(_arg1:Car){
trails = TFactory.getTrail();
if (_arg1.onRoad(_arg1.tpt1)){
color = GParams.trailColor[GParams.currentBG][0];
} else {
color = GParams.trailColor[GParams.currentBG][1];
};
trails.setPoints(_arg1.tpt1, this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.leftF.x, _arg1.leftF.y))), color);
_arg1.tpt1 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.leftF.x, _arg1.leftF.y)));
TContainer.addTrail(trails);
if (_arg1.onRoad(_arg1.tpt2)){
color = GParams.trailColor[GParams.currentBG][0];
} else {
color = GParams.trailColor[GParams.currentBG][1];
};
trails = TFactory.getTrail();
trails.setPoints(_arg1.tpt2, this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.rightF.x, _arg1.rightF.y))), color);
_arg1.tpt2 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.rightF.x, _arg1.rightF.y)));
TContainer.addTrail(trails);
if (_arg1.onRoad(_arg1.tpt3)){
color = GParams.trailColor[GParams.currentBG][0];
} else {
color = GParams.trailColor[GParams.currentBG][1];
};
trails = TFactory.getTrail();
trails.setPoints(_arg1.tpt3, this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.leftB.x, _arg1.leftB.y))), color);
_arg1.tpt3 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.leftB.x, _arg1.leftB.y)));
TContainer.addTrail(trails);
if (_arg1.onRoad(_arg1.tpt4)){
color = GParams.trailColor[GParams.currentBG][0];
} else {
color = GParams.trailColor[GParams.currentBG][1];
};
trails = TFactory.getTrail();
trails.setPoints(_arg1.tpt4, this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.rightB.x, _arg1.rightB.y))), color);
_arg1.tpt4 = this.globalToLocal(_arg1.localToGlobal(new Point(_arg1.rightB.x, _arg1.rightB.y)));
TContainer.addTrail(trails);
}
public function updateMap(){
var _local1:uint;
zoomOut();
car.run(false);
GParams.Direction = car.checkDirection();
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
car1.run(GParams.stopAI1);
car2.run(GParams.stopAI2);
car3.run(GParams.stopAI3);
};
setTrails(car);
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
setTrails(car1);
setTrails(car2);
setTrails(car3);
};
inTile(car);
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
inTile(car1);
inTile(car2);
inTile(car3);
};
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
if (CollisionDR.testCollision(car.collRect, car1.collRect, false)){
rotateCar(car.collRect, car1);
rotateCar(car1.collRect, car);
GParams.currDamage = (GParams.currDamage + ((car1.vel_vect.magnitude() + car.vel_vect.magnitude()) / 6));
GParams.carDamage1 = (GParams.carDamage1 + ((car1.vel_vect.magnitude() + car.vel_vect.magnitude()) / 6));
hitChannel.playSound(hitS);
};
if (CollisionDR.testCollision(car.collRect, car2.collRect, false)){
rotateCar(car.collRect, car2);
rotateCar(car2.collRect, car);
GParams.currDamage = (GParams.currDamage + ((car2.vel_vect.magnitude() + car.vel_vect.magnitude()) / 6));
GParams.carDamage2 = (GParams.carDamage2 + ((car2.vel_vect.magnitude() + car.vel_vect.magnitude()) / 6));
hitChannel.playSound(hitS);
};
if (CollisionDR.testCollision(car.collRect, car3.collRect, false)){
rotateCar(car.collRect, car3);
rotateCar(car3.collRect, car);
GParams.currDamage = (GParams.currDamage + ((car3.vel_vect.magnitude() + car.vel_vect.magnitude()) / 6));
GParams.carDamage3 = (GParams.carDamage3 + ((car3.vel_vect.magnitude() + car.vel_vect.magnitude()) / 6));
hitChannel.playSound(hitS);
};
};
car.update();
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
car1.update();
car2.update();
car3.update();
};
car.collided = -1;
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
car1.collided = -1;
car2.collided = -1;
car3.collided = -1;
};
_local1 = 0;
while (_local1 < collidables.length) {
if (collidables[_local1] != car){
if (CollisionDR.testCollision(collidables[_local1].collRect, car.collRect, false)){
car.collided = _local1;
if ((((collidables[_local1] is Drum)) && ((car.vel_vect.magnitude() > 8)))){
hitChannel.playSound(explodeS);
blast(collidables[_local1]);
GParams.currDamage = 100;
(collidables[_local1] as Drum).gotoAndPlay(2);
} else {
if (car.vel_vect.magnitude() > 8){
GParams.currDamage = (GParams.currDamage + (car.vel_vect.magnitude() / 3));
hitChannel.playSound(hitS);
};
GParams.currentDrift0 = 0;
screenShake = (20 * Math.floor((car.vel_vect.magnitude() / 3)));
};
};
};
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
if (((!((collidables[_local1] == car1))) && (!(car1.offScreen)))){
if (CollisionDR.testCollision(collidables[_local1].collRect, car1.collRect, false)){
car1.collided = _local1;
if ((((collidables[_local1] is Drum)) && ((car1.vel_vect.magnitude() > 8)))){
hitChannel.playSound(explodeS);
blast(collidables[_local1]);
GParams.carDamage1 = GParams.fullDamage;
(collidables[_local1] as Drum).gotoAndPlay(2);
} else {
hitChannel.playSound(hitS);
GParams.carDamage1 = (GParams.carDamage1 + (car1.vel_vect.magnitude() / 3));
};
};
};
if (((!((collidables[_local1] == car2))) && (!(car2.offScreen)))){
if (CollisionDR.testCollision(collidables[_local1].collRect, car2.collRect, false)){
car2.collided = _local1;
if ((((collidables[_local1] is Drum)) && ((car2.vel_vect.magnitude() > 8)))){
hitChannel.playSound(explodeS);
blast(collidables[_local1]);
GParams.carDamage2 = GParams.fullDamage;
(collidables[_local1] as Drum).gotoAndPlay(2);
} else {
hitChannel.playSound(hitS);
GParams.carDamage2 = (GParams.carDamage2 + (car2.vel_vect.magnitude() / 3));
};
};
};
if (((!((collidables[_local1] == car3))) && (!(car3.offScreen)))){
if (CollisionDR.testCollision(collidables[_local1].collRect, car3.collRect, false)){
car3.collided = _local1;
if ((((collidables[_local1] is Drum)) && ((car3.vel_vect.magnitude() > 8)))){
hitChannel.playSound(explodeS);
blast(collidables[_local1]);
GParams.carDamage3 = GParams.fullDamage;
(collidables[_local1] as Drum).gotoAndPlay(2);
} else {
hitChannel.playSound(hitS);
GParams.carDamage3 = (GParams.carDamage3 + (car3.vel_vect.magnitude() / 3));
};
};
};
};
_local1++;
};
car.update();
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
car1.update();
car2.update();
car3.update();
};
if (car.Sliding){
drawTrails(car);
if (((car.Drift) && (!(GParams.Direction)))){
if (car.onRoad(car.currPt)){
GParams.currentDrift0 = (GParams.currentDrift0 + car.getDrift());
} else {
if (!isNaN(GParams.currentDrift0)){
GParams.totalDrift0 = (GParams.totalDrift0 + GParams.currentDrift0);
} else {
GParams.totalDrift0 = (GParams.totalDrift0 + 250);
};
GParams.currentDrift0 = 0;
};
};
} else {
if (GParams.currentDrift0 > 0){
if (!isNaN(GParams.currentDrift0)){
GParams.totalDrift0 = (GParams.totalDrift0 + GParams.currentDrift0);
};
GParams.currentDrift0 = 0;
};
};
if ((((GParams.currentRace == GParams.CIRCUIT)) || ((GParams.currentRace == GParams.SPRINT)))){
if (car1.Sliding){
drawTrails(car1);
};
if (car2.Sliding){
drawTrails(car2);
};
if (car3.Sliding){
drawTrails(car3);
};
};
TContainer.removeTrail();
updateTiles();
counterMove();
if (contains(endWall)){
this.setChildIndex(endWall, (numChildren - 1));
};
this.addChildAt(miniMap, numChildren);
updateMiniMap();
}
private function counterMove(){
var _local1:Point;
if ((((screenShake == 0)) || (!(MainClass.ScreenRotating)))){
screenRot = (car.parent.rotation + car.rotation);
} else {
screenRot = screenShake;
if (screenShake > 0){
screenShake = (screenShake - 5);
} else {
if (screenShake < 0){
screenShake = (screenShake + 5);
};
};
screenShake = (screenShake * -1);
};
if (screenRot > 180){
screenRot = (screenRot - 360);
};
if (screenRot < -180){
screenRot = (screenRot + 360);
};
if (MainClass.ScreenRotating){
car.parent.rotation = (car.parent.rotation - (screenRot / 20));
} else {
car.parent.rotation = (car.parent.rotation - screenRot);
};
_local1 = new Point();
_local1.x = car.x;
_local1.y = car.y;
_local1 = localToGlobal(_local1);
car.parent.x = (car.parent.x + (center.x - _local1.x));
car.parent.y = (car.parent.y + (center.y - _local1.y));
}
private function blast(_arg1:Drum){
var _local2:int;
trace("blast called");
_local2 = 0;
while (_local2 < 7) {
if (tileSet[_local2] != null){
if (tileSet[_local2].elemental.length == 2){
if (((((tileSet[_local2].elemental[1].x - _arg1.x) < 5)) && (((tileSet[_local2].elemental[1].y - _arg1.y) < 5)))){
trace("remove drum");
LevelMap[tileSet[_local2].TileRow][tileSet[_local2].TileX][tileSet[_local2].TileY].element = GParams.NOELEMENT;
tileSet[_local2].setTileParams(tileSet[_local2].TileType, tileSet[_local2].TileRow, tileSet[_local2].TileX, tileSet[_local2].TileY, tileSet[_local2].TileAngle, tileSet[_local2].display, GParams.NOELEMENT, tileSet[_local2].position);
};
};
};
_local2++;
};
}
public static function nearestTile(_arg1:Point):Array{
var _local2:int;
var _local3:Array;
var _local4:int;
dist = 10000;
_local3 = new Array(new Number(), new Point());
_local4 = 0;
while (_local4 < totalCheckPoints) {
Pnt1.x = checkPoints[_local4][0];
Pnt1.y = checkPoints[_local4][1];
if (dist > Point.distance(_arg1, Pnt1)){
dist = Point.distance(_arg1, Pnt1);
Pnt2.x = Pnt1.x;
Pnt2.y = Pnt1.y;
_local2 = _local4;
};
_local4++;
};
_local3[0] = _local2;
_local3[1] = Pnt2;
return (_local3);
}
public static function onRoad(_arg1:Point):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < 7) {
if (((!((tileSet == null))) && (!((tileSet[_local2].mc == null))))){
if (tileSet[_local2].mc.rd != null){
if (tileSet[_local2].mc.rd.hitTestPoint(_arg1.x, _arg1.y, true)){
return (true);
};
};
};
if (((!((tileSet == null))) && (!((tileSet[_local2].mc == null))))){
if (tileSet[_local2].mc.hitTestPoint(_arg1.x, _arg1.y, true)){
return (false);
};
};
_local2++;
};
return (true);
}
}
}//package
Section 122
//containerBackground (containerBackground)
package {
import flash.display.*;
public dynamic class containerBackground extends MovieClip {
public function containerBackground(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 123
//CountDown (CountDown)
package {
import flash.display.*;
public dynamic class CountDown extends MovieClip {
public function CountDown(){
addFrameScript(71, frame72);
}
function frame72(){
stop();
(this.parent as Hud).removeCount();
}
}
}//package
Section 124
//Country0 (Country0)
package {
import flash.display.*;
public dynamic class Country0 extends MovieClip {
}
}//package
Section 125
//Country1 (Country1)
package {
import flash.display.*;
public dynamic class Country1 extends MovieClip {
public var rd:MovieClip;
}
}//package
Section 126
//Country2 (Country2)
package {
import flash.display.*;
public dynamic class Country2 extends MovieClip {
public var rd:MovieClip;
}
}//package
Section 127
//CStone0 (CStone0)
package {
public dynamic class CStone0 extends Stone {
}
}//package
Section 128
//CStone1 (CStone1)
package {
public dynamic class CStone1 extends Stone {
}
}//package
Section 129
//CStone2 (CStone2)
package {
public dynamic class CStone2 extends Stone {
}
}//package
Section 130
//CStone3 (CStone3)
package {
public dynamic class CStone3 extends Stone {
}
}//package
Section 131
//CTree0 (CTree0)
package {
public dynamic class CTree0 extends Tree {
}
}//package
Section 132
//CTree1 (CTree1)
package {
public dynamic class CTree1 extends Tree {
}
}//package
Section 133
//CTree2 (CTree2)
package {
public dynamic class CTree2 extends Tree {
}
}//package
Section 134
//CTree3 (CTree3)
package {
public dynamic class CTree3 extends Tree {
}
}//package
Section 135
//CWall0 (CWall0)
package {
public dynamic class CWall0 extends Wall {
}
}//package
Section 136
//CWall1 (CWall1)
package {
public dynamic class CWall1 extends Wall {
}
}//package
Section 137
//Desert0 (Desert0)
package {
import flash.display.*;
public dynamic class Desert0 extends MovieClip {
}
}//package
Section 138
//Desert1 (Desert1)
package {
import flash.display.*;
public dynamic class Desert1 extends MovieClip {
public var rd:MovieClip;
}
}//package
Section 139
//Desert2 (Desert2)
package {
import flash.display.*;
public dynamic class Desert2 extends MovieClip {
public var rd:MovieClip;
}
}//package
Section 140
//DestroySound (DestroySound)
package {
import flash.media.*;
public dynamic class DestroySound extends Sound {
}
}//package
Section 141
//Drum (Drum)
package {
import flash.display.*;
public class Drum extends MovieClip {
public var collRect:Circ;
public function Drum(_arg1:Number, _arg2:Number){
addFrameScript(0, frame1, 15, frame16);
this.x = _arg1;
this.y = _arg2;
collRect = new Circ(_arg1, _arg2, 12);
collRect.setFixed(true);
}
function frame16(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 142
//DStone0 (DStone0)
package {
public dynamic class DStone0 extends Stone {
}
}//package
Section 143
//DStone1 (DStone1)
package {
public dynamic class DStone1 extends Stone {
}
}//package
Section 144
//DStone2 (DStone2)
package {
public dynamic class DStone2 extends Stone {
}
}//package
Section 145
//DStone3 (DStone3)
package {
public dynamic class DStone3 extends Stone {
}
}//package
Section 146
//DTree0 (DTree0)
package {
public dynamic class DTree0 extends Tree {
}
}//package
Section 147
//DTree1 (DTree1)
package {
public dynamic class DTree1 extends Tree {
}
}//package
Section 148
//DTree2 (DTree2)
package {
public dynamic class DTree2 extends Tree {
}
}//package
Section 149
//DTree3 (DTree3)
package {
public dynamic class DTree3 extends Tree {
}
}//package
Section 150
//elementFactory (elementFactory)
package {
import flash.display.*;
public class elementFactory {
private static var mcStone0:Array;
private static var mcTree0:Array;
private static var mcTree2:Array;
private static var mcStone1:Array;
private static var mcStone2:Array;
private static var mcStone3:Array;
private static var mcWall0:Array;
private static var mcWall1:Array;
private static var mc:MovieClip;
private static var mcTree1:Array;
private static var mcTree3:Array;
public static function getElement(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:uint):MovieClip{
var _local5:Number;
var _local6:Number;
_local5 = 0;
_local6 = 0;
switch (_arg1){
case GParams.STONE:
if (_arg4 == 0){
_local5 = 0;
while (mcStone0[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault1", _local5);
return (null);
};
_local5++;
};
mc = mcStone0[_local6];
};
if (_arg4 == 1){
_local5 = 0;
while (mcStone1[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault2", _local5);
return (null);
};
_local5++;
};
mc = mcStone1[_local6];
};
if (_arg4 == 2){
_local5 = 0;
while (mcStone2[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault3", _local5);
return (null);
};
_local5++;
};
mc = mcStone2[_local6];
};
if (_arg4 == 3){
_local5 = 0;
while (mcStone3[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault4", _local5);
return (null);
};
_local5++;
};
mc = mcStone3[_local6];
};
mc.x = _arg2;
mc.y = _arg3;
mc.place();
return (mc);
case GParams.DRUM:
return (new Drum(_arg2, _arg3));
case GParams.TREE:
if (_arg4 == 0){
_local5 = 0;
while (mcTree0[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault5", _local5, mcTree0[0].parent, mcTree0[1].parent, mcTree0[2].parent, mcTree0[3].parent);
return (null);
};
_local5++;
};
mc = mcTree0[_local6];
};
if (_arg4 == 1){
_local5 = 0;
while (mcTree1[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault6", _local5, mcTree0[0].parent, mcTree0[1].parent, mcTree0[2].parent, mcTree0[3].parent);
return (null);
};
_local5++;
};
mc = mcTree1[_local6];
};
if (_arg4 == 2){
_local5 = 0;
while (mcTree2[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault7", _local5, mcTree0[0].parent, mcTree0[1].parent, mcTree0[2].parent, mcTree0[3].parent);
return (null);
};
_local5++;
};
mc = mcTree2[_local6];
};
if (_arg4 == 3){
_local5 = 0;
while (mcTree3[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault8", _local5, mcTree0[0].parent, mcTree0[1].parent, mcTree0[2].parent, mcTree0[3].parent);
return (null);
};
_local5++;
};
mc = mcTree3[_local6];
};
mc.x = _arg2;
mc.y = _arg3;
mc.place();
return (mc);
case GParams.WALL:
if (_arg4 == 0){
_local5 = 0;
while (mcWall0[_local6].parent != null) {
_local6 = ((_local6 + 1) % 10);
if (_local5 > 9){
trace("fault9", _local5);
return (null);
};
_local5++;
};
mc = mcWall0[_local6];
};
if (_arg4 == 1){
_local5 = 0;
while (mcWall1[_local6].parent != null) {
_local6 = ((_local6 + 1) % 7);
if (_local5 > 6){
trace("fault10", _local5);
return (null);
};
_local5++;
};
mc = mcWall1[_local6];
};
mc.x = _arg2;
mc.y = _arg3;
mc.place();
return (mc);
default:
return (null);
};
}
public static function init(){
switch (GParams.currentBG){
case GParams.COUNTRYSIDE:
mcStone0 = new Array(new CStone0(), new CStone0(), new CStone0(), new CStone0(), new CStone0(), new CStone0(), new CStone0());
mcStone1 = new Array(new CStone1(), new CStone1(), new CStone1(), new CStone1(), new CStone1(), new CStone1(), new CStone1());
mcStone2 = new Array(new CStone2(), new CStone2(), new CStone2(), new CStone2(), new CStone2(), new CStone2(), new CStone2());
mcStone3 = new Array(new CStone3(), new CStone3(), new CStone3(), new CStone3(), new CStone3(), new CStone3(), new CStone3());
mcTree0 = new Array(new CTree0(), new CTree0(), new CTree0(), new CTree0(), new CTree0(), new CTree0(), new CTree0());
mcTree1 = new Array(new CTree1(), new CTree1(), new CTree1(), new CTree1(), new CTree1(), new CTree1(), new CTree1());
mcTree2 = new Array(new CTree2(), new CTree2(), new CTree2(), new CTree2(), new CTree2(), new CTree2(), new CTree2());
mcTree3 = new Array(new CTree3(), new CTree3(), new CTree3(), new CTree3(), new CTree3(), new CTree3(), new CTree3());
mcWall0 = new Array(new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0());
mcWall1 = new Array(new CWall1(), new CWall1(), new CWall1(), new CWall1(), new CWall1(), new CWall1(), new CWall1());
break;
case GParams.ICELAND:
mcStone0 = new Array(new IStone0(), new IStone0(), new IStone0(), new IStone0(), new IStone0(), new IStone0(), new IStone0());
mcStone1 = new Array(new IStone1(), new IStone1(), new IStone1(), new IStone1(), new IStone1(), new IStone1(), new IStone1());
mcStone2 = new Array(new IStone2(), new IStone2(), new IStone2(), new IStone2(), new IStone2(), new IStone2(), new IStone2());
mcStone3 = new Array(new IStone3(), new IStone3(), new IStone3(), new IStone3(), new IStone3(), new IStone3(), new IStone3());
mcTree0 = new Array(new ITree0(), new ITree0(), new ITree0(), new ITree0(), new ITree0(), new ITree0(), new ITree0());
mcTree1 = new Array(new ITree1(), new ITree1(), new ITree1(), new ITree1(), new ITree1(), new ITree1(), new ITree1());
mcTree2 = new Array(new ITree2(), new ITree2(), new ITree2(), new ITree2(), new ITree2(), new ITree2(), new ITree2());
mcTree3 = new Array(new ITree3(), new ITree3(), new ITree3(), new ITree3(), new ITree3(), new ITree3(), new ITree3());
mcWall0 = new Array(new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0(), new CWall0());
mcWall1 = new Array(new CWall1(), new CWall1(), new CWall1(), new CWall1(), new CWall1(), new CWall1(), new CWall1());
break;
case GParams.DESERT:
mcStone0 = new Array(new DStone0(), new DStone0(), new DStone0(), new DStone0(), new DStone0(), new DStone0(), new DStone0());
mcStone1 = new Array(new DStone1(), new DStone1(), new DStone1(), new DStone1(), new DStone1(), new DStone1(), new DStone1());
mcStone2 = new Array(new DStone2(), new DStone2(), new DStone2(), new DStone2(), new DStone2(), new DStone2(), new DStone2());
mcStone3 = new Array(new DStone3(), new DStone3(), new DStone3(), new DStone3(), new DStone3(), new DStone3(), new DStone3());
mcTree0 = new Array(new DTree0(), new DTree0(), new DTree0(), new DTree0(), new DTree0(), new DTree0(), new DTree0());
mcTree1 = new Array(new DTree1(), new DTree1(), new DTree1(), new DTree1(), new DTree1(), new DTree1(), new DTree1());
mcTree2 = new Array(new DTree2(), new DTree2(), new DTree2(), new DTree2(), new DTree2(), new DTree2(), new DTree2());
mcTree3 = new Array(new DTree3(), new DTree3(), new DTree3(), new DTree3(), new DTree3(), new DTree3(), new DTree3());
mcWall0 = new Array(new RWall0(), new RWall0(), new RWall0(), new RWall0(), new RWall0(), new RWall0(), new RWall0(), new RWall0(), new RWall0(), new RWall0());
mcWall1 = new Array(new RWall1(), new RWall1(), new RWall1(), new RWall1(), new RWall1(), new RWall1(), new RWall1(), new RWall1());
break;
};
}
}
}//package
Section 151
//Exotic (Exotic)
package {
import flash.display.*;
public class Exotic extends Car {
public var rb:MovieClip;
public var rf:MovieClip;
public var lf:MovieClip;
public var lb:MovieClip;
public var burn:MovieClip;
public function Exotic(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
leftF = lf;
rightF = rf;
leftB = lb;
rightB = rb;
Burn = burn;
Shadow = new ShadowExotic();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 152
//FinalYouWinSound (FinalYouWinSound)
package {
import flash.media.*;
public dynamic class FinalYouWinSound extends Sound {
}
}//package
Section 153
//FinishLine (FinishLine)
package {
import flash.display.*;
public dynamic class FinishLine extends MovieClip {
}
}//package
Section 154
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 155
//GameOver (GameOver)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class GameOver extends MovieClip {
public var addGame:SimpleButton;
var urlPlayMore:String;// = "http://www.flasharcade.com"
var requestPlayMore:URLRequest;// = null
public var endFrame:Boolean;// = false
public var playMore:SimpleButton;
public var box:MovieClip;
private static var gameOver:GameOver = null;
public function GameOver(){
urlPlayMore = "http://www.flasharcade.com";
requestPlayMore = null;
endFrame = false;
super();
addFrameScript(47, frame48);
}
public function getPlayerName():String{
var _local1:String;
_local1 = box.player.text;
if (_local1 == null){
return (null);
};
box.errormesg.text = "";
return (_local1);
}
public function init(){
gotoAndPlay(1);
requestPlayMore = new URLRequest(urlPlayMore);
playMore.addEventListener(MouseEvent.CLICK, handleClick);
}
public function writePlayerName(_arg1:String){
box.player.text = _arg1;
}
public function removeAllListener(){
playMore.removeEventListener(MouseEvent.CLICK, handleClick);
}
public function handleClick(_arg1:MouseEvent){
var event = _arg1;
try {
navigateToURL(requestPlayMore, "_blank");
} catch(e:Error) {
};
}
public function updateScores(){
box.totalScore.text = GParams.gameScore.toString();
trace(box.totalScore.text);
}
public function resetData(){
box.totalScore.text = " ";
box.player.text = "";
box.errormesg.text = " ";
}
function frame48(){
stop();
}
public function setErrorMesg(_arg1:String){
box.errormesg.text = _arg1;
}
public static function getInstance():GameOver{
if (gameOver == null){
gameOver = new (GameOver);
};
gameOver.resetData();
return (gameOver);
}
}
}//package
Section 156
//Garage (Garage)
package {
import flash.display.*;
public dynamic class Garage extends MovieClip {
public var garageHelp:MovieClip;
public var raceWonPop:MovieClip;
public var upgradeBack:SimpleButton;
public var repairBack:SimpleButton;
public var repairLink:SimpleButton;
public var upgradeLink:SimpleButton;
public var repairScreen:MovieClip;
public var gameSavePop:MovieClip;
public var carSelectScreen:MovieClip;
public var noMoney:MovieClip;
public var garageMain:MovieClip;
public var buyScreen:MovieClip;
public var Save:SimpleButton;
public var helpBn:SimpleButton;
public var buyLink:SimpleButton;
public var upgradeScreen:MovieClip;
public var playMore:SimpleButton;
public var buyBack:SimpleButton;
public var garageDisplay:MovieClip;
public var quitPopup:MovieClip;
public var eventsLink:SimpleButton;
public var eventsBack:SimpleButton;
public var addMore:SimpleButton;
public var eventsScreen:MovieClip;
public var menuLink:SimpleButton;
public function Garage(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame6(){
stop();
}
function frame1(){
stop();
this.noMoney.gotoAndStop(1);
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 157
//GarageSound (GarageSound)
package {
import flash.media.*;
public dynamic class GarageSound extends Sound {
}
}//package
Section 158
//GParams (GParams)
package {
public class GParams {
public static var MAX_VEL:Array = new Array(3);
public static var totalDrift0:Number;
public static var prize:Number = 0;
public static var DESERT:uint = 0;
public static var OFF_ROAD_FRICTION_SLIDING:Array = new Array(3);
public static var SPRINT:uint = 2;
public static var UpperBound:Number = 0;
public static var TWO:uint = 2;
public static var carDamage1:Number = 0;
public static var carDamage2:Number = 0;
public static var carDamage3:Number = 0;
public static var startX:Number = 0;
public static var startY:Number = 0;
public static var MAX_ROT:Array = new Array(3);
public static var curveTile:Number = 0;
public static var OFF_ROAD_FRICTION_ROLLING:Array = new Array(3);
public static var currDamage:Number = 0;
public static var STONE:uint = 1;
public static var ONE:uint = 1;
public static var THRESHOLD:Number = (ROAD_WIDTH * 0.95);
public static var BG:uint = 100;
public static var currentSpeed:Number = 0;
public static var AIlevel:Number = 1;
public static var spdUpgrade2:uint = 11;
public static var spdUpgrade3:uint = 19;
public static var driftFactor:Number = 10;
public static var spdUpgrade1:uint = 3;
public static var ROT_FRIC_SLID:Array = new Array(3);
public static var reputation:Number = 0;
public static var SLOW_DCC:Array = new Array(3);
public static var currentDrift0:Number;
public static var CHK:Number = 1;
public static var eventRace:Array = new Array(new Array(0, 0, 0), new Array(0, 0, 0), new Array(0, 0, 0, 0), new Array(0, 0), new Array(0, 0), new Array(0, 0, 0, 0, 0));
public static var FINISH:uint = 500;
public static var damage1:int = 0;
public static var damage2:int = 0;
public static var damage3:int = 0;
public static var ZERO:uint = 0;
public static var myCar1:Boolean = false;
public static var myCar2:Boolean = false;
public static var myCar3:Boolean = false;
public static var ev:int = 0;
public static var FIVE:uint = 5;
public static var ANGLE:uint = 250;
public static var RET_TURN_VEL:Array = new Array(3);
public static var TURN_VEL:Array = new Array(3);
public static var CURVE:uint = 2;
public static var ICELAND:uint = 3;
public static var fullDamage:Number = 100;
public static var RightBound:Number = 600;
public static var MAX_ACC:Array = new Array(3);
public static var ROT_VEL:Array = new Array(3);
public static var EXOTIC:uint = 2;
public static var STRAIGHT:uint = 1;
public static var trailColor:Array = new Array();
public static var ODD:uint = 1;
public static var EVEN:uint = 0;
public static var LowerBound:Number = 500;
public static var ROAD:uint = 200;
public static var evRace:int = 0;
public static var FOUR:uint = 4;
public static var CAR_ROT_MAX:Array = new Array(3);
public static var cash:int = 0;
public static var BLANK:uint = 0;
public static var accUpgrade1:uint = 2;
public static var accUpgrade2:uint = 7;
public static var accUpgrade3:uint = 17;
public static var Events:int = 1;
public static var RIVERSIDE:uint = 1;
public static var SIDE:Number = 390;
public static var TUNER:uint = 1;
public static var nPt0:Number = 0;
public static var Direction:Boolean = false;
public static var nPt2:Number = 0;
public static var nPt3:Number = 0;
public static var nPt1:Number = 0;
public static var CAR_ROT_VEL:Array = new Array(3);
public static var MUSCLE:uint = 0;
public static var currentBG:uint = 0;
public static var level:Array = new Array(new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array(), new Array());
public static var THREE:uint = 3;
public static var currentLevel:uint = 1;
public static var upgrade1:int = 1;
public static var upgrade2:int = 1;
public static var LeftBound:Number = 0;
public static var MaxX:uint = 50;
public static var MaxY:uint = 50;
public static var upgrade3:int = 1;
public static var currentCar:uint;
public static var totalLaps:uint = 1;
public static var TREE:uint = 2;
public static var DRUM:uint = 3;
public static var BARRIER:uint = 300;
public static var reputationPts:Number = 0;
public static var gameScore = 0;
public static var ROAD_WIDTH:Number = SIDE;
public static var stopAI2:Boolean = false;
public static var stopAI3:Boolean = false;
public static var WALL:uint = 4;
public static var COUNTRYSIDE:uint = 2;
public static var stopAI1:Boolean = false;
public static var FRICTION_SLIDING:Array = new Array(3);
public static var hndUpgrade1:uint = 5;
public static var hndUpgrade2:uint = 13;
public static var hndUpgrade3:uint = 23;
public static var DRIFT1:uint = 3;
public static var CIRCUIT:uint = 1;
public static var DRIFT2:uint = 4;
public static var FRICTION_ROLLING:Array = new Array(3);
public static var allTile:Number = 0;
public static var currentProfile:int = 0;
public static var currentRace:uint = 1;
public static var NOELEMENT:uint = 0;
trailColor[DESERT] = new Array(5590590, 11047245);
trailColor[RIVERSIDE] = new Array(1249815, 997376);
trailColor[COUNTRYSIDE] = new Array(8679252, 6249259);
trailColor[ICELAND] = new Array(5197396, 11121589);
MAX_ACC[0] = 0.35;
FRICTION_ROLLING[0] = 0.1;
FRICTION_SLIDING[0] = 0.65;
ROT_FRIC_SLID[0] = 0.5;
MAX_ROT[0] = 30;
MAX_VEL[0] = 30;
OFF_ROAD_FRICTION_ROLLING[0] = (MAX_ACC[0] - 0.1);
OFF_ROAD_FRICTION_SLIDING[0] = (FRICTION_SLIDING[0] - 0.2);
CAR_ROT_MAX[0] = 2.5;
CAR_ROT_VEL[0] = 0.5;
TURN_VEL[0] = 3;
RET_TURN_VEL[0] = (TURN_VEL[0] - 0.1);
SLOW_DCC[0] = 0.7;
MAX_ACC[1] = 0.3;
FRICTION_ROLLING[1] = 0.1;
FRICTION_SLIDING[1] = 0.7;
ROT_FRIC_SLID[1] = 0.4;
MAX_ROT[1] = 30;
MAX_VEL[1] = 28;
OFF_ROAD_FRICTION_ROLLING[1] = (MAX_ACC[1] - 0.1);
OFF_ROAD_FRICTION_SLIDING[1] = (FRICTION_SLIDING[1] - 0.2);
CAR_ROT_MAX[1] = 2.5;
CAR_ROT_VEL[1] = 0.6;
TURN_VEL[1] = 3;
RET_TURN_VEL[1] = (TURN_VEL[1] - 0.2);
SLOW_DCC[1] = 0.7;
MAX_ACC[2] = 0.28;
FRICTION_ROLLING[2] = 0.1;
FRICTION_SLIDING[2] = 0.8;
ROT_FRIC_SLID[2] = 0.3;
MAX_ROT[2] = 30;
MAX_VEL[2] = 35;
OFF_ROAD_FRICTION_ROLLING[2] = (MAX_ACC[2] - 0.1);
OFF_ROAD_FRICTION_SLIDING[2] = (FRICTION_SLIDING[2] - 0.2);
CAR_ROT_MAX[2] = 2.8;
CAR_ROT_VEL[2] = 0.45;
TURN_VEL[2] = 3;
RET_TURN_VEL[2] = (TURN_VEL[2] - 0.1);
SLOW_DCC[2] = 0.7;
MAX_ACC[3] = 0.5;
FRICTION_ROLLING[3] = 0.1;
FRICTION_SLIDING[3] = 0.4;
ROT_FRIC_SLID[3] = 0.3;
MAX_ROT[3] = 30;
MAX_VEL[3] = 25;
OFF_ROAD_FRICTION_ROLLING[3] = (MAX_ACC[3] - 0.04);
OFF_ROAD_FRICTION_SLIDING[3] = FRICTION_SLIDING[3];
CAR_ROT_MAX[3] = 3;
CAR_ROT_VEL[3] = 0.5;
TURN_VEL[3] = 3;
RET_TURN_VEL[3] = (TURN_VEL[3] - 0.2);
SLOW_DCC[3] = 0.9;
level[0] = new Array([BG, COUNTRYSIDE, 0, 0], [ROAD, STRAIGHT, EVEN, 4, 5, ZERO], [ROAD, CURVE, EVEN, 4, 4, TWO], [ROAD, CURVE, ODD, 5, 4, ONE], [ROAD, STRAIGHT, EVEN, 5, 4, ONE], [ROAD, STRAIGHT, ODD, 6, 5, ONE], [ROAD, STRAIGHT, EVEN, 6, 5, ONE], [ROAD, CURVE, ODD, 7, 6, FOUR], [ROAD, STRAIGHT, EVEN, 7, 5, TWO], [ROAD, STRAIGHT, ODD, 8, 5, TWO], [ROAD, STRAIGHT, EVEN, 8, 4, TWO], [ROAD, CURVE, ODD, 9, 4, ONE], [ROAD, STRAIGHT, EVEN, 9, 4, ONE], [ROAD, STRAIGHT, ODD, 10, 5, ONE], [ROAD, STRAIGHT, EVEN, 10, 5, ONE], [ROAD, STRAIGHT, ODD, 11, 6, ONE], [ROAD, STRAIGHT, EVEN, 11, 6, ONE], [ROAD, CURVE, ODD, 12, 7, ZERO], [ROAD, STRAIGHT, ODD, 12, 8, ZERO], [ROAD, STRAIGHT, ODD, 12, 9, ZERO], [ROAD, STRAIGHT, ODD, 12, 10, ZERO], [ROAD, STRAIGHT, ODD, 12, 11, ZERO], [ROAD, CURVE, ODD, 12, 12, FIVE], [ROAD, STRAIGHT, EVEN, 11, 12, TWO], [ROAD, STRAIGHT, ODD, 11, 13, TWO], [ROAD, CURVE, EVEN, 10, 13, TWO], [ROAD, CURVE, EVEN, 10, 14, FIVE], [ROAD, CURVE, ODD, 10, 15, TWO], [ROAD, CURVE, ODD, 10, 16, THREE], [ROAD, CURVE, EVEN, 10, 16, ZERO], [ROAD, CURVE, EVEN, 10, 17, FIVE], [ROAD, CURVE, ODD, 10, 18, FOUR], [ROAD, STRAIGHT, EVEN, 9, 17, ONE], [ROAD, STRAIGHT, ODD, 9, 17, ONE], [ROAD, STRAIGHT, EVEN, 8, 16, ONE], [ROAD, STRAIGHT, ODD, 8, 16, ONE], [ROAD, CURVE, EVEN, 7, 15, ONE], [ROAD, CURVE, ODD, 7, 16, TWO], [ROAD, STRAIGHT, ODD, 7, 17, ZERO], [ROAD, CURVE, ODD, 7, 18, FIVE], [ROAD, CURVE, EVEN, 6, 18, FOUR], [ROAD, STRAIGHT, ODD, 6, 18, ONE], [ROAD, STRAIGHT, EVEN, 5, 17, ONE], [ROAD, STRAIGHT, ODD, 5, 17, ONE], [ROAD, CURVE, EVEN, 4, 16, THREE], [ROAD, CURVE, EVEN, 4, 15, TWO], [ROAD, STRAIGHT, ODD, 5, 15, TWO], [ROAD, STRAIGHT, EVEN, 5, 14, TWO], [ROAD, STRAIGHT, ODD, 6, 14, TWO], [ROAD, STRAIGHT, EVEN, 6, 13, TWO], [ROAD, STRAIGHT, ODD, 7, 13, TWO], [ROAD, STRAIGHT, EVEN, 7, 12, TWO], [ROAD, STRAIGHT, ODD, 8, 12, TWO], [ROAD, CURVE, EVEN, 8, 11, FIVE], [ROAD, CURVE, EVEN, 8, 10, ZERO], [ROAD, STRAIGHT, ODD, 8, 10, ONE], [ROAD, STRAIGHT, EVEN, 7, 9, ONE], [ROAD, STRAIGHT, ODD, 7, 9, ONE], [ROAD, STRAIGHT, EVEN, 6, 8, ONE], [ROAD, STRAIGHT, ODD, 6, 8, ONE], [ROAD, STRAIGHT, EVEN, 5, 7, ONE], [ROAD, STRAIGHT, ODD, 5, 7, ONE], [ROAD, CURVE, EVEN, 4, 6, THREE], [ANGLE, 0], [FINISH, 5569, 4583, -60]);
level[1] = new Array([BG, ICELAND, 0, 0], [ROAD, STRAIGHT, EVEN, 9, 4, ONE], [ROAD, STRAIGHT, ODD, 10, 5, ONE], [ROAD, STRAIGHT, EVEN, 10, 5, ONE], [ROAD, CURVE, ODD, 11, 6, FOUR], [ROAD, STRAIGHT, EVEN, 11, 5, TWO], [ROAD, CURVE, ODD, 12, 5, ONE], [ROAD, STRAIGHT, EVEN, 12, 5, ONE], [ROAD, CURVE, ODD, 13, 6, ZERO], [ROAD, STRAIGHT, ODD, 13, 7, ZERO], [ROAD, STRAIGHT, ODD, 13, 8, ZERO], [ROAD, CURVE, ODD, 13, 9, THREE], [ROAD, STRAIGHT, EVEN, 13, 9, ONE], [ROAD, CURVE, ODD, 14, 10, ZERO], [ROAD, CURVE, ODD, 14, 11, FIVE], [ROAD, STRAIGHT, EVEN, 13, 11, TWO], [ROAD, STRAIGHT, ODD, 13, 12, TWO], [ROAD, STRAIGHT, EVEN, 12, 12, TWO], [ROAD, STRAIGHT, ODD, 12, 13, TWO], [ROAD, STRAIGHT, EVEN, 11, 13, TWO], [ROAD, CURVE, ODD, 11, 14, TWO], [ROAD, STRAIGHT, ODD, 11, 15, ZERO], [ROAD, CURVE, ODD, 11, 16, FIVE], [ROAD, CURVE, EVEN, 10, 16, TWO], [ROAD, STRAIGHT, EVEN, 10, 17, ZERO], [ROAD, STRAIGHT, EVEN, 10, 18, ZERO], [ROAD, STRAIGHT, EVEN, 10, 19, ZERO], [ROAD, CURVE, EVEN, 10, 20, THREE], [ROAD, STRAIGHT, ODD, 11, 21, ONE], [ROAD, STRAIGHT, EVEN, 11, 21, ONE], [ROAD, CURVE, ODD, 12, 22, ZERO], [ROAD, STRAIGHT, ODD, 12, 23, ZERO], [ROAD, CURVE, ODD, 12, 24, FIVE], [ROAD, CURVE, EVEN, 11, 24, FOUR], [ROAD, CURVE, ODD, 11, 24, ONE], [ROAD, STRAIGHT, EVEN, 10, 24, TWO], [ROAD, STRAIGHT, ODD, 10, 25, TWO], [ROAD, STRAIGHT, EVEN, 9, 25, TWO], [ROAD, STRAIGHT, ODD, 9, 26, TWO], [ROAD, CURVE, EVEN, 8, 26, FOUR], [ROAD, CURVE, ODD, 8, 26, THREE], [ROAD, CURVE, ODD, 8, 25, ZERO], [ROAD, STRAIGHT, EVEN, 7, 24, ONE], [ROAD, STRAIGHT, ODD, 7, 24, ONE], [ROAD, CURVE, EVEN, 6, 23, ONE], [ROAD, CURVE, ODD, 6, 24, FOUR], [ROAD, CURVE, EVEN, 5, 23, THREE], [ROAD, STRAIGHT, EVEN, 5, 22, ZERO], [ROAD, CURVE, EVEN, 5, 21, TWO], [ROAD, STRAIGHT, ODD, 6, 21, TWO], [ROAD, STRAIGHT, EVEN, 6, 20, TWO], [ROAD, CURVE, ODD, 7, 20, FIVE], [ROAD, CURVE, ODD, 7, 19, ZERO], [ROAD, STRAIGHT, EVEN, 6, 18, ONE], [ROAD, CURVE, ODD, 6, 18, THREE], [ROAD, STRAIGHT, ODD, 6, 17, ZERO], [ROAD, STRAIGHT, ODD, 6, 16, ZERO], [ROAD, STRAIGHT, ODD, 6, 15, ZERO], [ROAD, CURVE, ODD, 6, 14, ZERO], [ROAD, CURVE, EVEN, 5, 13, THREE], [ROAD, CURVE, EVEN, 5, 12, ZERO], [ROAD, STRAIGHT, ODD, 5, 12, ONE], [ROAD, STRAIGHT, EVEN, 4, 11, ONE], [ROAD, CURVE, ODD, 4, 11, THREE], [ROAD, STRAIGHT, ODD, 4, 10, ZERO], [ROAD, STRAIGHT, ODD, 4, 9, ZERO], [ROAD, STRAIGHT, ODD, 4, 8, ZERO], [ROAD, STRAIGHT, ODD, 4, 7, ZERO], [ROAD, CURVE, ODD, 4, 6, TWO], [ROAD, CURVE, EVEN, 4, 5, ONE], [ROAD, STRAIGHT, ODD, 5, 6, ONE], [ROAD, STRAIGHT, EVEN, 5, 6, ONE], [ROAD, CURVE, ODD, 6, 7, FOUR], [ROAD, STRAIGHT, EVEN, 6, 6, TWO], [ROAD, STRAIGHT, ODD, 7, 6, TWO], [ROAD, STRAIGHT, EVEN, 7, 5, TWO], [ROAD, STRAIGHT, ODD, 8, 5, TWO], [ROAD, STRAIGHT, EVEN, 8, 4, TWO], [ROAD, CURVE, ODD, 9, 4, ONE], [ANGLE, 60], [FINISH, 10230, 2895, 60]);
level[2] = new Array([BG, COUNTRYSIDE, 0, 0], [ROAD, STRAIGHT, EVEN, 4, 8, TWO], [ROAD, STRAIGHT, ODD, 5, 8, TWO], [ROAD, STRAIGHT, EVEN, 5, 7, TWO], [ROAD, STRAIGHT, ODD, 6, 7, TWO], [ROAD, STRAIGHT, EVEN, 6, 6, TWO], [ROAD, STRAIGHT, ODD, 7, 6, TWO], [ROAD, STRAIGHT, EVEN, 7, 5, TWO], [ROAD, STRAIGHT, ODD, 8, 5, TWO], [ROAD, CURVE, EVEN, 8, 4, ONE], [ROAD, CURVE, ODD, 9, 5, ZERO], [ROAD, STRAIGHT, ODD, 9, 6, ZERO], [ROAD, CURVE, ODD, 9, 7, THREE], [ROAD, CURVE, EVEN, 9, 7, FOUR], [ROAD, STRAIGHT, ODD, 10, 7, TWO], [ROAD, STRAIGHT, EVEN, 10, 6, TWO], [ROAD, STRAIGHT, ODD, 11, 6, TWO], [ROAD, CURVE, EVEN, 11, 5, ONE], [ROAD, STRAIGHT, ODD, 12, 6, ONE], [ROAD, CURVE, EVEN, 12, 6, ZERO], [ROAD, STRAIGHT, EVEN, 12, 7, ZERO], [ROAD, STRAIGHT, EVEN, 12, 8, ZERO], [ROAD, CURVE, EVEN, 12, 9, THREE], [ROAD, STRAIGHT, ODD, 13, 10, ONE], [ROAD, CURVE, EVEN, 13, 10, ZERO], [ROAD, CURVE, EVEN, 13, 11, FIVE], [ROAD, STRAIGHT, ODD, 13, 12, TWO], [ROAD, STRAIGHT, EVEN, 12, 12, TWO], [ROAD, STRAIGHT, ODD, 12, 13, TWO], [ROAD, STRAIGHT, EVEN, 11, 13, TWO], [ROAD, STRAIGHT, ODD, 11, 14, TWO], [ROAD, STRAIGHT, EVEN, 10, 14, TWO], [ROAD, STRAIGHT, ODD, 10, 15, TWO], [ROAD, CURVE, EVEN, 9, 15, FOUR], [ROAD, STRAIGHT, ODD, 9, 15, ONE], [ROAD, CURVE, EVEN, 8, 14, THREE], [ROAD, CURVE, EVEN, 8, 13, TWO], [ROAD, CURVE, ODD, 9, 13, FIVE], [ROAD, STRAIGHT, ODD, 9, 12, ZERO], [ROAD, STRAIGHT, ODD, 9, 11, ZERO], [ROAD, CURVE, ODD, 9, 10, ZERO], [ROAD, CURVE, EVEN, 8, 9, ONE], [ROAD, STRAIGHT, ODD, 8, 10, TWO], [ROAD, STRAIGHT, EVEN, 7, 10, TWO], [ROAD, STRAIGHT, ODD, 7, 11, TWO], [ROAD, STRAIGHT, EVEN, 6, 11, TWO], [ROAD, CURVE, ODD, 6, 12, TWO], [ROAD, CURVE, ODD, 6, 13, THREE], [ROAD, STRAIGHT, EVEN, 6, 13, ONE], [ROAD, CURVE, ODD, 7, 14, ZERO], [ROAD, CURVE, ODD, 7, 15, THREE], [ROAD, STRAIGHT, EVEN, 7, 15, ONE], [ROAD, STRAIGHT, ODD, 8, 16, ONE], [ROAD, STRAIGHT, EVEN, 8, 16, ONE], [ROAD, STRAIGHT, ODD, 9, 17, ONE], [ROAD, STRAIGHT, EVEN, 9, 17, ONE], [ROAD, STRAIGHT, ODD, 10, 18, ONE], [ROAD, CURVE, EVEN, 10, 18, ZERO], [ROAD, CURVE, EVEN, 10, 19, THREE], [ROAD, STRAIGHT, ODD, 11, 20, ONE], [ROAD, CURVE, EVEN, 11, 20, ZERO], [ROAD, CURVE, EVEN, 11, 21, FIVE], [ROAD, STRAIGHT, ODD, 11, 22, TWO], [ROAD, STRAIGHT, EVEN, 10, 22, TWO], [ROAD, STRAIGHT, ODD, 10, 23, TWO], [ROAD, STRAIGHT, EVEN, 9, 23, TWO], [ROAD, CURVE, ODD, 9, 24, FOUR], [ROAD, CURVE, EVEN, 8, 23, THREE], [ROAD, CURVE, EVEN, 8, 22, ZERO], [ROAD, CURVE, ODD, 8, 22, ONE], [ROAD, STRAIGHT, EVEN, 7, 22, TWO], [ROAD, CURVE, ODD, 7, 23, FOUR], [ROAD, CURVE, EVEN, 6, 22, THREE], [ROAD, STRAIGHT, EVEN, 6, 21, ZERO], [ROAD, STRAIGHT, EVEN, 6, 20, ZERO], [ROAD, CURVE, EVEN, 6, 19, ZERO], [ROAD, STRAIGHT, ODD, 6, 19, ONE], [ROAD, STRAIGHT, EVEN, 5, 18, ONE], [ROAD, STRAIGHT, ODD, 5, 18, ONE], [ROAD, STRAIGHT, EVEN, 4, 17, ONE], [ROAD, CURVE, ODD, 4, 17, THREE], [ROAD, STRAIGHT, ODD, 4, 16, ZERO], [ROAD, STRAIGHT, ODD, 4, 15, ZERO], [ROAD, STRAIGHT, ODD, 4, 14, ZERO], [ROAD, STRAIGHT, ODD, 4, 13, ZERO], [ROAD, STRAIGHT, ODD, 4, 12, ZERO], [ROAD, STRAIGHT, ODD, 4, 11, ZERO], [ROAD, STRAIGHT, ODD, 4, 10, ZERO], [ROAD, CURVE, ODD, 4, 9, TWO], [ANGLE, 120], [FINISH, 4691, 0x1919, 0]);
level[3] = new Array([BG, ICELAND, 0, 0], [ROAD, STRAIGHT, ODD, 12, 5, ONE], [ROAD, CURVE, EVEN, 12, 5, ZERO], [ROAD, CURVE, EVEN, 12, 6, FIVE], [ROAD, CURVE, ODD, 12, 7, TWO], [ROAD, CURVE, ODD, 12, 8, THREE], [ROAD, STRAIGHT, EVEN, 12, 8, ONE], [ROAD, CURVE, ODD, 13, 9, FOUR], [ROAD, STRAIGHT, EVEN, 13, 8, TWO], [ROAD, STRAIGHT, ODD, 14, 8, TWO], [ROAD, STRAIGHT, EVEN, 14, 7, TWO], [ROAD, STRAIGHT, ODD, 15, 7, TWO], [ROAD, CURVE, EVEN, 15, 6, ONE], [ROAD, STRAIGHT, ODD, 16, 7, ONE], [ROAD, STRAIGHT, EVEN, 16, 7, ONE], [ROAD, CURVE, ODD, 17, 8, ZERO], [ROAD, STRAIGHT, ODD, 17, 9, ZERO], [ROAD, CURVE, ODD, 17, 10, FIVE], [ROAD, STRAIGHT, EVEN, 16, 10, TWO], [ROAD, STRAIGHT, ODD, 16, 11, TWO], [ROAD, STRAIGHT, EVEN, 15, 11, TWO], [ROAD, STRAIGHT, ODD, 15, 12, TWO], [ROAD, STRAIGHT, EVEN, 14, 12, TWO], [ROAD, STRAIGHT, ODD, 14, 13, TWO], [ROAD, STRAIGHT, EVEN, 13, 13, TWO], [ROAD, CURVE, ODD, 13, 14, TWO], [ROAD, CURVE, ODD, 13, 15, THREE], [ROAD, STRAIGHT, EVEN, 13, 15, ONE], [ROAD, CURVE, ODD, 14, 16, ZERO], [ROAD, CURVE, ODD, 14, 17, FIVE], [ROAD, CURVE, EVEN, 13, 17, FOUR], [ROAD, CURVE, ODD, 13, 17, ONE], [ROAD, STRAIGHT, EVEN, 12, 17, TWO], [ROAD, STRAIGHT, ODD, 12, 18, TWO], [ROAD, STRAIGHT, EVEN, 11, 18, TWO], [ROAD, STRAIGHT, ODD, 11, 19, TWO], [ROAD, STRAIGHT, EVEN, 10, 19, TWO], [ROAD, STRAIGHT, ODD, 10, 20, TWO], [ROAD, CURVE, EVEN, 9, 20, FOUR], [ROAD, STRAIGHT, ODD, 9, 20, ONE], [ROAD, CURVE, EVEN, 8, 19, THREE], [ROAD, CURVE, EVEN, 8, 18, TWO], [ROAD, STRAIGHT, ODD, 9, 18, TWO], [ROAD, CURVE, EVEN, 9, 17, FIVE], [ROAD, CURVE, EVEN, 9, 16, ZERO], [ROAD, CURVE, ODD, 9, 16, ONE], [ROAD, STRAIGHT, EVEN, 8, 16, TWO], [ROAD, CURVE, ODD, 8, 17, FOUR], [ROAD, CURVE, EVEN, 7, 16, THREE], [ROAD, STRAIGHT, EVEN, 7, 15, ZERO], [ROAD, STRAIGHT, EVEN, 7, 14, ZERO], [ROAD, CURVE, EVEN, 7, 13, ZERO], [ROAD, STRAIGHT, ODD, 7, 13, ONE], [ROAD, STRAIGHT, EVEN, 6, 12, ONE], [ROAD, STRAIGHT, ODD, 6, 12, ONE], [ROAD, STRAIGHT, EVEN, 5, 11, ONE], [ROAD, STRAIGHT, ODD, 5, 11, ONE], [ROAD, CURVE, EVEN, 4, 10, THREE], [ROAD, CURVE, EVEN, 4, 9, TWO], [ROAD, CURVE, ODD, 5, 9, FIVE], [ROAD, CURVE, ODD, 5, 8, TWO], [ROAD, CURVE, EVEN, 5, 7, ONE], [ROAD, CURVE, ODD, 6, 8, FOUR], [ROAD, CURVE, EVEN, 6, 7, FIVE], [ROAD, STRAIGHT, EVEN, 6, 6, ZERO], [ROAD, CURVE, EVEN, 6, 5, TWO], [ROAD, CURVE, ODD, 7, 5, ONE], [ROAD, STRAIGHT, EVEN, 7, 5, ONE], [ROAD, STRAIGHT, ODD, 8, 6, ONE], [ROAD, STRAIGHT, EVEN, 8, 6, ONE], [ROAD, STRAIGHT, ODD, 9, 7, ONE], [ROAD, STRAIGHT, EVEN, 9, 7, ONE], [ROAD, STRAIGHT, ODD, 10, 8, ONE], [ROAD, CURVE, EVEN, 10, 8, FOUR], [ROAD, CURVE, ODD, 11, 8, FIVE], [ROAD, STRAIGHT, ODD, 11, 7, ZERO], [ROAD, STRAIGHT, ODD, 11, 6, ZERO], [ROAD, CURVE, ODD, 11, 5, TWO], [ROAD, CURVE, EVEN, 11, 4, ONE], [ANGLE, 60], [FINISH, 13167, 3236, 60]);
level[4] = new Array([BG, DESERT, 0, 0], [ROAD, STRAIGHT, EVEN, 6, 4, ONE], [ROAD, STRAIGHT, ODD, 7, 5, ONE], [ROAD, STRAIGHT, EVEN, 7, 5, ONE], [ROAD, STRAIGHT, ODD, 8, 6, ONE], [ROAD, STRAIGHT, EVEN, 8, 6, ONE], [ROAD, STRAIGHT, ODD, 9, 7, ONE], [ROAD, STRAIGHT, EVEN, 9, 7, ONE], [ROAD, CURVE, ODD, 10, 8, FOUR], [ROAD, CURVE, EVEN, 10, 7, FIVE], [ROAD, STRAIGHT, EVEN, 10, 6, ZERO], [ROAD, CURVE, EVEN, 10, 5, TWO], [ROAD, CURVE, ODD, 11, 5, ONE], [ROAD, CURVE, EVEN, 11, 5, ZERO], [ROAD, CURVE, EVEN, 11, 6, THREE], [ROAD, STRAIGHT, ODD, 12, 7, ONE], [ROAD, STRAIGHT, EVEN, 12, 7, ONE], [ROAD, STRAIGHT, ODD, 13, 8, ONE], [ROAD, STRAIGHT, EVEN, 13, 8, ONE], [ROAD, STRAIGHT, ODD, 14, 9, ONE], [ROAD, STRAIGHT, EVEN, 14, 9, ONE], [ROAD, CURVE, ODD, 15, 10, ZERO], [ROAD, STRAIGHT, ODD, 15, 11, ZERO], [ROAD, CURVE, ODD, 15, 12, FIVE], [ROAD, CURVE, EVEN, 14, 12, FOUR], [ROAD, CURVE, ODD, 14, 12, THREE], [ROAD, CURVE, ODD, 14, 11, ZERO], [ROAD, CURVE, EVEN, 13, 10, ONE], [ROAD, CURVE, ODD, 13, 11, TWO], [ROAD, STRAIGHT, ODD, 13, 12, ZERO], [ROAD, CURVE, ODD, 13, 13, FIVE], [ROAD, CURVE, EVEN, 12, 13, FOUR], [ROAD, STRAIGHT, ODD, 12, 13, ONE], [ROAD, STRAIGHT, EVEN, 11, 12, ONE], [ROAD, CURVE, ODD, 11, 12, ONE], [ROAD, CURVE, EVEN, 10, 12, TWO], [ROAD, STRAIGHT, EVEN, 10, 13, ZERO], [ROAD, STRAIGHT, EVEN, 10, 14, ZERO], [ROAD, STRAIGHT, EVEN, 10, 15, ZERO], [ROAD, CURVE, EVEN, 10, 16, FIVE], [ROAD, CURVE, ODD, 10, 17, FOUR], [ROAD, CURVE, EVEN, 9, 16, THREE], [ROAD, STRAIGHT, EVEN, 9, 15, ZERO], [ROAD, STRAIGHT, EVEN, 9, 14, ZERO], [ROAD, STRAIGHT, EVEN, 9, 13, ZERO], [ROAD, STRAIGHT, EVEN, 9, 12, ZERO], [ROAD, STRAIGHT, EVEN, 9, 11, ZERO], [ROAD, CURVE, EVEN, 9, 10, ZERO], [ROAD, CURVE, ODD, 9, 10, ONE], [ROAD, CURVE, EVEN, 8, 10, TWO], [ROAD, STRAIGHT, EVEN, 8, 11, ZERO], [ROAD, CURVE, EVEN, 8, 12, FIVE], [ROAD, CURVE, ODD, 8, 13, FOUR], [ROAD, CURVE, EVEN, 7, 12, THREE], [ROAD, CURVE, EVEN, 7, 11, ZERO], [ROAD, CURVE, ODD, 7, 11, ONE], [ROAD, CURVE, EVEN, 6, 11, TWO], [ROAD, STRAIGHT, EVEN, 6, 12, ZERO], [ROAD, CURVE, EVEN, 6, 13, FIVE], [ROAD, CURVE, ODD, 6, 14, FOUR], [ROAD, STRAIGHT, EVEN, 5, 13, ONE], [ROAD, STRAIGHT, ODD, 5, 13, ONE], [ROAD, STRAIGHT, EVEN, 4, 12, ONE], [ROAD, CURVE, ODD, 4, 12, THREE], [ROAD, CURVE, ODD, 4, 11, TWO], [ROAD, STRAIGHT, EVEN, 4, 10, TWO], [ROAD, CURVE, ODD, 5, 10, FIVE], [ROAD, STRAIGHT, ODD, 5, 9, ZERO], [ROAD, STRAIGHT, ODD, 5, 8, ZERO], [ROAD, STRAIGHT, ODD, 5, 7, ZERO], [ROAD, STRAIGHT, ODD, 5, 6, ZERO], [ROAD, CURVE, ODD, 5, 5, TWO], [ROAD, STRAIGHT, EVEN, 5, 4, TWO], [ROAD, CURVE, ODD, 6, 4, ONE], [ANGLE, 60], [FINISH, 6723, 2874, 60]);
level[5] = new Array([BG, DESERT, 0, 0], [ROAD, STRAIGHT, ODD, 17, 8, ONE], [ROAD, STRAIGHT, EVEN, 16, 7, ONE], [ROAD, CURVE, ODD, 16, 7, ONE], [ROAD, CURVE, EVEN, 15, 7, FOUR], [ROAD, STRAIGHT, ODD, 15, 7, ONE], [ROAD, STRAIGHT, EVEN, 14, 6, ONE], [ROAD, STRAIGHT, ODD, 14, 6, ONE], [ROAD, STRAIGHT, EVEN, 13, 5, ONE], [ROAD, STRAIGHT, ODD, 13, 5, ONE], [ROAD, STRAIGHT, EVEN, 12, 4, ONE], [ROAD, CURVE, ODD, 12, 4, ONE], [ROAD, STRAIGHT, EVEN, 11, 4, TWO], [ROAD, STRAIGHT, ODD, 11, 5, TWO], [ROAD, STRAIGHT, EVEN, 10, 5, TWO], [ROAD, STRAIGHT, ODD, 10, 6, TWO], [ROAD, STRAIGHT, EVEN, 9, 6, TWO], [ROAD, CURVE, ODD, 9, 7, FOUR], [ROAD, CURVE, EVEN, 8, 6, THREE], [ROAD, CURVE, EVEN, 8, 5, ZERO], [ROAD, CURVE, ODD, 8, 5, ONE], [ROAD, STRAIGHT, EVEN, 7, 5, TWO], [ROAD, CURVE, ODD, 7, 6, TWO], [ROAD, STRAIGHT, ODD, 7, 7, ZERO], [ROAD, STRAIGHT, ODD, 7, 8, ZERO], [ROAD, CURVE, ODD, 7, 9, THREE], [ROAD, STRAIGHT, EVEN, 7, 9, ONE], [ROAD, STRAIGHT, ODD, 8, 10, ONE], [ROAD, STRAIGHT, EVEN, 8, 10, ONE], [ROAD, STRAIGHT, ODD, 9, 11, ONE], [ROAD, STRAIGHT, EVEN, 9, 11, ONE], [ROAD, STRAIGHT, ODD, 10, 12, ONE], [ROAD, STRAIGHT, EVEN, 10, 12, ONE], [ROAD, STRAIGHT, ODD, 11, 13, ONE], [ROAD, STRAIGHT, EVEN, 11, 13, ONE], [ROAD, CURVE, ODD, 12, 14, FOUR], [ROAD, CURVE, EVEN, 12, 13, ONE], [ROAD, STRAIGHT, ODD, 13, 14, ONE], [ROAD, STRAIGHT, EVEN, 13, 14, ONE], [ROAD, STRAIGHT, ODD, 14, 15, ONE], [ROAD, CURVE, EVEN, 14, 15, FOUR], [ROAD, STRAIGHT, ODD, 15, 15, TWO], [ROAD, STRAIGHT, EVEN, 15, 14, TWO], [ROAD, CURVE, ODD, 16, 14, FIVE], [ROAD, CURVE, ODD, 16, 13, TWO], [ROAD, CURVE, EVEN, 16, 12, ONE], [ROAD, CURVE, ODD, 17, 13, ZERO], [ROAD, CURVE, ODD, 17, 14, THREE], [ROAD, STRAIGHT, EVEN, 17, 14, ONE], [ROAD, STRAIGHT, ODD, 18, 15, ONE], [ROAD, STRAIGHT, EVEN, 18, 15, ONE], [ROAD, CURVE, ODD, 19, 16, ZERO], [ROAD, STRAIGHT, ODD, 19, 17, ZERO], [ROAD, STRAIGHT, ODD, 19, 18, ZERO], [ROAD, STRAIGHT, ODD, 19, 19, ZERO], [ROAD, STRAIGHT, ODD, 19, 20, ZERO], [ROAD, STRAIGHT, ODD, 19, 21, ZERO], [ROAD, CURVE, ODD, 19, 22, FIVE], [ROAD, CURVE, EVEN, 18, 22, FOUR], [ROAD, CURVE, ODD, 18, 22, ONE], [ROAD, CURVE, EVEN, 17, 22, TWO], [ROAD, STRAIGHT, EVEN, 17, 23, ZERO], [ROAD, STRAIGHT, EVEN, 17, 24, ZERO], [ROAD, CURVE, EVEN, 17, 25, FIVE], [ROAD, CURVE, ODD, 17, 26, FOUR], [ROAD, STRAIGHT, EVEN, 16, 25, ONE], [ROAD, STRAIGHT, ODD, 16, 25, ONE], [ROAD, CURVE, EVEN, 15, 24, ONE], [ROAD, STRAIGHT, ODD, 15, 25, TWO], [ROAD, STRAIGHT, EVEN, 14, 25, TWO], [ROAD, STRAIGHT, ODD, 14, 26, TWO], [ROAD, STRAIGHT, EVEN, 13, 26, TWO], [ROAD, STRAIGHT, ODD, 13, 27, TWO], [ROAD, STRAIGHT, EVEN, 12, 27, TWO], [ROAD, STRAIGHT, ODD, 12, 28, TWO], [ROAD, STRAIGHT, EVEN, 11, 28, TWO], [ROAD, STRAIGHT, ODD, 11, 29, TWO], [ROAD, STRAIGHT, EVEN, 10, 29, TWO], [ROAD, STRAIGHT, ODD, 10, 30, TWO], [ROAD, STRAIGHT, EVEN, 9, 30, TWO], [ROAD, CURVE, ODD, 9, 31, FOUR], [ROAD, STRAIGHT, EVEN, 8, 30, ONE], [ROAD, STRAIGHT, ODD, 8, 30, ONE], [ROAD, STRAIGHT, EVEN, 7, 29, ONE], [ROAD, STRAIGHT, ODD, 7, 29, ONE], [ROAD, STRAIGHT, EVEN, 6, 28, ONE], [ROAD, STRAIGHT, ODD, 6, 28, ONE], [ROAD, STRAIGHT, EVEN, 5, 27, ONE], [ROAD, STRAIGHT, ODD, 5, 27, ONE], [ROAD, STRAIGHT, EVEN, 4, 26, ONE], [ANGLE, 240], [FINISH, 5584, 18066, -60], [BARRIER, 20156, 5557, 30]);
level[6] = new Array([BG, COUNTRYSIDE, 0, 0], [ROAD, STRAIGHT, ODD, 4, 12, TWO], [ROAD, STRAIGHT, EVEN, 4, 11, TWO], [ROAD, STRAIGHT, ODD, 5, 11, TWO], [ROAD, STRAIGHT, EVEN, 5, 10, TWO], [ROAD, STRAIGHT, ODD, 6, 10, TWO], [ROAD, STRAIGHT, EVEN, 6, 9, TWO], [ROAD, CURVE, ODD, 7, 9, FIVE], [ROAD, STRAIGHT, ODD, 7, 8, ZERO], [ROAD, STRAIGHT, ODD, 7, 7, ZERO], [ROAD, CURVE, ODD, 7, 6, TWO], [ROAD, CURVE, EVEN, 7, 5, ONE], [ROAD, STRAIGHT, ODD, 8, 6, ONE], [ROAD, STRAIGHT, EVEN, 8, 6, ONE], [ROAD, CURVE, ODD, 9, 7, FOUR], [ROAD, CURVE, EVEN, 9, 6, FIVE], [ROAD, CURVE, EVEN, 9, 5, TWO], [ROAD, CURVE, ODD, 10, 5, ONE], [ROAD, STRAIGHT, EVEN, 10, 5, ONE], [ROAD, STRAIGHT, ODD, 11, 6, ONE], [ROAD, STRAIGHT, EVEN, 11, 6, ONE], [ROAD, STRAIGHT, ODD, 12, 7, ONE], [ROAD, STRAIGHT, EVEN, 12, 7, ONE], [ROAD, STRAIGHT, ODD, 13, 8, ONE], [ROAD, STRAIGHT, EVEN, 13, 8, ONE], [ROAD, STRAIGHT, ODD, 14, 9, ONE], [ROAD, STRAIGHT, EVEN, 14, 9, ONE], [ROAD, STRAIGHT, ODD, 15, 10, ONE], [ROAD, STRAIGHT, EVEN, 15, 10, ONE], [ROAD, CURVE, ODD, 16, 11, ZERO], [ROAD, STRAIGHT, ODD, 16, 12, ZERO], [ROAD, STRAIGHT, ODD, 16, 13, ZERO], [ROAD, STRAIGHT, ODD, 16, 14, ZERO], [ROAD, STRAIGHT, ODD, 16, 15, ZERO], [ROAD, STRAIGHT, ODD, 16, 16, ZERO], [ROAD, STRAIGHT, ODD, 16, 17, ZERO], [ROAD, STRAIGHT, ODD, 16, 18, ZERO], [ROAD, STRAIGHT, ODD, 16, 19, ZERO], [ROAD, CURVE, ODD, 16, 20, FIVE], [ROAD, CURVE, EVEN, 15, 20, TWO], [ROAD, STRAIGHT, EVEN, 15, 21, ZERO], [ROAD, STRAIGHT, EVEN, 15, 22, ZERO], [ROAD, STRAIGHT, EVEN, 15, 23, ZERO], [ROAD, STRAIGHT, EVEN, 15, 24, ZERO], [ROAD, CURVE, EVEN, 15, 25, THREE], [ROAD, CURVE, ODD, 16, 26, ZERO], [ROAD, STRAIGHT, ODD, 16, 27, ZERO], [ROAD, STRAIGHT, ODD, 16, 28, ZERO], [ROAD, STRAIGHT, ODD, 16, 29, ZERO], [ROAD, CURVE, ODD, 16, 30, FIVE], [ROAD, STRAIGHT, EVEN, 15, 30, TWO], [ROAD, STRAIGHT, ODD, 15, 31, TWO], [ROAD, CURVE, EVEN, 14, 31, FOUR], [ROAD, CURVE, ODD, 14, 31, ONE], [ROAD, CURVE, EVEN, 13, 31, TWO], [ROAD, CURVE, EVEN, 13, 32, THREE], [ROAD, CURVE, ODD, 14, 33, ZERO], [ROAD, STRAIGHT, ODD, 14, 34, ZERO], [ROAD, STRAIGHT, ODD, 14, 35, ZERO], [ROAD, STRAIGHT, ODD, 14, 36, ZERO], [ROAD, CURVE, ODD, 14, 37, THREE], [ROAD, STRAIGHT, EVEN, 14, 37, ONE], [ROAD, STRAIGHT, ODD, 15, 38, ONE], [ROAD, STRAIGHT, EVEN, 15, 38, ONE], [ROAD, STRAIGHT, ODD, 16, 39, ONE], [ROAD, STRAIGHT, EVEN, 16, 39, ONE], [ROAD, STRAIGHT, ODD, 17, 40, ONE], [ROAD, STRAIGHT, EVEN, 17, 40, ONE], [ROAD, STRAIGHT, ODD, 18, 41, ONE], [ROAD, STRAIGHT, EVEN, 18, 41, ONE], [ROAD, STRAIGHT, ODD, 19, 42, ONE], [ROAD, CURVE, EVEN, 19, 42, ZERO], [ROAD, STRAIGHT, EVEN, 19, 43, ZERO], [ROAD, STRAIGHT, EVEN, 19, 44, ZERO], [ROAD, CURVE, EVEN, 19, 45, FIVE], [ROAD, STRAIGHT, ODD, 19, 46, TWO], [ROAD, CURVE, EVEN, 18, 46, FOUR], [ROAD, CURVE, ODD, 18, 46, THREE], [ROAD, CURVE, ODD, 18, 45, ZERO], [ROAD, CURVE, EVEN, 17, 44, ONE], [ROAD, STRAIGHT, ODD, 17, 45, TWO], [ROAD, STRAIGHT, EVEN, 16, 45, TWO], [ROAD, STRAIGHT, ODD, 16, 46, TWO], [ROAD, STRAIGHT, EVEN, 15, 46, TWO], [ROAD, STRAIGHT, ODD, 15, 47, TWO], [ROAD, CURVE, EVEN, 14, 47, FOUR], [ROAD, STRAIGHT, ODD, 14, 47, ONE], [ROAD, STRAIGHT, EVEN, 13, 46, ONE], [ROAD, STRAIGHT, ODD, 13, 46, ONE], [ROAD, STRAIGHT, EVEN, 12, 45, ONE], [ROAD, STRAIGHT, ODD, 12, 45, ONE], [ROAD, STRAIGHT, EVEN, 11, 44, ONE], [ROAD, CURVE, ODD, 11, 44, ONE], [ANGLE, 120], [FINISH, 13184, 29884, -60], [BARRIER, 4381, 8284, 150]);
level[7] = new Array([BG, ICELAND, 0, 0], [ROAD, STRAIGHT, EVEN, 5, 10, ZERO], [ROAD, STRAIGHT, EVEN, 5, 11, ZERO], [ROAD, STRAIGHT, EVEN, 5, 12, ZERO], [ROAD, STRAIGHT, EVEN, 5, 13, ZERO], [ROAD, STRAIGHT, EVEN, 5, 14, ZERO], [ROAD, STRAIGHT, EVEN, 5, 15, ZERO], [ROAD, CURVE, EVEN, 5, 16, FIVE], [ROAD, CURVE, ODD, 5, 17, TWO], [ROAD, CURVE, ODD, 5, 18, THREE], [ROAD, CURVE, EVEN, 5, 18, FOUR], [ROAD, CURVE, ODD, 6, 18, ONE], [ROAD, STRAIGHT, EVEN, 6, 18, ONE], [ROAD, STRAIGHT, ODD, 7, 19, ONE], [ROAD, CURVE, EVEN, 7, 19, ZERO], [ROAD, CURVE, EVEN, 7, 20, THREE], [ROAD, CURVE, ODD, 8, 21, FOUR], [ROAD, CURVE, EVEN, 8, 20, FIVE], [ROAD, CURVE, EVEN, 8, 19, TWO], [ROAD, STRAIGHT, ODD, 9, 19, TWO], [ROAD, CURVE, EVEN, 9, 18, FIVE], [ROAD, STRAIGHT, EVEN, 9, 17, ZERO], [ROAD, STRAIGHT, EVEN, 9, 16, ZERO], [ROAD, STRAIGHT, EVEN, 9, 15, ZERO], [ROAD, STRAIGHT, EVEN, 9, 14, ZERO], [ROAD, STRAIGHT, EVEN, 9, 13, ZERO], [ROAD, STRAIGHT, EVEN, 9, 12, ZERO], [ROAD, CURVE, EVEN, 9, 11, TWO], [ROAD, STRAIGHT, ODD, 10, 11, TWO], [ROAD, STRAIGHT, EVEN, 10, 10, TWO], [ROAD, STRAIGHT, ODD, 11, 10, TWO], [ROAD, STRAIGHT, EVEN, 11, 9, TWO], [ROAD, STRAIGHT, ODD, 12, 9, TWO], [ROAD, CURVE, EVEN, 12, 8, FIVE], [ROAD, STRAIGHT, EVEN, 12, 7, ZERO], [ROAD, STRAIGHT, EVEN, 12, 6, ZERO], [ROAD, CURVE, EVEN, 12, 5, TWO], [ROAD, STRAIGHT, ODD, 13, 5, TWO], [ROAD, STRAIGHT, EVEN, 13, 4, TWO], [ROAD, CURVE, ODD, 14, 4, ONE], [ROAD, STRAIGHT, EVEN, 14, 4, ONE], [ROAD, STRAIGHT, ODD, 15, 5, ONE], [ROAD, CURVE, EVEN, 15, 5, ZERO], [ROAD, STRAIGHT, EVEN, 15, 6, ZERO], [ROAD, STRAIGHT, EVEN, 15, 7, ZERO], [ROAD, STRAIGHT, EVEN, 15, 8, ZERO], [ROAD, STRAIGHT, EVEN, 15, 9, ZERO], [ROAD, STRAIGHT, EVEN, 15, 10, ZERO], [ROAD, STRAIGHT, EVEN, 15, 11, ZERO], [ROAD, STRAIGHT, EVEN, 15, 12, ZERO], [ROAD, STRAIGHT, EVEN, 15, 13, ZERO], [ROAD, STRAIGHT, EVEN, 15, 14, ZERO], [ROAD, STRAIGHT, EVEN, 15, 15, ZERO], [ROAD, STRAIGHT, EVEN, 15, 16, ZERO], [ROAD, CURVE, EVEN, 15, 17, THREE], [ROAD, CURVE, ODD, 16, 18, FOUR], [ROAD, STRAIGHT, EVEN, 16, 17, TWO], [ROAD, STRAIGHT, ODD, 17, 17, TWO], [ROAD, CURVE, EVEN, 17, 16, ONE], [ROAD, STRAIGHT, ODD, 18, 17, ONE], [ROAD, STRAIGHT, EVEN, 18, 17, ONE], [ROAD, STRAIGHT, ODD, 19, 18, ONE], [ROAD, STRAIGHT, EVEN, 19, 18, ONE], [ROAD, STRAIGHT, ODD, 20, 19, ONE], [ROAD, STRAIGHT, EVEN, 20, 19, ONE], [ROAD, CURVE, ODD, 21, 20, ZERO], [ROAD, CURVE, ODD, 21, 21, FIVE], [ROAD, CURVE, EVEN, 20, 21, TWO], [ROAD, CURVE, EVEN, 20, 22, THREE], [ROAD, STRAIGHT, ODD, 21, 23, ONE], [ROAD, STRAIGHT, EVEN, 21, 23, ONE], [ROAD, STRAIGHT, ODD, 22, 24, ONE], [ROAD, STRAIGHT, EVEN, 22, 24, ONE], [ROAD, STRAIGHT, ODD, 23, 25, ONE], [ROAD, STRAIGHT, EVEN, 23, 25, ONE], [ROAD, CURVE, ODD, 24, 26, ZERO], [ROAD, CURVE, ODD, 24, 27, FIVE], [ROAD, STRAIGHT, EVEN, 23, 27, TWO], [ROAD, STRAIGHT, ODD, 23, 28, TWO], [ROAD, CURVE, EVEN, 22, 28, FOUR], [ROAD, CURVE, ODD, 22, 28, ONE], [ROAD, STRAIGHT, EVEN, 21, 28, TWO], [ROAD, STRAIGHT, ODD, 21, 29, TWO], [ROAD, STRAIGHT, EVEN, 20, 29, TWO], [ROAD, STRAIGHT, ODD, 20, 30, TWO], [ROAD, CURVE, EVEN, 19, 30, TWO], [ROAD, CURVE, EVEN, 19, 31, FIVE], [ROAD, STRAIGHT, ODD, 19, 32, TWO], [ROAD, STRAIGHT, EVEN, 18, 32, TWO], [ROAD, STRAIGHT, ODD, 18, 33, TWO], [ROAD, CURVE, EVEN, 17, 33, FOUR], [ROAD, STRAIGHT, ODD, 17, 33, ONE], [ROAD, STRAIGHT, EVEN, 16, 32, ONE], [ROAD, STRAIGHT, ODD, 16, 32, ONE], [ROAD, CURVE, EVEN, 15, 31, ONE], [ROAD, STRAIGHT, ODD, 15, 32, TWO], [ROAD, STRAIGHT, EVEN, 14, 32, TWO], [ROAD, STRAIGHT, ODD, 14, 33, TWO], [ROAD, STRAIGHT, EVEN, 13, 33, TWO], [ROAD, STRAIGHT, ODD, 13, 34, TWO], [ROAD, STRAIGHT, EVEN, 12, 34, TWO], [ROAD, STRAIGHT, ODD, 12, 35, TWO], [ROAD, STRAIGHT, EVEN, 11, 35, TWO], [ROAD, STRAIGHT, ODD, 11, 36, TWO], [ROAD, CURVE, EVEN, 10, 36, FOUR], [ROAD, CURVE, ODD, 10, 36, ONE], [ROAD, STRAIGHT, EVEN, 9, 36, TWO], [ROAD, STRAIGHT, ODD, 9, 37, TWO], [ROAD, STRAIGHT, EVEN, 8, 37, TWO], [ROAD, STRAIGHT, ODD, 8, 38, TWO], [ROAD, STRAIGHT, EVEN, 7, 38, TWO], [ANGLE, 180], [FINISH, 9672, 25501, -120], [BARRIER, 6424, 6760, -90]);
level[8] = new Array([BG, DESERT, 0, 0], [ROAD, STRAIGHT, ODD, 9, 5, TWO], [ROAD, STRAIGHT, EVEN, 8, 5, TWO], [ROAD, STRAIGHT, ODD, 8, 6, TWO], [ROAD, STRAIGHT, EVEN, 7, 6, TWO], [ROAD, STRAIGHT, ODD, 7, 7, TWO], [ROAD, STRAIGHT, EVEN, 6, 7, TWO], [ROAD, STRAIGHT, ODD, 6, 8, TWO], [ROAD, STRAIGHT, EVEN, 5, 8, TWO], [ROAD, CURVE, ODD, 5, 9, FOUR], [ROAD, CURVE, EVEN, 4, 8, ONE], [ROAD, CURVE, ODD, 4, 9, TWO], [ROAD, CURVE, ODD, 4, 10, THREE], [ROAD, CURVE, EVEN, 4, 10, ZERO], [ROAD, STRAIGHT, EVEN, 4, 11, ZERO], [ROAD, STRAIGHT, EVEN, 4, 12, ZERO], [ROAD, STRAIGHT, EVEN, 4, 13, ZERO], [ROAD, STRAIGHT, EVEN, 4, 14, ZERO], [ROAD, STRAIGHT, EVEN, 4, 15, ZERO], [ROAD, STRAIGHT, EVEN, 4, 16, ZERO], [ROAD, STRAIGHT, EVEN, 4, 17, ZERO], [ROAD, STRAIGHT, EVEN, 4, 18, ZERO], [ROAD, STRAIGHT, EVEN, 4, 19, ZERO], [ROAD, STRAIGHT, EVEN, 4, 20, ZERO], [ROAD, CURVE, EVEN, 4, 21, THREE], [ROAD, STRAIGHT, ODD, 5, 22, ONE], [ROAD, STRAIGHT, EVEN, 5, 22, ONE], [ROAD, STRAIGHT, ODD, 6, 23, ONE], [ROAD, STRAIGHT, EVEN, 6, 23, ONE], [ROAD, STRAIGHT, ODD, 7, 24, ONE], [ROAD, STRAIGHT, EVEN, 7, 24, ONE], [ROAD, CURVE, ODD, 8, 25, FOUR], [ROAD, CURVE, EVEN, 8, 24, FIVE], [ROAD, CURVE, EVEN, 8, 23, TWO], [ROAD, CURVE, ODD, 9, 23, ONE], [ROAD, STRAIGHT, EVEN, 9, 23, ONE], [ROAD, STRAIGHT, ODD, 10, 24, ONE], [ROAD, CURVE, EVEN, 10, 24, FOUR], [ROAD, STRAIGHT, ODD, 11, 24, TWO], [ROAD, STRAIGHT, EVEN, 11, 23, TWO], [ROAD, CURVE, ODD, 12, 23, ONE], [ROAD, CURVE, EVEN, 12, 23, ZERO], [ROAD, STRAIGHT, EVEN, 12, 24, ZERO], [ROAD, STRAIGHT, EVEN, 12, 25, ZERO], [ROAD, STRAIGHT, EVEN, 12, 26, ZERO], [ROAD, STRAIGHT, EVEN, 12, 27, ZERO], [ROAD, STRAIGHT, EVEN, 12, 28, ZERO], [ROAD, STRAIGHT, EVEN, 12, 29, ZERO], [ROAD, CURVE, EVEN, 12, 30, THREE], [ROAD, STRAIGHT, ODD, 13, 31, ONE], [ROAD, STRAIGHT, EVEN, 13, 31, ONE], [ROAD, STRAIGHT, ODD, 14, 32, ONE], [ROAD, CURVE, EVEN, 14, 32, ZERO], [ROAD, STRAIGHT, EVEN, 14, 33, ZERO], [ROAD, STRAIGHT, EVEN, 14, 34, ZERO], [ROAD, STRAIGHT, EVEN, 14, 35, ZERO], [ROAD, CURVE, EVEN, 14, 36, FIVE], [ROAD, CURVE, ODD, 14, 37, TWO], [ROAD, STRAIGHT, ODD, 14, 38, ZERO], [ROAD, STRAIGHT, ODD, 14, 39, ZERO], [ROAD, STRAIGHT, ODD, 14, 40, ZERO], [ROAD, STRAIGHT, ODD, 14, 41, ZERO], [ROAD, STRAIGHT, ODD, 14, 42, ZERO], [ROAD, STRAIGHT, ODD, 14, 43, ZERO], [ROAD, CURVE, ODD, 14, 44, THREE], [ROAD, STRAIGHT, EVEN, 14, 44, ONE], [ROAD, STRAIGHT, ODD, 15, 45, ONE], [ROAD, STRAIGHT, EVEN, 15, 45, ONE], [ROAD, CURVE, ODD, 16, 46, FOUR], [ROAD, CURVE, EVEN, 16, 45, ONE], [ROAD, STRAIGHT, ODD, 17, 46, ONE], [ROAD, STRAIGHT, EVEN, 17, 46, ONE], [ROAD, STRAIGHT, ODD, 18, 47, ONE], [ROAD, STRAIGHT, EVEN, 18, 47, ONE], [ROAD, CURVE, ODD, 19, 48, FOUR], [ROAD, STRAIGHT, EVEN, 19, 47, TWO], [ROAD, CURVE, ODD, 20, 47, ONE], [ROAD, CURVE, EVEN, 20, 47, FOUR], [ROAD, CURVE, ODD, 21, 47, FIVE], [ROAD, CURVE, ODD, 21, 46, ZERO], [ROAD, CURVE, EVEN, 20, 45, THREE], [ROAD, STRAIGHT, EVEN, 20, 44, ZERO], [ROAD, STRAIGHT, EVEN, 20, 43, ZERO], [ROAD, STRAIGHT, EVEN, 20, 42, ZERO], [ROAD, STRAIGHT, EVEN, 20, 41, ZERO], [ROAD, CURVE, EVEN, 20, 40, TWO], [ROAD, STRAIGHT, ODD, 21, 40, TWO], [ROAD, STRAIGHT, EVEN, 21, 39, TWO], [ROAD, CURVE, ODD, 22, 39, ONE], [ROAD, STRAIGHT, EVEN, 22, 39, ONE], [ROAD, STRAIGHT, ODD, 23, 40, ONE], [ROAD, CURVE, EVEN, 23, 40, ZERO], [ROAD, STRAIGHT, EVEN, 23, 41, ZERO], [ROAD, STRAIGHT, EVEN, 23, 42, ZERO], [ROAD, CURVE, EVEN, 23, 43, THREE], [ROAD, CURVE, ODD, 24, 44, FOUR], [ROAD, CURVE, EVEN, 24, 43, FIVE], [ROAD, STRAIGHT, EVEN, 24, 42, ZERO], [ROAD, STRAIGHT, EVEN, 24, 41, ZERO], [ROAD, STRAIGHT, EVEN, 24, 40, ZERO], [ROAD, STRAIGHT, EVEN, 24, 39, ZERO], [ROAD, STRAIGHT, EVEN, 24, 38, ZERO], [ROAD, STRAIGHT, EVEN, 24, 37, ZERO], [ROAD, STRAIGHT, EVEN, 24, 36, ZERO], [ROAD, STRAIGHT, EVEN, 24, 35, ZERO], [ROAD, STRAIGHT, EVEN, 24, 34, ZERO], [ROAD, STRAIGHT, EVEN, 24, 33, ZERO], [ROAD, STRAIGHT, EVEN, 24, 32, ZERO], [ROAD, STRAIGHT, EVEN, 24, 31, ZERO], [ROAD, STRAIGHT, EVEN, 24, 30, ZERO], [ROAD, STRAIGHT, EVEN, 24, 29, ZERO], [ROAD, STRAIGHT, EVEN, 24, 28, ZERO], [ROAD, STRAIGHT, EVEN, 24, 27, ZERO], [ANGLE, 300], [FINISH, 28670, 19618, 0], [BARRIER, 10826, 3210, -30]);
}
}//package
Section 159
//HitSound (HitSound)
package {
import flash.media.*;
public dynamic class HitSound extends Sound {
}
}//package
Section 160
//Hud (Hud)
package {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public class Hud extends MovieClip {
public var indicator:MovieClip;
public var currDriftScore:TextField;
public var speedBar:MovieClip;
private var completed:Number;
private var countDown:MovieClip;
private var updateLap1:Boolean;
private var updateLap2:Boolean;
private var updateLap3:Boolean;
private var carDamage:Number;
private var updateLap0:Boolean;
private var tempP1:Point;
private var tempP3:Point;
private var tempP0:Point;
private var tempP2:Point;
private var noDirection:Boolean;
private var carSpeed:Number;
private var tempP:Point;
private var carPosition:uint;
private var timer:Number;// = 0
private var currLap0:Number;
private var currLap1:Number;
private var currLap2:Number;
private var completed1:Boolean;
private var driftDiff:Number;// = 0
private var completed3:Boolean;
public var directionIndicator:MovieClip;
private var completed2:Boolean;
private var currLap3:Number;
public var damage:MovieClip;
private var directionCounter:Number;// = 0
private var qualDrift:Number;// = 0
public var totaled2:MovieClip;
public var totaled3:MovieClip;
public var totaled1:MovieClip;
public function Hud(){
tempP = new Point();
directionCounter = 0;
timer = 0;
driftDiff = 0;
qualDrift = 0;
super();
}
private function updateDrift(){
indicator.driftReq.replaceText(0, 6, Math.floor(qualDrift));
indicator.driftScore.replaceText(0, 6, Math.floor(GParams.totalDrift0));
if (GParams.currentDrift0 > 0){
currDriftScore.replaceText(0, 6, Math.floor(GParams.currentDrift0).toString());
currDriftScore.visible = true;
currDriftScore.alpha = 1;
} else {
if (currDriftScore.alpha > 0.1){
currDriftScore.alpha = (currDriftScore.alpha - 0.1);
} else {
currDriftScore.visible = false;
};
};
}
public function resetDisplay(){
directionIndicator.visible = false;
speedBar.speed1.gotoAndStop(1);
speedBar.speed2.gotoAndStop(1);
speedBar.speed3.gotoAndStop(1);
damage.damageBar.gotoAndStop(1);
totaled1.visible = false;
totaled2.visible = false;
totaled3.visible = false;
indicator.Cposition.replaceText(0, 1, " ");
indicator.completed.replaceText(0, 3, "0%");
indicator.completed.replaceText(0, 3, " / ");
indicator.driftScore.text = " 0 ";
currDriftScore.replaceText(0, 6, " 0 ");
indicator.driftReq.replaceText(0, 6, " 0 ");
indicator.timeBox.text = " ";
}
private function updateDirection(){
if ((((GParams.currentRace == GParams.SPRINT)) || ((GParams.currentRace == GParams.DRIFT2)))){
if (GParams.nPt0 >= (Container.totalCheckPoints - 2)){
noDirection = true;
};
};
if (!noDirection){
if (GParams.Direction){
directionCounter++;
if (directionCounter > 60){
directionIndicator.visible = true;
};
} else {
directionIndicator.visible = false;
directionCounter = 0;
};
};
}
public function removeCount(){
if (contains(countDown)){
removeChild(countDown);
};
(this.parent as MainClass).addListeners();
}
private function updateSpeed(){
carSpeed = ((GParams.currentSpeed * 200) / 30);
if (carSpeed < 0){
carSpeed = (carSpeed * -1);
};
speedBar.speed1.gotoAndStop(((Math.floor(carSpeed) % 10) + 1));
speedBar.speed2.gotoAndStop(((Math.floor((carSpeed / 10)) % 10) + 1));
speedBar.speed3.gotoAndStop(((Math.floor((carSpeed / 100)) % 10) + 1));
}
public function init(){
startCount();
if (GParams.currentRace == GParams.DRIFT2){
indicator.gotoAndStop(1);
GParams.totalLaps = 1;
};
if (GParams.currentRace == GParams.DRIFT1){
indicator.gotoAndStop(2);
};
if (GParams.currentRace == GParams.SPRINT){
indicator.gotoAndStop(3);
GParams.totalLaps = 1;
};
if (GParams.currentRace == GParams.CIRCUIT){
indicator.gotoAndStop(4);
};
currLap0 = 1;
currLap1 = 1;
currLap2 = 1;
currLap3 = 1;
updateLap0 = false;
updateLap1 = false;
updateLap2 = false;
updateLap3 = false;
GParams.stopAI1 = false;
GParams.stopAI2 = false;
GParams.stopAI3 = false;
completed1 = false;
completed2 = false;
completed3 = false;
totaled1.visible = false;
totaled2.visible = false;
totaled3.visible = false;
noDirection = false;
GParams.totalDrift0 = 0;
GParams.currentDrift0 = 0;
currDriftScore.visible = false;
directionIndicator.visible = false;
carSpeed = 0;
updateSpeed();
carPosition = 0;
timer = ((49 * GParams.allTile) * GParams.totalLaps);
if (MainClass.careerMode){
GParams.fullDamage = (200 + ((GParams.Events - 1) * 25));
driftDiff = ((GParams.Events - 1) * 150);
} else {
driftDiff = 0;
};
qualDrift = (((driftDiff + 900) * GParams.curveTile) * GParams.totalLaps);
updateDamage();
}
private function updatePosition(){
carPosition = 4;
if (GParams.nPt0 < (Container.checkPoints.length - 1)){
tempP.x = Container.checkPoints[(GParams.nPt0 + 1)][0];
tempP.y = Container.checkPoints[(GParams.nPt0 + 1)][1];
} else {
tempP.x = Container.checkPoints[0][0];
tempP.y = Container.checkPoints[0][1];
};
if (!completed1){
if (currLap0 == currLap1){
if (GParams.nPt0 > GParams.nPt1){
carPosition--;
} else {
if (GParams.nPt0 == GParams.nPt1){
if (Point.distance(tempP, tempP0) < Point.distance(tempP, tempP1)){
carPosition--;
};
};
};
} else {
if (currLap0 > currLap1){
carPosition--;
};
};
};
if (!completed2){
if (currLap0 == currLap2){
if (GParams.nPt0 > GParams.nPt2){
carPosition--;
} else {
if (GParams.nPt0 == GParams.nPt2){
if (Point.distance(tempP, tempP0) < Point.distance(tempP, tempP2)){
carPosition--;
};
};
};
} else {
if (currLap0 > currLap2){
carPosition--;
};
};
};
if (!completed3){
if (currLap0 == currLap3){
if (GParams.nPt0 > GParams.nPt3){
carPosition--;
} else {
if (GParams.nPt0 == GParams.nPt3){
if (Point.distance(tempP, tempP0) < Point.distance(tempP, tempP3)){
carPosition--;
};
};
};
} else {
if (currLap0 > currLap3){
carPosition--;
};
};
};
indicator.Cposition.text = (carPosition + "/4");
}
public function updateTime(){
timer--;
indicator.timeBox.text = Math.floor((timer / 10));
if (timer == 0){
(this.parent as MainClass).showResult(7);
};
}
public function updateHud(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point){
tempP0 = _arg1;
tempP1 = _arg2;
tempP2 = _arg3;
tempP3 = _arg4;
updateSpeed();
updateDamage();
updatePosition();
updateCompletion();
updateDirection();
if ((((GParams.currentRace == GParams.DRIFT1)) || ((GParams.currentRace == GParams.DRIFT2)))){
updateDrift();
updateTime();
} else {
indicator.driftScore.replaceText(0, 6, "0");
};
}
private function updateCompletion(){
completed = ((GParams.nPt0 * 100) / Container.totalCheckPoints);
if (completed > 50){
completed = (completed + 2);
};
if ((((GParams.currentRace == GParams.SPRINT)) || ((GParams.currentRace == GParams.DRIFT2)))){
indicator.completed.replaceText(0, 3, (Math.floor(completed) + "%"));
if (completed >= 100){
if (GParams.currentRace == GParams.DRIFT2){
if (GParams.totalDrift0 > qualDrift){
(this.parent as MainClass).showResult(6);
} else {
(this.parent as MainClass).showResult(5);
};
} else {
(this.parent as MainClass).showResult(carPosition);
};
};
} else {
indicator.completed.replaceText(0, 3, ((Math.floor(currLap0) + "/") + GParams.totalLaps));
if (updateLap0){
if (GParams.nPt0 == (Container.totalCheckPoints - 1)){
if (currLap0 < GParams.totalLaps){
currLap0++;
updateLap0 = false;
} else {
currLap0++;
updateLap0 = false;
if (GParams.currentRace == GParams.DRIFT1){
if (GParams.totalDrift0 > qualDrift){
(this.parent as MainClass).showResult(6);
} else {
(this.parent as MainClass).showResult(5);
};
} else {
(this.parent as MainClass).showResult(carPosition);
};
};
};
};
};
if (updateLap1){
if (GParams.nPt1 == (Container.totalCheckPoints - 1)){
if (currLap1 < GParams.totalLaps){
currLap1++;
updateLap1 = false;
} else {
currLap1++;
updateLap1 = false;
GParams.stopAI1 = true;
completed1 = true;
};
};
};
if (updateLap2){
if (GParams.nPt2 == (Container.totalCheckPoints - 1)){
if (currLap2 < GParams.totalLaps){
currLap2++;
updateLap2 = false;
} else {
currLap2++;
updateLap2 = false;
GParams.stopAI2 = true;
completed2 = true;
};
};
};
if (updateLap3){
if (GParams.nPt3 == (Container.totalCheckPoints - 1)){
if (currLap3 < GParams.totalLaps){
currLap3++;
updateLap3 = false;
} else {
currLap3++;
updateLap3 = false;
GParams.stopAI3 = true;
completed3 = true;
};
};
};
if (!updateLap0){
if ((((GParams.nPt0 > (Container.totalCheckPoints / 4))) && ((GParams.nPt0 < ((3 * Container.totalCheckPoints) / 4))))){
updateLap0 = true;
};
};
if (!updateLap1){
if ((((GParams.nPt1 > (Container.totalCheckPoints / 4))) && ((GParams.nPt1 < ((3 * Container.totalCheckPoints) / 4))))){
updateLap1 = true;
};
};
if (!updateLap2){
if ((((GParams.nPt2 > (Container.totalCheckPoints / 4))) && ((GParams.nPt2 < ((3 * Container.totalCheckPoints) / 4))))){
updateLap2 = true;
};
};
if (!updateLap3){
if ((((GParams.nPt3 > (Container.totalCheckPoints / 4))) && ((GParams.nPt3 < ((3 * Container.totalCheckPoints) / 4))))){
updateLap3 = true;
};
};
}
private function updateDamage(){
carDamage = GParams.currDamage;
damage.damageBar.gotoAndStop(Math.floor(carDamage));
if (carDamage >= 100){
GParams.currDamage = 100;
(this.parent as MainClass).container.burnCar0();
(this.parent as MainClass).showResult(-1);
};
if (GParams.carDamage1 >= GParams.fullDamage){
GParams.stopAI1 = true;
totaled1.visible = true;
(this.parent as MainClass).container.burnCar1();
};
if (GParams.carDamage2 >= GParams.fullDamage){
GParams.stopAI2 = true;
totaled2.visible = true;
(this.parent as MainClass).container.burnCar2();
};
if (GParams.carDamage3 >= GParams.fullDamage){
GParams.stopAI3 = true;
totaled3.visible = true;
(this.parent as MainClass).container.burnCar3();
};
GParams.currDamage = carDamage;
}
private function startCount(){
if (countDown == null){
countDown = new CountDown();
};
if (!contains(countDown)){
addChild(countDown);
};
countDown.gotoAndPlay(1);
}
}
}//package
Section 161
//Ice0 (Ice0)
package {
import flash.display.*;
public dynamic class Ice0 extends MovieClip {
}
}//package
Section 162
//Ice1 (Ice1)
package {
import flash.display.*;
public dynamic class Ice1 extends MovieClip {
public var rd:MovieClip;
}
}//package
Section 163
//Ice2 (Ice2)
package {
import flash.display.*;
public dynamic class Ice2 extends MovieClip {
public var rd:MovieClip;
}
}//package
Section 164
//InGameSound (InGameSound)
package {
import flash.media.*;
public dynamic class InGameSound extends Sound {
}
}//package
Section 165
//Interval (Interval)
package {
final class Interval {
var min:Number;
var max:Number;
function Interval(){
this.min = 0;
this.max = 0;
}
function toString():String{
return (((min + " : ") + max));
}
}
}//package
Section 166
//IStone0 (IStone0)
package {
public dynamic class IStone0 extends Stone {
}
}//package
Section 167
//IStone1 (IStone1)
package {
public dynamic class IStone1 extends Stone {
}
}//package
Section 168
//IStone2 (IStone2)
package {
public dynamic class IStone2 extends Stone {
}
}//package
Section 169
//IStone3 (IStone3)
package {
public dynamic class IStone3 extends Stone {
}
}//package
Section 170
//ITree0 (ITree0)
package {
public dynamic class ITree0 extends Tree {
}
}//package
Section 171
//ITree1 (ITree1)
package {
public dynamic class ITree1 extends Tree {
}
}//package
Section 172
//ITree2 (ITree2)
package {
public dynamic class ITree2 extends Tree {
}
}//package
Section 173
//ITree3 (ITree3)
package {
public dynamic class ITree3 extends Tree {
}
}//package
Section 174
//LoseSound (LoseSound)
package {
import flash.media.*;
public dynamic class LoseSound extends Sound {
}
}//package
Section 175
//MainClass (MainClass)
package {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.ui.*;
public class MainClass extends MovieClip {
public var goingBack:Boolean;
var requestAddMore:URLRequest;// = null
var tmp2:Number;// = 0
var helpText:Boolean;// = false
private var raceClicked:Boolean;// = false
private var trophyNo:Number;// = 0
private var loseChannel:Channel;
private var inGameChannel:Channel;
var requestPlayMore:URLRequest;// = null
public var sCar:Number;// = 0
private var myContextMenu:ContextMenu;
private var g:GarageSound;
private var upgradeClicked:Boolean;// = false
private var repairS:RepairSound;
public var garageScreen:Garage;
public var dontPlay:int;
public var quickRace:MovieClip;
public var containerBG:containerBackground;
private var wsChannel:Channel;
public var goToGarage:MovieClip;
public var container:Container;
private var buttonClicked:Boolean;// = false
public var lastRace:Number;// = 0
private var gChannel:Channel;
private var newQuickRace:Boolean;// = false
private var gpr:Number;
private var inGame:InGameSound;
private var slotSelected:Boolean;// = false
private var ws:WelcomeSound;
private var grp:Number;
public var hud:MovieClip;
private var winFinal:FinalYouWinSound;
public var optScreen:Option;
private var showConfirm:Boolean;
public var currentSlot:Number;
private var saveGame:Boolean;
public var finalResult:Number;
private var youWin:YouWin;// = null
private var keyPressChannel:Channel;
var urlPlayMore:String;// = "http://www.flasharcade.com"
var tmp01:int;// = 1
var tmp03:Number;// = 0
public var winScreen:MovieClip;
private var buttonS:ButtonSound;
var tmp02:Number;// = 100
public var mainScreen:MainScreen;
private var winChannel:Channel;
private var showTrophy:Boolean;
private var raceS:RaceSound;
public var currentWin:Sound;
private var showPopup:Boolean;
private var upgradeS:UpgradeSound;
var currentPosition:Point;
public var temp:TextField;
public var win:YouWinSound;
private var loseS:LoseSound;
private var repairClicked:Boolean;// = false
private var gameOver:GameOver;// = null
var urlAddMoreGames:String;// = "http://www.flasharcade.com/flash-games/"
public var playerProfiles:profileManager;
var tmp1:Number;// = 0
public static var rightKey:Boolean;
public static var upKey:Boolean;
public static var pauseKey:Boolean;
public static var careerMode:Boolean = false;
public static var pauseFlag:Boolean;
public static var ScreenRotating:Boolean = true;
public static var handKey:Boolean;
public static var leftKey:Boolean;
public static var spaceKey:Boolean;
public static var downKey:Boolean;
public function MainClass(){
gameOver = null;
youWin = null;
wsChannel = new Channel();
gChannel = new Channel();
winChannel = new Channel();
loseChannel = new Channel();
inGameChannel = new Channel();
keyPressChannel = new Channel();
ws = new WelcomeSound();
g = new GarageSound();
win = new YouWinSound();
winFinal = new FinalYouWinSound();
inGame = new InGameSound();
repairS = new RepairSound();
buttonS = new ButtonSound();
upgradeS = new UpgradeSound();
raceS = new RaceSound();
loseS = new LoseSound();
repairClicked = false;
upgradeClicked = false;
raceClicked = false;
buttonClicked = false;
helpText = false;
trophyNo = 0;
tmp01 = 1;
tmp02 = 100;
tmp1 = 0;
tmp2 = 0;
tmp03 = 0;
sCar = 0;
lastRace = 0;
newQuickRace = false;
slotSelected = false;
urlPlayMore = "http://www.flasharcade.com";
requestPlayMore = null;
urlAddMoreGames = "http://www.flasharcade.com/flash-games/";
requestAddMore = null;
super();
myContextMenu = new ContextMenu();
this.contextMenu = myContextMenu;
myContextMenu.hideBuiltInItems();
requestPlayMore = new URLRequest(urlPlayMore);
requestAddMore = new URLRequest(urlAddMoreGames);
pauseFlag = false;
startGame();
goingBack = false;
}
private function initRace(){
if (containerBG == null){
containerBG = new containerBackground();
};
if (!contains(containerBG)){
addChild(containerBG);
};
if (container == null){
container = new Container();
};
if (!contains(container)){
addChild(container);
container.x = 300;
container.y = 250;
};
if (hud == null){
hud = new Hud();
};
if (optScreen == null){
optScreen = new Option();
};
if (!contains(hud)){
addChild(hud);
hud.x = 250;
hud.y = 250;
};
if (careerMode){
switch (GParams.currentCar){
case GParams.MUSCLE:
GParams.currDamage = GParams.damage1;
break;
case GParams.TUNER:
GParams.currDamage = GParams.damage2;
break;
case GParams.EXOTIC:
GParams.currDamage = GParams.damage3;
break;
};
GParams.carDamage1 = 0;
GParams.carDamage2 = 0;
GParams.carDamage3 = 0;
} else {
trace("not career");
GParams.currDamage = 0;
GParams.AIlevel = 1;
GParams.carDamage1 = 0;
GParams.carDamage2 = 0;
GParams.carDamage3 = 0;
};
containerBG.x = 250;
containerBG.y = 250;
container.init();
container.createMap();
container.addCar();
container.updateMap();
hud.init();
containerBG.gotoAndStop((GParams.currentBG + 1));
inGameChannel.playSound(inGame, true);
unpause(null);
}
private function removeListeners(){
if (hasEventListener(Event.ENTER_FRAME) == true){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
if (this.hasEventListener(MouseEvent.CLICK)){
this.removeEventListener(MouseEvent.CLICK, unpause);
};
};
if (stage.hasEventListener(KeyboardEvent.KEY_DOWN)){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDowN);
};
if (stage.hasEventListener(KeyboardEvent.KEY_UP)){
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUP);
};
}
function mainEnterFrame(_arg1:Event){
if (!stage.hasEventListener(KeyboardEvent.KEY_DOWN)){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
};
if ((((mainScreen.currentFrame == 4)) && (!((mainScreen.profile == null))))){
if (mainScreen.profile.currentFrame == 51){
if (playerProfiles.player1 == null){
mainScreen.profile.slots.slot1.text = "enter your name";
} else {
mainScreen.profile.slots.slot1.text = playerProfiles.player1;
};
if (playerProfiles.player2 == null){
mainScreen.profile.slots.slot2.text = "enter your name";
} else {
mainScreen.profile.slots.slot2.text = playerProfiles.player2;
};
if (playerProfiles.player3 == null){
mainScreen.profile.slots.slot3.text = "enter your name";
} else {
mainScreen.profile.slots.slot3.text = playerProfiles.player3;
};
};
if (mainScreen.profile.currentFrame == 57){
if (!slotSelected){
mainScreen.profile.createProfile.mouseEnabled = false;
mainScreen.profile.createProfile.enabled = false;
};
};
};
if ((((mainScreen.currentFrame == 4)) && (!((mainScreen.profile == null))))){
if (mainScreen.profile.currentFrame == 68){
mainScreen.profile.loadSlots.mcLoadSlot1.mouseChildren = false;
mainScreen.profile.loadSlots.mcLoadSlot1.buttonMode = true;
mainScreen.profile.loadSlots.mcLoadSlot2.mouseChildren = false;
mainScreen.profile.loadSlots.mcLoadSlot2.buttonMode = true;
mainScreen.profile.loadSlots.mcLoadSlot3.mouseChildren = false;
mainScreen.profile.loadSlots.mcLoadSlot3.buttonMode = true;
if (playerProfiles.player1 == null){
mainScreen.profile.loadSlots.mcLoadSlot1.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot1.loadSlot.text = playerProfiles.player1;
};
if (playerProfiles.player2 == null){
mainScreen.profile.loadSlots.mcLoadSlot2.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot2.loadSlot.text = playerProfiles.player2;
};
if (playerProfiles.player3 == null){
mainScreen.profile.loadSlots.mcLoadSlot3.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot3.loadSlot.text = playerProfiles.player3;
};
};
if (mainScreen.profile.currentFrame == 74){
if (!slotSelected){
mainScreen.profile.loadProfile.mouseEnabled = false;
mainScreen.profile.loadProfile.enabled = false;
};
};
};
}
private function startGarage(){
if (mainScreen == null){
mainScreen = new MainScreen();
};
if (!contains(mainScreen)){
startGame();
};
mainScreen.gotoAndStop(1);
careerMode = true;
if (quickRace != null){
quickRace = null;
};
if (garageScreen == null){
garageScreen = new Garage();
};
if (!contains(garageScreen)){
addChild(garageScreen);
garageScreen.x = 0;
garageScreen.y = 0;
};
wsChannel.stopSound();
gChannel.playSound(g, true);
garageScreen.addEventListener(MouseEvent.CLICK, garageMouseClick);
garageScreen.addEventListener(Event.ENTER_FRAME, garageEnterFrame);
GParams.currDamage = GParams.damage1;
GParams.AIlevel = GParams.Events;
}
private function removeQuickRace(){
if (contains(quickRace)){
quickRace.removeEventListener(Event.ENTER_FRAME, quickEnterFrame);
quickRace.removeEventListener(MouseEvent.CLICK, quickMouseClick);
removeChild(quickRace);
mainScreen.welcome.gotoAndPlay(1);
};
}
public function sendGameOverData(_arg1:String, _arg2:Number):Boolean{
var request:URLRequest;
var variables:URLVariables;
var playerName = _arg1;
var score = _arg2;
try {
request = new URLRequest("http://www.flasharcade.com/setscores.php");
request.method = URLRequestMethod.POST;
variables = new URLVariables();
variables.scoreName = playerName;
variables.scoreText = score;
variables.gameId = "ace045";
variables.gameName = "CarGame1";
request.data = variables;
sendToURL(request);
} catch(e:Error) {
gameOver.setErrorMesg("Could not submit the score");
return (false);
} catch(e:SecurityError) {
gameOver.setErrorMesg("Security Error ");
return (false);
};
return (true);
}
private function garageMouseClick(_arg1:MouseEvent){
var evt = _arg1;
if (evt.target.name == "playMore"){
try {
navigateToURL(requestPlayMore, "_blank");
} catch(e:Error) {
};
};
if (evt.target.name == "addMore"){
try {
navigateToURL(requestAddMore, "_blank");
} catch(e:Error) {
};
};
if (evt.target.name == "OK"){
showPopup = false;
};
if (evt.target.name == "saveYes"){
playerProfiles.saveProfile();
saveGame = false;
};
if (evt.target.name == "saveNo"){
saveGame = false;
};
if (evt.target.name == "helpBn"){
helpText = !(helpText);
buttonClicked = true;
};
if (evt.target.name == "upgradeLink"){
buttonClicked = true;
garageScreen.gotoAndStop(2);
};
if (evt.target.name == "repairLink"){
buttonClicked = true;
garageScreen.gotoAndPlay(3);
};
if (evt.target.name == "carSelectLink"){
buttonClicked = true;
garageScreen.gotoAndStop(4);
trace("1", GParams.currentCar);
};
if (evt.target.name == "eventsLink"){
buttonClicked = true;
garageScreen.gotoAndPlay(5);
};
if (evt.target.name == "buyLink"){
buttonClicked = true;
garageScreen.gotoAndPlay(6);
};
if (evt.target.name == "menuLink"){
showConfirm = true;
};
if (evt.target.name == "Yes"){
buttonClicked = true;
showConfirm = false;
garageScreen.gotoAndStop(1);
removeGarage();
wsChannel.playSound(ws, true);
};
if (evt.target.name == "No"){
showConfirm = false;
};
if (evt.target.name == "Save"){
saveGame = true;
};
if (evt.target.name == "upgradeBack"){
if (garageScreen.upgradeScreen.currentFrame == garageScreen.upgradeScreen.totalFrames){
buttonClicked = true;
goToGarage = garageScreen.upgradeScreen;
goToGarage.gotoAndStop(10);
};
};
if (evt.target.name == "repairBack"){
if (garageScreen.repairScreen.currentFrame == garageScreen.repairScreen.totalFrames){
buttonClicked = true;
goToGarage = garageScreen.repairScreen;
goToGarage.gotoAndStop(10);
};
};
if (evt.target.name == "carSelectBack"){
if (garageScreen.carSelectScreen.currentFrame == garageScreen.carSelectScreen.totalFrames){
buttonClicked = true;
goToGarage = garageScreen.carSelectScreen;
goToGarage.gotoAndStop(10);
};
};
if (evt.target.name == "eventsBack"){
if (garageScreen.eventsScreen.currentFrame == garageScreen.eventsScreen.totalFrames){
buttonClicked = true;
goToGarage = garageScreen.eventsScreen;
goToGarage.gotoAndStop(10);
};
};
if (evt.target.name == "buyBack"){
if (garageScreen.buyScreen.currentFrame == garageScreen.buyScreen.totalFrames){
buttonClicked = true;
goToGarage = garageScreen.buyScreen;
goToGarage.gotoAndStop(10);
};
};
if (evt.target.name == "backToGarage"){
buttonClicked = true;
goToGarage = evt.target.parent;
goToGarage.gotoAndStop(10);
};
if (evt.target.name == "prevSector"){
buttonClicked = true;
if (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame > 1){
garageScreen.upgradeScreen.upgradeBox.selectedSector.prevFrame();
};
};
if (evt.target.name == "nextSector"){
buttonClicked = true;
if (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame < 3){
garageScreen.upgradeScreen.upgradeBox.selectedSector.nextFrame();
};
};
if (evt.target.name == "upgradeBn1"){
tmp1 = 1;
switch (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame){
case 1:
if (GParams.cash > 2500){
tmp1 = GParams.accUpgrade1;
GParams.cash = (GParams.cash - 2500);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
case 2:
if (GParams.cash > 4000){
tmp1 = GParams.spdUpgrade1;
GParams.cash = (GParams.cash - 4000);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
case 3:
if (GParams.cash > 3000){
tmp1 = GParams.hndUpgrade1;
GParams.cash = (GParams.cash - 3000);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
};
switch (GParams.currentCar){
case 0:
GParams.upgrade1 = (GParams.upgrade1 * tmp1);
break;
case 1:
GParams.upgrade2 = (GParams.upgrade2 * tmp1);
break;
case 2:
GParams.upgrade3 = (GParams.upgrade3 * tmp1);
break;
};
};
if (evt.target.name == "upgradeBn2"){
tmp1 = 1;
tmp2 = 1;
switch (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame){
case 1:
if (GParams.cash > 6000){
tmp1 = GParams.accUpgrade1;
tmp2 = GParams.accUpgrade2;
GParams.cash = (GParams.cash - 6000);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
case 2:
if (GParams.cash > 7000){
tmp1 = GParams.spdUpgrade1;
tmp2 = GParams.spdUpgrade2;
GParams.cash = (GParams.cash - 7000);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
case 3:
if (GParams.cash > 6500){
tmp1 = GParams.hndUpgrade1;
tmp2 = GParams.hndUpgrade2;
GParams.cash = (GParams.cash - 6500);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
};
switch (GParams.currentCar){
case 0:
GParams.upgrade1 = ((GParams.upgrade1 * tmp2) / tmp1);
break;
case 1:
GParams.upgrade2 = ((GParams.upgrade2 * tmp2) / tmp1);
break;
case 2:
GParams.upgrade3 = ((GParams.upgrade3 * tmp2) / tmp1);
break;
};
};
if (evt.target.name == "upgradeBn3"){
tmp1 = 1;
tmp2 = 1;
switch (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame){
case 1:
if (GParams.cash > 13000){
tmp1 = GParams.accUpgrade2;
tmp2 = GParams.accUpgrade3;
GParams.cash = (GParams.cash - 13000);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
case 2:
if (GParams.cash > 16000){
tmp1 = GParams.spdUpgrade2;
tmp2 = GParams.spdUpgrade3;
GParams.cash = (GParams.cash - 16000);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
case 3:
if (GParams.cash > 14500){
tmp1 = GParams.hndUpgrade2;
tmp2 = GParams.hndUpgrade3;
GParams.cash = (GParams.cash - 14500);
upgradeClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
break;
};
switch (GParams.currentCar){
case 0:
GParams.upgrade1 = ((GParams.upgrade1 * tmp2) / tmp1);
break;
case 1:
GParams.upgrade2 = ((GParams.upgrade2 * tmp2) / tmp1);
break;
case 2:
GParams.upgrade3 = ((GParams.upgrade3 * tmp2) / tmp1);
break;
};
};
if (evt.target.name == "prevCar"){
buttonClicked = true;
if (garageScreen.carSelectScreen.carBox.selectedCar.currentFrame > 1){
garageScreen.carSelectScreen.carBox.selectedCar.prevFrame();
} else {
garageScreen.carSelectScreen.carBox.selectedCar.gotoAndStop(3);
};
switch ((garageScreen.carSelectScreen.carBox.selectedCar.currentFrame - 1)){
case 0:
sCar = GParams.MUSCLE;
if (GParams.myCar1){
GParams.currentCar = GParams.MUSCLE;
GParams.currDamage = GParams.damage1;
};
break;
case 1:
sCar = GParams.TUNER;
if (GParams.myCar2){
GParams.currentCar = GParams.TUNER;
GParams.currDamage = GParams.damage2;
};
break;
case 2:
sCar = GParams.EXOTIC;
if (GParams.myCar3){
GParams.currentCar = GParams.EXOTIC;
GParams.currDamage = GParams.damage3;
};
break;
};
};
if (evt.target.name == "nextCar"){
buttonClicked = true;
if (garageScreen.carSelectScreen.carBox.selectedCar.currentFrame < 3){
garageScreen.carSelectScreen.carBox.selectedCar.nextFrame();
} else {
garageScreen.carSelectScreen.carBox.selectedCar.gotoAndStop(1);
};
switch ((garageScreen.carSelectScreen.carBox.selectedCar.currentFrame - 1)){
case 0:
sCar = GParams.MUSCLE;
if (GParams.myCar1){
GParams.currentCar = GParams.MUSCLE;
GParams.currDamage = GParams.damage1;
};
break;
case 1:
sCar = GParams.TUNER;
if (GParams.myCar2){
GParams.currentCar = GParams.TUNER;
GParams.currDamage = GParams.damage2;
};
break;
case 2:
sCar = GParams.EXOTIC;
if (GParams.myCar3){
GParams.currentCar = GParams.EXOTIC;
GParams.currDamage = GParams.damage3;
};
break;
};
};
if (evt.target.name == "repairBn"){
switch (GParams.currentCar){
case 0:
if (GParams.damage1 > 0){
if (GParams.cash >= ((5000 * GParams.damage1) / 100)){
GParams.cash = (GParams.cash - Math.floor(((5000 * GParams.damage1) / 100)));
GParams.damage1 = 0;
GParams.currDamage = GParams.damage1;
repairClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
};
break;
case 1:
if (GParams.damage2 > 0){
if (GParams.cash >= ((5000 * GParams.damage2) / 100)){
GParams.cash = (GParams.cash - Math.floor(((5000 * GParams.damage2) / 100)));
GParams.damage2 = 0;
GParams.currDamage = GParams.damage2;
repairClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
};
break;
case 2:
if (GParams.damage3 > 0){
if (GParams.cash >= ((5000 * GParams.damage3) / 100)){
GParams.cash = (GParams.cash - Math.floor(((5000 * GParams.damage3) / 100)));
GParams.damage3 = 0;
GParams.currDamage = GParams.damage3;
repairClicked = true;
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
};
break;
};
};
if (evt.target.name == "carBefore"){
buttonClicked = true;
if (garageScreen.buyScreen.buyBox.carDescrp.currentFrame > 1){
garageScreen.buyScreen.buyBox.carDescrp.prevFrame();
} else {
garageScreen.buyScreen.buyBox.carDescrp.gotoAndStop(3);
};
switch ((garageScreen.buyScreen.buyBox.carDescrp.currentFrame - 1)){
case 0:
sCar = GParams.MUSCLE;
if (GParams.myCar1){
GParams.currentCar = GParams.MUSCLE;
GParams.currDamage = GParams.damage1;
};
break;
case 1:
sCar = GParams.TUNER;
if (GParams.myCar2){
GParams.currentCar = GParams.TUNER;
GParams.currDamage = GParams.damage2;
};
break;
case 2:
sCar = GParams.EXOTIC;
if (GParams.myCar3){
GParams.currentCar = GParams.EXOTIC;
GParams.currDamage = GParams.damage3;
};
break;
};
};
if (evt.target.name == "carAfter"){
buttonClicked = true;
if (garageScreen.buyScreen.buyBox.carDescrp.currentFrame < 3){
garageScreen.buyScreen.buyBox.carDescrp.nextFrame();
} else {
garageScreen.buyScreen.buyBox.carDescrp.gotoAndStop(1);
};
switch ((garageScreen.buyScreen.buyBox.carDescrp.currentFrame - 1)){
case 0:
sCar = GParams.MUSCLE;
if (GParams.myCar1){
GParams.currentCar = GParams.MUSCLE;
GParams.currDamage = GParams.damage1;
};
break;
case 1:
sCar = GParams.TUNER;
if (GParams.myCar2){
GParams.currentCar = GParams.TUNER;
GParams.currDamage = GParams.damage2;
};
break;
case 2:
sCar = GParams.EXOTIC;
if (GParams.myCar3){
GParams.currentCar = GParams.EXOTIC;
GParams.currDamage = GParams.damage3;
};
break;
};
};
if (evt.target.name == "buyBn"){
buttonClicked = true;
switch (garageScreen.buyScreen.buyBox.carDescrp.currentFrame){
case 1:
if (!GParams.myCar1){
if (GParams.cash > 0){
GParams.myCar1 = true;
GParams.cash = (GParams.cash - 0);
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
};
break;
case 2:
if (!GParams.myCar2){
if (GParams.cash > 45000){
GParams.myCar2 = true;
GParams.cash = (GParams.cash - 45000);
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
};
break;
case 3:
if (!GParams.myCar3){
if (GParams.cash > 60000){
GParams.myCar3 = true;
GParams.cash = (GParams.cash - 60000);
} else {
garageScreen.noMoney.gotoAndPlay(2);
};
};
break;
};
};
if (evt.target.name == "prevEvent"){
buttonClicked = true;
if (garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame > 1){
garageScreen.eventsScreen.eventsBox.eventSelected.prevFrame();
};
};
if (evt.target.name == "nextEvent"){
buttonClicked = true;
if (garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame < 6){
garageScreen.eventsScreen.eventsBox.eventSelected.nextFrame();
};
};
if (evt.target.name == "prevRace"){
buttonClicked = true;
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.currentFrame > 1){
garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.prevFrame();
};
};
if (evt.target.name == "nextRace"){
buttonClicked = true;
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.currentFrame < garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.totalFrames){
garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.nextFrame();
};
};
if (evt.target.name == "raceBn"){
switch (GParams.currentCar){
case 0:
if (GParams.damage1 < 100){
raceClicked = true;
startRace();
} else {
garageScreen.eventsScreen.eventsBox.damagedCar.gotoAndPlay(2);
};
break;
case 1:
if (GParams.damage2 < 100){
raceClicked = true;
startRace();
} else {
garageScreen.eventsScreen.eventsBox.damagedCar.gotoAndPlay(2);
};
break;
case 2:
if (GParams.damage3 < 100){
raceClicked = true;
startRace();
} else {
garageScreen.eventsScreen.eventsBox.damagedCar.gotoAndPlay(2);
};
break;
};
};
if (repairClicked){
keyPressChannel.playSound(repairS);
repairClicked = false;
} else {
if (upgradeClicked){
keyPressChannel.playSound(upgradeS);
upgradeClicked = false;
} else {
if (raceClicked){
keyPressChannel.playSound(raceS);
raceClicked = false;
} else {
if (buttonClicked){
keyPressChannel.playSound(buttonS);
buttonClicked = false;
};
};
};
};
}
private function checkWon(_arg1:Array){
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.length) {
if (((!((_arg1[_local2] == 1))) && (!((_arg1[_local2] == 3))))){
return (false);
};
_local2++;
};
return (true);
}
private function startRace(){
if (garageScreen != null){
if (contains(garageScreen)){
removeGarage();
};
};
if (quickRace != null){
if (contains(quickRace)){
removeQuickRace();
};
};
if (mainScreen != null){
if (contains(mainScreen)){
removeMainScreen();
};
};
temp = null;
stage.focus = this;
stage.stageFocusRect = false;
initRace();
}
function mainMouseClick(_arg1:MouseEvent){
var evt = _arg1;
if (evt.target.name == "playMore"){
try {
navigateToURL(requestPlayMore, "_blank");
} catch(e:Error) {
};
};
if (evt.target.name == "addMore"){
try {
navigateToURL(requestAddMore, "_blank");
} catch(e:Error) {
};
};
if (evt.target.name == "quickRace"){
selectRaceOptions();
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "instructions"){
mainScreen.gotoAndStop(2);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "highScores"){
mainScreen.gotoAndStop(3);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "career"){
mainScreen.gotoAndStop(4);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "newProfile"){
mainScreen.profile.gotoAndPlay("newProfileFrame");
slotSelected = false;
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "oldProfile"){
mainScreen.profile.gotoAndPlay("loadProfileFrame");
slotSelected = false;
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "back"){
mainScreen.gotoAndStop(1);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "GamePortals"){
mainScreen.gotoAndStop(5);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "iControls"){
mainScreen.iScreen.iBox.iDisplay.gotoAndStop(1);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "iCircuit"){
mainScreen.iScreen.iBox.iDisplay.gotoAndStop(2);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "iSprint"){
mainScreen.iScreen.iBox.iDisplay.gotoAndStop(3);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "iDrift"){
mainScreen.iScreen.iBox.iDisplay.gotoAndStop(4);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "profileBack"){
mainScreen.profile.gotoAndStop(41);
keyPressChannel.playSound(buttonS);
return;
};
if (evt.target.name == "createProfile"){
keyPressChannel.playSound(buttonS);
if ((((currentSlot >= 4)) || ((currentSlot <= 0)))){
trace("no such load slot");
} else {
if (temp.text != ""){
playerProfiles.newProfile(currentSlot, temp.text);
GParams.currentCar = 0;
showPopup = false;
showConfirm = false;
helpText = true;
startGarage();
tmp03 = ((GParams.Events * 10) + 1);
};
};
return;
};
if (evt.target.name == "loadProfile"){
keyPressChannel.playSound(buttonS);
if ((((currentSlot >= 4)) || ((currentSlot <= 0)))){
trace("no such load slot");
} else {
if (temp.text != "empty"){
playerProfiles.loadProfile(currentSlot);
GParams.currentCar = 0;
showPopup = false;
showConfirm = false;
helpText = false;
startGarage();
tmp03 = ((GParams.Events * 10) + 1);
};
};
return;
};
if (evt.target.name == "slot1"){
keyPressChannel.playSound(buttonS);
mainScreen.profile.createProfile.enabled = true;
mainScreen.profile.createProfile.mouseEnabled = true;
slotSelected = true;
evt.target.text = "";
temp = (evt.target as TextField);
mainScreen.profile.slots.mcSlot1.gotoAndStop(2);
mainScreen.profile.slots.mcSlot2.gotoAndStop(1);
mainScreen.profile.slots.mcSlot3.gotoAndStop(1);
if (playerProfiles.player2 == null){
mainScreen.profile.slots.slot2.text = "enter your name";
} else {
mainScreen.profile.slots.slot2.text = playerProfiles.player2;
};
if (playerProfiles.player3 == null){
mainScreen.profile.slots.slot3.text = "enter your name";
} else {
mainScreen.profile.slots.slot3.text = playerProfiles.player3;
};
currentSlot = 1;
return;
};
if (evt.target.name == "slot2"){
keyPressChannel.playSound(buttonS);
mainScreen.profile.createProfile.enabled = true;
mainScreen.profile.createProfile.mouseEnabled = true;
slotSelected = true;
evt.target.text = "";
temp = (evt.target as TextField);
mainScreen.profile.slots.mcSlot1.gotoAndStop(1);
mainScreen.profile.slots.mcSlot2.gotoAndStop(2);
mainScreen.profile.slots.mcSlot3.gotoAndStop(1);
if (playerProfiles.player1 == null){
mainScreen.profile.slots.slot1.text = "enter your name";
} else {
mainScreen.profile.slots.slot1.text = playerProfiles.player1;
};
if (playerProfiles.player3 == null){
mainScreen.profile.slots.slot3.text = "enter your name";
} else {
mainScreen.profile.slots.slot3.text = playerProfiles.player3;
};
currentSlot = 2;
return;
};
if (evt.target.name == "slot3"){
keyPressChannel.playSound(buttonS);
mainScreen.profile.createProfile.enabled = true;
mainScreen.profile.createProfile.mouseEnabled = true;
slotSelected = true;
evt.target.text = "";
temp = (evt.target as TextField);
mainScreen.profile.slots.mcSlot1.gotoAndStop(1);
mainScreen.profile.slots.mcSlot2.gotoAndStop(1);
mainScreen.profile.slots.mcSlot3.gotoAndStop(2);
if (playerProfiles.player1 == null){
mainScreen.profile.slots.slot1.text = "enter your name";
} else {
mainScreen.profile.slots.slot1.text = playerProfiles.player1;
};
if (playerProfiles.player2 == null){
mainScreen.profile.slots.slot2.text = "enter your name";
} else {
mainScreen.profile.slots.slot2.text = playerProfiles.player2;
};
currentSlot = 3;
return;
};
if (evt.target.name == "mcLoadSlot1"){
keyPressChannel.playSound(buttonS);
mainScreen.profile.loadProfile.enabled = true;
mainScreen.profile.loadProfile.mouseEnabled = true;
slotSelected = true;
temp = (evt.target.loadSlot as TextField);
mainScreen.profile.loadSlots.mcLoadSlot1.gotoAndStop(2);
mainScreen.profile.loadSlots.mcLoadSlot2.gotoAndStop(1);
mainScreen.profile.loadSlots.mcLoadSlot3.gotoAndStop(1);
if (playerProfiles.player2 == null){
mainScreen.profile.loadSlots.mcLoadSlot2.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot2.loadSlot.text = playerProfiles.player2;
};
if (playerProfiles.player3 == null){
mainScreen.profile.loadSlots.mcLoadSlot3.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot3.loadSlot.text = playerProfiles.player3;
};
currentSlot = 1;
return;
};
if (evt.target.name == "mcLoadSlot2"){
keyPressChannel.playSound(buttonS);
mainScreen.profile.loadProfile.enabled = true;
mainScreen.profile.loadProfile.mouseEnabled = true;
slotSelected = true;
temp = (evt.target.loadSlot as TextField);
mainScreen.profile.loadSlots.mcLoadSlot1.gotoAndStop(1);
mainScreen.profile.loadSlots.mcLoadSlot2.gotoAndStop(2);
mainScreen.profile.loadSlots.mcLoadSlot3.gotoAndStop(1);
if (playerProfiles.player1 == null){
mainScreen.profile.loadSlots.mcLoadSlot1.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot1.loadSlot.text = playerProfiles.player1;
};
if (playerProfiles.player3 == null){
mainScreen.profile.loadSlots.mcLoadSlot3.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot3.loadSlot.text = playerProfiles.player3;
};
currentSlot = 2;
return;
};
if (evt.target.name == "mcLoadSlot3"){
keyPressChannel.playSound(buttonS);
mainScreen.profile.loadProfile.enabled = true;
mainScreen.profile.loadProfile.mouseEnabled = true;
slotSelected = true;
temp = (evt.target.loadSlot as TextField);
mainScreen.profile.loadSlots.mcLoadSlot1.gotoAndStop(1);
mainScreen.profile.loadSlots.mcLoadSlot2.gotoAndStop(1);
mainScreen.profile.loadSlots.mcLoadSlot3.gotoAndStop(2);
if (playerProfiles.player1 == null){
mainScreen.profile.loadSlots.mcLoadSlot1.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot1.loadSlot.text = playerProfiles.player1;
};
if (playerProfiles.player2 == null){
mainScreen.profile.loadSlots.mcLoadSlot2.loadSlot.text = "empty";
} else {
mainScreen.profile.loadSlots.mcLoadSlot2.loadSlot.text = playerProfiles.player2;
};
currentSlot = 3;
return;
};
}
public function handleClick(_arg1:MouseEvent){
var event = _arg1;
try {
navigateToURL(requestPlayMore, "_blank");
} catch(e:Error) {
};
}
private function onKeyUP(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 37:
leftKey = false;
break;
case 38:
upKey = false;
break;
case 39:
rightKey = false;
break;
case 40:
downKey = false;
break;
case 16:
handKey = false;
break;
case 32:
spaceKey = false;
break;
case 80:
pauseKey = false;
break;
case 82:
ScreenRotating = !(ScreenRotating);
break;
};
}
public function addListeners(){
if (hasEventListener(Event.ENTER_FRAME) == false){
addEventListener(Event.ENTER_FRAME, onEnterFrame);
};
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDowN);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUP);
}
public function fetchHighScore(_arg1:MouseEvent){
var _local2:URLRequest;
var _local3:URLLoader;
var _local4:URLVariables;
keyPressChannel.playSound(buttonS);
emptyScores();
_local2 = new URLRequest("http://www.flasharcade.com/getscoresas3.php");
_local2.method = URLRequestMethod.POST;
_local3 = new URLLoader();
_local3.dataFormat = URLLoaderDataFormat.VARIABLES;
_local4 = new URLVariables();
_local4.gameId = "ace045";
_local2.data = _local4;
_local3.load(_local2);
_local3.addEventListener(Event.COMPLETE, completeHandler);
}
private function onKeyDowN(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 37:
leftKey = true;
break;
case 38:
upKey = true;
break;
case 39:
rightKey = true;
break;
case 40:
downKey = true;
break;
case 16:
handKey = true;
break;
case 32:
spaceKey = true;
break;
case 80:
pauseKey = true;
pauseFlag = !(pauseFlag);
break;
};
}
private function removeGarage(){
removeChild(garageScreen);
garageScreen.removeEventListener(MouseEvent.CLICK, garageMouseClick);
garageScreen.removeEventListener(Event.ENTER_FRAME, garageEnterFrame);
gChannel.stopSound();
}
public function keyPressed(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 77:
if (Channel.muteStatus){
Channel.SETVOL.unmuteAllSound();
} else {
Channel.SETVOL.muteAllSound();
};
break;
};
}
private function onEnterFrame(_arg1:Event){
if (stage.focus == null){
leftKey = false;
upKey = false;
rightKey = false;
downKey = false;
handKey = false;
this.addEventListener(MouseEvent.CLICK, unpause);
};
if (!pauseFlag){
if (contains(optScreen)){
removeChild(optScreen);
unpause(null);
};
container.updateMap();
hud.updateHud(container.car.currPt, container.car1.currPt, container.car2.currPt, container.car3.currPt);
} else {
addChild(optScreen);
optScreen.setValues();
};
}
public function careerCrashUpdate(){
if (GParams.myCar1){
if ((((GParams.damage1 == 100)) && ((GParams.cash < 5000)))){
createGameOver();
return;
};
};
if (((GParams.myCar2) && (!(GParams.myCar3)))){
if ((((((GParams.damage1 == 100)) && ((GParams.damage2 == 100)))) && ((GParams.cash < 5000)))){
createGameOver();
return;
};
};
if (((!(GParams.myCar2)) && (GParams.myCar3))){
if ((((((GParams.damage1 == 100)) && ((GParams.damage3 == 100)))) && ((GParams.cash < 5000)))){
createGameOver();
return;
};
};
if (((GParams.myCar3) && (GParams.myCar2))){
if ((((((((GParams.damage1 == 100)) && ((GParams.damage2 == 100)))) && ((GParams.damage3 == 100)))) && ((GParams.cash < 5000)))){
createGameOver();
return;
};
};
clearGraphics();
showPopup = false;
helpText = false;
startGarage();
}
private function unpause(_arg1:MouseEvent){
stage.focus = this;
}
private function addMainScreen(){
if (!contains(mainScreen)){
addChild(mainScreen);
mainScreen.x = 300;
mainScreen.y = 250;
};
mainScreen.addEventListener(MouseEvent.CLICK, mainMouseClick);
mainScreen.addEventListener(Event.ENTER_FRAME, mainEnterFrame);
wsChannel.playSound(ws, true);
}
private function removeMainScreen(){
mainScreen.removeEventListener(MouseEvent.CLICK, mainMouseClick);
mainScreen.removeEventListener(Event.ENTER_FRAME, mainEnterFrame);
removeChild(mainScreen);
wsChannel.stopSound();
}
public function createGameOver(){
loseChannel.playSound(loseS, true);
gameOver = GameOver.getInstance();
addChild(gameOver);
trace("GAMEOVER ADDED to ", this);
gameOver.init();
gameOver.updateScores();
if (careerMode){
switch (GParams.currentProfile){
case 1:
gameOver.writePlayerName(playerProfiles.player1);
break;
case 2:
gameOver.writePlayerName(playerProfiles.player2);
break;
case 3:
gameOver.writePlayerName(playerProfiles.player3);
break;
};
};
gameOver.box.playAgain.addEventListener(MouseEvent.CLICK, clickPlayAgain);
gameOver.box.submitScore.addEventListener(MouseEvent.CLICK, submitScoreGameOver);
}
public function handleClickAddMore(_arg1:MouseEvent){
var event = _arg1;
try {
navigateToURL(requestAddMore, "_blank");
} catch(e:Error) {
};
}
private function quickEnterFrame(_arg1:Event){
if ((((quickRace.currentFrame == 1)) && (newQuickRace))){
if (quickRace.qIntro != null){
GParams.currentRace = GParams.CIRCUIT;
quickRace.qIntro.raceSelect.circuit.selected = true;
quickRace.qIntro.raceSelect.circuit.useHandCursor = true;
quickRace.qIntro.raceSelect.sprint.useHandCursor = true;
quickRace.qIntro.raceSelect.drift.useHandCursor = true;
quickRace.qIntro.raceSelect.cktText.gotoAndStop(2);
quickRace.qIntro.raceSelect.sptText.gotoAndStop(1);
quickRace.qIntro.raceSelect.drtText.gotoAndStop(1);
newQuickRace = false;
};
};
if (quickRace.currentFrame == 2){
newQuickRace = true;
if (quickRace.trkSelect != null){
if (GParams.currentRace == GParams.CIRCUIT){
if (quickRace.trkSelect.trk_img.trk_img1.currentFrame > 5){
quickRace.trkSelect.trk_img.trk_img1.gotoAndStop(5);
};
};
if (GParams.currentRace == GParams.SPRINT){
if (quickRace.trkSelect.trk_img.trk_img1.currentFrame < 6){
quickRace.trkSelect.trk_img.trk_img1.gotoAndStop(6);
};
};
if (GParams.currentRace == GParams.DRIFT1){
if (GParams.currentLevel > 4){
GParams.currentRace = GParams.DRIFT2;
};
};
if (GParams.currentRace == GParams.DRIFT2){
if (GParams.currentLevel < 5){
GParams.currentRace = GParams.DRIFT1;
};
};
GParams.currentLevel = (quickRace.trkSelect.trk_img.trk_img1.currentFrame - 1);
if (quickRace.trkSelect.trk_img.trk_img1.lapCount != null){
GParams.totalLaps = quickRace.trkSelect.trk_img.trk_img1.lapCount.currentFrame;
};
};
};
if (quickRace.currentFrame == 3){
newQuickRace = true;
if (quickRace.carSelect != null){
GParams.currentCar = (quickRace.carSelect.car_selected.currentFrame - 5);
};
};
}
public function submitScore(_arg1:MouseEvent){
var _local2:String;
var _local3:Number;
keyPressChannel.playSound(buttonS);
youWin.setErrorMesg("");
_local2 = null;
_local2 = youWin.getPlayerName();
_local3 = GParams.gameScore;
if ((((_local2 == null)) || ((_local2 == "")))){
youWin.setErrorMesg("Please enter your name");
} else {
if (sendData(_local2, _local3) == false){
return;
};
displayHighScoreScreen();
};
}
public function sendData(_arg1:String, _arg2:Number):Boolean{
var request:URLRequest;
var variables:URLVariables;
var playerName = _arg1;
var score = _arg2;
try {
request = new URLRequest("http://www.flasharcade.com/setscores.php");
request.method = URLRequestMethod.POST;
variables = new URLVariables();
variables.scoreName = playerName;
variables.scoreText = score;
variables.gameId = "ace045";
variables.gameName = "CarGame1";
request.data = variables;
sendToURL(request);
} catch(e:Error) {
youWin.setErrorMesg("Could not submit the score");
return (false);
} catch(e:SecurityError) {
youWin.setErrorMesg("Security Error ");
return (false);
};
return (true);
}
public function submitScoreGameOver(_arg1:MouseEvent){
var _local2:String;
var _local3:Number;
keyPressChannel.playSound(buttonS);
gameOver.setErrorMesg("");
_local2 = null;
_local2 = gameOver.getPlayerName();
_local3 = GParams.gameScore;
if (_local3 == 0){
gameOver.setErrorMesg("Invalid Score");
};
if ((((_local2 == null)) || ((_local2 == "")))){
gameOver.setErrorMesg("Please enter your name");
} else {
if (sendGameOverData(_local2, _local3) == false){
return;
};
displayHighScoreScreen();
};
}
public function showResult(_arg1:int){
container.dChannel0.stopSound();
container.dChannel1.stopSound();
container.dChannel2.stopSound();
container.dChannel3.stopSound();
if (winScreen == null){
winScreen = new WinText();
};
winScreen.gotoAndStop(1);
finalResult = _arg1;
if (!hud.contains(winScreen)){
hud.addChild(winScreen);
};
winScreen.x = 0;
winScreen.y = 0;
if (_arg1 == -1){
winScreen.gotoAndStop(61);
} else {
if (_arg1 == 1){
winScreen.gotoAndStop(1);
} else {
if (_arg1 < 5){
winScreen.gotoAndStop(121);
} else {
winScreen.gotoAndStop(181);
};
};
};
removeListeners();
if (careerMode){
if (GParams.currDamage >= 100){
GParams.currDamage = 100;
};
switch (GParams.currentCar){
case GParams.MUSCLE:
GParams.damage1 = GParams.currDamage;
break;
case GParams.TUNER:
GParams.damage2 = GParams.currDamage;
break;
case GParams.EXOTIC:
GParams.damage3 = GParams.currDamage;
break;
};
if ((((_arg1 == 1)) || ((_arg1 == 6)))){
if ((((GParams.eventRace[GParams.ev][GParams.evRace] == 1)) || ((GParams.eventRace[GParams.ev][GParams.evRace] == 3)))){
GParams.cash = (GParams.cash + (GParams.prize / 2));
GParams.reputationPts = (GParams.reputationPts + (GParams.reputation / 4));
GParams.gameScore = (GParams.gameScore + (((GParams.reputation / 3) - GParams.currDamage) * 10));
showPopup = true;
gpr = (GParams.prize / 2);
grp = (GParams.reputation / 4);
} else {
GParams.cash = (GParams.cash + GParams.prize);
GParams.reputationPts = (GParams.reputationPts + GParams.reputation);
GParams.gameScore = (GParams.gameScore + ((GParams.reputation - GParams.currDamage) * 10));
showPopup = true;
var _local2 = GParams.eventRace[GParams.ev];
var _local3 = GParams.evRace;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
gpr = GParams.prize;
grp = GParams.reputation;
if (checkCleared(GParams.eventRace[(GParams.Events - 1)])){
GParams.Events++;
};
};
};
if (_arg1 == 2){
if ((((GParams.eventRace[GParams.ev][GParams.evRace] == 2)) || ((GParams.eventRace[GParams.ev][GParams.evRace] == 3)))){
GParams.cash = (GParams.cash + (GParams.prize / 4));
showPopup = true;
gpr = (GParams.prize / 4);
grp = 0;
} else {
GParams.cash = (GParams.cash + ((3 * GParams.prize) / 4));
showPopup = true;
GParams.eventRace[GParams.ev][GParams.evRace] = (GParams.eventRace[GParams.ev][GParams.evRace] + 2);
GParams.gameScore = (GParams.gameScore + (((GParams.reputation / 3) - GParams.currDamage) * 10));
gpr = ((3 * GParams.prize) / 4);
grp = 0;
if (checkCleared(GParams.eventRace[(GParams.Events - 1)])){
GParams.Events++;
};
};
};
} else {
GParams.gameScore = (10000 - (GParams.currDamage * 100));
if (_arg1 == 1){
GParams.gameScore = (GParams.gameScore + 2000);
};
if (_arg1 == 6){
GParams.gameScore = (GParams.gameScore + Math.floor((GParams.totalDrift0 / 10)));
};
if ((((_arg1 == 5)) || ((_arg1 == 7)))){
GParams.gameScore = (GParams.gameScore + Math.floor((GParams.totalDrift0 / 100)));
};
if (GParams.gameScore <= 0){
GParams.gameScore = 0;
};
GParams.currDamage = 0;
GParams.AIlevel = 1;
};
GParams.gameScore = Math.floor(GParams.gameScore);
if (winScreen.currentFrame == 1){
winScreen.gotoAndPlay(2);
} else {
if (winScreen.currentFrame == 61){
winScreen.gotoAndPlay(62);
} else {
if (winScreen.currentFrame == 121){
winScreen.gotoAndPlay(122);
} else {
winScreen.gotoAndPlay(182);
};
};
};
inGameChannel.stopSound();
}
private function startGame(){
if (Channel.SETVOL == null){
wsChannel.setVolObj();
};
winChannel.stopSound();
if (playerProfiles == null){
playerProfiles = new profileManager();
};
if (mainScreen == null){
mainScreen = new MainScreen();
};
if (youWin != null){
if (contains(youWin)){
removeChild(youWin);
};
};
if (gameOver != null){
if (contains(gameOver)){
removeChild(gameOver);
};
};
addMainScreen();
dontPlay = 1;
}
public function displayHighScoreScreen(){
keyPressChannel.playSound(buttonS);
loseChannel.stopSound();
finalResult = -1;
clearGraphics();
startGame();
mainScreen.gotoAndStop(3);
}
private function checkCleared(_arg1:Array){
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.length) {
if (_arg1[_local2] == 0){
return (false);
};
_local2++;
};
return (true);
}
public function createYouWin(){
winChannel.playSound(currentWin, true);
youWin = YouWin.getInstance();
youWin.init();
youWin.updateScores();
if (careerMode){
switch (GParams.currentProfile){
case 1:
youWin.writePlayerName(playerProfiles.player1);
break;
case 2:
youWin.writePlayerName(playerProfiles.player2);
break;
case 3:
youWin.writePlayerName(playerProfiles.player3);
break;
};
};
addChild(youWin);
youWin.x = -75;
youWin.y = -50;
youWin.w1.box.playAgain.addEventListener(MouseEvent.CLICK, clickPlayAgain);
youWin.w1.box.submitScore.addEventListener(MouseEvent.CLICK, submitScore);
}
function quickMouseClick(_arg1:MouseEvent){
if (_arg1.target.name == "circuit"){
keyPressChannel.playSound(buttonS);
GParams.currentRace = GParams.CIRCUIT;
quickRace.qIntro.raceSelect.cktText.gotoAndStop(2);
quickRace.qIntro.raceSelect.sptText.gotoAndStop(1);
quickRace.qIntro.raceSelect.drtText.gotoAndStop(1);
};
if (_arg1.target.name == "sprint"){
keyPressChannel.playSound(buttonS);
GParams.currentRace = GParams.SPRINT;
quickRace.qIntro.raceSelect.cktText.gotoAndStop(1);
quickRace.qIntro.raceSelect.sptText.gotoAndStop(2);
quickRace.qIntro.raceSelect.drtText.gotoAndStop(1);
};
if (_arg1.target.name == "drift"){
keyPressChannel.playSound(buttonS);
GParams.currentRace = GParams.DRIFT1;
quickRace.qIntro.raceSelect.cktText.gotoAndStop(1);
quickRace.qIntro.raceSelect.sptText.gotoAndStop(1);
quickRace.qIntro.raceSelect.drtText.gotoAndStop(2);
};
if (_arg1.target.name == "next"){
keyPressChannel.playSound(buttonS);
if (quickRace.currentFrame != quickRace.totalFrames){
quickRace.nextFrame();
} else {
startRace();
};
};
if (_arg1.target.name == "back"){
keyPressChannel.playSound(buttonS);
if (quickRace.currentFrame == 1){
removeQuickRace();
};
quickRace.prevFrame();
goingBack = true;
};
if (_arg1.target.name == "prevTrk"){
keyPressChannel.playSound(buttonS);
if (quickRace.trkSelect.trk_img.trk_img1.currentFrame != 1){
quickRace.trkSelect.trk_img.trk_img1.prevFrame();
};
};
if (_arg1.target.name == "nextTrk"){
keyPressChannel.playSound(buttonS);
if (quickRace.trkSelect.trk_img.trk_img1.currentFrame != quickRace.trkSelect.trk_img.trk_img1.totalFrames){
quickRace.trkSelect.trk_img.trk_img1.nextFrame();
};
};
if (_arg1.target.name == "prevCar"){
keyPressChannel.playSound(buttonS);
if (quickRace.carSelect.car_selected.currentFrame == 5){
quickRace.carSelect.car_selected.gotoAndStop(7);
} else {
quickRace.carSelect.car_selected.prevFrame();
};
};
if (_arg1.target.name == "nextCar"){
keyPressChannel.playSound(buttonS);
if (quickRace.carSelect.car_selected.currentFrame == 7){
quickRace.carSelect.car_selected.gotoAndStop(5);
} else {
quickRace.carSelect.car_selected.nextFrame();
};
};
if (_arg1.target.name == "lessLap"){
keyPressChannel.playSound(buttonS);
quickRace.trkSelect.trk_img.trk_img1.lapCount.prevFrame();
};
if (_arg1.target.name == "moreLap"){
keyPressChannel.playSound(buttonS);
quickRace.trkSelect.trk_img.trk_img1.lapCount.nextFrame();
};
}
public function quitRace(){
container.dChannel0.stopSound();
container.dChannel1.stopSound();
container.dChannel2.stopSound();
container.dChannel3.stopSound();
removeListeners();
if (careerMode){
if (GParams.currDamage >= 100){
GParams.currDamage = 100;
};
switch (GParams.currentCar){
case GParams.MUSCLE:
GParams.damage1 = GParams.currDamage;
break;
case GParams.TUNER:
GParams.damage2 = GParams.currDamage;
break;
case GParams.EXOTIC:
GParams.damage3 = GParams.currDamage;
break;
};
} else {
GParams.currDamage = 0;
GParams.AIlevel = 1;
};
inGameChannel.stopSound();
clearGraphics();
if (careerMode){
helpText = false;
startGarage();
} else {
startGame();
};
}
public function emptyScores(){
var _local1:String;
_local1 = "";
mainScreen.hs.player1.text = _local1;
mainScreen.hs.score1.text = _local1;
mainScreen.hs.date1.text = _local1;
mainScreen.hs.player2.text = _local1;
mainScreen.hs.score2.text = _local1;
mainScreen.hs.date2.text = _local1;
mainScreen.hs.player3.text = _local1;
mainScreen.hs.score3.text = _local1;
mainScreen.hs.date3.text = _local1;
mainScreen.hs.player4.text = _local1;
mainScreen.hs.score4.text = _local1;
mainScreen.hs.date4.text = _local1;
mainScreen.hs.player5.text = _local1;
mainScreen.hs.score5.text = _local1;
mainScreen.hs.date5.text = _local1;
mainScreen.hs.player6.text = _local1;
mainScreen.hs.score6.text = _local1;
mainScreen.hs.date6.text = _local1;
mainScreen.hs.player7.text = _local1;
mainScreen.hs.score7.text = _local1;
mainScreen.hs.date7.text = _local1;
mainScreen.hs.player8.text = _local1;
mainScreen.hs.score8.text = _local1;
mainScreen.hs.date8.text = _local1;
mainScreen.hs.player9.text = _local1;
mainScreen.hs.score9.text = _local1;
mainScreen.hs.date9.text = _local1;
mainScreen.hs.player10.text = _local1;
mainScreen.hs.score10.text = _local1;
mainScreen.hs.date10.text = _local1;
}
private function completeHandler(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:URLLoader;
var _local5:String;
var _local6:Array;
_local3 = 0;
_local4 = URLLoader(_arg1.target);
_local5 = "";
_local6 = null;
if (_local4.data.data0 != undefined){
_local6 = _local4.data.data0.split("|", 3);
mainScreen.hs.player1.text = _local6[0];
mainScreen.hs.score1.text = _local6[1];
mainScreen.hs.date1.text = _local6[2];
};
if (_local4.data.data1 != undefined){
_local6 = _local4.data.data1.split("|", 3);
mainScreen.hs.player2.text = _local6[0];
mainScreen.hs.score2.text = _local6[1];
mainScreen.hs.date2.text = _local6[2];
};
if (_local4.data.data2 != undefined){
_local6 = _local4.data.data2.split("|", 3);
mainScreen.hs.player3.text = _local6[0];
mainScreen.hs.score3.text = _local6[1];
mainScreen.hs.date3.text = _local6[2];
};
if (_local4.data.data3 != undefined){
_local6 = _local4.data.data3.split("|", 3);
mainScreen.hs.player4.text = _local6[0];
mainScreen.hs.score4.text = _local6[1];
mainScreen.hs.date4.text = _local6[2];
};
if (_local4.data.data4 != undefined){
_local6 = _local4.data.data4.split("|", 3);
mainScreen.hs.player5.text = _local6[0];
mainScreen.hs.score5.text = _local6[1];
mainScreen.hs.date5.text = _local6[2];
};
if (_local4.data.data5 != undefined){
_local6 = _local4.data.data5.split("|", 3);
mainScreen.hs.player6.text = _local6[0];
mainScreen.hs.score6.text = _local6[1];
mainScreen.hs.date6.text = _local6[2];
};
if (_local4.data.data6 != undefined){
_local6 = _local4.data.data6.split("|", 3);
mainScreen.hs.player7.text = _local6[0];
mainScreen.hs.score7.text = _local6[1];
mainScreen.hs.date7.text = _local6[2];
};
if (_local4.data.data7 != undefined){
_local6 = _local4.data.data7.split("|", 3);
mainScreen.hs.player8.text = _local6[0];
mainScreen.hs.score8.text = _local6[1];
mainScreen.hs.date8.text = _local6[2];
};
if (_local4.data.data8 != undefined){
_local6 = _local4.data.data8.split("|", 3);
mainScreen.hs.player9.text = _local6[0];
mainScreen.hs.score9.text = _local6[1];
mainScreen.hs.date9.text = _local6[2];
};
if (_local4.data.data9 != undefined){
_local6 = _local4.data.data9.split("|", 3);
mainScreen.hs.player10.text = _local6[0];
mainScreen.hs.score10.text = _local6[1];
mainScreen.hs.date10.text = _local6[2];
};
}
public function clickPlayAgain(_arg1:MouseEvent){
keyPressChannel.playSound(buttonS);
loseChannel.stopSound();
finalResult = -1;
clearGraphics();
startGame();
}
private function selectRaceOptions(){
careerMode = false;
newQuickRace = true;
if (garageScreen != null){
garageScreen = null;
};
if (quickRace == null){
quickRace = new QuickRace();
};
if (!contains(quickRace)){
addChild(quickRace);
quickRace.x = 300;
quickRace.y = 250;
quickRace.gotoAndStop(1);
};
newQuickRace = true;
quickRace.addEventListener(Event.ENTER_FRAME, quickEnterFrame);
quickRace.addEventListener(MouseEvent.CLICK, quickMouseClick);
GParams.currentLevel = 0;
}
public function careerFinishUpdate(){
if (GParams.Events <= 6){
clearGraphics();
helpText = false;
startGarage();
} else {
GParams.Events = 6;
currentWin = winFinal;
createYouWin();
};
}
private function clearGraphics(){
GParams.totalDrift0 = 0;
if (container != null){
container.remove();
removeChild(container);
};
if (containerBG != null){
if (contains(containerBG)){
removeChild(containerBG);
};
};
if (winScreen != null){
trace("winScreen found");
winScreen.gotoAndStop(1);
if (hud.contains(winScreen)){
trace("winScreen removed");
hud.removeChild(winScreen);
};
};
if (hud != null){
hud.resetDisplay();
removeChild(hud);
};
if (optScreen != null){
if (contains(optScreen)){
removeChild(optScreen);
};
};
}
private function garageEnterFrame(_arg1:Event){
if (goToGarage != null){
if (goToGarage.currentFrame > 1){
goToGarage.prevFrame();
} else {
goToGarage = null;
garageScreen.gotoAndStop(1);
};
} else {
if (garageScreen.garageMain != null){
garageScreen.raceWonPop.visible = false;
garageScreen.quitPopup.visible = false;
if (showPopup){
garageScreen.raceWonPop.popUpRepute.text = grp;
garageScreen.raceWonPop.popUpMoney.text = (gpr + " $");
garageScreen.raceWonPop.visible = true;
} else {
garageScreen.raceWonPop.visible = false;
};
if (saveGame){
garageScreen.gameSavePop.visible = true;
} else {
garageScreen.gameSavePop.visible = false;
};
if (showConfirm){
garageScreen.quitPopup.visible = true;
} else {
garageScreen.quitPopup.visible = false;
};
garageScreen.garageMain.trophy.trophy1.visible = false;
garageScreen.garageMain.trophy.trophy2.visible = false;
garageScreen.garageMain.trophy.trophy3.visible = false;
garageScreen.garageMain.trophy.trophy4.visible = false;
garageScreen.garageMain.trophy.trophy5.visible = false;
garageScreen.garageMain.trophy.trophy6.visible = false;
if (checkWon(GParams.eventRace[0])){
garageScreen.garageMain.trophy.trophy1.visible = true;
};
if (checkWon(GParams.eventRace[1])){
garageScreen.garageMain.trophy.trophy2.visible = true;
};
if (checkWon(GParams.eventRace[2])){
garageScreen.garageMain.trophy.trophy3.visible = true;
};
if (checkWon(GParams.eventRace[3])){
garageScreen.garageMain.trophy.trophy4.visible = true;
};
if (checkWon(GParams.eventRace[4])){
garageScreen.garageMain.trophy.trophy5.visible = true;
};
if (checkWon(GParams.eventRace[5])){
garageScreen.garageMain.trophy.trophy6.visible = true;
};
garageScreen.garageMain.garageCar.gotoAndStop((GParams.currentCar + 1));
if (garageScreen.garageDisplay != null){
garageScreen.garageDisplay.money.text = (GParams.cash + " $");
garageScreen.garageDisplay.repute.text = GParams.reputationPts;
};
};
if (garageScreen.currentFrame == 2){
if (garageScreen.upgradeScreen != null){
if (garageScreen.upgradeScreen.upgradeBox != null){
garageScreen.upgradeScreen.upgradeBox.prevSector.visible = true;
garageScreen.upgradeScreen.upgradeBox.nextSector.visible = true;
if (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame == 1){
garageScreen.upgradeScreen.upgradeBox.prevSector.visible = false;
};
if (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame == 3){
garageScreen.upgradeScreen.upgradeBox.nextSector.visible = false;
};
};
switch (GParams.currentCar){
case 0:
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.65;
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.55;
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.55;
if ((tmp01 % GParams.accUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.75;
};
if ((tmp01 % GParams.accUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.85;
};
if ((tmp01 % GParams.accUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.95;
};
if ((tmp01 % GParams.hndUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.6;
};
if ((tmp01 % GParams.hndUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.7;
};
if ((tmp01 % GParams.hndUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.75;
};
if ((tmp01 % GParams.spdUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.6;
};
if ((tmp01 % GParams.spdUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.7;
};
if ((tmp01 % GParams.spdUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.75;
};
break;
case 1:
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.55;
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.6;
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.65;
if ((tmp01 % GParams.accUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.6;
};
if ((tmp01 % GParams.accUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.7;
};
if ((tmp01 % GParams.accUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.75;
};
if ((tmp01 % GParams.spdUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.7;
};
if ((tmp01 % GParams.spdUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.75;
};
if ((tmp01 % GParams.spdUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.85;
};
if ((tmp01 % GParams.hndUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.75;
};
if ((tmp01 % GParams.hndUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.85;
};
if ((tmp01 % GParams.hndUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.95;
};
break;
case 2:
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.6;
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.65;
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.6;
if ((tmp01 % GParams.accUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.7;
};
if ((tmp01 % GParams.accUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.75;
};
if ((tmp01 % GParams.accUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.accBar.scaleX = 0.85;
};
if ((tmp01 % GParams.spdUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.75;
};
if ((tmp01 % GParams.spdUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.85;
};
if ((tmp01 % GParams.spdUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.spdBar.scaleX = 0.95;
};
if ((tmp01 % GParams.hndUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.7;
};
if ((tmp01 % GParams.hndUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.75;
};
if ((tmp01 % GParams.hndUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.hndBar.scaleX = 0.85;
};
break;
};
garageScreen.upgradeScreen.upgradeBox.availableMoney.text = (GParams.cash + " $");
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = true;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
tmp01 = 1;
switch (GParams.currentCar){
case 0:
tmp01 = GParams.upgrade1;
garageScreen.upgradeScreen.upgradeBox.carDetails.gotoAndStop(1);
break;
case 1:
tmp01 = GParams.upgrade2;
garageScreen.upgradeScreen.upgradeBox.carDetails.gotoAndStop(2);
break;
case 2:
tmp01 = GParams.upgrade3;
garageScreen.upgradeScreen.upgradeBox.carDetails.gotoAndStop(3);
break;
};
switch (garageScreen.upgradeScreen.upgradeBox.selectedSector.currentFrame){
case 1:
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.rate.text = "2500$";
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.rate.text = "6000$";
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.rate.text = "13000$";
if ((tmp01 % GParams.accUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = true;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
};
if ((tmp01 % GParams.accUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = true;
};
if ((tmp01 % GParams.accUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
};
break;
case 2:
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.rate.text = "4000$";
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.rate.text = "7000$";
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.rate.text = "16000$";
if ((tmp01 % GParams.spdUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = true;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
};
if ((tmp01 % GParams.spdUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = true;
};
if ((tmp01 % GParams.spdUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
};
break;
case 3:
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.rate.text = "3000$";
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.rate.text = "6500$";
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.rate.text = "14500$";
if ((tmp01 % GParams.hndUpgrade1) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = true;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
};
if ((tmp01 % GParams.hndUpgrade2) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(1);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = true;
};
if ((tmp01 % GParams.hndUpgrade3) == 0){
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.gotoAndStop(2);
garageScreen.upgradeScreen.upgradeBox.upgradeTier1.upgradeBn1.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier2.upgradeBn2.mouseEnabled = false;
garageScreen.upgradeScreen.upgradeBox.upgradeTier3.upgradeBn3.mouseEnabled = false;
};
break;
};
};
};
if (garageScreen.currentFrame == 3){
if (garageScreen.repairScreen != null){
tmp02 = 0;
switch (GParams.currentCar){
case 0:
tmp02 = (100 - GParams.damage1);
break;
case 1:
tmp02 = (100 - GParams.damage2);
break;
case 2:
tmp02 = (100 - GParams.damage3);
break;
};
garageScreen.repairScreen.repairBox.availableMoney.text = (GParams.cash + " $");
garageScreen.repairScreen.repairBox.repairMoney.text = (((5000 * (100 - tmp02)) / 100) + " $");
garageScreen.repairScreen.repairBox.conditionMeter.gotoAndStop(3);
garageScreen.repairScreen.repairBox.condition.gotoAndStop(1);
if (tmp02 < 66){
garageScreen.repairScreen.repairBox.conditionMeter.gotoAndStop(2);
garageScreen.repairScreen.repairBox.condition.gotoAndStop(2);
} else {
if (tmp02 < 33){
garageScreen.repairScreen.repairBox.conditionMeter.gotoAndStop(1);
garageScreen.repairScreen.repairBox.condition.gotoAndStop(3);
};
};
tmp02 = (1.584 * (tmp02 / 100));
garageScreen.repairScreen.repairBox.conditionMeter.scaleX = tmp02;
};
};
if (garageScreen.currentFrame == 5){
if (garageScreen.eventsScreen != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected != null){
garageScreen.eventsScreen.eventsBox.raceBn.mouseEnabled = false;
garageScreen.eventsScreen.eventsBox.raceBn.visible = false;
if (checkWon(GParams.eventRace[(garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame - 1)])){
garageScreen.eventsScreen.eventsBox.eventSelected.tinted.visible = false;
garageScreen.eventsScreen.eventsBox.eventSelected.trophyText.visible = false;
} else {
garageScreen.eventsScreen.eventsBox.eventSelected.tinted.visible = true;
garageScreen.eventsScreen.eventsBox.eventSelected.trophyText.visible = true;
};
garageScreen.eventsScreen.eventsBox.locked.visible = true;
if (garageScreen.eventsScreen.currentFrame == 3){
lastRace = tmp03;
garageScreen.eventsScreen.eventsBox.eventSelected.gotoAndStop(Math.floor((lastRace / 10)));
};
if (garageScreen.eventsScreen.currentFrame == 5){
garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.gotoAndStop(Math.floor((lastRace % 10)));
};
if (garageScreen.eventsScreen.currentFrame == 15){
tmp03 = (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.currentFrame + (10 * garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame));
};
if (garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame <= GParams.Events){
garageScreen.eventsScreen.eventsBox.raceBn.mouseEnabled = true;
garageScreen.eventsScreen.eventsBox.raceBn.visible = true;
garageScreen.eventsScreen.eventsBox.locked.visible = false;
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.raceCompleted != null){
garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.raceCompleted.gotoAndStop((GParams.eventRace[GParams.ev][GParams.evRace] + 1));
garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.raceCompleted.alpha = 1;
};
};
};
};
};
if (garageScreen.eventsScreen != null){
if (garageScreen.eventsScreen.eventsBox != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame == 1){
if (garageScreen.eventsScreen.eventsBox.prevEvent != null){
garageScreen.eventsScreen.eventsBox.prevEvent.visible = false;
};
} else {
if (garageScreen.eventsScreen.eventsBox.prevEvent != null){
garageScreen.eventsScreen.eventsBox.prevEvent.visible = true;
};
};
};
if (garageScreen.eventsScreen.eventsBox.eventSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.currentFrame == 6){
if (garageScreen.eventsScreen.eventsBox.nextEvent != null){
garageScreen.eventsScreen.eventsBox.nextEvent.visible = false;
};
} else {
if (garageScreen.eventsScreen.eventsBox.nextEvent != null){
garageScreen.eventsScreen.eventsBox.nextEvent.visible = true;
};
};
};
if (garageScreen.eventsScreen.eventsBox.eventSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.currentFrame == 1){
if (garageScreen.eventsScreen.eventsBox.eventSelected.prevRace != null){
garageScreen.eventsScreen.eventsBox.eventSelected.prevRace.visible = false;
};
} else {
if (garageScreen.eventsScreen.eventsBox.eventSelected.prevRace != null){
garageScreen.eventsScreen.eventsBox.eventSelected.prevRace.visible = true;
};
};
};
};
if (garageScreen.eventsScreen.eventsBox.eventSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected != null){
if (garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.currentFrame == garageScreen.eventsScreen.eventsBox.eventSelected.raceSelected.totalFrames){
if (garageScreen.eventsScreen.eventsBox.eventSelected.nextRace != null){
garageScreen.eventsScreen.eventsBox.eventSelected.nextRace.visible = false;
};
} else {
if (garageScreen.eventsScreen.eventsBox.eventSelected.nextRace != null){
garageScreen.eventsScreen.eventsBox.eventSelected.nextRace.visible = true;
};
};
};
};
if (GParams.currDamage < 100){
garageScreen.eventsScreen.eventsBox.raceBn.enabled = true;
} else {
garageScreen.eventsScreen.eventsBox.raceBn.enabled = false;
};
};
};
switch (tmp03){
case 11:
GParams.currentLevel = (1 - 1);
GParams.currentRace = GParams.CIRCUIT;
GParams.totalLaps = 2;
GParams.ev = 0;
GParams.evRace = 0;
GParams.prize = 4000;
GParams.reputation = 300;
break;
case 12:
GParams.currentLevel = (2 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 2;
GParams.ev = 0;
GParams.evRace = 1;
GParams.prize = 4000;
GParams.reputation = 300;
break;
case 13:
GParams.currentLevel = (6 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 0;
GParams.evRace = 2;
GParams.prize = 5000;
GParams.reputation = 300;
break;
case 21:
GParams.currentLevel = (7 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 1;
GParams.evRace = 0;
GParams.prize = 6000;
GParams.reputation = 500;
break;
case 22:
GParams.currentLevel = (3 - 1);
GParams.currentRace = GParams.CIRCUIT;
GParams.totalLaps = 2;
GParams.ev = 1;
GParams.evRace = 1;
GParams.prize = 8000;
GParams.reputation = 500;
break;
case 23:
GParams.currentLevel = (2 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 3;
GParams.ev = 1;
GParams.evRace = 2;
GParams.prize = 8000;
GParams.reputation = 500;
break;
case 31:
GParams.currentLevel = (6 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 2;
GParams.evRace = 0;
GParams.prize = 10000;
GParams.reputation = 700;
break;
case 32:
GParams.currentLevel = (8 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 2;
GParams.evRace = 1;
GParams.prize = 10000;
GParams.reputation = 700;
break;
case 33:
GParams.currentLevel = (4 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 3;
GParams.ev = 2;
GParams.evRace = 2;
GParams.prize = 12000;
GParams.reputation = 700;
break;
case 34:
GParams.currentLevel = (1 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 4;
GParams.ev = 2;
GParams.evRace = 3;
GParams.prize = 15000;
GParams.reputation = 700;
break;
case 41:
GParams.currentLevel = (7 - 1);
GParams.currentRace = GParams.DRIFT2;
GParams.totalLaps = 1;
GParams.ev = 3;
GParams.evRace = 0;
GParams.prize = 20000;
GParams.reputation = 1000;
break;
case 42:
GParams.currentLevel = (3 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 2;
GParams.ev = 3;
GParams.evRace = 1;
GParams.prize = 20000;
GParams.reputation = 1200;
break;
case 51:
GParams.currentLevel = (8 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 4;
GParams.evRace = 0;
GParams.prize = 20000;
GParams.reputation = 1000;
break;
case 52:
GParams.currentLevel = (9 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 4;
GParams.evRace = 1;
GParams.prize = 20000;
GParams.reputation = 1000;
break;
case 61:
GParams.currentLevel = (4 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 3;
GParams.ev = 5;
GParams.evRace = 0;
GParams.prize = 25000;
GParams.reputation = 1500;
break;
case 62:
GParams.currentLevel = (6 - 1);
GParams.currentRace = GParams.DRIFT2;
GParams.totalLaps = 1;
GParams.ev = 5;
GParams.evRace = 1;
GParams.prize = 27000;
GParams.reputation = 1500;
break;
case 63:
GParams.currentLevel = (2 - 1);
GParams.currentRace = GParams.DRIFT1;
GParams.totalLaps = 3;
GParams.ev = 5;
GParams.evRace = 2;
GParams.prize = 27000;
GParams.reputation = 1500;
break;
case 64:
GParams.currentLevel = (9 - 1);
GParams.currentRace = GParams.SPRINT;
GParams.totalLaps = 1;
GParams.ev = 5;
GParams.evRace = 3;
GParams.prize = 35000;
GParams.reputation = 1700;
break;
case 65:
GParams.currentLevel = (5 - 1);
GParams.currentRace = GParams.CIRCUIT;
GParams.totalLaps = 4;
GParams.ev = 5;
GParams.evRace = 4;
GParams.prize = 50000;
GParams.reputation = 2000;
break;
};
};
if (garageScreen.currentFrame == 6){
if (garageScreen.buyScreen != null){
garageScreen.buyScreen.buyBox.carDescrp.gotoAndStop((sCar + 1));
switch (sCar){
case 0:
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.65;
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.55;
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.55;
if ((GParams.upgrade1 % GParams.accUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.75;
};
if ((GParams.upgrade1 % GParams.accUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.85;
};
if ((GParams.upgrade1 % GParams.accUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.95;
};
if ((GParams.upgrade1 % GParams.hndUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.6;
};
if ((GParams.upgrade1 % GParams.hndUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.7;
};
if ((GParams.upgrade1 % GParams.hndUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.75;
};
if ((GParams.upgrade1 % GParams.spdUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.6;
};
if ((GParams.upgrade1 % GParams.spdUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.7;
};
if ((GParams.upgrade1 % GParams.spdUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.75;
};
break;
case 1:
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.55;
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.6;
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.65;
if ((GParams.upgrade2 % GParams.accUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.6;
};
if ((GParams.upgrade2 % GParams.accUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.7;
};
if ((GParams.upgrade2 % GParams.accUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.75;
};
if ((GParams.upgrade2 % GParams.spdUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.7;
};
if ((GParams.upgrade2 % GParams.spdUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.75;
};
if ((GParams.upgrade2 % GParams.spdUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.85;
};
if ((GParams.upgrade2 % GParams.hndUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.75;
};
if ((GParams.upgrade2 % GParams.hndUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.85;
};
if ((GParams.upgrade2 % GParams.hndUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.95;
};
break;
case 2:
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.6;
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.65;
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.6;
if ((GParams.upgrade3 % GParams.accUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.7;
};
if ((GParams.upgrade3 % GParams.accUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.75;
};
if ((GParams.upgrade3 % GParams.accUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.accBar.scaleX = 0.85;
};
if ((GParams.upgrade3 % GParams.spdUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.75;
};
if ((GParams.upgrade3 % GParams.spdUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.85;
};
if ((GParams.upgrade3 % GParams.spdUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.spdBar.scaleX = 0.95;
};
if ((GParams.upgrade3 % GParams.hndUpgrade1) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.7;
};
if ((GParams.upgrade3 % GParams.hndUpgrade2) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.75;
};
if ((GParams.upgrade3 % GParams.hndUpgrade3) == 0){
garageScreen.buyScreen.buyBox.carDescrp.hndBar.scaleX = 0.85;
};
break;
};
garageScreen.buyScreen.buyBox.availableMoney.text = (GParams.cash + " $");
switch ((sCar + 1)){
case 1:
if (!GParams.myCar1){
garageScreen.buyScreen.buyBox.buyBn.mouseEnabled = true;
garageScreen.buyScreen.buyBox.buyBn.visible = true;
garageScreen.buyScreen.buyBox.carDescrp.owned.visible = false;
} else {
garageScreen.buyScreen.buyBox.buyBn.mouseEnabled = false;
garageScreen.buyScreen.buyBox.buyBn.visible = false;
garageScreen.buyScreen.buyBox.carDescrp.owned.visible = true;
};
break;
case 2:
if (!GParams.myCar2){
garageScreen.buyScreen.buyBox.buyBn.mouseEnabled = true;
garageScreen.buyScreen.buyBox.buyBn.visible = true;
if (garageScreen.buyScreen.buyBox.carDescrp.owned != null){
garageScreen.buyScreen.buyBox.carDescrp.owned.visible = false;
};
} else {
garageScreen.buyScreen.buyBox.buyBn.mouseEnabled = false;
garageScreen.buyScreen.buyBox.buyBn.visible = false;
if (garageScreen.buyScreen.buyBox.carDescrp.owned != null){
garageScreen.buyScreen.buyBox.carDescrp.owned.visible = true;
};
};
break;
case 3:
if (!GParams.myCar3){
garageScreen.buyScreen.buyBox.buyBn.mouseEnabled = true;
garageScreen.buyScreen.buyBox.buyBn.visible = true;
if (garageScreen.buyScreen.buyBox.carDescrp.owned != null){
garageScreen.buyScreen.buyBox.carDescrp.owned.visible = false;
};
} else {
garageScreen.buyScreen.buyBox.buyBn.mouseEnabled = false;
garageScreen.buyScreen.buyBox.buyBn.visible = false;
if (garageScreen.buyScreen.buyBox.carDescrp.owned != null){
garageScreen.buyScreen.buyBox.carDescrp.owned.visible = true;
};
};
break;
};
};
};
};
if (garageScreen.garageHelp != null){
if (helpText){
garageScreen.garageHelp.visible = true;
garageScreen.garageHelp.alpha = 1;
} else {
garageScreen.garageHelp.alpha = 0;
garageScreen.garageHelp.visible = false;
};
};
}
}
}//package
Section 176
//MainScreen (MainScreen)
package {
import flash.display.*;
public dynamic class MainScreen extends MovieClip {
public var hs:MovieClip;
public var iScreen:MovieClip;
public var welcome:MovieClip;
public var profile:MovieClip;
public var back:SimpleButton;
public function MainScreen(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 177
//mcOwned (mcOwned)
package {
import flash.display.*;
public dynamic class mcOwned extends MovieClip {
}
}//package
Section 178
//MiniMap (MiniMap)
package {
import flash.display.*;
public class MiniMap extends MovieClip {
public var miniCar1:MovieClip;
public var miniCar2:MovieClip;
public var miniCar3:MovieClip;
public var miniCar:MovieClip;
}
}//package
Section 179
//Muscle (Muscle)
package {
import flash.display.*;
public class Muscle extends Car {
public var rb:MovieClip;
public var rf:MovieClip;
public var lf:MovieClip;
public var lb:MovieClip;
public var burn:MovieClip;
public function Muscle(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
leftF = lf;
rightF = rf;
leftB = lb;
rightB = rb;
Burn = burn;
Shadow = new ShadowMuscle();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 180
//Option (Option)
package {
import flash.display.*;
import flash.events.*;
import fl.events.*;
public class Option extends MovieClip {
private var clicks:ButtonSound;
private var xPlayer:Channel;
public var opt:MovieClip;
public function Option(){
xPlayer = new Channel();
clicks = new ButtonSound();
super();
init();
}
public function init(){
this.opt.highBtn.mouseChildren = false;
this.opt.highBtn.gotoAndStop(1);
this.opt.highBtn.buttonMode = true;
this.opt.mediumBtn.mouseChildren = false;
this.opt.mediumBtn.buttonMode = true;
this.opt.mediumBtn.gotoAndStop(1);
this.opt.lowBtn.mouseChildren = false;
this.opt.lowBtn.gotoAndStop(1);
this.opt.lowBtn.buttonMode = true;
this.opt.Mute.gotoAndStop(1);
this.opt.Mute.buttonMode = true;
this.opt.Mute.mouseChildren = false;
opt.soundS.minimum = 0;
opt.soundS.maximum = 100;
opt.soundS.snapInterval = 1;
opt.soundS.value = 100;
opt.soundS.liveDragging = true;
opt.musicS.minimum = 0;
opt.musicS.maximum = 100;
opt.musicS.value = 100;
opt.musicS.addEventListener(SliderEvent.CHANGE, onMusicChanged);
opt.musicS.liveDragging = true;
opt.musicS.snapInterval = 1;
opt.soundS.addEventListener(SliderEvent.CHANGE, onSoundChanged);
addEventListener(MouseEvent.CLICK, onMouseClick);
}
private function onMouseClick(_arg1:MouseEvent){
switch (_arg1.target.name){
case "highBtn":
opt.highBtn.gotoAndStop(2);
opt.mediumBtn.gotoAndStop(1);
opt.lowBtn.gotoAndStop(1);
stage.quality = StageQuality.HIGH;
xPlayer.playSound(clicks);
break;
case "lowBtn":
opt.lowBtn.gotoAndStop(2);
opt.highBtn.gotoAndStop(1);
opt.mediumBtn.gotoAndStop(1);
stage.quality = StageQuality.LOW;
xPlayer.playSound(clicks);
break;
case "mediumBtn":
opt.mediumBtn.gotoAndStop(2);
opt.highBtn.gotoAndStop(1);
opt.lowBtn.gotoAndStop(1);
stage.quality = StageQuality.MEDIUM;
xPlayer.playSound(clicks);
break;
case "resumeBtn":
MainClass.pauseFlag = false;
break;
case "quitBtn":
MainClass.pauseFlag = false;
(this.parent as MainClass).quitRace();
break;
case "Mute":
if (opt.Mute.currentFrame == 1){
Channel.SETVOL.muteAllSound();
opt.Mute.gotoAndStop(2);
} else {
Channel.SETVOL.unmuteAllSound();
opt.Mute.gotoAndStop(1);
};
break;
};
}
public function setValues(){
opt.soundS.value = Channel.lastVols;
opt.musicS.value = Channel.lastVolm;
if ((((stage.quality == "HIGH")) || ((stage.quality == "BEST")))){
opt.highBtn.gotoAndStop(2);
opt.lowBtn.gotoAndStop(1);
opt.mediumBtn.gotoAndStop(1);
} else {
if (stage.quality == "MEDIUM"){
opt.highBtn.gotoAndStop(1);
opt.lowBtn.gotoAndStop(1);
opt.mediumBtn.gotoAndStop(2);
} else {
if (stage.quality == "LOW"){
opt.highBtn.gotoAndStop(1);
opt.lowBtn.gotoAndStop(2);
opt.mediumBtn.gotoAndStop(1);
};
};
};
}
private function onSoundChanged(_arg1:SliderEvent){
Channel.SETVOL.setVolumeSound(opt.soundS.value);
}
private function onMusicChanged(_arg1:SliderEvent){
Channel.SETVOL.setVolumeMusic(opt.musicS.value);
}
}
}//package
Section 181
//Preloader (Preloader)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import CPMStar.*;
import flash.text.*;
public class Preloader extends MovieClip {
public var percentText:TextField;
public var loaderClip:MovieClip;
var button:StartButton;// = null
var urlPlayMore:String;// = "http://www.flasharcade.com"
var timer:Timer;
var requestPlayMore:URLRequest;// = null
public var initComplete:Boolean;// = false
private var progressBar:Sprite;
public var adBox:MovieClip;
var CPMStarSubPoolID:int;// = 19
var CPMStarPoolID:int;// = 2299
public static const startFrame:Number = 3;
public static const mainClass:String = "MainClass";
public function Preloader(){
var _local1:DisplayObject;
requestPlayMore = null;
urlPlayMore = "http://www.flasharcade.com";
CPMStarPoolID = 2299;
CPMStarSubPoolID = 19;
button = null;
initComplete = false;
addFrameScript(2, frame3);
stop();
super();
requestPlayMore = new URLRequest(urlPlayMore);
timer = new Timer(100, 0);
timer.addEventListener(TimerEvent.TIMER, afterSecond);
timer.start();
_local1 = AdLoader.LoadAd(CPMStarPoolID, CPMStarSubPoolID);
adBox.addChild(_local1);
initSecondFrame();
}
private function enterFrameHandler(_arg1:Event):void{
if (currentFrame >= _slot1.startFrame){
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
stop();
initApp();
};
}
public function initSecondFrame(){
progressBar = (loaderClip.getChildByName("percentbar") as Sprite);
if (((!((progressBar == null))) && (!((percentText == null))))){
progressBar.scaleX = 0;
percentText.text = "0";
initComplete = true;
} else {
trace((((" pro : " + progressBar) + " percentText : ") + percentText));
};
}
private function onComplete(_arg1:Event):void{
play();
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
function frame3(){
stop();
}
public function handleClick(_arg1:MouseEvent){
var event = _arg1;
try {
navigateToURL(requestPlayMore, "_blank");
} catch(e:Error) {
};
}
public function afterSecond(_arg1:TimerEvent){
var _local2:uint;
var _local3:uint;
var _local4:Number;
_local2 = loaderInfo.bytesLoaded;
_local3 = loaderInfo.bytesTotal;
_local4 = (_local2 / _local3);
if (currentFrame == 1){
if (initComplete){
progressBar.scaleX = (_local2 / _local3);
percentText.text = (Math.round((_local4 * 100)).toString() + "%");
if (_local2 >= _local3){
timer.stop();
button = new StartButton();
button.addEventListener(MouseEvent.CLICK, onClickStart);
addChild(button);
button.x = 205;
button.y = 440;
loaderClip.visible = false;
percentText.visible = false;
};
} else {
initSecondFrame();
};
};
}
private function showProgress(_arg1:ProgressEvent):void{
var _local2:uint;
var _local3:uint;
var _local4:Number;
_local2 = _arg1.bytesLoaded;
_local3 = _arg1.bytesTotal;
_local4 = (_local2 / _local3);
progressBar.scaleX = ((_local2 / _local3) * 4);
percentText.text = (Math.round((_local4 * 100)).toString() + "%");
}
private function initApp():void{
var _local1:Boolean;
var _local2:Class;
var _local3:Sprite;
_local1 = loaderInfo.applicationDomain.hasDefinition(_slot1.mainClass);
_local2 = (loaderInfo.applicationDomain.getDefinition(_slot1.mainClass) as Class);
_local3 = (new (_local2) as Sprite);
addChild(_local3);
}
public function onClickStart(_arg1:MouseEvent){
play();
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
button.removeEventListener(MouseEvent.CLICK, onClickStart);
if (contains(button)){
removeChild(button);
};
if (contains(adBox)){
removeChild(adBox);
};
}
}
}//package
Section 182
//profileManager (profileManager)
package {
import flash.net.*;
public class profileManager {
private var profile1:SharedObject;
private var profile2:SharedObject;
private var profile3:SharedObject;
public var player2:String;
public var player1:String;
public var player3:String;
public function profileManager(){
profile1 = SharedObject.getLocal("profile1");
profile2 = SharedObject.getLocal("profile2");
profile3 = SharedObject.getLocal("profile3");
init();
}
public function loadProfile(_arg1:Number){
var _local2:uint;
var _local3:uint;
switch (_arg1){
case 1:
GParams.currentProfile = 1;
GParams.myCar1 = profile1.data.car1;
GParams.myCar2 = profile1.data.car2;
GParams.myCar3 = profile1.data.car3;
GParams.upgrade1 = profile1.data.upgrade1;
GParams.upgrade2 = profile1.data.upgrade2;
GParams.upgrade3 = profile1.data.upgrade3;
GParams.damage1 = profile1.data.damage1;
GParams.damage2 = profile1.data.damage2;
GParams.damage3 = profile1.data.damage3;
GParams.cash = profile1.data.cash;
GParams.Events = profile1.data.Events;
_local2 = 0;
while (_local2 < profile1.data.races.length) {
_local3 = 0;
while (_local3 < profile1.data.races[_local2].length) {
GParams.eventRace[_local2][_local3] = profile1.data.races[_local2][_local3];
_local3++;
};
_local2++;
};
GParams.reputationPts = profile1.data.reputationPts;
GParams.gameScore = profile1.data.gameScore;
break;
case 2:
GParams.currentProfile = 2;
GParams.myCar1 = profile2.data.car1;
GParams.myCar2 = profile2.data.car2;
GParams.myCar3 = profile2.data.car3;
GParams.upgrade1 = profile2.data.upgrade1;
GParams.upgrade2 = profile2.data.upgrade2;
GParams.upgrade3 = profile2.data.upgrade3;
GParams.damage1 = profile2.data.damage1;
GParams.damage2 = profile2.data.damage2;
GParams.damage3 = profile2.data.damage3;
GParams.cash = profile2.data.cash;
GParams.Events = profile2.data.Events;
_local2 = 0;
while (_local2 < profile2.data.races.length) {
_local3 = 0;
while (_local3 < profile2.data.races[_local2].length) {
GParams.eventRace[_local2][_local3] = profile2.data.races[_local2][_local3];
_local3++;
};
_local2++;
};
GParams.reputationPts = profile2.data.reputationPts;
GParams.gameScore = profile2.data.gameScore;
break;
case 3:
GParams.currentProfile = 3;
GParams.myCar1 = profile3.data.car1;
GParams.myCar2 = profile3.data.car2;
GParams.myCar3 = profile3.data.car3;
GParams.upgrade1 = profile3.data.upgrade1;
GParams.upgrade2 = profile3.data.upgrade2;
GParams.upgrade3 = profile3.data.upgrade3;
GParams.damage1 = profile3.data.damage1;
GParams.damage2 = profile3.data.damage2;
GParams.damage3 = profile3.data.damage3;
GParams.cash = profile3.data.cash;
GParams.Events = profile3.data.Events;
_local2 = 0;
while (_local2 < profile3.data.races.length) {
_local3 = 0;
while (_local3 < profile3.data.races[_local2].length) {
GParams.eventRace[_local2][_local3] = profile3.data.races[_local2][_local3];
_local3++;
};
_local2++;
};
GParams.reputationPts = profile3.data.reputationPts;
GParams.gameScore = profile3.data.gameScore;
break;
};
}
public function saveProfile(){
var _local1:uint;
var _local2:uint;
switch (GParams.currentProfile){
case 1:
profile1.data.car1 = GParams.myCar1;
profile1.data.car2 = GParams.myCar2;
profile1.data.car3 = GParams.myCar3;
profile1.data.upgrade1 = GParams.upgrade1;
profile1.data.upgrade2 = GParams.upgrade2;
profile1.data.upgrade3 = GParams.upgrade3;
profile1.data.damage1 = GParams.damage1;
profile1.data.damage2 = GParams.damage2;
profile1.data.damage3 = GParams.damage3;
profile1.data.cash = GParams.cash;
profile1.data.Events = GParams.Events;
_local1 = 0;
while (_local1 < GParams.eventRace.length) {
_local2 = 0;
while (_local2 < GParams.eventRace[_local1].length) {
profile1.data.races[_local1][_local2] = GParams.eventRace[_local1][_local2];
_local2++;
};
_local1++;
};
profile1.data.reputationPts = GParams.reputationPts;
profile1.data.gameScore = GParams.gameScore;
break;
case 2:
profile2.data.car1 = GParams.myCar1;
profile2.data.car2 = GParams.myCar2;
profile2.data.car3 = GParams.myCar3;
profile2.data.upgrade1 = GParams.upgrade1;
profile2.data.upgrade2 = GParams.upgrade2;
profile2.data.upgrade3 = GParams.upgrade3;
profile2.data.damage1 = GParams.damage1;
profile2.data.damage2 = GParams.damage2;
profile2.data.damage3 = GParams.damage3;
profile2.data.cash = GParams.cash;
profile2.data.Events = GParams.Events;
_local1 = 0;
while (_local1 < GParams.eventRace.length) {
_local2 = 0;
while (_local2 < GParams.eventRace[_local1].length) {
profile2.data.races[_local1][_local2] = GParams.eventRace[_local1][_local2];
_local2++;
};
_local1++;
};
profile2.data.reputationPts = GParams.reputationPts;
profile2.data.gameScore = GParams.gameScore;
break;
case 3:
profile3.data.car1 = GParams.myCar1;
profile3.data.car2 = GParams.myCar2;
profile3.data.car3 = GParams.myCar3;
profile3.data.upgrade1 = GParams.upgrade1;
profile3.data.upgrade2 = GParams.upgrade2;
profile3.data.upgrade3 = GParams.upgrade3;
profile3.data.damage1 = GParams.damage1;
profile3.data.damage2 = GParams.damage2;
profile3.data.damage3 = GParams.damage3;
profile3.data.cash = GParams.cash;
profile3.data.Events = GParams.Events;
_local1 = 0;
while (_local1 < GParams.eventRace.length) {
_local2 = 0;
while (_local2 < GParams.eventRace[_local1].length) {
profile3.data.races[_local1][_local2] = GParams.eventRace[_local1][_local2];
_local2++;
};
_local1++;
};
profile3.data.reputationPts = GParams.reputationPts;
profile3.data.gameScore = GParams.gameScore;
break;
};
}
public function newProfile(_arg1:Number, _arg2:String){
var _local3:uint;
var _local4:uint;
switch (_arg1){
case 1:
profile1.data.uname = _arg2;
GParams.currentProfile = 1;
profile1.data.car1 = true;
profile1.data.car2 = false;
profile1.data.car3 = false;
GParams.myCar1 = profile1.data.car1;
GParams.myCar2 = profile1.data.car2;
GParams.myCar3 = profile1.data.car3;
profile1.data.upgrade1 = 1;
profile1.data.upgrade2 = 1;
profile1.data.upgrade3 = 1;
GParams.upgrade1 = profile1.data.upgrade1;
GParams.upgrade2 = profile1.data.upgrade2;
GParams.upgrade3 = profile1.data.upgrade3;
profile1.data.damage1 = 0;
profile1.data.damage2 = 0;
profile1.data.damage3 = 0;
GParams.damage1 = profile1.data.damage1;
GParams.damage2 = profile1.data.damage2;
GParams.damage3 = profile1.data.damage3;
profile1.data.cash = new Number(5000);
GParams.cash = profile1.data.cash;
profile1.data.Events = 1;
GParams.Events = profile1.data.Events;
profile1.data.races = new Array(new Array(0, 0, 0), new Array(0, 0, 0), new Array(0, 0, 0, 0), new Array(0, 0), new Array(0, 0), new Array(0, 0, 0, 0, 0));
_local3 = 0;
while (_local3 < profile1.data.races.length) {
_local4 = 0;
while (_local4 < profile1.data.races[_local3].length) {
GParams.eventRace[_local3][_local4] = profile1.data.races[_local3][_local4];
_local4++;
};
_local3++;
};
profile1.data.reputationPts = 0;
GParams.reputationPts = profile1.data.reputationPts;
profile1.data.gameScore = 0;
GParams.gameScore = profile1.data.gameScore;
break;
case 2:
profile2.data.uname = _arg2;
GParams.currentProfile = 2;
profile2.data.car1 = true;
profile2.data.car2 = false;
profile2.data.car3 = false;
GParams.myCar1 = profile2.data.car1;
GParams.myCar2 = profile2.data.car2;
GParams.myCar3 = profile2.data.car3;
profile2.data.upgrade1 = 1;
profile2.data.upgrade2 = 1;
profile2.data.upgrade3 = 1;
GParams.upgrade1 = profile2.data.upgrade1;
GParams.upgrade2 = profile2.data.upgrade2;
GParams.upgrade3 = profile2.data.upgrade3;
profile2.data.damage1 = 0;
profile2.data.damage2 = 0;
profile2.data.damage3 = 0;
GParams.damage1 = profile2.data.damage1;
GParams.damage2 = profile2.data.damage2;
GParams.damage3 = profile2.data.damage3;
profile2.data.cash = 5000;
GParams.cash = profile2.data.cash;
profile2.data.Events = 1;
GParams.Events = profile2.data.Events;
profile2.data.races = new Array(new Array(0, 0, 0), new Array(0, 0, 0), new Array(0, 0, 0, 0), new Array(0, 0), new Array(0, 0), new Array(0, 0, 0, 0, 0));
_local3 = 0;
while (_local3 < profile2.data.races.length) {
_local4 = 0;
while (_local4 < profile2.data.races[_local3].length) {
GParams.eventRace[_local3][_local4] = profile2.data.races[_local3][_local4];
_local4++;
};
_local3++;
};
profile2.data.reputationPts = 0;
GParams.reputationPts = profile2.data.reputationPts;
profile2.data.gameScore = 0;
GParams.gameScore = profile2.data.gameScore;
break;
case 3:
profile3.data.uname = _arg2;
GParams.currentProfile = 3;
profile3.data.car1 = true;
profile3.data.car2 = false;
profile3.data.car3 = false;
GParams.myCar1 = profile3.data.car1;
GParams.myCar2 = profile3.data.car2;
GParams.myCar3 = profile3.data.car3;
profile3.data.upgrade1 = 1;
profile3.data.upgrade2 = 1;
profile3.data.upgrade3 = 1;
GParams.upgrade1 = profile3.data.upgrade1;
GParams.upgrade2 = profile3.data.upgrade2;
GParams.upgrade3 = profile3.data.upgrade3;
profile3.data.damage1 = 0;
profile3.data.damage2 = 0;
profile3.data.damage3 = 0;
GParams.damage1 = profile3.data.damage1;
GParams.damage2 = profile3.data.damage2;
GParams.damage3 = profile3.data.damage3;
profile3.data.cash = 5000;
GParams.cash = profile3.data.cash;
profile3.data.Events = 1;
GParams.Events = profile3.data.Events;
profile3.data.races = new Array(new Array(0, 0, 0), new Array(0, 0, 0), new Array(0, 0, 0, 0), new Array(0, 0), new Array(0, 0), new Array(0, 0, 0, 0, 0));
_local3 = 0;
while (_local3 < profile3.data.races.length) {
_local4 = 0;
while (_local4 < profile3.data.races[_local3].length) {
GParams.eventRace[_local3][_local4] = profile3.data.races[_local3][_local4];
_local4++;
};
_local3++;
};
profile3.data.reputationPts = 0;
GParams.reputationPts = profile3.data.reputationPts;
profile3.data.gameScore = 0;
GParams.gameScore = profile3.data.gameScore;
break;
};
trace("new game created in", _arg1, _arg2);
init();
GParams.currentCar = GParams.MUSCLE;
}
public function init(){
if (profile1.data.uname != undefined){
player1 = profile1.data.uname;
};
if (profile2.data.uname != undefined){
player2 = profile2.data.uname;
};
if (profile3.data.uname != undefined){
player3 = profile3.data.uname;
};
}
}
}//package
Section 183
//QuickRace (QuickRace)
package {
import flash.display.*;
public dynamic class QuickRace extends MovieClip {
public var trkSelect:MovieClip;
public var qIntro:MovieClip;
public var race:SimpleButton;
public var carSelect:MovieClip;
public function QuickRace(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 184
//RaceSound (RaceSound)
package {
import flash.media.*;
public dynamic class RaceSound extends Sound {
}
}//package
Section 185
//RadioButton_disabledIcon (RadioButton_disabledIcon)
package {
import flash.display.*;
public dynamic class RadioButton_disabledIcon extends MovieClip {
}
}//package
Section 186
//RadioButton_downIcon (RadioButton_downIcon)
package {
import flash.display.*;
public dynamic class RadioButton_downIcon extends MovieClip {
}
}//package
Section 187
//RadioButton_overIcon (RadioButton_overIcon)
package {
import flash.display.*;
public dynamic class RadioButton_overIcon extends MovieClip {
}
}//package
Section 188
//RadioButton_selectedDisabledIcon (RadioButton_selectedDisabledIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedDisabledIcon extends MovieClip {
}
}//package
Section 189
//RadioButton_selectedDownIcon (RadioButton_selectedDownIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedDownIcon extends MovieClip {
}
}//package
Section 190
//RadioButton_selectedOverIcon (RadioButton_selectedOverIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedOverIcon extends MovieClip {
}
}//package
Section 191
//RadioButton_selectedUpIcon (RadioButton_selectedUpIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedUpIcon extends MovieClip {
}
}//package
Section 192
//RadioButton_upIcon (RadioButton_upIcon)
package {
import flash.display.*;
public dynamic class RadioButton_upIcon extends MovieClip {
}
}//package
Section 193
//Rect (Rect)
package {
public class Rect extends Collidable {
var rectH:Number;
var rectW:Number;
private var axis:Array;
public function Rect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0){
super(_arg1, _arg2, _arg5, _arg6, _arg7, _arg8, _arg9);
rectH = _arg4;
rectW = _arg3;
draw();
axis = new Array(new Vector(0, 0), new Vector(0, 0));
setaxis();
}
private function setaxis():void{
axis[0].x = Math.cos(((rotation * Math.PI) / 180));
axis[0].y = Math.sin(((rotation * Math.PI) / 180));
axis[1].x = -(axis[0].y);
axis[1].y = axis[0].x;
}
override function draw(){
graphics.beginFill(0xFF0000, visibility);
graphics.drawRect((-(rectW) / 2), (-(rectH) / 2), rectW, rectH);
graphics.endFill();
}
function getProjection(_arg1:Vector):Interval{
var _local2:Interval;
var _local3:Array;
var _local4:Number;
var _local5:Number;
_local2 = new Interval();
_local3 = new Array(new Vector(0, 0), new Vector(0, 0));
_local3[0] = getaxis(0);
_local3[1] = getaxis(1);
_local4 = (((rectW / 2) * Math.abs(_arg1.dot(_local3[0]))) + ((rectH / 2) * Math.abs(_arg1.dot(_local3[1]))));
_local5 = curr.dot(_arg1);
_local2.min = (_local5 - _local4);
_local2.max = (_local5 + _local4);
return (_local2);
}
function getaxis(_arg1:int):Vector{
setaxis();
return (axis[_arg1]);
}
}
}//package
Section 194
//RepairSound (RepairSound)
package {
import flash.media.*;
public dynamic class RepairSound extends Sound {
}
}//package
Section 195
//RWall0 (RWall0)
package {
public dynamic class RWall0 extends Wall {
}
}//package
Section 196
//RWall1 (RWall1)
package {
public dynamic class RWall1 extends Wall {
}
}//package
Section 197
//ShadowExotic (ShadowExotic)
package {
import flash.display.*;
public dynamic class ShadowExotic extends MovieClip {
}
}//package
Section 198
//ShadowMuscle (ShadowMuscle)
package {
import flash.display.*;
public dynamic class ShadowMuscle extends MovieClip {
}
}//package
Section 199
//ShadowTuner (ShadowTuner)
package {
import flash.display.*;
public dynamic class ShadowTuner extends MovieClip {
}
}//package
Section 200
//SliderThumb_disabledSkin (SliderThumb_disabledSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_disabledSkin extends MovieClip {
}
}//package
Section 201
//SliderThumb_downSkin (SliderThumb_downSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_downSkin extends MovieClip {
}
}//package
Section 202
//SliderThumb_overSkin (SliderThumb_overSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_overSkin extends MovieClip {
}
}//package
Section 203
//SliderThumb_upSkin (SliderThumb_upSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_upSkin extends MovieClip {
}
}//package
Section 204
//SliderTick_skin (SliderTick_skin)
package {
import flash.display.*;
public dynamic class SliderTick_skin extends MovieClip {
}
}//package
Section 205
//SliderTrack_disabledSkin (SliderTrack_disabledSkin)
package {
import flash.display.*;
public dynamic class SliderTrack_disabledSkin extends MovieClip {
}
}//package
Section 206
//SliderTrack_skin (SliderTrack_skin)
package {
import flash.display.*;
public dynamic class SliderTrack_skin extends MovieClip {
}
}//package
Section 207
//StartButton (StartButton)
package {
import flash.display.*;
public dynamic class StartButton extends SimpleButton {
}
}//package
Section 208
//Stone (Stone)
package {
import flash.display.*;
public class Stone extends MovieClip {
public var collRect:Circ;
public function place(){
collRect = new Circ(this.x, this.y, ((height - 4) / 2));
collRect.setFixed(true);
}
}
}//package
Section 209
//Symbol4 (Symbol4)
package {
import flash.display.*;
public dynamic class Symbol4 extends MovieClip {
}
}//package
Section 210
//Tile (Tile)
package {
import flash.display.*;
import flash.geom.*;
public class Tile extends MovieClip {
public var pt:Point;
public var element:MovieClip;
public var position:uint;
public var TileRow:uint;
public var elemental:Array;
public var eType:uint;
public var TileY:int;
public var TileX:int;
public var TileType:uint;
public var TileAngle:uint;
public var display:DisplayObjectContainer;
public var mc:MovieClip;
public static var TileFactory:tileFactory;
public function Tile(){
elemental = new Array();
super();
if (TileFactory == null){
TileFactory = new tileFactory();
};
}
public function init(){
TileFactory.init();
}
public function setImage(){
var _local1:*;
if (mc != null){
display.removeChild(mc);
while (elemental.length > 0) {
_local1 = elemental.pop();
display.removeChild(_local1);
Container.collidables.splice(Container.collidables.indexOf(_local1), 1);
};
};
mc = tileFactory.getTile(TileType);
mc.scaleX = 1.3;
mc.scaleY = 1.3;
}
public function removeTile(){
var _local1:*;
if (mc != null){
display.removeChild(mc);
while (elemental.length > 0) {
_local1 = elemental.pop();
display.removeChild(_local1);
Container.collidables.splice(Container.collidables.indexOf(_local1), 1);
};
};
}
public function resetTile(){
var _local1:uint;
mc.rotation = (-(TileAngle) * 60);
if (TileRow == GParams.ODD){
mc.x = (GParams.startX + ((TileX * 3) * GParams.SIDE));
mc.y = (GParams.startY + ((TileY * 1.732) * GParams.SIDE));
} else {
mc.x = ((GParams.startX + (GParams.SIDE * 1.5)) + ((TileX * 3) * GParams.SIDE));
mc.y = ((GParams.startY + ((GParams.SIDE * 1.732) / 2)) + ((TileY * 1.732) * GParams.SIDE));
};
display.addChildAt(mc, 0);
if (TileType == GParams.STRAIGHT){
pt = display.globalToLocal(mc.localToGlobal(new Point(450, 0)));
element = elementFactory.getElement(GParams.WALL, pt.x, pt.y, 0);
element.scaleY = 1.35;
(element as Wall).rotateWall(this.mc.rotation);
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
pt = display.globalToLocal(mc.localToGlobal(new Point(-450, 0)));
element = elementFactory.getElement(GParams.WALL, pt.x, pt.y, 0);
element.scaleY = 1.35;
(element as Wall).rotateWall((this.mc.rotation + 180));
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
};
if (TileType == GParams.CURVE){
pt = display.globalToLocal(mc.localToGlobal(new Point(225, -130)));
element = elementFactory.getElement(GParams.WALL, pt.x, pt.y, 1);
element.scaleY = 1.35;
(element as Wall).rotateWall((this.mc.rotation - 30));
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
};
if (eType == GParams.STONE){
_local1 = 0;
while (_local1 <= (position / 4)) {
switch ((position % 4)){
case 1:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(-170, -100)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(180, -150)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(-180, 50)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(170, 120)));
};
break;
case 2:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(-180, 60)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(170, 150)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(-210, -60)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(170, -180)));
};
break;
case 3:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(-190, 150)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(180, -60)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(190, 170)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(-180, -120)));
};
break;
case 0:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(180, 50)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(-180, 160)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(-190, -170)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(180, -90)));
};
break;
};
element = elementFactory.getElement(eType, pt.x, pt.y, ((position + _local1) % 4));
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
_local1++;
};
};
if (eType == GParams.DRUM){
pt = display.globalToLocal(mc.localToGlobal(new Point(120, -120)));
element = elementFactory.getElement(eType, pt.x, pt.y, position);
if (!display.contains(element)){
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
};
};
if (eType == GParams.TREE){
if ((position / 20) >= 1){
_local1 = 0;
while (_local1 <= (position % 20)) {
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(140, 100)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(-200, 160)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(10, -170)));
};
element = elementFactory.getElement(eType, pt.x, pt.y, _local1);
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
_local1++;
};
} else {
_local1 = 0;
while (_local1 <= (position / 4)) {
switch ((position % 4)){
case 1:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(200, -120)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(-200, -150)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(-230, 120)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(220, 10)));
};
break;
case 2:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(-210, -80)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(230, -160)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(200, 130)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(-200, 70)));
};
break;
case 3:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(190, 160)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(-220, -50)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(210, -100)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(-190, 150)));
};
break;
case 0:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(-200, -120)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(-190, 150)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(180, 90)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(200, -160)));
};
break;
default:
if (_local1 == 0){
pt = display.globalToLocal(mc.localToGlobal(new Point(-170, -80)));
};
if (_local1 == 1){
pt = display.globalToLocal(mc.localToGlobal(new Point(190, -190)));
};
if (_local1 == 2){
pt = display.globalToLocal(mc.localToGlobal(new Point(-160, 70)));
};
if (_local1 == 3){
pt = display.globalToLocal(mc.localToGlobal(new Point(160, 130)));
};
break;
};
element = elementFactory.getElement(eType, pt.x, pt.y, ((position + _local1) % 4));
display.addChild(element);
elemental.push(element);
Container.collidables.push(element);
_local1++;
};
};
};
}
public function setTileParams(_arg1:uint, _arg2:uint, _arg3:int, _arg4:int, _arg5:uint, _arg6:DisplayObjectContainer, _arg7:uint, _arg8:uint){
TileType = _arg1;
TileRow = _arg2;
TileX = _arg3;
TileY = _arg4;
TileAngle = _arg5;
display = _arg6;
eType = _arg7;
position = _arg8;
setImage();
resetTile();
}
}
}//package
Section 211
//tileFactory (tileFactory)
package {
import flash.display.*;
public class tileFactory {
private static var mcStraight:Array;
private static var mc:MovieClip;
private static var mcCurve:Array;
private static var mcBlank:Array;
public function init(){
switch (GParams.currentBG){
case GParams.COUNTRYSIDE:
mcStraight = new Array(new Country1(), new Country1(), new Country1(), new Country1(), new Country1());
mcCurve = new Array(new Country2(), new Country2(), new Country2(), new Country2(), new Country2(), new Country2(), new Country2());
mcBlank = new Array(new Country0(), new Country0(), new Country0(), new Country0(), new Country0(), new Country0(), new Country0(), new Country0());
break;
case GParams.ICELAND:
mcStraight = new Array(new Ice1(), new Ice1(), new Ice1(), new Ice1(), new Ice1());
mcCurve = new Array(new Ice2(), new Ice2(), new Ice2(), new Ice2(), new Ice2(), new Ice2(), new Ice2());
mcBlank = new Array(new Ice0(), new Ice0(), new Ice0(), new Ice0(), new Ice0(), new Ice0(), new Ice0(), new Ice0());
break;
case GParams.DESERT:
mcStraight = new Array(new Desert1(), new Desert1(), new Desert1(), new Desert1(), new Desert1());
mcCurve = new Array(new Desert2(), new Desert2(), new Desert2(), new Desert2(), new Desert2(), new Desert2(), new Desert2());
mcBlank = new Array(new Desert0(), new Desert0(), new Desert0(), new Desert0(), new Desert0(), new Desert0(), new Desert0(), new Desert0());
break;
};
}
public static function getTile(_arg1:uint):MovieClip{
var _local2:Number;
var _local3:Number;
_local2 = 0;
_local3 = 0;
switch (_arg1){
case GParams.STRAIGHT:
_local3 = 0;
while (mcStraight[_local2].parent != null) {
_local2 = ((_local2 + 1) % 5);
if (_local3 > 4){
trace("fault in straight tile", _local3);
return (null);
};
_local3++;
};
mc = mcStraight[_local2];
break;
case GParams.CURVE:
_local3 = 0;
while (mcCurve[_local2].parent != null) {
_local2 = ((_local2 + 1) % 7);
if (_local3 > 6){
trace("fault in curve tile", _local3);
return (null);
};
_local3++;
};
mc = mcCurve[_local2];
break;
case GParams.BLANK:
_local3 = 0;
while (mcBlank[_local2].parent != null) {
_local2 = ((_local2 + 1) % 8);
if (_local3 > 7){
trace("fault in blank tile", _local3);
return (null);
};
_local3++;
};
mc = mcBlank[_local2];
break;
};
return (mc);
}
public static function destroy(){
}
}
}//package
Section 212
//trail (trail)
package {
import flash.display.*;
import flash.geom.*;
public class trail extends Sprite {
private var startPoint:Point;
private var thickness;// = 3
private var endPoint:Point;
public function trail(){
thickness = 3;
super();
}
public function redrawTrail(){
this.graphics.moveTo(startPoint.x, startPoint.y);
this.graphics.lineTo(endPoint.x, endPoint.y);
}
public function setPoints(_arg1:Point, _arg2:Point, _arg3:Number){
this.graphics.lineStyle(thickness, _arg3);
startPoint = _arg1;
endPoint = _arg2;
redrawTrail();
}
}
}//package
Section 213
//trailContainer (trailContainer)
package {
import flash.display.*;
import flash.utils.*;
public class trailContainer extends Sprite {
private var tArray:Array;
public function trailContainer(){
tArray = new Array();
super();
}
public function addTrail(_arg1:trail){
this.addChild(_arg1);
tArray.push(getTimer());
}
public function removeTrail(){
while ((((tArray.length > 0)) && (((tArray[0] + 3000) < getTimer())))) {
tArray.shift();
if (this.numChildren > 0){
this.removeChildAt(0);
};
};
}
}
}//package
Section 214
//trailFactory (trailFactory)
package {
public class trailFactory {
private var trailArray:Array;
private var trailIndex:Number;
public function trailFactory(){
trailArray = new Array(10000);
super();
trailIndex = -1;
}
public function getTrail():trail{
trailIndex = ((trailIndex + 1) % trailArray.length);
if (trailArray[trailIndex] == null){
trailArray[trailIndex] = new trail();
} else {
trailArray[trailIndex].graphics.clear();
};
return (trailArray[trailIndex]);
}
}
}//package
Section 215
//Tree (Tree)
package {
import flash.display.*;
public class Tree extends MovieClip {
public var collRect:Circ;
public function place(){
collRect = new Circ(this.x, this.y, 20);
collRect.setFixed(true);
}
}
}//package
Section 216
//trk0 (trk0)
package {
public dynamic class trk0 extends MiniMap {
}
}//package
Section 217
//trk1 (trk1)
package {
public dynamic class trk1 extends MiniMap {
}
}//package
Section 218
//trk2 (trk2)
package {
public dynamic class trk2 extends MiniMap {
}
}//package
Section 219
//trk3 (trk3)
package {
public dynamic class trk3 extends MiniMap {
}
}//package
Section 220
//trk4 (trk4)
package {
public dynamic class trk4 extends MiniMap {
}
}//package
Section 221
//trk5 (trk5)
package {
public dynamic class trk5 extends MiniMap {
}
}//package
Section 222
//trk6 (trk6)
package {
public dynamic class trk6 extends MiniMap {
}
}//package
Section 223
//trk7 (trk7)
package {
public dynamic class trk7 extends MiniMap {
}
}//package
Section 224
//trk8 (trk8)
package {
public dynamic class trk8 extends MiniMap {
}
}//package
Section 225
//Tuner (Tuner)
package {
import flash.display.*;
public class Tuner extends Car {
public var rb:MovieClip;
public var rf:MovieClip;
public var lf:MovieClip;
public var lb:MovieClip;
public var burn:MovieClip;
public function Tuner(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
leftF = lf;
rightF = rf;
leftB = lb;
rightB = rb;
Burn = burn;
Shadow = new ShadowTuner();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 226
//UpgradeSound (UpgradeSound)
package {
import flash.media.*;
public dynamic class UpgradeSound extends Sound {
}
}//package
Section 227
//Wall (Wall)
package {
import flash.display.*;
public class Wall extends MovieClip {
public var collRect:Rect;
public function place(){
this.rotation = 0;
collRect = new Rect(this.x, this.y, 58, (height + 30));
collRect.setFixed(true);
}
public function rotateWall(_arg1:Number){
collRect.rotation = _arg1;
this.rotation = _arg1;
}
}
}//package
Section 228
//Vector (Vector)
package {
public class Vector {
var _x:Number;
var _y:Number;
public function Vector(_arg1:Number, _arg2:Number){
_x = _arg1;
_y = _arg2;
}
public function magnitude():Number{
return (Math.sqrt(((_x * _x) + (_y * _y))));
}
public function plusEquals(_arg1:Vector):void{
_x = (_x + _arg1.x);
_y = (_y + _arg1.y);
}
public function plus(_arg1:Vector):Vector{
return (new Vector((_x + _arg1.x), (_y + _arg1.y)));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
public function dot(_arg1:Vector):Number{
return (((_x * _arg1.x) + (_y * _arg1.y)));
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function div(_arg1:Number):Vector{
if (_arg1 == 0){
(_arg1 == 0.001);
};
return (new Vector((_x / _arg1), (_y / _arg1)));
}
public function minusEquals(_arg1:Vector):void{
_x = (_x - _arg1.x);
_y = (_y - _arg1.y);
}
public function minus(_arg1:Vector):Vector{
return (new Vector((_x - _arg1.x), (_y - _arg1.y)));
}
public function get x():Number{
return (_x);
}
public function get y():Number{
return (_y);
}
public function divEquals(_arg1:Number):Vector{
if (_arg1 == 0){
(_arg1 == 0.001);
};
_x = (_x / _arg1);
_y = (_y / _arg1);
return (this);
}
public function multEquals(_arg1:Number):void{
_x = (_x * _arg1);
_y = (_y * _arg1);
}
public function mult(_arg1:Number):Vector{
return (new Vector((_x * _arg1), (_y * _arg1)));
}
}
}//package
Section 229
//WelcomeSound (WelcomeSound)
package {
import flash.media.*;
public dynamic class WelcomeSound extends Sound {
}
}//package
Section 230
//WinText (WinText)
package {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class WinText extends MovieClip {
public var finishing:MovieClip;
public function WinText(){
addFrameScript(0, frame1, 7, frame8, 59, frame60, 60, frame61, 119, frame120, 120, frame121, 126, frame127, 178, frame179, 180, frame181, 189, frame190, 238, frame239);
}
function frame181(){
stop();
}
function frame1(){
stop();
}
function frame190(){
this.finishing.gotoAndStop(((this.parent.parent as MainClass).finalResult - 4));
}
function frame179(){
stop();
if (MainClass.careerMode){
(this.parent.parent as MainClass).careerFinishUpdate();
} else {
(this.parent.parent as MainClass).createGameOver();
};
}
function frame8(){
this.finishing.num.gotoAndStop((this.parent.parent as MainClass).finalResult);
}
function frame239(){
stop();
if (MainClass.careerMode){
(this.parent.parent as MainClass).careerFinishUpdate();
} else {
switch ((this.parent.parent as MainClass).finalResult){
case 5:
(this.parent.parent as MainClass).currentWin = (this.parent.parent as MainClass).win;
(this.parent.parent as MainClass).createGameOver();
break;
case 6:
(this.parent.parent as MainClass).currentWin = (this.parent.parent as MainClass).win;
(this.parent.parent as MainClass).createYouWin();
break;
case 7:
(this.parent.parent as MainClass).currentWin = (this.parent.parent as MainClass).win;
(this.parent.parent as MainClass).createGameOver();
break;
};
};
}
function frame120(){
stop();
if (MainClass.careerMode){
(this.parent.parent as MainClass).careerCrashUpdate();
} else {
(this.parent.parent as MainClass).createGameOver();
};
}
function frame127(){
this.finishing.num.gotoAndStop((this.parent.parent as MainClass).finalResult);
}
function frame121(){
stop();
}
function frame61(){
stop();
}
function frame60(){
stop();
if (MainClass.careerMode){
(this.parent.parent as MainClass).careerFinishUpdate();
} else {
(this.parent.parent as MainClass).currentWin = (this.parent.parent as MainClass).win;
(this.parent.parent as MainClass).createYouWin();
};
}
}
}//package
Section 231
//YouWin (YouWin)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class YouWin extends MovieClip {
var urlPlayMore:String;// = "http://www.flasharcade.com"
var requestPlayMore:URLRequest;// = null
public var w1:MovieClip;
private static var youWin:YouWin = null;
public function YouWin(){
urlPlayMore = "http://www.flasharcade.com";
requestPlayMore = null;
super();
requestPlayMore = new URLRequest(urlPlayMore);
}
public function getPlayerName():String{
var _local1:String;
_local1 = this.w1.box.player.text;
if (_local1 == null){
return (null);
};
this.w1.box.errormesg.text = "";
return (_local1);
}
public function init(){
gotoAndPlay(1);
requestPlayMore = new URLRequest(urlPlayMore);
this.w1.playMore.addEventListener(MouseEvent.CLICK, handleClick);
}
public function writePlayerName(_arg1:String){
this.w1.box.player.text = _arg1;
}
public function handleClick(_arg1:MouseEvent){
var event = _arg1;
try {
navigateToURL(requestPlayMore, "_blank");
} catch(e:Error) {
};
}
public function updateScores(){
this.w1.box.totalScore.text = GParams.gameScore.toString();
trace(this.w1.box.totalScore.text);
}
public function resetData(){
this.w1.box.totalScore.text = " ";
this.w1.box.player.text = "";
this.w1.box.errormesg.text = " ";
}
public function setErrorMesg(_arg1:String){
this.w1.box.errormesg.text = _arg1;
}
public static function getInstance():YouWin{
if (youWin == null){
youWin = new (YouWin);
};
youWin.resetData();
return (youWin);
}
}
}//package
Section 232
//YouWinSound (YouWinSound)
package {
import flash.media.*;
public dynamic class YouWinSound extends Sound {
}
}//package