STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229158
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2571 · P5142

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/34423369?noj=FRM34423369-18DC" width="1" height="1"></div>

webracer.swf

This is the info page for
Flash #256972

(Click the ID number above for more basic data on this flash file.)


Text
GAME INSTRUCTIONS

Race three laps across each track and make number one before the race end to win. Pick up boost cubes to use for overtaking.

Right

Left

Break/Reverse

Accelerate

Boost

Track

Lap

Minimize window

CONTROLS

SPACE BAR

SPACE BAR

START

START

START

END GAME

END GAME

WRONG WAY

TURN AROUND

Programmed by Notch

GAME OVER

Lap 1 Time:
Lap 2 Time:
Lap 3 Time:

00:00:00
00:00:00
00:00:00

TOTAL TIME

00:00:00

SCORE

88888

Game ends in 3 seconds.

TOTAL SCORE

88888

ActionScript [AS1/AS2]

Symbol 71 MovieClip Frame 1
stop();
Symbol 105 MovieClip Frame 50
gotoAndPlay (1);
Symbol 105 MovieClip Frame 61
stop();
Symbol 108 MovieClip Frame 1
stop();
Symbol 247 MovieClip Frame 1
stop();
Symbol 262 MovieClip [booster_lamp] Frame 1
stop();
Symbol 263 MovieClip [GameArea] Frame 1
#initclip 22 Object.registerClass("GameArea", com.midasplayer.webracer.GameArea); #endinitclip
Symbol 294 MovieClip Frame 1
stop();
Symbol 302 MovieClip Frame 1
stop();
Symbol 321 MovieClip Frame 1
stop();
Symbol 323 MovieClip [WebRacer] Frame 1
#initclip 21 Object.registerClass("WebRacer", com.midasplayer.webracer.WebRacer); #endinitclip
Symbol 338 MovieClip Frame 1
stop();
Symbol 360 MovieClip [__Packages.com.midasplayer.timing.Timeable] Frame 0
interface com.midasplayer.timing.Timeable { }
Symbol 361 MovieClip [__Packages.com.midasplayer.webracer.WebRacer] Frame 0
class com.midasplayer.webracer.WebRacer extends MovieClip implements com.midasplayer.timing.Timeable { var gotGameData, communicator, timer, gameArea, infoBar, infoBarSmall, bg, timeLabel; function WebRacer () { super(); } function init() { if (debug) { _root.gameData = ((((((((("<gamedata duration=\"300\" randomseed=\"4711\"><track id=\"1\" name=\"n_imola\" url=\"http://royalgames.com/games/webracer/n_imola.swf\"/><track id=\"2\" name=\"n_monaco\" url=\"http://royalgames.com/games/webracer/n_monaco.swf\"/><text id=\"right\">Right</text><text id=\"key_space\">SPACE BAR</text><text id=\"start\">START</text><text id=\"game_instructions_header\">GAME INSTRUCTIONS</text><text id=\"wrong_way\">WRONG WAY</text><text id=\"lap\">Lap</text><text id=\"minimize\">Minimize window</text><text id=\"game_instructions\">Race three laps across each track and make number one before the race end to win. Pick up boost cubes to use for overtaking.</text><text id=\"boost\">Boost</text><text id=\"turn_around\">TURN AROUND</text><text id=\"accelerate\">Accelerate</text><text id=\"left\">Left</text><text id=\"track\">Track</text><text id=\"end_game\">END GAME</text><text id=\"controls_header\">CONTROLS</text><text id=\"break\">Break/Reverse</text>" + "<text id=\"lap_time\">Lap {0} time</text>") + "<text id=\"total_time\">TOTAL TIME</text>") + "<text id=\"score\">SCORE</text>") + "<text id=\"total_score\">TOTAL SCORE</text>") + "<text id=\"qualify\">QUALIFIED FOR RACE 2</text>") + "<text id=\"not_qualify\">DID NOT QUALIFY</text>") + "<text id=\"game_over\">GAME OVER</text>") + "<text id=\"race_start_in\">Race 2 starts in {0} seconds.</text>") + "<text id=\"game_end_in\">Game ends in {0} seconds.</text>") + "</gamedata>"; } gotGameData = false; communicator = new com.midasplayer.webracer.Communicator(); timer = new com.midasplayer.timing.Timer(this, 15); } function onEnterFrame() { if (!inited) { init(); inited = true; } if (!gotGameData) { if (_root.gameData != undefined) { gotGameData = true; communicator.parseGameData(_root.gameData); communicator.gameStarted(); gameArea.init(communicator, infoBar, infoBarSmall, bg); gameArea.loadMap(0); } } else { timer.advanceTime(); } } function tick(tick) { fps = (fps * 0.8) + (timer.fps * 0.2); timeLabel.text = "FPS: " + Math.floor(fps); gameArea.tick(tick); gameArea.fps = fps; } function render(tick, alpha) { gameArea.render(tick, alpha); } static var debug = true; var inited = false; var fps = 0; }
Symbol 362 MovieClip [__Packages.com.midasplayer.webracer.GameArea] Frame 0
class com.midasplayer.webracer.GameArea extends MovieClip { static var instance; var timeOutTimer, skidmarks, createEmptyMovieClip, checkFpsIn, shouldSetBgVisible, renderSkidmarks, enteredText, bg, dynamicObjects, lapTimes, totalScore, quitIn, startLapTwoIn, communicator, soundEngine, boostTimes, infoBar, infoBarSmall, hjulgran, xCamPos, yCamPos, miniMapBg, attachMovie, beginTime, opponents, minimapDots, boostMcs, mapNum, mapName, raceStarted, mapMC, miniMapMC, keyRecorder, gameLogic, road, wall, car, minimap, xMinimapOffset, yMinimapOffset, minimapScale, raceOverPosition, raceOverLapEndTime, needleRot, xCam, yCam, _x, _y, globalToLocal; function GameArea () { super(); } function init(communicator, infoBar, infoBarSmall, bg) { timeOutTimer = 5400; _root.egoPanel._visible = false; _root.egoPanel._alpha = 100; skidmarks = createEmptyMovieClip("skidmarks", 60); skidmarks.lineStyle(5, 0, 100); skidmarks.moveTo(200, 200); checkFpsIn = -1; shouldSetBgVisible = false; com.midasplayer.webracer.Communicator.gameArea = this; renderSkidmarks = false; enteredText = ""; this.bg = bg; dynamicObjects = new Array(); lapTimes = new Array(); totalScore = 0; quitIn = -1; startLapTwoIn = -1; this.communicator = communicator; _root.wrongWayWarning._visible = false; _root.finishWindow._visible = false; soundEngine = new com.midasplayer.webracer.SoundEngine(this); boostTimes = new Array(); boostTimes[0] = -1; boostTimes[1] = -1; boostTimes[2] = -1; this.infoBar = infoBar; this.infoBarSmall = infoBarSmall; hjulgran = new com.midasplayer.webracer.Hjulgran(_root.hjulgran, this); instance = this; createEmptyMovieClip("mapMC", 50); createEmptyMovieClip("miniMapMC", 200); Key.addListener(this); Selection.addListener(this); xCamPos = new com.midasplayer.timing.IFloat(); yCamPos = new com.midasplayer.timing.IFloat(); miniMapBg = attachMovie("MiniMapBg", "miniMapBg", 199); miniMapBg.minimizeButton.gameArea = this; miniMapBg.gameArea = this; miniMapBg.minimizeButton.onRelease = function () { this.gameArea.minimizeMinimap(); }; miniMapBg.onMouseDown = function () { this.hh = 37; if (this.bigPanel._visible) { this.hh = this._height; } if ((((this._xMouse > 0) && (this._yMouse > 0)) && (this._xMouse <= this._width)) && (this._yMouse <= this.hh)) { this.dragging = true; this.xDragStart = this._xMouse; this.yDragStart = this._yMouse; } }; miniMapBg.onMouseUp = function () { this.dragging = false; }; miniMapBg.onMouseMove = function () { if (this.dragging) { this.gameArea.miniMapX = this.gameArea.miniMapX + (this._xMouse - this.xDragStart); this.gameArea.miniMapY = this.gameArea.miniMapY + (this._yMouse - this.yDragStart); } }; infoBar.boosterMeter0.gotoAndStop(3); infoBar.boosterMeter1.gotoAndStop(3); infoBar.boosterMeter2.gotoAndStop(3); infoBarSmall.boosterMeter0.gotoAndStop(3); infoBarSmall.boosterMeter1.gotoAndStop(3); infoBarSmall.boosterMeter2.gotoAndStop(3); infoBarSmall._visible = false; infoBar.minimizeButton.gameArea = this; infoBar.minimizeButton.onRelease = function () { this.gameArea.toggleInfobar(); }; infoBarSmall.minimizeButton.gameArea = this; infoBarSmall.minimizeButton.onRelease = function () { this.gameArea.toggleInfobar(); }; infoBar.soundOnButton.gameArea = this; infoBar.soundOnButton.onRelease = function () { this.gameArea.toggleSound(); }; infoBar.soundOffButton.gameArea = this; infoBar.soundOffButton.onRelease = function () { this.gameArea.toggleSound(); }; _root.endGameButton.gameArea = this; _root.endGameButton.onRelease = function () { this.gameArea.endGameButtonPressed(); }; infoBar.soundOnButton._visible = false; Key.addListener(this); beginTime = getTimer(); } function loadMap(mapNum) { opponents = new Array(); minimapDots = new Array(); boostMcs = new Object(); isInited = false; pickedUpBoosters = 0; usedBoosters = 0; boosts = 0; lap = 0; var _local2 = 0; while (_local2 < dynamicObjects.length) { dynamicObjects[_local2].unloadMovie(); _local2++; } dynamicObjects = new Array(); this.mapNum = mapNum; var _local4 = communicator.trackUrls[mapNum + 1].toString(); var _local7 = communicator.trackNames[mapNum + 1].toString(); mapName = _local7; mapLoaded = false; raceStarted = false; if (mapNum > 0) { mapMC.unloadMovie(); miniMapMC.unloadMovie(); } skidmarks.clear(); skidmarks = createEmptyMovieClip("skidmarks", 60); skidmarks.lineStyle(5, 0, 100); skidmarks.moveTo(200, 200); var _local5 = new MovieClipLoader(); loadCount = 0; _local5.addListener({onLoadProgress:function () { }, onLoadInit:function () { com.midasplayer.webracer.GameArea.instance.mapDataLoaded(); }, onLoadError:function (target_mc, errorCode) { com.midasplayer.webracer.GameArea.instance.loadFailed("Failed to load the level data: " + errorCode); }}); communicator.loadMapData(_local4); var _local3 = _local5.loadClip(_local4, mapMC); _local3 = _local3 & _local5.loadClip(_local4, miniMapMC); if (!_local3) { loadFailed("Failed to load the level data"); } } function loadFailed(reason) { _root.finishWindow._visible = true; bg._visible = true; soundEngine.stopEngine(); _root.finishWindow.titleText.text = "ERROR"; _root.finishWindow.lapTimeText._visible = false; _root.finishWindow.totalTimeText._visible = false; _root.finishWindow.scoreText._visible = false; _root.finishWindow.totalScoreText._visible = false; _root.finishWindow.lapTimeNumber._visible = false; _root.finishWindow.totalTimeNumber._visible = false; _root.finishWindow.scoreNumber._visible = false; _root.finishWindow.totalScoreText._visible = false; _root.finishWindow.totalScoreNumber._visible = false; _root.finishWindow.gameOverText._visible = true; _root.finishWindow.loaderProgress._visible = false; _root.finishWindow.gameOverText.text = "Exiting"; _root.finishWindow.errorText.text = reason; communicator.gameEnd(totalScore); quitIn = getTimer() + 7000; } function mapDataLoaded() { loadCount++; if (loadCount == 3) { initMap(); _root.startWindow.loaderProgress._visible = false; _root.finishWindow.loaderProgress._visible = false; if (mapNum > 0) { startLapTwoIn = getTimer() + 7000; } else { _root.startWindow.startButton.onRelease = function () { _root.startWindow._visible = false; com.midasplayer.webracer.GameArea.instance.soundEngine.stopIntroSong(); com.midasplayer.webracer.GameArea.instance.prepareStartRace(); }; } } } function initMap() { if (isInited) { return(undefined); } isInited = true; keyRecorder = new com.midasplayer.webracer.KeyRecorder(); if (mapNum == 0) { soundEngine.playIntroSong(); } var _local19 = communicator.parseMapData(); var _local20 = communicator.parsedPositions; var _local21 = communicator.pathData; gameLogic = new com.midasplayer.webracer.GameLogic(_local19, _local20, _local21, this, mapNum, communicator.seed); var _local13 = mapMC.mapdata0.split(";"); var _local14 = new Array(); var _local2 = 0; while (_local2 < _local13.length) { var _local8 = _local13[_local2].split(":"); var _local12 = parseInt(_local8[0], 36); var _local11 = parseInt(_local8[1], 36); var _local9 = parseInt(_local8[2], 36); if (!((isNaN(_local12) || (isNaN(_local11))) || (isNaN(_local9)))) { _local14.push(new com.midasplayer.webracer.PathPoint(_local12, _local11, _local9)); } _local2++; } var _local7 = new Array(); var _local3 = 100; for (var _local17 in mapMC) { if ((_local17.length > 2) && (_local17.substr(0, 2) == "wp")) { mapMC[_local17]._visible = false; } else if (_local17 == "car") { mapMC[_local17]._visible = false; } else if ((_local17.length > 7) && (_local17.substr(0, 8) == "opponent")) { mapMC[_local17]._visible = false; } else if ((_local17.length > 4) && (_local17.substr(0, 5) == "boost")) { mapMC[_local17]._visible = false; } else if ((_local17.length > 3) && (_local17.substr(0, 4) == "road")) { road = mapMC[_local17]; } else if ((_local17.length > 3) && (_local17.substr(0, 4) == "wall")) { wall = mapMC[_local17]; } } _local2 = 0; while (_local2 < 5) { var _local6 = attachMovie("Car", "Car" + _local3, _local3++); dynamicObjects.push(_local6); _local6._x = gameLogic.opponentMotions[_local2].pos.x / 4096; _local6._y = gameLogic.opponentMotions[_local2].pos.y / 4096; var _local10 = new com.midasplayer.webracer.Car(_local6, _local7.length + 1); _local10.isComputer = true; _local10.playerCar = true; _local10.init(5); _local7.push(_local10); var _local5 = attachMovie("MinimapDot", "car", 100 + (_local3++)); dynamicObjects.push(_local5); _local5.icon.gotoAndStop(_local7.length + 1); minimapDots.push(_local5); _local5._visible = miniMapBg.bigPanel._visible; _local2++; } _local2 = 0; while (_local2 < 1) { var _local6 = attachMovie("Car", "Car" + _local3, _local3++); dynamicObjects.push(_local6); _local6._x = gameLogic.carMotion.pos.x / 4096; _local6._y = gameLogic.carMotion.pos.y / 4096; car = new com.midasplayer.webracer.Car(_local6, 0); car.playerCar = true; car.init(5); car.isComputer = false; var _local5 = attachMovie("MinimapDot", "car", 100 + (_local3++)); dynamicObjects.push(_local5); _local5.icon.gotoAndStop(1); minimapDots.push(_local5); _local5._visible = miniMapBg.bigPanel._visible; _local2++; } _local2 = 0; while (_local2 < 3) { var _local4 = attachMovie("booster", "booster", _local3++); dynamicObjects.push(_local4); _local4._x = gameLogic.boosts[_local2].x / 4096; _local4._y = gameLogic.boosts[_local2].y / 4096; _local4.taken = false; boostMcs["boost" + _local2] = _local4; _local2++; } for (var _local17 in miniMapMC) { if ((_local17.length > 3) && (_local17.substr(0, 4) == "road")) { minimap = miniMapMC[_local17]; miniMapMC[_local17]._visible = true; } else { miniMapMC[_local17]._visible = false; } } minimap.swapHeights(4); minimap._alpha = 100; road._visible = false; wall._visible = false; var _local16 = communicator.mapWidth; var _local15 = communicator.mapHeight; xMinimapOffset = 0; yMinimapOffset = 0; minimapScale = 1; if (_local16 > _local15) { minimapScale = 120 / _local16; _local15 = _local15 * minimapScale; _local16 = _local16 * minimapScale; yMinimapOffset = (-(130 - _local15)) / 2; } else { minimapScale = 130 / _local15; _local16 = _local16 * minimapScale; _local15 = _local15 * minimapScale; xMinimapOffset = (-(120 - _local16)) / 2; } minimap._width = _local16; minimap._height = _local15; var _local18 = new Color(minimap); _local18.setRGB(16777215); minimap._visible = miniMapBg.bigPanel._visible; car.setToCarMotion(gameLogic.carMotion); car.setToCarMotion(gameLogic.carMotion); _local2 = 0; while (_local2 < _local7.length) { var _local10 = new com.midasplayer.webracer.Opponent(_local7[_local2], _local14, this); _local10.speedMod = 1 - (_local2 * 0.1); opponents.push(_local10); opponents[_local2].car.setToCarMotion(gameLogic.opponentMotions[_local2]); opponents[_local2].car.setToCarMotion(gameLogic.opponentMotions[_local2]); _local2++; } mapLoaded = true; shouldSetBgVisible = true; } function prepareStartRace() { hjulgran.dropDown(true); } function startRace() { raceStarted = true; raceStartTime = getTimer(); var _local2 = 0; while (_local2 < opponents.length) { opponents[_local2].start(); _local2++; } soundEngine.startEngine(); soundEngine.stopIntroSong(); communicator.raceStarted(mapNum, mapName, 0); } function onKillFocus() { car.turnLeft = false; car.turnRight = false; car.accelerate = false; car.brake = false; car.handBrake = false; } function tick(tick) { if (mapLoaded) { timeOutTimer--; if (timeOutTimer == 0) { endGameButtonPressed(); beginTime = getTimer(); } } if ((checkFpsIn > 0) && (getTimer() > checkFpsIn)) { checkFpsIn = -1; if (fps < 15) { _root._quality = "LOW"; } } if (quitIn > 0) { var _local12 = Math.floor((quitIn - getTimer()) / 1000); if (_local12 < 0) { _local12 = 0; } _root.finishWindow.gameOverText.text = _global.textMappings.game_end_in.split("{0}").join(_local12); if (_local12 == 0) { quitIn = -1; communicator.gameQuit(); } } if ((raceOverTime > 0) && (getTimer() > raceOverTime)) { raceOverTime = -1; doRaceOver(raceOverPosition, raceOverLapEndTime); } if (startLapTwoIn > 0) { var _local12 = Math.floor((startLapTwoIn - getTimer()) / 1000); _root.finishWindow.gameOverText._visible = true; _root.finishWindow.gameOverText.text = _global.textMappings.race_start_in.split("{0}").join(_local12); if (getTimer() > startLapTwoIn) { _root.finishWindow._visible = false; startLapTwoIn = -1; prepareStartRace(); } } var _local10 = gameLogic.raceTimeInMilliseconds; var _local13 = Math.floor(_local10 / 10) % 100; var _local11 = Math.floor(_local10 / 1000) % 60; var _local14 = Math.floor((_local10 / 1000) / 60); infoBar.timeMeter.number0.gotoAndStop((_local13 % 10) + 1); infoBar.timeMeter.number1.gotoAndStop(Math.floor(_local13 / 10) + 1); infoBar.timeMeter.number2.gotoAndStop((_local11 % 10) + 1); infoBar.timeMeter.number3.gotoAndStop(Math.floor(_local11 / 10) + 1); infoBar.timeMeter.number4.gotoAndStop((_local14 % 10) + 1); infoBar.timeMeter.number5.gotoAndStop(Math.floor(_local14 / 10) + 1); infoBarSmall.timeMeter.number0.gotoAndStop((_local13 % 10) + 1); infoBarSmall.timeMeter.number1.gotoAndStop(Math.floor(_local13 / 10) + 1); infoBarSmall.timeMeter.number2.gotoAndStop((_local11 % 10) + 1); infoBarSmall.timeMeter.number3.gotoAndStop(Math.floor(_local11 / 10) + 1); infoBarSmall.timeMeter.number4.gotoAndStop((_local14 % 10) + 1); infoBarSmall.timeMeter.number5.gotoAndStop(Math.floor(_local14 / 10) + 1); if (mapLoaded) { if (raceStarted) { miniMapBg.raceMeter.number.gotoAndStop(mapNum + 2); var _local8 = gameLogic.carMotion.lap + 2; if (_local8 > 4) { _local8 = 4; } miniMapBg.lapMeter.number.gotoAndStop(_local8); if (!raceOver) { currentTime = getTimer(); car.turnLeft = Key.isDown(37) || (Key.isDown(65)); car.turnRight = Key.isDown(39) || (Key.isDown(68)); car.accelerate = Key.isDown(38) || (Key.isDown(87)); car.brake = Key.isDown(40) || (Key.isDown(83)); isBoosting = false; var _local4 = 0; while (_local4 < 3) { if (boostTimes[_local4] >= 0) { isBoosting = true; if ((getTimer() - boostTimes[_local4]) > 3000) { boostTimes[_local4] = -1; } } _local4++; } } else { car.turnLeft = false; car.turnRight = false; car.accelerate = false; car.brake = true; } var _local4 = 0; while (_local4 < 3) { if (_local4 < boosts) { infoBar["boosterMeter" + _local4].gotoAndStop(1); infoBarSmall["boosterMeter" + _local4].gotoAndStop(1); } else if ((_local4 == boosts) && (isBoosting)) { infoBar["boosterMeter" + _local4].gotoAndStop(2); infoBarSmall["boosterMeter" + _local4].gotoAndStop(2); } else { infoBar["boosterMeter" + _local4].gotoAndStop(3); infoBarSmall["boosterMeter" + _local4].gotoAndStop(3); } _local4++; } _local10 = gameLogic.raceTimeInMilliseconds; _local13 = Math.floor(_local10 / 10) % 100; _local11 = Math.floor(_local10 / 1000) % 60; _local14 = Math.floor((_local10 / 1000) / 60); if (_local11 >= 200) { if (communicator.endGamePressed()) { communicator.gameEnd(totalScore); quitIn = getTimer(); } } var _local9 = Key.isDown(32); if (!raceOver) { keyRecorder.record(car.accelerate, car.brake, car.turnLeft, car.turnRight, _local9 && (!wasSpaceDown)); gameLogic.tick(car.accelerate, car.brake, car.turnLeft, car.turnRight, _local9 && (!wasSpaceDown)); } wasSpaceDown = _local9; car.setToCarMotion(gameLogic.carMotion); position = 1; _local4 = 0; while (_local4 < opponents.length) { opponents[_local4].car.setToCarMotion(gameLogic.opponentMotions[_local4]); if (gameLogic.carMotion.progress < gameLogic.opponentMotions[_local4].progress) { position++; } _local4++; } if (position < oldPosition) { soundEngine.playOverTake(); } if (position > oldPosition) { soundEngine.playUnderTake(); } oldPosition = position; infoBar.posMeter.gotoAndStop(7 - position); infoBarSmall.posMeter.gotoAndStop(7 - position); var _local6 = 150; var _local5 = _local6 * (((gameLogic.carMotion.speed / 4096) / 20) * 150); if (_local5 < 0) { _local5 = 0; } if (_local5 > _local6) { _local5 = _local6; } soundVal = _local5 / _local6; _local5 = _local6 * ((gameLogic.carMotion.speed / 4096) / 30); if (_local5 < 0) { _local5 = 0; } if (_local5 > _local6) { _local5 = _local6; } needleRot = _local5 / _local6; } var _local7 = ((gameLogic.carMotion.speed / 4096) / 20) * 150; if (firstTick) { xCam = (gameLogic.carMotion.pos.x / 4096) + (Math.cos(gameLogic.carMotion.dir / 4096) * _local7); yCam = (gameLogic.carMotion.pos.y / 4096) + (Math.sin(gameLogic.carMotion.dir / 4096) * _local7); xCamPos.set(xCam); yCamPos.set(yCam); xCamPos.set(xCam); yCamPos.set(yCam); firstTick = false; } else { if (!raceOver) { xCam = (xCam * 0.65) + (((gameLogic.carMotion.pos.x / 4096) + (Math.cos(gameLogic.carMotion.dir / 4096) * _local7)) * 0.35); yCam = (yCam * 0.65) + (((gameLogic.carMotion.pos.y / 4096) + (Math.sin(gameLogic.carMotion.dir / 4096) * _local7)) * 0.35); } xCamPos.set(xCam); yCamPos.set(yCam); } } hjulgran.gameTick(); soundEngine.gameTick((car.accelerate && (gameLogic.carMotion.dirA > -380)) && (gameLogic.carMotion.dirA < 380), (gameLogic.carMotion.speed / 4096) / 30); } function lapCompleted(lap) { var _local3 = gameLogic.raceTimeInMilliseconds; if (lap > 0) { lapTimes[lap - 1] = _local3; if (lap > 1) { lapTimes[lap - 1] = lapTimes[lap - 1] - lapTimes[lap - 2]; } if (lap > 2) { lapTimes[lap - 1] = lapTimes[lap - 1] - lapTimes[lap - 3]; } communicator.lapCompleted(lap - 1, position - 1, keyRecorder.getString(), gameLogic.raceTimeInMilliseconds); if (lap == 3) { raceOverTime = getTimer() + 3000; raceOver = true; raceOverPosition = position; raceOverLapEndTime = _local3; } soundEngine.playFinishLap(lap); } } function boosterTaken(i) { communicator.boosterPickedUp(gameLogic.raceTimeInMilliseconds); soundEngine.playGetBooster(); boosts++; boostMcs["boost" + i].mc.gotoAndPlay(51); boostMcs["boost" + i].taken = true; } function boosterUsed() { boostTimes[usedBoosters] = getTimer(); boosts--; car.boost = 1; car.mc.boost.gotoAndPlay(2); soundEngine.playUseBooster(); communicator.boosterUsed(gameLogic.raceTimeInMilliseconds); } function doRaceOver(position, lapEndTime) { checkFpsIn = -1; _root._quality = "HIGH"; _root.finishWindow._visible = true; bg._visible = true; soundEngine.stopEngine(); var _local6 = gameLogic.raceTimeInMilliseconds; var _local4 = Math.max(20000 - Math.floor(_local6 / 10), 0); communicator.raceCompleted(mapNum, position - 1, gameLogic.raceTimeInMilliseconds, _local4); totalScore = totalScore + _local4; if ((mapNum == 0) && (!_global.shortGameMode)) { if (position == 1) { raceOver = false; soundEngine.playWinSong(); _root.finishWindow.titleText.text = _global.textMappings.qualify; } else { soundEngine.playLoseSong(); _root.finishWindow.titleText.text = _global.textMappings.not_qualify; } } else { soundEngine.playWinSong(); _root.finishWindow.titleText.text = _global.textMappings.game_over; } _root.finishWindow.lapTimeNumber.text = (((getTimeString(lapTimes[0]) + "\r") + getTimeString(lapTimes[1])) + "\r") + getTimeString(lapTimes[2]); _root.finishWindow.totalTimeNumber.text = getTimeString(gameLogic.raceTimeInMilliseconds); _root.finishWindow.scoreNumber.text = _local4; if ((_global.shortGameMode || (mapNum == 1)) || (position > 1)) { _root.finishWindow.totalScoreText._visible = true; _root.finishWindow.totalScoreNumber._visible = true; _root.finishWindow.totalScoreNumber.text = totalScore; _root.finishWindow.gameOverText._visible = true; _root.finishWindow.loaderProgress._visible = false; } else { _root.finishWindow.totalScoreText._visible = false; _root.finishWindow.totalScoreNumber._visible = false; _root.finishWindow.gameOverText._visible = false; _root.finishWindow.loaderProgress._visible = true; _root.finishWindow.loaderProgress.gotoAndStop(1); } if (((!_global.shortGameMode) && (mapNum == 0)) && (position == 1)) { loadMap(mapNum + 1); } else { communicator.gameEnd(totalScore); quitIn = getTimer() + 7000; } } function getTimeString(milliseconds) { var _local3 = Math.floor(milliseconds / 10) % 100; var _local2 = Math.floor(milliseconds / 1000) % 60; var _local4 = Math.floor(milliseconds / 60000) % 100; var _local1 = ""; if (_local4 < 10) { _local1 = _local1 + "0"; } _local1 = _local1 + (_local4 + ":"); if (_local2 < 10) { _local1 = _local1 + "0"; } _local1 = _local1 + (_local2 + ":"); if (_local3 < 10) { _local1 = _local1 + "0"; } _local1 = _local1 + _local3; return(_local1); } function getNeedleRot() { return(needleRot); } function render(tick, alpha) { if (mapLoaded) { var _local5 = Math.floor(needleRot * 25); if (_local5 > 25) { _local5 = 25; } if (_local5 < 0) { _local5 = 0; } infoBar.speedMeter.gotoAndStop(_local5 + 1); infoBarSmall.speedMeter.gotoAndStop(_local5 + 1); _x = Math.round((-xCamPos.get(alpha)) + 377.5); _y = Math.round((-yCamPos.get(alpha)) + 300); var _local6 = mapMC._width; var _local7 = mapMC._height; _local6 = communicator.mapWidth; _local7 = communicator.mapHeight; if (_x > 0) { _x = 0; } if (_x < ((-_local6) + Stage.width)) { _x = (-_local6) + Stage.width; } if (_y > 0) { _y = 0; } if (_y < ((-_local7) + Stage.height)) { _y = (-_local7) + Stage.height; } if (miniMapX < 0) { miniMapX = 0; } if (miniMapY < 0) { miniMapY = 0; } if (miniMapX > (755 - miniMapBg._width)) { miniMapX = 755 - miniMapBg._width; } if (miniMapY > (600 - miniMapBg.hh)) { miniMapY = 600 - miniMapBg.hh; } miniMapBg._x = (-_x) + miniMapX; miniMapBg._y = (-_y) + miniMapY; minimap._x = (miniMapBg._x - xMinimapOffset) + 16; minimap._y = (miniMapBg._y - yMinimapOffset) + 40; car.render(alpha); if (renderSkidmarks && ((gameLogic.carMotion.dirA < -380) || (gameLogic.carMotion.dirA > 380))) { globalToLocal(car.oldLeftWheelPoint); globalToLocal(car.oldRightWheelPoint); globalToLocal(car.leftWheelPoint); globalToLocal(car.rightWheelPoint); if (Math.random() < 0.8) { skidmarks.moveTo(car.oldRightWheelPoint.x, car.oldRightWheelPoint.y); skidmarks.lineTo(car.rightWheelPoint.x, car.rightWheelPoint.y); } if (Math.random() < 0.8) { skidmarks.moveTo(car.oldLeftWheelPoint.x, car.oldLeftWheelPoint.y); skidmarks.lineTo(car.leftWheelPoint.x, car.leftWheelPoint.y); } } minimapDots[opponents.length]._x = minimap._x + (car.mc._x * minimapScale); minimapDots[opponents.length]._y = minimap._y + (car.mc._y * minimapScale); minimapDots[opponents.length]._rotation = car.mc._rotation; var _local3 = 0; while (_local3 < opponents.length) { opponents[_local3].render(alpha); minimapDots[_local3]._x = minimap._x + (opponents[_local3].car.mc._x * minimapScale); minimapDots[_local3]._y = minimap._y + (opponents[_local3].car.mc._y * minimapScale); minimapDots[_local3]._rotation = opponents[_local3].car.mc._rotation; _local3++; } } else { var _local8 = Math.floor((mapMC.getBytesLoaded() * 24) / mapMC.getBytesTotal()); _root.startWindow.loaderProgress.gotoAndStop(_local8 + 1); _root.finishWindow.loaderProgress.gotoAndStop(_local8 + 1); } soundEngine.render(alpha); hjulgran.render(alpha); if (shouldSetBgVisible) { shouldSetBgVisible = false; bg._visible = false; } } function onKeyDown() { var _local3 = chr(Key.getAscii()); if (_local3 == "q") { enteredText = ""; } else { enteredText = enteredText + _local3; if (enteredText == "skids") { renderSkidmarks = !renderSkidmarks; skidmarks.clear(); skidmarks = createEmptyMovieClip("skidmarks", 60); skidmarks.lineStyle(5, 0, 100); skidmarks.moveTo(200, 200); enteredText = ""; } if (enteredText == "notch") { _root.egoPanel._visible = !_root.egoPanel._visible; enteredText = ""; } } if (_local3 == "m") { minimizeMinimap(); } if (_local3 == "n") { toggleInfobar(); } if (_local3 == "s") { toggleSound(); } } function onKeyUp() { } function minimizeMinimap() { miniMapBg.bigPanel._visible = !miniMapBg.bigPanel._visible; minimap._visible = miniMapBg.bigPanel._visible; var _local2 = 0; while (_local2 <= opponents.length) { minimapDots[_local2]._visible = miniMapBg.bigPanel._visible; _local2++; } miniMapBg.hh = 37; if (miniMapBg.bigPanel._visible) { miniMapBg.hh = miniMapBg._height; } } function toggleInfobar() { infoBar._visible = !infoBar._visible; infoBarSmall._visible = !infoBarSmall._visible; } function toggleSound() { infoBar.soundOnButton._visible = !infoBar.soundOnButton._visible; infoBar.soundOffButton._visible = !infoBar.soundOffButton._visible; soundEngine.toggleSound(); } function endGameButtonPressed() { if (communicator.endGamePressed()) { communicator.gameEnd(totalScore); quitIn = getTimer(); } } function checkFps() { checkFpsIn = getTimer() + 3000; } var mapLoaded = false; var firstTick = true; var lap = 0; var wasAccelerating = false; var wrongLapTime = 0; var boosts = 0; var raceStartTime = 0; var pickedUpBoosters = 0; var position = 0; var usedBoosters = 0; var loadCount = 0; var miniMapX = 597; var miniMapY = 354; var oldPosition = 7; var isBoosting = false; var fps = 0; var isInited = false; var nearestDistanceToNext = 1E16; var raceOverTime = -1; var raceOver = false; var wasSpaceDown = false; var currentTime = 0; var soundVal = 0; }
Symbol 363 MovieClip [__Packages.com.midasplayer.timing.IFloat] Frame 0
class com.midasplayer.timing.IFloat { function IFloat () { } function set(newValue) { lastValue = value; value = newValue; } function get(alpha) { return(lastValue + ((value - lastValue) * alpha)); } var value = 0; var lastValue = 0; }
Symbol 364 MovieClip [__Packages.com.midasplayer.webracer.SoundEngine] Frame 0
class com.midasplayer.webracer.SoundEngine { var soundMc, sound, vol, accelVol, speedVol1, speedVol2, speedVol3, targetVol, engineSoundIdle, engineSoundRun1, engineSoundRun2, engineSoundRun3, ambientSound1, ambientSound2, ambientSound3, ambientSound4, introSong, getBooster, useBooster, overTake, underTake, finishRace, lap1Sound, lap2Sound, loseGameSound, winGameSound, countdownSound1, countdownSound2, gasSound, breakSound, wasAccelerating; function SoundEngine (ownerMc) { soundMc = ownerMc.createEmptyMovieClip("soundMcc", 9999); sound = new Sound(soundMc); vol = new com.midasplayer.timing.IFloat(80); accelVol = new com.midasplayer.timing.IFloat(0); speedVol1 = new com.midasplayer.timing.IFloat(0); speedVol2 = new com.midasplayer.timing.IFloat(0); speedVol3 = new com.midasplayer.timing.IFloat(0); targetVol = 80; engineSoundIdle = new com.midasplayer.webracer.SoundHolder(soundMc, "engineSoundIdle"); engineSoundRun1 = new com.midasplayer.webracer.SoundHolder(soundMc, "engineSoundRun1"); engineSoundRun2 = new com.midasplayer.webracer.SoundHolder(soundMc, "engineSoundRun2"); engineSoundRun3 = new com.midasplayer.webracer.SoundHolder(soundMc, "engineSoundRun3"); ambientSound1 = new com.midasplayer.webracer.SoundHolder(soundMc, "ambientSound1"); ambientSound2 = new com.midasplayer.webracer.SoundHolder(soundMc, "ambientSound2"); ambientSound3 = new com.midasplayer.webracer.SoundHolder(soundMc, "ambientSound3"); ambientSound4 = new com.midasplayer.webracer.SoundHolder(soundMc, "ambientSound4"); introSong = new com.midasplayer.webracer.SoundHolder(soundMc, "introSong"); getBooster = new com.midasplayer.webracer.SoundHolder(soundMc, "getBooster"); useBooster = new com.midasplayer.webracer.SoundHolder(soundMc, "useBooster"); overTake = new com.midasplayer.webracer.SoundHolder(soundMc, "overTake"); underTake = new com.midasplayer.webracer.SoundHolder(soundMc, "underTake"); finishRace = new com.midasplayer.webracer.SoundHolder(soundMc, "finishRace"); lap1Sound = new com.midasplayer.webracer.SoundHolder(soundMc, "lap1Sound"); lap2Sound = new com.midasplayer.webracer.SoundHolder(soundMc, "lap2Sound"); loseGameSound = new com.midasplayer.webracer.SoundHolder(soundMc, "loseGameSound"); winGameSound = new com.midasplayer.webracer.SoundHolder(soundMc, "winGameSound"); countdownSound1 = new com.midasplayer.webracer.SoundHolder(soundMc, "countdownSound1"); countdownSound2 = new com.midasplayer.webracer.SoundHolder(soundMc, "countdownSound2"); gasSound = new com.midasplayer.webracer.SoundHolder(soundMc, "GasSound"); breakSound = new com.midasplayer.webracer.SoundHolder(soundMc, "BreakSound"); sound.setVolume(80); } function toggleSound() { if (targetVol == 0) { targetVol = 80; } else { targetVol = 0; } } function setVolume(vol) { targetVol = vol * 80; } function startEngine() { engineSoundIdle.setVolume(100); engineSoundIdle.playLooping(); breakSound.setVolume(100); gasSound.setVolume(100); engineRunning = true; wasAccelerating = false; var _local2 = 2; while (_local2 < 3) { this["engineSoundRun" + (_local2 + 1)].setVolume(0); this["engineSoundRun" + (_local2 + 1)].playLooping(0); _local2++; } } function stopEngine() { engineSoundIdle.stop(); engineSoundIdle.setVolume(100); breakSound.stop(); gasSound.stop(); engineRunning = false; var _local2 = 0; while (_local2 < 3) { this["engineSoundRun" + (_local2 + 1)].stop(); this["engineSoundRun" + (_local2 + 1)].setVolume(0); _local2++; } } function render(alpha) { sound.setVolume(vol.get(alpha)); engineSoundIdle.setVolume((100 - accelVol.get(alpha)) * engineVolume); engineSoundRun1.setVolume((accelVol.get(alpha) * speedVol1.get(alpha)) * engineVolume); engineSoundRun2.setVolume((accelVol.get(alpha) * speedVol2.get(alpha)) * engineVolume); engineSoundRun3.setVolume((accelVol.get(alpha) * speedVol3.get(alpha)) * engineVolume); } function gameTick(accelerating, speed) { if (isNaN(speed)) { speed = 0; } if (speed > 1) { speed = 1; } if (engineRunning) { if (accelerating != wasAccelerating) { if (accelerating) { breakSound.stop(); gasSound.sound.start(speed * 3); } else { gasSound.stop(); breakSound.play(); } } if (accelerating) { if (gasSound.sound.position > (gasSound.sound.duration * 0.9)) { gasSound.stop(); gasSound.sound.start(speed * 4.5); } } wasAccelerating = accelerating; if (speed > 0.1) { tick--; if (tick <= 0) { tick = 25 + Math.floor(Math.random() * 50); var _local2 = lastSound; while ((_local2 == lastSound) || (_local2 == lastLastSound)) { _local2 = Math.floor(Math.random() * 4); } this["ambientSound" + (lastLastSound + 1)].stop(); lastLastSound = lastSound; lastSound = _local2; this["ambientSound" + (_local2 + 1)].stop(); this["ambientSound" + (_local2 + 1)].setPan(Math.floor((Math.random() * 200) - 100)); this["ambientSound" + (_local2 + 1)].setVolume(Math.floor((Math.random() * 50) + 50)); this["ambientSound" + (_local2 + 1)].play(); } } } oldSpeed = speed; speed = speed * speed; vol.set((vol.get(1) * 0.5) + (targetVol * 0.5)); accelVol.set((accelVol.get(1) * 0.6) + ((accelerating ? 100 : 0) * 0.4)); var _local7 = Math.max(1 - (Math.abs(speed - 0) * 1), 0); var _local5 = Math.max(1 - (Math.abs(speed - 0.7) * 2), 0); var _local6 = Math.max(1 - (Math.abs(speed - 1) * 3), 0); speedVol1.set((speedVol1.get(1) * 0.5) + ((_local7 * ((speed * 0.5) + 0.5)) * 0.5)); speedVol2.set((speedVol2.get(1) * 0.5) + ((_local5 * ((speed * 0.5) + 0.5)) * 0.5)); speedVol3.set((speedVol3.get(1) * 0.5) + ((_local6 * ((speed * 0.5) + 0.5)) * 0.5)); } function playIntroSong() { introSong.stop(); introSong.play(); } function stopIntroSong() { introSong.stop(); } function playGetBooster() { getBooster.stop(); getBooster.play(); } function playUseBooster() { useBooster.stop(); useBooster.play(); } function playOverTake() { overTake.stop(); overTake.play(); } function playUnderTake() { underTake.stop(); underTake.play(); } function playWinSong() { winGameSound.stop(); winGameSound.play(); } function playLoseSong() { loseGameSound.stop(); loseGameSound.play(); } function playCountdownSound(num) { if (num == 0) { countdownSound1.stop(); countdownSound1.play(); } else { countdownSound2.stop(); countdownSound2.play(); } } function playFinishLap(lap) { if (lap == 1) { lap1Sound.stop(); lap1Sound.play(); } else if (lap == 2) { lap2Sound.stop(); lap2Sound.play(); } else { finishRace.stop(); finishRace.play(); } } static var engineVolume = 0.3; var engineRunning = false; var tick = 0; var lastSound = -1; var lastLastSound = -1; var oldSpeed = 0; var lastDownShiftTime = 0; }
Symbol 365 MovieClip [__Packages.com.midasplayer.webracer.SoundHolder] Frame 0
class com.midasplayer.webracer.SoundHolder { var soundMc, sound; function SoundHolder (ownerMc, soundName) { var _local2 = ownerMc.getNextHighestDepth(); soundMc = ownerMc.createEmptyMovieClip("soundMcc" + _local2, _local2); sound = new Sound(soundMc); sound.attachSound(soundName); } function setPan(pan) { sound.setPan(pan); } function setVolume(volume) { sound.setVolume(volume); } function playLooping() { sound.start(0, 9999999); } function play() { sound.start(0); } function stop() { sound.stop(); } }
Symbol 366 MovieClip [__Packages.com.midasplayer.webracer.Hjulgran] Frame 0
class com.midasplayer.webracer.Hjulgran { var mc, gameArea, pos, posD, posDD, gameStarted, startTime; function Hjulgran (mc, gameArea) { this.mc = mc; this.gameArea = gameArea; lastTick = 0; pos = new com.midasplayer.timing.IFloat(); pos.set(250); posD = 0; posDD = 0; gameStarted = true; } function gameTick() { var _local3 = pos.get(1) + posD; posD = posD + posDD; mc._visible = _local3 < 250; if (_local3 > 250) { posD = 0; posDD = 0; _local3 = 250; gameArea.checkFps(); } if (_local3 < 50) { posD = 0; posDD = 0; _local3 = 50; } pos.set(_local3); var _local2 = Math.floor((getTimer() - startTime) / 500) - 2; if ((_local2 >= 0) && (_local2 <= 5)) { if (lastTick != _local2) { lastTick = _local2; if (_local2 > 0) { if (_local2 < 5) { gameArea.soundEngine.playCountdownSound(0); } else { gameArea.soundEngine.playCountdownSound(1); } } } mc.lights.gotoAndStop(_local2 + 1); } if ((_local2 >= 5) && (!gameStarted)) { dropDown(false); gameStarted = true; gameArea.startRace(); } } function dropDown(shouldDrop) { if (shouldDrop) { mc.lights.gotoAndStop(1); gameStarted = false; pos.set(250); posD = 0; posDD = 0; startTime = getTimer(); posDD = -4; } else { posDD = 4; } } function render(alpha) { mc._y = -pos.get(alpha); } var lastTick = 0; }
Symbol 367 MovieClip [__Packages.com.midasplayer.webracer.Communicator] Frame 0
class com.midasplayer.webracer.Communicator { static var isReady; var trackNames, trackUrls, gameEndPressed, mayEndGame, mapDataXML, mapWidth, mapHeight, parsedPositions, pathData, seed; function Communicator () { trackNames = new Array(); trackUrls = new Array(); gameEndPressed = false; mayEndGame = false; } function gameStarted() { fscommand ("gameStart"); mayEndGame = true; } function raceStarted(racenum, mapname, localtime) { if (gameEndPressed) { return(undefined); } fscommand ("playData", ((((("844," + racenum) + " ") + mapname) + " ") + localtime) + "=0"); } function boosterPickedUp(localtime) { if (gameEndPressed) { return(undefined); } fscommand ("playData", ("237," + localtime) + "=0"); } function boosterUsed(localtime) { if (gameEndPressed) { return(undefined); } fscommand ("playData", ("972," + localtime) + "=0"); } function lapCompleted(lap, position, gamedata, localtime) { if (gameEndPressed) { return(undefined); } fscommand ("playData", ((((((("470," + lap) + " ") + position) + " ") + gamedata) + " ") + localtime) + "=0"); } function raceCompleted(racenum, position, localtime, score) { if (gameEndPressed) { return(undefined); } fscommand ("playData", (((((("185," + racenum) + " ") + position) + " ") + localtime) + "=") + score); } function endGamePressed() { if (gameEndPressed) { return(false); } if (!mayEndGame) { return(false); } gameEndPressed = true; fscommand ("playData", ("664," + getTimer()) + "=0"); return(true); } function gameEnd(score) { mayEndGame = false; fscommand ("gameEnd", score); } function gameQuit() { fscommand ("gameQuit"); } function loadMapData(path) { isReady = false; mapDataXML = new XML(); mapDataXML.ignoreWhite = true; mapDataXML.onLoad = function (success) { if (success) { com.midasplayer.webracer.Communicator.gameArea.mapDataLoaded(); } else { com.midasplayer.webracer.Communicator.gameArea.loadFailed("Failed to load the level meta-data"); } }; mapDataXML.load(path + ".xml"); } function parseMapData() { mapWidth = 256; mapHeight = 256; parsedPositions = new Object(); pathData = new Array(); var _local3 = mapDataXML.childNodes[0].childNodes; var _local11 = ""; var _local2 = 0; while (_local2 < _local3.length) { if (_local3[_local2].nodeName == "data") { _local11 = new String(_local3[_local2].firstChild.nodeValue); } if (_local3[_local2].nodeName.substring(0, 4) == "path") { var _local7 = new Number(_local3[_local2].nodeName.substring(4, 5)); pathData[_local7.valueOf()] = new String(_local3[_local2].firstChild.nodeValue); } else if (_local3[_local2].nodeName == "pos") { var _local5 = new String(_local3[_local2].firstChild.nodeValue).split(","); var _local4 = new String(_local5[0]); var _local10 = new Number(_local5[1]); var _local8 = new Number(_local5[2]); var _local6 = new Number(_local5[3]); parsedPositions[_local4] = new Object(); parsedPositions[_local4].x = _local10.valueOf() << 0; parsedPositions[_local4].y = _local8.valueOf() << 0; parsedPositions[_local4].rot = _local6.valueOf() << 0; } else if (_local3[_local2].nodeName == "width") { var _local9 = new Number(_local3[_local2].firstChild.nodeValue); mapWidth = _local9.valueOf(); } else if (_local3[_local2].nodeName == "height") { var _local9 = new Number(_local3[_local2].firstChild.nodeValue); mapHeight = _local9.valueOf(); } _local2++; } return(_local11); } function parseGameData(gameData) { var _local7 = new XML(_root.gameData); _global.shortGameMode = new String(_local7.childNodes[0].attributes.mode) == "short"; _global.textMappings = new Object(); var _local5 = _local7.childNodes[0].childNodes; var _local8 = new Number(_local7.childNodes[0].attributes.randomseed); seed = _local8.valueOf() & 16777215; var _local4 = 0; while (_local4 < _local5.length) { if (_local5[_local4].nodeName == "text") { _global.textMappings[_local5[_local4].attributes.id] = new String(_local5[_local4].firstChild.nodeValue); } if (_local5[_local4].nodeName == "track") { var _local6 = new Number(_local5[_local4].attributes.id); trackNames[_local6] = new String(_local5[_local4].attributes.name); trackUrls[_local6] = new String(_local5[_local4].attributes.url); } _local4++; } _root.endGameText.text = _global.textMappings.end_game; _root.endGameTextShadow.text = _global.textMappings.end_game; _root.startWindow.startButton.labelText.text = _global.textMappings.game_instructions_header; _root.startWindow.titleText.text = _global.textMappings.game_instructions_header; _root.startWindow.instructionsText.text = _global.textMappings.game_instructions; _root.startWindow.controlsText.text = _global.textMappings.controls_header; _root.startWindow.accelerateText.text = _global.textMappings.accelerate; _root.startWindow.leftText.text = _global.textMappings.left; _root.startWindow.rightText.text = _global.textMappings.right; _root.startWindow.breakText.text = _global.textMappings.break; _root.startWindow.boostText.text = _global.textMappings.boost; _root.startWindow.trackText.text = _global.textMappings.track; _root.startWindow.lapText.text = _global.textMappings.lap; _root.startWindow.minimizeText.text = _global.textMappings.minimize; _root.startWindow.spacebarText.text = _global.textMappings.key_space; _root.startWindow.spacebarTextBg.text = _global.textMappings.key_space; _root.finishWindow.lapTimeText.text = (((_global.textMappings.lap_time.split("{0}").join("1") + "\r") + _global.textMappings.lap_time.split("{0}").join("2")) + "\r") + _global.textMappings.lap_time.split("{0}").join("3"); _root.finishWindow.totalTimeText.text = _global.textMappings.total_time; _root.finishWindow.scoreText.text = _global.textMappings.score; _root.finishWindow.totalScoreText.text = _global.textMappings.total_score; _root.finishWindow.totalScoreText.text = _global.textMappings.total_score; } }
Symbol 368 MovieClip [__Packages.com.midasplayer.webracer.GameLogic] Frame 0
class com.midasplayer.webracer.GameLogic { var callback, map, pathDatas, waypoints, boosts, carMotion, opponentMotions, carPosition, raceTimeInTicks, raceTimeInMilliseconds; function GameLogic (encodedMapData, positions, pathData, callback, race, seed) { this.callback = callback; map = new Array(); var _local5 = 0; while (_local5 < 256) { map[_local5] = new Array(); _local5++; } com.midasplayer.math.MathFP.init(); com.midasplayer.webracer.Rand.setSeed(seed); rleDecode(encodedMapData, map); pathDatas = new Array(); var _local2 = 0; while (_local2 < pathData.length) { pathDatas.push(parsePath(pathData[_local2])); _local2++; } waypoints = new Array(); _local2 = 0; while (true) { var _local3 = positions["wp" + _local2]; if ((_local3 == null) || (_local3 == undefined)) { break; } waypoints.push(new com.midasplayer.webracer.Waypoint(_local3.x, _local3.y, _local3.rot)); _local2++; } boosts = new Array(); _local2 = 0; while (_local2 < 3) { var _local7 = false; _local5 = 0; var _local4 = 0; while (!_local7) { _local5 = (com.midasplayer.webracer.Rand.nextByte() & 255) << 0; _local4 = (com.midasplayer.webracer.Rand.nextByte() & 255) << 0; if ((map[_local5][_local4] & 1) != 0) { _local7 = true; } } var _local6 = new Object(); _local6.x = (_local5 * 16) << 12; _local6.y = (_local4 * 16) << 12; _local6.rot = 0; boosts[_local2] = _local6; _local2++; } var _local12 = positions.car; carMotion = new com.midasplayer.webracer.CarMotion(this, 0, race, _local12.x, _local12.y, _local12.rot - 6433); opponentMotions = new Array(); _local2 = 0; while (_local2 < 5) { var _local8 = positions["opponent" + _local2]; opponentMotions[_local2] = new com.midasplayer.webracer.CarMotion(this, 4 - _local2, race, _local8.x, _local8.y, _local8.rot - 6433); opponentMotions[_local2].isComputer = true; _local2++; } carPosition = 0; raceTimeInTicks = 0; raceTimeInMilliseconds = 0; fixBoosters(); } function fixBoosters() { boosts = new Array(); var _local6 = 0; while (_local6 < 3) { var _local5 = false; var _local3 = 0; var _local2 = 0; while (!_local5) { _local3 = (com.midasplayer.webracer.Rand.nextByte() & 255) << 0; _local2 = (com.midasplayer.webracer.Rand.nextByte() & 255) << 0; if (((map[_local3][_local2] & 1) != 0) && ((map[_local3][_local2] & 2) == 0)) { _local5 = true; } } var _local4 = new Object(); _local4.x = (_local3 * 16) << 12; _local4.y = (_local2 * 16) << 12; _local4.rot = 0; boosts[_local6] = _local4; _local6++; } } function parsePath(path) { var _local6 = path.split(";"); var _local7 = new Array(); var _local2 = 0; while (_local2 < _local6.length) { var _local1 = _local6[_local2].split(":"); var _local5 = parseInt(_local1[0], 36); var _local4 = parseInt(_local1[1], 36); var _local3 = parseInt(_local1[2], 36); if (!((isNaN(_local5) || (isNaN(_local4))) || (isNaN(_local3)))) { _local7.push(new com.midasplayer.webracer.PathPoint(_local5, _local4, _local3)); } _local2++; } return(_local7); } function tick(up, down, left, right, boost) { carMotion.playerTick(); carMotion.tick(up, down, left, right, boost); var _local2 = 0; while (_local2 < 5) { opponentMotions[_local2].computerTick(); carMotion.checkCollide(opponentMotions[_local2]); _local2++; } _local2 = 0; while (_local2 < 3) { if (boosts[_local2] != null) { if (carMotion.checkTouch(boosts[_local2])) { carMotion.boosters++; boosts[_local2] = null; callback.boosterTaken(_local2); } } _local2++; } carMotion.move(carMotion.motion); _local2 = 0; while (_local2 < 5) { opponentMotions[_local2].move(opponentMotions[_local2].motion); carMotion.checkPush(opponentMotions[_local2]); _local2++; } if (carMotion.lap < 3) { raceTimeInTicks++; raceTimeInMilliseconds = Math.floor((raceTimeInTicks * 1000) / 15); carPosition = 1; _local2 = 0; while (_local2 < 5) { if (carMotion.progress < opponentMotions[_local2].progress) { carPosition++; } _local2++; } } } static function rleDecode(line, map) { var _local3 = 0; var _local1 = 0; var _local2 = 0; var _local7 = 0; while (_local7 < line.length) { var _local9 = line.charAt(_local7); var _local8 = valChars.indexOf(_local9); var _local6 = runChars.indexOf(_local9); if (_local8 >= 0) { _local3 = Math.floor(_local8); _local6 = 1; } var _local5 = 0; while (_local5 < _local6) { map[_local1][_local2 + 0] = _local3 & 3; map[_local1][_local2 + 1] = _local3 >> 2; _local1++; if (_local1 == 256) { _local1 = 0; _local2 = _local2 + 2; } _local5++; } _local7++; } if (_local2 < 255) { _local1 = 0; while (_local1 < 256) { _local2 = 0; while (_local2 < 256) { map[_local1][_local2] = 0; _local2++; } _local1++; } _local3 = 0; _local1 = 0; _local2 = 0; _local7 = 0; while (_local7 < line.length) { var _local9 = line.charAt(_local7); var _local8 = valChars.indexOf(_local9); var _local6 = runChars.indexOf(_local9); if (_local8 >= 0) { _local3 = Math.floor(_local8); _local6 = 1; } var _local5 = 0; while (_local5 < _local6) { map[_local1][_local2 + 0] = _local3 & 3; map[_local1][_local2 + 1] = _local3 >> 2; _local1++; if (_local1 == 200) { _local1 = 0; _local2 = _local2 + 2; } _local5++; } _local7++; } } } static var valChars = "0123456789abcdefghijklmnopqrstuv"; static var runChars = "wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"; }
Symbol 369 MovieClip [__Packages.com.midasplayer.math.VectorFP] Frame 0
class com.midasplayer.math.VectorFP { var x, y; function VectorFP (px, py) { x = px; y = py; } function toString() { return(((("[" + x) + ",") + y) + "]"); } function reset(px, py) { x = px; y = py; } function resetNew(px, py) { return(new com.midasplayer.math.VectorFP((x = px), (y = py))); } function cloneVec(vec) { x = vec.x; y = vec.y; } function cloneVecNew(vec) { return(new com.midasplayer.math.VectorFP((x = vec.x), (y = vec.y))); } function addV(xScalar, yScalar) { x = x + xScalar; y = y + yScalar; } function addVec(vec) { x = x + vec.x; y = y + vec.y; } function addVecNew(vec) { return(new com.midasplayer.math.VectorFP(x + vec.x, y + vec.y)); } function minVec(vec) { x = x - vec.x; y = y - vec.y; } function minVecNew(vec) { return(new com.midasplayer.math.VectorFP(x - vec.x, y - vec.y)); } function getNegativeVec(vec) { x = -x; y = -y; } function getNegativeVecNew(vec) { return(new com.midasplayer.math.VectorFP((x = -x), (y = -y))); } function scaleVec(scalar) { x = com.midasplayer.math.MathFP.mul(x, scalar); y = com.midasplayer.math.MathFP.mul(y, scalar); } function scaleVecNew(scalar) { return(new com.midasplayer.math.VectorFP(com.midasplayer.math.MathFP.mul(x, scalar), com.midasplayer.math.MathFP.mul(y, scalar))); } function dot(vec) { return(com.midasplayer.math.MathFP.mul(x, vec.x) + com.midasplayer.math.MathFP.mul(y, vec.y)); } function getNormal() { return(com.midasplayer.math.MathFP.sqrt(com.midasplayer.math.MathFP.mul(x, x) + com.midasplayer.math.MathFP.mul(y, y))); } function getNormalSqr() { return(com.midasplayer.math.MathFP.mul(x, x) + com.midasplayer.math.MathFP.mul(y, y)); } function distanceTo(v) { var _local2 = x - v.x; var _local3 = y - v.y; return(com.midasplayer.math.MathFP.sqrt(com.midasplayer.math.MathFP.mul(_local2, _local2) + com.midasplayer.math.MathFP.mul(_local3, _local3))); } function normalize() { var _local2 = getNormal(); if (_local2 == 0) { _local2 = 1; } x = com.midasplayer.math.MathFP.div(x, _local2); y = com.midasplayer.math.MathFP.div(y, _local2); } function getUnitVec() { var _local2 = new com.midasplayer.math.VectorFP(x, y); var _local3 = getNormal(); _local2.x = com.midasplayer.math.MathFP.div(_local2.x, _local3); _local2.y = com.midasplayer.math.MathFP.div(_local2.y, _local3); return(_local2); } }
Symbol 370 MovieClip [__Packages.com.midasplayer.math.MathFP] Frame 0
class com.midasplayer.math.MathFP { function MathFP () { } static function init() { } static function mul(i, j) { return(((i >> 3) * (j >> 3)) >> 6); } static function div(i, j) { var _local4 = false; var _local3 = 12; if (j == 4096) { return(i); } if ((j & 4095) == 0) { return(i / (j >> _local3)); } if (((i < 0) && (j > 0)) || ((i > 0) && (j < 0))) { _local4 = true; } if (i < 0) { i = -i; } if (j < 0) { j = -j; } while (Math.max(i, j) >= (1 << (31 - _local3))) { i = i >> 1; j = j >> 1; _local3--; } var _local5 = ((i << _local3) / j) << (12 - _local3); return((_local4 ? (-_local5) : (_local5))); } static function sqrt2(i, j) { if (i == 0) { return(0); } var _local2 = (i + 4096) >> 1; var _local1 = 0; while (_local1 < j) { _local2 = (_local2 + div(i, _local2)) >> 1; _local1++; } return(_local2); } static function sqrt(i) { return(sqrt2(i, 8)); } static function sin(i) { var _local1 = (mul(i, 234682) >> 12) % 360; if (_local1 < 0) { _local1 = 360 + _local1; } if (_local1 < 90) { return(SIN_TABLE[_local1]); } if (_local1 < 180) { return(SIN_TABLE[179 - _local1]); } if (_local1 < 270) { return(-SIN_TABLE[_local1 - 180]); } return(-SIN_TABLE[359 - _local1]); } static function cos(i) { var _local1 = ((-(mul(i, 234682) >> 12)) + 90) % 360; if (_local1 < 0) { _local1 = 360 + _local1; } if (_local1 < 90) { return(SIN_TABLE[_local1]); } if (_local1 < 180) { return(SIN_TABLE[179 - _local1]); } if (_local1 < 270) { return(-SIN_TABLE[_local1 - 180]); } return(-SIN_TABLE[359 - _local1]); } static var SIN_TABLE = [0, 71, 142, 214, 285, 356, 428, 499, 570, 640, 711, 781, 851, 921, 990, 1060, 1129, 1197, 1265, 1333, 1400, 1467, 1534, 1600, 1665, 1731, 1795, 1859, 1922, 1985, 2047, 2109, 2170, 2230, 2290, 2349, 2407, 2465, 2521, 2577, 2632, 2687, 2740, 2793, 2845, 2896, 2946, 2995, 3043, 3091, 3137, 3183, 3227, 3271, 3313, 3355, 3395, 3435, 3473, 3510, 3547, 3582, 3616, 3649, 3681, 3712, 3741, 3770, 3797, 3823, 3848, 3872, 3895, 3917, 3937, 3956, 3974, 3991, 4006, 4020, 4033, 4045, 4056, 4065, 4073, 4080, 4086, 4090, 4093, 4095]; }
Symbol 371 MovieClip [__Packages.com.midasplayer.webracer.CarMotion] Frame 0
class com.midasplayer.webracer.CarMotion { var gameLogic, id, isComputer, boosters, acceleration, lap, currentLap, targetPoint, nextWaypoint, lastWaypoint, pos, motion, facing, dir, dirA, boost, speed, potentialSpeed, list, speedMod, pushTime, progress; function CarMotion (gameLogic, id, race, x, y, dir) { this.gameLogic = gameLogic; this.id = id; isComputer = false; boosters = 0; acceleration = 0; lap = 0; currentLap = 0; targetPoint = 0; nextWaypoint = 0; lastWaypoint = gameLogic.waypoints.length - 1; pos = new com.midasplayer.math.VectorFP(x, y); motion = new com.midasplayer.math.VectorFP(0, 0); facing = new com.midasplayer.math.VectorFP(0, 0); this.dir = dir; dirA = 0; boost = 0; speed = 0; potentialSpeed = 0; var _local3 = gameLogic.pathDatas.length; list = gameLogic.pathDatas[id % _local3]; speedMod = (id * 15) + 40; if (race == 0) { speedMod = ((speedMod * 8) / 10) >> 0; } pushTime = 0; } function playerTick() { _root.debugText.text = ""; } function computerTick() { var _local8 = true; var _local11 = false; var _local9 = false; var _local7 = false; var _local6 = new com.midasplayer.math.VectorFP(-facing.y, facing.x); _local6.normalize(); var _local4 = new com.midasplayer.math.VectorFP(facing.x, facing.y); _local4.normalize(); if (targetPoint < 2) { targetPoint = 2; } var _local5 = list[targetPoint]; var _local2 = new com.midasplayer.math.VectorFP(_local5.x, _local5.y); _local2.addV(-(pos.x >> 12), -(pos.y >> 12)); var _local10 = (_local2.x * _local2.x) + (_local2.y * _local2.y); _local2.normalize(); var _local3 = _local6.dot(_local2); if ((speed >> 12) > ((_local5.speed * speedMod) / 100)) { _local8 = false; } if ((_local3 > 1000) || (_local4.dot(_local2) < 0)) { _local7 = true; } if (_local3 < -1000) { _local9 = true; } rotDiff = _local3; if ((_local10 < 20) || ((((_local3 > 7000) || (_local3 < -7000)) || (_local4.dot(_local2) < 0)) && (_local10 < 50000))) { targetPoint++; if (targetPoint >= list.length) { targetPoint = 0; } } tick(_local8, _local11, _local9, _local7, false); } function tick(up, down, left, right, boost) { if (pushTime > 0) { pushTime--; } var _local9 = gameLogic.waypoints[nextWaypoint]; var _local4 = (_local9.pos.x - pos.x) >> 12; var _local3 = (_local9.pos.y - pos.y) >> 12; if (_local4 < 0) { _local4 = -_local4; } if (_local3 < 0) { _local3 = -_local3; } if (((_local4 < 300) && (_local3 < 300)) && (gameLogic.waypoints[nextWaypoint].isInFront(pos.x, pos.y))) { nextWaypoint++; if (nextWaypoint >= gameLogic.waypoints.length) { nextWaypoint = 0; currentLap++; if (!isComputer) { if (lap < currentLap) { lap = currentLap; gameLogic.callback.lapCompleted(lap); } } } lastWaypoint++; if (lastWaypoint >= gameLogic.waypoints.length) { lastWaypoint = 0; } } var _local10 = gameLogic.waypoints[nextWaypoint]; var _local7 = (_local10.pos.x - pos.x) >> 14; var _local8 = (_local10.pos.y - pos.y) >> 14; var _local11 = com.midasplayer.math.MathFP.sqrt((_local7 * _local7) + (_local8 * _local8)); progress = (((currentLap * 32) + nextWaypoint) * 128000) - _local11; if (boost && (boosters > 0)) { boosters--; acceleration = 16000; gameLogic.callback.boosterUsed(); } if (up) { speed = speed + acceleration; if (speed < potentialSpeed) { speed = ((speed * 10) + (potentialSpeed * 6)) >> 4; } } if (down) { speed = com.midasplayer.math.MathFP.mul(speed, 3800); speed = speed - 1500; potentialSpeed = com.midasplayer.math.MathFP.mul(potentialSpeed, 3800); potentialSpeed = potentialSpeed - 1500; } var _local2 = 4096; if (left && (!right)) { dirA = dirA - 250; _local2 = 3700; } if (right && (!left)) { dirA = dirA + 250; _local2 = 3700; } facing.reset(com.midasplayer.math.MathFP.cos(dir), com.midasplayer.math.MathFP.sin(dir)); motion.addVec(facing.scaleVecNew(speed)); motion.scaleVec(_local2 >> 1); speed = com.midasplayer.math.MathFP.mul(speed, (_local2 >> 1) + 2020); var _local5 = pos.x >> 16; var _local6 = pos.y >> 16; if (((((_local5 >= 0) && (_local6 >= 0)) && (_local5 < 256)) && (_local6 < 256)) && ((gameLogic.map[_local5][_local6] & 1) == 0)) { motion.scaleVec(3900); speed = com.midasplayer.math.MathFP.mul(speed, 3900); } acceleration = ((acceleration * 8) / 10) >> 0; if (acceleration < 2000) { acceleration = 2000; } potentialSpeed = com.midasplayer.math.MathFP.mul(potentialSpeed, 4048); if (potentialSpeed < speed) { potentialSpeed = speed; } if (isComputer) { if ((rotDiff > 4000) || (rotDiff < -4000)) { dir = dir + (dirA * 3); } else if ((rotDiff > 3000) || (rotDiff < -3000)) { dir = dir + (dirA * 2); } else { dir = dir + dirA; } dirA = com.midasplayer.math.MathFP.mul(dirA, 1200); } else { dir = dir + dirA; dirA = com.midasplayer.math.MathFP.mul(dirA, 2800); } } function checkCollide(B) { if ((((B.pos.x < (pos.x - 327680)) || (B.pos.x > (pos.x + 327680))) || (B.pos.y < (pos.y - 327680))) || (B.pos.y > (pos.y + 327680))) { return(undefined); } movement.reset(motion.x, motion.y); movement.addV(-B.motion.x, -B.motion.y); var _local9 = pos.distanceTo(B.pos); _local9 = _local9 - (sumRadii1 >> 1); if (movement.getNormal() < _local9) { return(undefined); } N.reset(movement.x, movement.y); N.normalize(); C.reset(B.pos.x, B.pos.y); C.minVec(pos); var _local3 = N.dot(C); if (_local3 <= 0) { return(undefined); } var _local6 = C.getNormal(); var _local7 = com.midasplayer.math.MathFP.mul(_local6, _local6) - com.midasplayer.math.MathFP.mul(_local3, _local3); var _local8 = com.midasplayer.math.MathFP.mul(sumRadii1 >> 1, sumRadii1 >> 1); if (_local7 >= _local8) { return(undefined); } var _local4 = _local8 - _local7; if (_local4 < 0) { return(undefined); } var _local5 = _local3 - com.midasplayer.math.MathFP.sqrt(_local4); var _local10 = movement.getNormal(); if (_local10 < _local5) { return(undefined); } motion.normalize(); motion.scaleVec(_local5); } function checkTouch(B) { if ((((B.x < (pos.x - 327680)) || (B.x > (pos.x + 327680))) || (B.y < (pos.y - 327680))) || (B.y > (pos.y + 327680))) { return(false); } movement.reset(motion.x, motion.y); C.reset(B.x, B.y); var _local8 = pos.distanceTo(C); _local8 = _local8 - sumRadii2; if (movement.getNormal() < _local8) { return(false); } N.reset(movement.x, movement.y); N.normalize(); C.minVec(pos); var _local3 = N.dot(C); if (_local3 <= 0) { return(false); } var _local5 = C.getNormal(); var _local6 = com.midasplayer.math.MathFP.mul(_local5, _local5) - com.midasplayer.math.MathFP.mul(_local3, _local3); var _local7 = com.midasplayer.math.MathFP.mul(sumRadii2, sumRadii2); if (_local6 >= _local7) { return(false); } var _local4 = _local7 - _local6; if (_local4 < 0) { return(false); } var _local9 = _local3 - com.midasplayer.math.MathFP.sqrt(_local4); var _local10 = movement.getNormal(); return(_local10 >= _local9); } function checkPush(B) { if ((((B.pos.x < (pos.x - 327680)) || (B.pos.x > (pos.x + 327680))) || (B.pos.y < (pos.y - 327680))) || (B.pos.y > (pos.y + 327680))) { return(undefined); } C.reset(B.pos.x, B.pos.y); C.minVec(pos); var _local3 = C.getNormal(); if ((_local3 > 1024) && (_local3 < sumRadii1)) { if (pushTime == 0) { pushTime = 5; speed = com.midasplayer.math.MathFP.mul(speed, 2800); B.speed = com.midasplayer.math.MathFP.mul(B.speed, 2800); potentialSpeed = com.midasplayer.math.MathFP.mul(potentialSpeed, 2800); B.potentialSpeed = com.midasplayer.math.MathFP.mul(B.potentialSpeed, 2800); } C.normalize(); N.reset(C.x, C.y); N.scaleVec(32768); B.move(N); C.scaleVec((-(sumRadii1 - _local3)) * 2); move(C); } } function move(motion) { if (isComputer) { pos.addVec(motion); return(undefined); } if ((((motion.x > 65536) || (motion.x < -65536)) || (motion.y > 65536)) || (motion.y < -65536)) { var _local7 = motion.scaleVecNew(2048); move(_local7); move(_local7); } else { var _local2 = (pos.x + motion.x) >> 16; var _local4 = pos.y >> 16; if (((((_local2 >= 0) && (_local4 >= 0)) && (_local2 < 256)) && (_local2 < 256)) && ((gameLogic.map[_local2][_local4] & 2) == 0)) { pos.x = pos.x + motion.x; } else { var _local6 = ((motion.y < 0) ? -1 : 1); if ((gameLogic.map[_local2][_local4 + _local6] & 2) == 0) { pos.y = pos.y + (65536 * _local6); } else if ((gameLogic.map[_local2][_local4 - _local6] & 2) == 0) { pos.y = pos.y - (65536 * _local6); } speed = com.midasplayer.math.MathFP.mul(speed, 3500); potentialSpeed = com.midasplayer.math.MathFP.mul(potentialSpeed, 3500); } _local2 = pos.x >> 16; _local4 = (pos.y + motion.y) >> 16; if (((((_local2 >= 0) && (_local4 >= 0)) && (_local2 < 256)) && (_local2 < 256)) && ((gameLogic.map[_local2][_local4] & 2) == 0)) { pos.y = pos.y + motion.y; } else { var _local5 = ((motion.x < 0) ? -1 : 1); if ((gameLogic.map[_local2 + _local5][_local4] & 2) == 0) { pos.x = pos.x + (65536 * _local5); } else if ((gameLogic.map[_local2 - _local5][_local4] & 2) == 0) { pos.x = pos.x - (65536 * _local5); } speed = com.midasplayer.math.MathFP.mul(speed, 3500); potentialSpeed = com.midasplayer.math.MathFP.mul(potentialSpeed, 3500); } } } static var sumRadii1 = 131072; static var sumRadii2 = 196608; var rotDiff = 0; static var movement = new com.midasplayer.math.VectorFP(0, 0); static var N = new com.midasplayer.math.VectorFP(0, 0); static var C = new com.midasplayer.math.VectorFP(0, 0); }
Symbol 372 MovieClip [__Packages.com.midasplayer.webracer.Waypoint] Frame 0
class com.midasplayer.webracer.Waypoint { var normal, pos, c; function Waypoint (x, y, rot) { normal = new com.midasplayer.math.VectorFP(com.midasplayer.math.MathFP.cos(rot), com.midasplayer.math.MathFP.sin(rot)); pos = new com.midasplayer.math.VectorFP(x, y); c = normal.dot(pos); } function isInFront(x, y) { return(((com.midasplayer.math.MathFP.mul(normal.x, x) + com.midasplayer.math.MathFP.mul(normal.y, y)) - c) > 0); } }
Symbol 373 MovieClip [__Packages.com.midasplayer.webracer.Rand] Frame 0
class com.midasplayer.webracer.Rand { function Rand () { } static function setSeed(seed) { pos = seed & 255; span = (((seed >> 6) & 31) * 2) + 1; } static function nextByte() { pos = (pos + span) & 255; return(NUMBERS[pos]); } static var NUMBERS = [68, -83, 93, -126, 54, -101, -16, 91, -116, 57, 41, -113, 81, -33, -49, -82, -15, -87, -52, 78, 72, -39, -44, 15, -26, 127, -96, -20, 84, -57, 92, -40, 64, 33, 5, -27, -94, 90, -41, -56, 12, -73, 124, -106, 71, 121, -36, 76, 116, -11, -99, -58, -10, 87, -72, 0, -42, -71, -88, -29, -85, 4, 123, -81, 109, 108, -32, -127, -4, -91, 29, 1, -110, -125, -112, -70, -89, 37, 25, -8, 31, -31, -34, -38, 80, 104, -50, 6, 18, -69, -65, -54, 105, 98, 11, 102, 69, 46, -107, -102, 118, 120, -104, 67, -22, -25, 39, -5, -95, 73, -51, 94, 40, -123, 2, -45, -111, -60, 43, -43, 8, 62, -23, -2, -28, -108, 126, -64, -109, -100, 35, -9, -30, 47, 101, 112, 10, -14, 27, 16, -35, 21, 89, 44, -62, 58, -24, 125, 20, -114, 107, 75, -79, 96, 59, -1, 115, -47, -12, 28, 42, -37, 38, 86, -61, -68, 23, -48, -46, 110, 13, -120, 99, 53, -55, 32, -17, -6, 61, -19, -53, 7, 70, -74, 66, 19, 24, -122, 50, -103, 48, -105, -67, -115, 49, 55, 119, -97, 111, 56, -66, 74, -76, -124, 88, -3, 106, 114, 45, 77, 30, 83, 82, 22, 52, -119, 17, 100, 36, -18, -98, 3, -86, 9, -118, -7, -78, 60, 79, -128, -121, 103, 122, -77, -117, 95, -21, -63, -59, -80, 51, 85, 14, 113, 63, -84, 97, 117, -93, -90, 65, 26, -75, -92, 34, -13]; static var pos = 0; static var span = 1; }
Symbol 374 MovieClip [__Packages.com.midasplayer.webracer.PathPoint] Frame 0
class com.midasplayer.webracer.PathPoint { var x, y, speed; function PathPoint (x, y, speed) { this.x = x; this.y = y; this.speed = speed; } function angleToPathPoint(waypoint) { return(angleToCoords(waypoint.x, waypoint.y)); } function angleToCoords(x, y) { var _local2 = x - this.x; var _local3 = y - this.y; return(Math.atan2(_local3, _local2)); } function distanceTo(x, y) { return(Math.sqrt(distanceToSqr(x, y))); } function distanceToSqr(x, y) { var _local2 = x - this.x; var _local3 = y - this.y; return((_local2 * _local2) + (_local3 * _local3)); } function toString() { return((((Math.floor(x).toString(36) + ":") + Math.floor(y).toString(36)) + ":") + Math.floor(speed).toString(36)); } }
Symbol 375 MovieClip [__Packages.com.midasplayer.webracer.KeyRecorder] Frame 0
class com.midasplayer.webracer.KeyRecorder { var inData; function KeyRecorder () { } function setData(data) { inData = data; } function nextKey() { if (inCount > 0) { inCount--; return(inChar); } if (inDataPointer >= inData.length) { return(-1); } var _local2 = inData.charAt(inDataPointer++); if (REPEAT_CHARS.indexOf(_local2) >= 0) { inCount = REPEAT_CHARS.indexOf(_local2); return(inChar); } inChar = KEY_CHARS.indexOf(_local2); return(inChar); } function record(u, d, l, r, b) { var _local2 = ((((u ? 1 : 0) | (d ? 2 : 0)) | (l ? 4 : 0)) | (r ? 8 : 0)) | (b ? 16 : 0); if (_local2 != lastVal) { if (count > 0) { outData = outData + REPEAT_CHARS.charAt(count - 1); count = 0; } outData = outData + KEY_CHARS.charAt(_local2); lastVal = _local2; } else { count++; if (count == 16) { outData = outData + REPEAT_CHARS.charAt(count - 1); count = 0; } } } function getString() { if (count > 0) { outData = outData + REPEAT_CHARS.charAt(count - 1); count = 0; } var _local2 = outData; outData = ""; return(_local2); } static var KEY_CHARS = "0123456789abcdefghijklmnopqrstuv"; static var REPEAT_CHARS = "ABCDEFGHIJKLMNOP"; var inDataPointer = 0; var inCount = 0; var inChar = 0; var lastVal = -1; var count = 0; var outData = ""; }
Symbol 376 MovieClip [__Packages.com.midasplayer.webracer.Car] Frame 0
class com.midasplayer.webracer.Car { var mc, id, wheelPos, xPos, yPos, rotation, oldLeftWheelPoint, oldRightWheelPoint, leftWheelPoint, rightWheelPoint; function Car (mc, id) { this.mc = mc; this.id = id; wheelPos = new com.midasplayer.timing.IFloat(0); } function init(scale) { xPos = new com.midasplayer.timing.IFloat(); yPos = new com.midasplayer.timing.IFloat(); rotation = new com.midasplayer.timing.IRotFloat(); playerCar = true; x = mc._x * scale; y = mc._y * scale; rot = mc._rotation; xPos.set(x / scale); xPos.set(x / scale); yPos.set(y / scale); yPos.set(y / scale); rotation.set(rot); rotation.set(rot); } function setToCarMotion(carMotion) { rot = (((carMotion.dir / 4096) * 180) / Math.PI) + 90; x = carMotion.pos.x / 4096; y = carMotion.pos.y / 4096; speed = (carMotion.speed * 4) / 4096; xPos.set(x); yPos.set(y); rotation.set(rot); } function render(alpha) { var _local2 = Math.round((rotation.get(alpha) * 8) / 360) + 1; if (_local2 < 0) { _local2 = _local2 + 8; } if (_local2 >= 8) { _local2 = _local2 - 8; } mc.mc.gotoAndStop(((id * 8) + 1) + _local2); if (turnLeft && (!turnRight)) { mc.mc.frontWheels.gotoAndStop(2); } else if ((!turnLeft) && (turnRight)) { mc.mc.frontWheels.gotoAndStop(3); } else { mc.mc.frontWheels.gotoAndStop(1); } oldLeftWheelPoint = {x:0, y:0}; mc.mc.leftWheelPoint.localToGlobal(oldLeftWheelPoint); oldRightWheelPoint = {x:0, y:0}; mc.mc.rightWheelPoint.localToGlobal(oldRightWheelPoint); var _local3 = (Math.floor(wheelPos.get(alpha)) % 6) + 1; mc.mc.frontWheels.rightWheel.gotoAndStop(_local3); mc.mc.frontWheels.leftWheel.gotoAndStop(_local3); mc.mc.backWheels.rightWheel.gotoAndStop(_local3); mc.mc.backWheels.leftWheel.gotoAndStop(_local3); mc._x = xPos.get(alpha); mc._y = yPos.get(alpha); mc._rotation = rotation.get(alpha); leftWheelPoint = {x:0, y:0}; mc.mc.leftWheelPoint.localToGlobal(leftWheelPoint); rightWheelPoint = {x:0, y:0}; mc.mc.rightWheelPoint.localToGlobal(rightWheelPoint); } var turnLeft = false; var turnRight = false; var accelerate = false; var brake = false; var handBrake = false; var x = 0; var y = 0; var time = 0; var boost = 0; var playerCar = false; var rot = 0; var xa = 0; var ya = 0; var rota = 0; var speed = 0; var potentialSpeed = 0; var progress = 0; var gameOver = false; var wayPoint = 0; var lap = 0; var xsafePos = 0; var ysafePos = 0; }
Symbol 377 MovieClip [__Packages.com.midasplayer.timing.IRotFloat] Frame 0
class com.midasplayer.timing.IRotFloat extends com.midasplayer.timing.IFloat { var lastValue, value; function IRotFloat () { super(); } function set(newValue) { lastValue = value; value = newValue; value = value - (Math.floor((value - 180) / 360) * 360); lastValue = lastValue + (Math.floor(((value - lastValue) + 180) / 360) * 360); } }
Symbol 378 MovieClip [__Packages.com.midasplayer.webracer.Opponent] Frame 0
class com.midasplayer.webracer.Opponent { var car, lapPathPoints, gameArea; function Opponent (car, lapPathPoints, gameArea) { this.car = car; this.lapPathPoints = lapPathPoints; this.gameArea = gameArea; } function setStartPathPoint(startPoint) { this.startPoint = startPoint; } function start() { pathPoint = 0; started = true; } function render(alpha) { car.render(alpha); } var pathPoint = 0; var startPoint = 0; var started = false; var speedMod = 1; }
Symbol 379 MovieClip [__Packages.com.midasplayer.timing.Timer] Frame 0
class com.midasplayer.timing.Timer { var timeable; function Timer (timeable, gameTicksPerSecond) { millisPerGameTick = 1000 / gameTicksPerSecond; this.timeable = timeable; } function advanceTime() { time = getTimer(); var _local3 = time - lastTime; lastTime = time; fps = 1000 / _local3; unprocessedTime = unprocessedTime + _local3; var _local2 = 0; while (unprocessedTime > millisPerGameTick) { unprocessedTime = unprocessedTime - millisPerGameTick; timeable.tick(tick); tick++; _local2++; if (_local2 >= 10) { unprocessedTime = 0; } } var _local4 = unprocessedTime / millisPerGameTick; timeable.render(tick, _local4); } var time = 0; var lastTime = 0; var unprocessedTime = 0; var tick = 0; var millisPerGameTick = 0; var fps = 0; }

Library Items

Symbol 1 Sound [underTake]
Symbol 2 Sound [engineSoundIdle]
Symbol 3 Sound [engineSoundRun3]
Symbol 4 Sound [engineSoundRun2]
Symbol 5 Sound [engineSoundRun1]
Symbol 6 Sound [BreakSound]
Symbol 7 Sound [GasSound]
Symbol 8 Sound [countdownSound2]
Symbol 9 Sound [countdownSound1]
Symbol 10 Sound [ambientSound4]
Symbol 11 Sound [ambientSound3]
Symbol 12 Sound [ambientSound2]
Symbol 13 Sound [ambientSound1]
Symbol 14 Sound [useBooster]
Symbol 15 Sound [getBooster]
Symbol 16 Sound [overTake]
Symbol 17 Sound [winGameSound]
Symbol 18 Sound [loseGameSound]
Symbol 19 Sound [finishRace]
Symbol 20 Sound [lap2Sound]
Symbol 21 Sound [lap1Sound]
Symbol 22 Sound [introSong]
Symbol 23 GraphicUsed by:37 261
Symbol 24 GraphicUsed by:37 109 260 261
Symbol 25 GraphicUsed by:37 72 117 125 245 247 248 260 261 266 294 302 344 359
Symbol 26 GraphicUsed by:37 260 261
Symbol 27 GraphicUsed by:37 71
Symbol 28 GraphicUsed by:37 71
Symbol 29 GraphicUsed by:37 71
Symbol 30 GraphicUsed by:37 71
Symbol 31 GraphicUsed by:37 71
Symbol 32 GraphicUsed by:37 71
Symbol 33 GraphicUsed by:37 71
Symbol 34 GraphicUsed by:37 71
Symbol 35 GraphicUsed by:37 71
Symbol 36 GraphicUsed by:37 71
Symbol 37 MovieClip [itimer]Uses:25 26 24 23 27 28 29 30 31 32 33 34 35 36
Symbol 38 GraphicUsed by:69 262
Symbol 39 GraphicUsed by:69 262
Symbol 40 GraphicUsed by:69 262
Symbol 41 GraphicUsed by:69 262
Symbol 42 GraphicUsed by:69 262
Symbol 43 GraphicUsed by:69 262
Symbol 44 GraphicUsed by:69 262
Symbol 45 GraphicUsed by:69 262
Symbol 46 GraphicUsed by:69 262
Symbol 47 GraphicUsed by:69 262 338
Symbol 48 GraphicUsed by:69 262
Symbol 49 GraphicUsed by:69 262
Symbol 50 GraphicUsed by:69 262
Symbol 51 GraphicUsed by:69 262
Symbol 52 GraphicUsed by:69 262
Symbol 53 GraphicUsed by:69 262
Symbol 54 GraphicUsed by:69 262
Symbol 55 GraphicUsed by:69 262
Symbol 56 GraphicUsed by:69 262
Symbol 57 GraphicUsed by:69 262
Symbol 58 GraphicUsed by:69 262
Symbol 59 GraphicUsed by:69 262
Symbol 60 GraphicUsed by:69 262
Symbol 61 GraphicUsed by:69 262
Symbol 62 GraphicUsed by:69 262
Symbol 63 GraphicUsed by:69 262
Symbol 64 GraphicUsed by:69 262
Symbol 65 GraphicUsed by:69 262
Symbol 66 GraphicUsed by:69 262
Symbol 67 GraphicUsed by:69 262
Symbol 68 GraphicUsed by:69 262
Symbol 69 MovieClip [_booster_lamp]Uses:48 47 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 46 45 44 43 42 41 40 39 38
Symbol 70 GraphicUsed by:72
Symbol 71 MovieClipUses:36 27 28 29 30 31 32 33 34 35Used by:72 261
Symbol 72 MovieClip [track_lap_counter]Uses:70 71 25Used by:89
Symbol 73 GraphicUsed by:89
Symbol 74 GraphicUsed by:89
Symbol 75 GraphicUsed by:89
Symbol 76 GraphicUsed by:89
Symbol 77 GraphicUsed by:89
Symbol 78 GraphicUsed by:89
Symbol 79 GraphicUsed by:89
Symbol 80 GraphicUsed by:89
Symbol 81 GraphicUsed by:89
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:89
Symbol 84 GraphicUsed by:88
Symbol 85 GraphicUsed by:88
Symbol 86 GraphicUsed by:88
Symbol 87 GraphicUsed by:88
Symbol 88 Button [btn_resize_bar]Uses:84 85 86 87Used by:89 312 322
Symbol 89 MovieClip [MiniMapBg]Uses:81 80 79 78 77 76 75 74 73 83 88 72
Symbol 90 GraphicUsed by:93 335
Symbol 91 GraphicUsed by:93 335
Symbol 92 GraphicUsed by:93 335
Symbol 93 MovieClip [warning]Uses:90 91 92
Symbol 94 GraphicUsed by:100
Symbol 95 GraphicUsed by:100
Symbol 96 GraphicUsed by:100
Symbol 97 GraphicUsed by:100
Symbol 98 GraphicUsed by:100
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:94 95 96 97 98 99Used by:101
Symbol 101 MovieClip [MinimapDot]Uses:100
Symbol 102 GraphicUsed by:104 105
Symbol 103 GraphicUsed by:104 105
Symbol 104 MovieClipUses:102 103Used by:105
Symbol 105 MovieClipUses:104 102 103Used by:106
Symbol 106 MovieClip [booster]Uses:105
Symbol 107 GraphicUsed by:108
Symbol 108 MovieClipUses:107Used by:210
Symbol 109 MovieClipUses:24Used by:209
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClipUses:110Used by:209
Symbol 112 GraphicUsed by:120
Symbol 113 GraphicUsed by:117
Symbol 114 GraphicUsed by:117 125
Symbol 115 GraphicUsed by:117
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:113 25 114 115 116Used by:120
Symbol 118 GraphicUsed by:120
Symbol 119 GraphicUsed by:120
Symbol 120 MovieClipUses:112 117 118 119Used by:209
Symbol 121 GraphicUsed by:126
Symbol 122 GraphicUsed by:125
Symbol 123 GraphicUsed by:125
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:122 25 114 123 124Used by:126
Symbol 126 MovieClipUses:121 125Used by:209
Symbol 127 GraphicUsed by:209
Symbol 128 GraphicUsed by:209
Symbol 129 GraphicUsed by:209
Symbol 130 GraphicUsed by:209
Symbol 131 GraphicUsed by:209
Symbol 132 GraphicUsed by:209
Symbol 133 GraphicUsed by:209
Symbol 134 GraphicUsed by:209
Symbol 135 GraphicUsed by:209
Symbol 136 GraphicUsed by:209
Symbol 137 GraphicUsed by:209
Symbol 138 GraphicUsed by:209
Symbol 139 GraphicUsed by:209
Symbol 140 GraphicUsed by:209
Symbol 141 GraphicUsed by:209
Symbol 142 GraphicUsed by:209
Symbol 143 GraphicUsed by:209
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:209
Symbol 146 GraphicUsed by:209
Symbol 147 GraphicUsed by:209
Symbol 148 GraphicUsed by:209
Symbol 149 GraphicUsed by:209
Symbol 150 GraphicUsed by:209
Symbol 151 GraphicUsed by:209
Symbol 152 GraphicUsed by:209
Symbol 153 GraphicUsed by:209
Symbol 154 GraphicUsed by:209
Symbol 155 GraphicUsed by:209
Symbol 156 GraphicUsed by:209
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:209
Symbol 159 GraphicUsed by:209
Symbol 160 GraphicUsed by:209
Symbol 161 GraphicUsed by:209
Symbol 162 GraphicUsed by:209
Symbol 163 GraphicUsed by:209
Symbol 164 GraphicUsed by:209
Symbol 165 GraphicUsed by:209
Symbol 166 GraphicUsed by:209
Symbol 167 GraphicUsed by:209
Symbol 168 GraphicUsed by:209
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:209
Symbol 171 GraphicUsed by:209
Symbol 172 GraphicUsed by:209
Symbol 173 GraphicUsed by:209
Symbol 174 GraphicUsed by:209
Symbol 175 GraphicUsed by:209
Symbol 176 GraphicUsed by:209
Symbol 177 GraphicUsed by:209
Symbol 178 GraphicUsed by:209
Symbol 179 GraphicUsed by:209
Symbol 180 GraphicUsed by:209
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:209
Symbol 183 GraphicUsed by:209
Symbol 184 GraphicUsed by:209
Symbol 185 GraphicUsed by:209
Symbol 186 GraphicUsed by:209
Symbol 187 GraphicUsed by:209
Symbol 188 GraphicUsed by:209
Symbol 189 GraphicUsed by:209
Symbol 190 GraphicUsed by:209
Symbol 191 GraphicUsed by:209
Symbol 192 GraphicUsed by:209
Symbol 193 BitmapUsed by:194
Symbol 194 GraphicUses:193Used by:209
Symbol 195 GraphicUsed by:209
Symbol 196 GraphicUsed by:209
Symbol 197 GraphicUsed by:209
Symbol 198 GraphicUsed by:209
Symbol 199 GraphicUsed by:209
Symbol 200 GraphicUsed by:209
Symbol 201 GraphicUsed by:209
Symbol 202 GraphicUsed by:209
Symbol 203 GraphicUsed by:209
Symbol 204 GraphicUsed by:209
Symbol 205 BitmapUsed by:206
Symbol 206 GraphicUses:205Used by:209
Symbol 207 GraphicUsed by:209
Symbol 208 GraphicUsed by:209
Symbol 209 MovieClipUses:109 111 120 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 158 159 160 161 162 163 164 165 166 167 168 170 171 172 173 174 175 176 177 178 179 180 182 183 184 185 186 187 188 189 190 191 192 194 195 196 197 198 199 200 201 202 203 204 206 207 208Used by:210
Symbol 210 MovieClip [car]Uses:108 209
Symbol 211 GraphicUsed by:248 359
Symbol 212 GraphicUsed by:248 359
Symbol 213 FontUsed by:214 215 224 225 226 227 228 229 230 231 233 235 236 345 346 349 351 353 354 358
Symbol 214 EditableTextUses:213Used by:248
Symbol 215 EditableTextUses:213Used by:248
Symbol 216 GraphicUsed by:248 359
Symbol 217 GraphicUsed by:248 359
Symbol 218 GraphicUsed by:248
Symbol 219 GraphicUsed by:248 359
Symbol 220 GraphicUsed by:248
Symbol 221 GraphicUsed by:248
Symbol 222 GraphicUsed by:248
Symbol 223 GraphicUsed by:248
Symbol 224 EditableTextUses:213Used by:248
Symbol 225 EditableTextUses:213Used by:248
Symbol 226 EditableTextUses:213Used by:248
Symbol 227 EditableTextUses:213Used by:248
Symbol 228 EditableTextUses:213Used by:248
Symbol 229 EditableTextUses:213Used by:248
Symbol 230 EditableTextUses:213Used by:248
Symbol 231 EditableTextUses:213Used by:248
Symbol 232 GraphicUsed by:248
Symbol 233 EditableTextUses:213Used by:248
Symbol 234 GraphicUsed by:248
Symbol 235 EditableTextUses:213Used by:248
Symbol 236 EditableTextUses:213Used by:248
Symbol 237 GraphicUsed by:245
Symbol 238 FontUsed by:239 241 243
Symbol 239 EditableTextUses:238Used by:245
Symbol 240 GraphicUsed by:245
Symbol 241 EditableTextUses:238Used by:245
Symbol 242 GraphicUsed by:245
Symbol 243 EditableTextUses:238Used by:245
Symbol 244 GraphicUsed by:245
Symbol 245 ButtonUses:237 239 25 240 241 242 243 244Used by:248
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246 25Used by:248 359
Symbol 248 MovieClip [StartWindow]Uses:211 212 214 215 25 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 245 247Used by:Timeline
Symbol 249 GraphicUsed by:260
Symbol 250 GraphicUsed by:260
Symbol 251 GraphicUsed by:260
Symbol 252 GraphicUsed by:260
Symbol 253 GraphicUsed by:260
Symbol 254 GraphicUsed by:260
Symbol 255 GraphicUsed by:260
Symbol 256 GraphicUsed by:260
Symbol 257 GraphicUsed by:260
Symbol 258 GraphicUsed by:260
Symbol 259 GraphicUsed by:260
Symbol 260 MovieClip [logo]Uses:25 26 24 259 256 258 250 254 257 255 253 252 251 249Used by:312
Symbol 261 MovieClip [timer]Uses:25 26 24 23 71Used by:312 322
Symbol 262 MovieClip [booster_lamp]Uses:59 58 47 57 56 55 54 53 52 51 50 49 48 46 45 44 43 42 41 40 39 38 68 67 66 65 64 63 62 61 60Used by:312 322
Symbol 263 MovieClip [GameArea]Used by:323
Symbol 264 GraphicUsed by:266
Symbol 265 GraphicUsed by:266
Symbol 266 MovieClipUses:25 264 265Used by:323
Symbol 267 GraphicUsed by:312
Symbol 268 GraphicUsed by:294
Symbol 269 GraphicUsed by:294
Symbol 270 GraphicUsed by:294
Symbol 271 GraphicUsed by:294
Symbol 272 GraphicUsed by:294
Symbol 273 GraphicUsed by:294
Symbol 274 GraphicUsed by:294
Symbol 275 GraphicUsed by:294
Symbol 276 GraphicUsed by:294
Symbol 277 GraphicUsed by:294
Symbol 278 GraphicUsed by:294
Symbol 279 GraphicUsed by:294
Symbol 280 GraphicUsed by:294
Symbol 281 GraphicUsed by:294
Symbol 282 GraphicUsed by:294
Symbol 283 GraphicUsed by:294
Symbol 284 GraphicUsed by:294
Symbol 285 GraphicUsed by:294
Symbol 286 GraphicUsed by:294
Symbol 287 GraphicUsed by:294
Symbol 288 GraphicUsed by:294
Symbol 289 GraphicUsed by:294
Symbol 290 GraphicUsed by:294
Symbol 291 GraphicUsed by:294
Symbol 292 GraphicUsed by:294
Symbol 293 GraphicUsed by:294
Symbol 294 MovieClipUses:268 25 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293Used by:312
Symbol 295 GraphicUsed by:302
Symbol 296 GraphicUsed by:302
Symbol 297 GraphicUsed by:302
Symbol 298 GraphicUsed by:302
Symbol 299 GraphicUsed by:302
Symbol 300 GraphicUsed by:302
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:295 296 25 297 298 299 300 301Used by:312
Symbol 303 GraphicUsed by:307
Symbol 304 GraphicUsed by:307
Symbol 305 GraphicUsed by:307
Symbol 306 GraphicUsed by:307 311
Symbol 307 ButtonUses:303 304 305 306Used by:312
Symbol 308 GraphicUsed by:311
Symbol 309 GraphicUsed by:311
Symbol 310 GraphicUsed by:311
Symbol 311 ButtonUses:308 309 310 306Used by:312
Symbol 312 MovieClipUses:267 294 262 261 260 302 307 88 311Used by:323
Symbol 313 GraphicUsed by:322
Symbol 314 GraphicUsed by:321
Symbol 315 GraphicUsed by:321
Symbol 316 GraphicUsed by:321
Symbol 317 GraphicUsed by:321
Symbol 318 GraphicUsed by:321
Symbol 319 GraphicUsed by:321
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClipUses:314 315 316 317 318 319 320Used by:322
Symbol 322 MovieClipUses:313 261 88 262 321Used by:323
Symbol 323 MovieClip [WebRacer]Uses:263 266 312 322Used by:Timeline
Symbol 324 GraphicUsed by:328
Symbol 325 GraphicUsed by:328
Symbol 326 GraphicUsed by:328
Symbol 327 GraphicUsed by:328
Symbol 328 ButtonUses:324 325 326 327Used by:Timeline
Symbol 329 FontUsed by:330 331
Symbol 330 EditableTextUses:329Used by:Timeline
Symbol 331 EditableTextUses:329Used by:Timeline
Symbol 332 FontUsed by:333 334
Symbol 333 EditableTextUses:332Used by:335
Symbol 334 EditableTextUses:332Used by:335
Symbol 335 MovieClipUses:90 91 92 333 334Used by:Timeline
Symbol 336 GraphicUsed by:339
Symbol 337 GraphicUsed by:338
Symbol 338 MovieClipUses:337 47Used by:339
Symbol 339 MovieClipUses:336 338Used by:Timeline
Symbol 340 FontUsed by:341
Symbol 341 EditableTextUses:340Used by:Timeline
Symbol 342 FontUsed by:343
Symbol 343 EditableTextUses:342Used by:344
Symbol 344 MovieClipUses:25 343Used by:Timeline
Symbol 345 EditableTextUses:213Used by:359
Symbol 346 EditableTextUses:213Used by:359
Symbol 347 FontUsed by:348 350 352 355
Symbol 348 EditableTextUses:347Used by:359
Symbol 349 EditableTextUses:213Used by:359
Symbol 350 EditableTextUses:347Used by:359
Symbol 351 EditableTextUses:213Used by:359
Symbol 352 EditableTextUses:347Used by:359
Symbol 353 EditableTextUses:213Used by:359
Symbol 354 EditableTextUses:213Used by:359
Symbol 355 EditableTextUses:347Used by:359
Symbol 356 GraphicUsed by:359
Symbol 357 GraphicUsed by:359
Symbol 358 EditableTextUses:213Used by:359
Symbol 359 MovieClipUses:211 212 345 346 25 348 349 350 351 352 353 354 355 216 217 356 219 357 247 358Used by:Timeline
Symbol 360 MovieClip [__Packages.com.midasplayer.timing.Timeable]
Symbol 361 MovieClip [__Packages.com.midasplayer.webracer.WebRacer]
Symbol 362 MovieClip [__Packages.com.midasplayer.webracer.GameArea]
Symbol 363 MovieClip [__Packages.com.midasplayer.timing.IFloat]
Symbol 364 MovieClip [__Packages.com.midasplayer.webracer.SoundEngine]
Symbol 365 MovieClip [__Packages.com.midasplayer.webracer.SoundHolder]
Symbol 366 MovieClip [__Packages.com.midasplayer.webracer.Hjulgran]
Symbol 367 MovieClip [__Packages.com.midasplayer.webracer.Communicator]
Symbol 368 MovieClip [__Packages.com.midasplayer.webracer.GameLogic]
Symbol 369 MovieClip [__Packages.com.midasplayer.math.VectorFP]
Symbol 370 MovieClip [__Packages.com.midasplayer.math.MathFP]
Symbol 371 MovieClip [__Packages.com.midasplayer.webracer.CarMotion]
Symbol 372 MovieClip [__Packages.com.midasplayer.webracer.Waypoint]
Symbol 373 MovieClip [__Packages.com.midasplayer.webracer.Rand]
Symbol 374 MovieClip [__Packages.com.midasplayer.webracer.PathPoint]
Symbol 375 MovieClip [__Packages.com.midasplayer.webracer.KeyRecorder]
Symbol 376 MovieClip [__Packages.com.midasplayer.webracer.Car]
Symbol 377 MovieClip [__Packages.com.midasplayer.timing.IRotFloat]
Symbol 378 MovieClip [__Packages.com.midasplayer.webracer.Opponent]
Symbol 379 MovieClip [__Packages.com.midasplayer.timing.Timer]

Instance Names

"endGameButton"Frame 1Symbol 328 Button
"endGameTextShadow"Frame 1Symbol 330 EditableText
"endGameText"Frame 1Symbol 331 EditableText
"wrongWayWarning"Frame 1Symbol 335 MovieClip
"hjulgran"Frame 1Symbol 339 MovieClip
"startWindow"Frame 1Symbol 248 MovieClip [StartWindow]
"debugText"Frame 1Symbol 341 EditableText
"egoPanel"Frame 1Symbol 344 MovieClip
"finishWindow"Frame 1Symbol 359 MovieClip
"number"Symbol 72 MovieClip [track_lap_counter] Frame 1Symbol 71 MovieClip
"bigPanel"Symbol 89 MovieClip [MiniMapBg] Frame 1Symbol 83 MovieClip
"minimizeButton"Symbol 89 MovieClip [MiniMapBg] Frame 1Symbol 88 Button [btn_resize_bar]
"raceMeter"Symbol 89 MovieClip [MiniMapBg] Frame 1Symbol 72 MovieClip [track_lap_counter]
"lapMeter"Symbol 89 MovieClip [MiniMapBg] Frame 1Symbol 72 MovieClip [track_lap_counter]
"icon"Symbol 101 MovieClip [MinimapDot] Frame 1Symbol 100 MovieClip
"mc"Symbol 106 MovieClip [booster] Frame 1Symbol 105 MovieClip
"leftWheel"Symbol 120 MovieClip Frame 1Symbol 117 MovieClip
"rightWheel"Symbol 120 MovieClip Frame 1Symbol 117 MovieClip
"leftWheel"Symbol 126 MovieClip Frame 1Symbol 125 MovieClip
"rightWheel"Symbol 126 MovieClip Frame 1Symbol 125 MovieClip
"leftWheelPoint"Symbol 209 MovieClip Frame 1Symbol 109 MovieClip
"rightWheelPoint"Symbol 209 MovieClip Frame 1Symbol 109 MovieClip
"frontWheels"Symbol 209 MovieClip Frame 1Symbol 120 MovieClip
"backWheels"Symbol 209 MovieClip Frame 1Symbol 126 MovieClip
"boost"Symbol 210 MovieClip [car] Frame 1Symbol 108 MovieClip
"mc"Symbol 210 MovieClip [car] Frame 1Symbol 209 MovieClip
"titleText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 214 EditableText
"instructionsText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 215 EditableText
"rightText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 224 EditableText
"leftText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 225 EditableText
"breakText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 226 EditableText
"accelerateText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 227 EditableText
"boostText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 228 EditableText
"trackText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 229 EditableText
"lapText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 230 EditableText
"minimizeText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 231 EditableText
"controlsText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 233 EditableText
"spacebarTextBg"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 235 EditableText
"spacebarText"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 236 EditableText
"startButton"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 245 Button
"loaderProgress"Symbol 248 MovieClip [StartWindow] Frame 1Symbol 247 MovieClip
"number5"Symbol 261 MovieClip [timer] Frame 1Symbol 71 MovieClip
"number4"Symbol 261 MovieClip [timer] Frame 1Symbol 71 MovieClip
"number3"Symbol 261 MovieClip [timer] Frame 1Symbol 71 MovieClip
"number2"Symbol 261 MovieClip [timer] Frame 1Symbol 71 MovieClip
"number1"Symbol 261 MovieClip [timer] Frame 1Symbol 71 MovieClip
"number0"Symbol 261 MovieClip [timer] Frame 1Symbol 71 MovieClip
"speedMeter"Symbol 312 MovieClip Frame 1Symbol 294 MovieClip
"boosterMeter0"Symbol 312 MovieClip Frame 1Symbol 262 MovieClip [booster_lamp]
"boosterMeter1"Symbol 312 MovieClip Frame 1Symbol 262 MovieClip [booster_lamp]
"boosterMeter2"Symbol 312 MovieClip Frame 1Symbol 262 MovieClip [booster_lamp]
"timeMeter"Symbol 312 MovieClip Frame 1Symbol 261 MovieClip [timer]
"logo"Symbol 312 MovieClip Frame 1Symbol 260 MovieClip [logo]
"posMeter"Symbol 312 MovieClip Frame 1Symbol 302 MovieClip
"soundOffButton"Symbol 312 MovieClip Frame 1Symbol 307 Button
"minimizeButton"Symbol 312 MovieClip Frame 1Symbol 88 Button [btn_resize_bar]
"soundOnButton"Symbol 312 MovieClip Frame 1Symbol 311 Button
"timeMeter"Symbol 322 MovieClip Frame 1Symbol 261 MovieClip [timer]
"minimizeButton"Symbol 322 MovieClip Frame 1Symbol 88 Button [btn_resize_bar]
"boosterMeter0"Symbol 322 MovieClip Frame 1Symbol 262 MovieClip [booster_lamp]
"boosterMeter1"Symbol 322 MovieClip Frame 1Symbol 262 MovieClip [booster_lamp]
"boosterMeter2"Symbol 322 MovieClip Frame 1Symbol 262 MovieClip [booster_lamp]
"posMeter"Symbol 322 MovieClip Frame 1Symbol 321 MovieClip
"gameArea"Symbol 323 MovieClip [WebRacer] Frame 1Symbol 263 MovieClip [GameArea]
"bg"Symbol 323 MovieClip [WebRacer] Frame 1Symbol 266 MovieClip
"infoBar"Symbol 323 MovieClip [WebRacer] Frame 1Symbol 312 MovieClip
"infoBarSmall"Symbol 323 MovieClip [WebRacer] Frame 1Symbol 322 MovieClip
"lights"Symbol 339 MovieClip Frame 1Symbol 338 MovieClip
"titleText"Symbol 359 MovieClip Frame 1Symbol 345 EditableText
"lapTimeText"Symbol 359 MovieClip Frame 1Symbol 346 EditableText
"lapTimeNumber"Symbol 359 MovieClip Frame 1Symbol 348 EditableText
"totalTimeText"Symbol 359 MovieClip Frame 1Symbol 349 EditableText
"totalTimeNumber"Symbol 359 MovieClip Frame 1Symbol 350 EditableText
"scoreText"Symbol 359 MovieClip Frame 1Symbol 351 EditableText
"scoreNumber"Symbol 359 MovieClip Frame 1Symbol 352 EditableText
"gameOverText"Symbol 359 MovieClip Frame 1Symbol 353 EditableText
"totalScoreText"Symbol 359 MovieClip Frame 1Symbol 354 EditableText
"totalScoreNumber"Symbol 359 MovieClip Frame 1Symbol 355 EditableText
"loaderProgress"Symbol 359 MovieClip Frame 1Symbol 247 MovieClip
"errorText"Symbol 359 MovieClip Frame 1Symbol 358 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 1 as "underTake"
ExportAssets (56)Timeline Frame 1Symbol 2 as "engineSoundIdle"
ExportAssets (56)Timeline Frame 1Symbol 3 as "engineSoundRun3"
ExportAssets (56)Timeline Frame 1Symbol 4 as "engineSoundRun2"
ExportAssets (56)Timeline Frame 1Symbol 5 as "engineSoundRun1"
ExportAssets (56)Timeline Frame 1Symbol 6 as "BreakSound"
ExportAssets (56)Timeline Frame 1Symbol 7 as "GasSound"
ExportAssets (56)Timeline Frame 1Symbol 8 as "countdownSound2"
ExportAssets (56)Timeline Frame 1Symbol 9 as "countdownSound1"
ExportAssets (56)Timeline Frame 1Symbol 10 as "ambientSound4"
ExportAssets (56)Timeline Frame 1Symbol 11 as "ambientSound3"
ExportAssets (56)Timeline Frame 1Symbol 12 as "ambientSound2"
ExportAssets (56)Timeline Frame 1Symbol 13 as "ambientSound1"
ExportAssets (56)Timeline Frame 1Symbol 14 as "useBooster"
ExportAssets (56)Timeline Frame 1Symbol 15 as "getBooster"
ExportAssets (56)Timeline Frame 1Symbol 16 as "overTake"
ExportAssets (56)Timeline Frame 1Symbol 17 as "winGameSound"
ExportAssets (56)Timeline Frame 1Symbol 18 as "loseGameSound"
ExportAssets (56)Timeline Frame 1Symbol 19 as "finishRace"
ExportAssets (56)Timeline Frame 1Symbol 20 as "lap2Sound"
ExportAssets (56)Timeline Frame 1Symbol 21 as "lap1Sound"
ExportAssets (56)Timeline Frame 1Symbol 22 as "introSong"
ExportAssets (56)Timeline Frame 1Symbol 37 as "itimer"
ExportAssets (56)Timeline Frame 1Symbol 69 as "_booster_lamp"
ExportAssets (56)Timeline Frame 1Symbol 72 as "track_lap_counter"
ExportAssets (56)Timeline Frame 1Symbol 88 as "btn_resize_bar"
ExportAssets (56)Timeline Frame 1Symbol 89 as "MiniMapBg"
ExportAssets (56)Timeline Frame 1Symbol 93 as "warning"
ExportAssets (56)Timeline Frame 1Symbol 101 as "MinimapDot"
ExportAssets (56)Timeline Frame 1Symbol 106 as "booster"
ExportAssets (56)Timeline Frame 1Symbol 210 as "car"
ExportAssets (56)Timeline Frame 1Symbol 248 as "StartWindow"
ExportAssets (56)Timeline Frame 1Symbol 260 as "logo"
ExportAssets (56)Timeline Frame 1Symbol 261 as "timer"
ExportAssets (56)Timeline Frame 1Symbol 262 as "booster_lamp"
ExportAssets (56)Timeline Frame 1Symbol 263 as "GameArea"
ExportAssets (56)Timeline Frame 1Symbol 323 as "WebRacer"
ExportAssets (56)Timeline Frame 1Symbol 360 as "__Packages.com.midasplayer.timing.Timeable"
ExportAssets (56)Timeline Frame 1Symbol 361 as "__Packages.com.midasplayer.webracer.WebRacer"
ExportAssets (56)Timeline Frame 1Symbol 362 as "__Packages.com.midasplayer.webracer.GameArea"
ExportAssets (56)Timeline Frame 1Symbol 363 as "__Packages.com.midasplayer.timing.IFloat"
ExportAssets (56)Timeline Frame 1Symbol 364 as "__Packages.com.midasplayer.webracer.SoundEngine"
ExportAssets (56)Timeline Frame 1Symbol 365 as "__Packages.com.midasplayer.webracer.SoundHolder"
ExportAssets (56)Timeline Frame 1Symbol 366 as "__Packages.com.midasplayer.webracer.Hjulgran"
ExportAssets (56)Timeline Frame 1Symbol 367 as "__Packages.com.midasplayer.webracer.Communicator"
ExportAssets (56)Timeline Frame 1Symbol 368 as "__Packages.com.midasplayer.webracer.GameLogic"
ExportAssets (56)Timeline Frame 1Symbol 369 as "__Packages.com.midasplayer.math.VectorFP"
ExportAssets (56)Timeline Frame 1Symbol 370 as "__Packages.com.midasplayer.math.MathFP"
ExportAssets (56)Timeline Frame 1Symbol 371 as "__Packages.com.midasplayer.webracer.CarMotion"
ExportAssets (56)Timeline Frame 1Symbol 372 as "__Packages.com.midasplayer.webracer.Waypoint"
ExportAssets (56)Timeline Frame 1Symbol 373 as "__Packages.com.midasplayer.webracer.Rand"
ExportAssets (56)Timeline Frame 1Symbol 374 as "__Packages.com.midasplayer.webracer.PathPoint"
ExportAssets (56)Timeline Frame 1Symbol 375 as "__Packages.com.midasplayer.webracer.KeyRecorder"
ExportAssets (56)Timeline Frame 1Symbol 376 as "__Packages.com.midasplayer.webracer.Car"
ExportAssets (56)Timeline Frame 1Symbol 377 as "__Packages.com.midasplayer.timing.IRotFloat"
ExportAssets (56)Timeline Frame 1Symbol 378 as "__Packages.com.midasplayer.webracer.Opponent"
ExportAssets (56)Timeline Frame 1Symbol 379 as "__Packages.com.midasplayer.timing.Timer"




http://swfchan.com/52/256972/info.shtml
Created: 1/9 -2024 19:28:17 Last modified: 1/9 -2024 19:28:17 Server time: 18/09 -2024 13:11:02