Section 1
//Bars_8 (feelthebeat_ng_fla.Bars_8)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class Bars_8 extends MovieClip {
public var healthBar:MovieClip;
public var positionBar:MovieClip;
}
}//package feelthebeat_ng_fla
Section 2
//CheckBox_42 (feelthebeat_ng_fla.CheckBox_42)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class CheckBox_42 extends MovieClip {
public function CheckBox_42(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package feelthebeat_ng_fla
Section 3
//CircleLightUp_2 (feelthebeat_ng_fla.CircleLightUp_2)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class CircleLightUp_2 extends MovieClip {
public function CircleLightUp_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package feelthebeat_ng_fla
Section 4
//CoverOver_36 (feelthebeat_ng_fla.CoverOver_36)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class CoverOver_36 extends MovieClip {
public function CoverOver_36(){
addFrameScript(0, frame1, 19, frame20, 39, frame40);
}
function frame1(){
stop();
}
function frame20(){
gotoAndStop(1);
}
function frame40(){
gotoAndStop(1);
}
}
}//package feelthebeat_ng_fla
Section 5
//CrazyOptionsChecks_43 (feelthebeat_ng_fla.CrazyOptionsChecks_43)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class CrazyOptionsChecks_43 extends MovieClip {
public var bottom:MovieClip;
public var speed:MovieClip;
public var color:MovieClip;
public var top:MovieClip;
public var middle:MovieClip;
public var swapped:MovieClip;
public var nogui:MovieClip;
public var note:MovieClip;
}
}//package feelthebeat_ng_fla
Section 6
//GameOver_67 (feelthebeat_ng_fla.GameOver_67)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.text.*;
public dynamic class GameOver_67 extends MovieClip {
public var bad:TextField;
public var miss:TextField;
public var perfect:TextField;
public var copyTextButton:SimpleButton;
public var mainMenuButton:SimpleButton;
public var submitScoreButton:SimpleButton;
public var copyText:TextField;
public var maxCombo:TextField;
public var score:TextField;
public var great:TextField;
public var good:TextField;
public var multiplier:TextField;
public var finalScore:TextField;
public var username:TextField;
public var grade:TextField;
}
}//package feelthebeat_ng_fla
Section 7
//GUI_27 (feelthebeat_ng_fla.GUI_27)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.text.*;
public dynamic class GUI_27 extends MovieClip {
public var l_D:MovieClip;
public var k_space:MovieClip;
public var l_F:MovieClip;
public var l_K:MovieClip;
public var l_J:MovieClip;
public var l_L:MovieClip;
public var c_space:TextField;
public var c_F:TextField;
public var l_S:MovieClip;
public var c_L:TextField;
public var c_K:TextField;
public var k_D:MovieClip;
public var k_S:MovieClip;
public var k_L:MovieClip;
public var k_F:MovieClip;
public var c_J:TextField;
public var l_space:MovieClip;
public var k_J:MovieClip;
public var k_K:MovieClip;
public var c_D:TextField;
public var c_S:TextField;
}
}//package feelthebeat_ng_fla
Section 8
//GUIOptions_38 (feelthebeat_ng_fla.GUIOptions_38)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.geom.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class GUIOptions_38 extends MovieClip {
public const SCALE = 60;
public var optionsScroll:MovieClip;
public var prevSlide:SimpleButton;
public var ba;
public var selectedSong:MovieClip;
public var speed;
public var agButton2:MovieClip;
public var onThorGaming:Boolean;
public var nextSlide:SimpleButton;
public var spectrum:MovieClip;
public var optionsMasker:MovieClip;
public var agButton:MovieClip;
public function GUIOptions_38(){
addFrameScript(0, frame1);
}
public function qualityButtonFunction(_arg1){
if (optionsScroll.qualityButton.currentFrame != 4){
optionsScroll.qualityButton.nextFrame();
} else {
optionsScroll.qualityButton.gotoAndStop(1);
};
}
public function init(){
optionsScroll.song1.addEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
optionsScroll.song2.addEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
optionsScroll.song3.addEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
optionsScroll.song4.addEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
agButton.addEventListener(MouseEvent.CLICK, agMoveFunction);
agButton2.addEventListener(MouseEvent.CLICK, agMoveFunction);
agButton2.addEventListener(Event.ENTER_FRAME, agButton2Function);
this.addEventListener(Event.ENTER_FRAME, enterFrameFunction);
optionsScroll.speedMeter.addEventListener(MouseEvent.MOUSE_DOWN, controllerDownFunction);
stage.addEventListener(MouseEvent.MOUSE_UP, controllerUpFunction);
optionsScroll.lightsCheck.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.particlesCheck.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.spectrumCheck.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.controlsCheck.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.practiceCheck.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.color.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.note.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.speed.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.top.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.middle.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.bottom.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.nogui.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.swapped.addEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.qualityButton.addEventListener(MouseEvent.CLICK, qualityButtonFunction);
optionsScroll.difficultyButton.addEventListener(MouseEvent.CLICK, difficultyButtonFunction);
}
public function deinit(){
optionsScroll.song1.removeEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
optionsScroll.song2.removeEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
optionsScroll.song3.removeEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
optionsScroll.song4.removeEventListener(Event.ENTER_FRAME, songButtonEnterFrame);
agButton.removeEventListener(MouseEvent.CLICK, agMoveFunction);
agButton2.removeEventListener(MouseEvent.CLICK, agMoveFunction);
agButton2.removeEventListener(Event.ENTER_FRAME, agButton2Function);
this.removeEventListener(Event.ENTER_FRAME, enterFrameFunction);
optionsScroll.speedMeter.removeEventListener(MouseEvent.MOUSE_DOWN, controllerDownFunction);
stage.removeEventListener(MouseEvent.MOUSE_UP, controllerUpFunction);
optionsScroll.lightsCheck.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.particlesCheck.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.spectrumCheck.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.controlsCheck.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.practiceCheck.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.color.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.note.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.speed.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.top.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.middle.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.bottom.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.nogui.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.crazyOptions.swapped.removeEventListener(MouseEvent.CLICK, checkButtonFunction);
optionsScroll.qualityButton.removeEventListener(MouseEvent.CLICK, qualityButtonFunction);
optionsScroll.difficultyButton.removeEventListener(MouseEvent.CLICK, difficultyButtonFunction);
}
public function agMoveFunction(_arg1){
navigateToURL(new URLRequest("http://www.thorgaming.com"));
}
public function agButton2Function(_arg1:Event){
var _local2:*;
_local2 = _arg1.target;
if (_local2.hitTestPoint(mouseX, mouseY)){
_local2.nextFrame();
} else {
_local2.prevFrame();
};
}
public function controllerDownFunction(_arg1){
optionsScroll.speedMeter.controller.startDrag(true, new Rectangle((-325 / 2), 0, 325, 0));
}
public function checkButtonFunction(_arg1){
_arg1.currentTarget.gotoAndStop(((_arg1.currentTarget.currentFrame)==1) ? 2 : 1);
}
function frame1(){
ba = new ByteArray();
speed = 0;
optionsScroll.speedMeter.controller.x = (((((5 - 1) * 10) / 141) * 325) - (325 / 2));
optionsScroll.lightsCheck.gotoAndStop(2);
optionsScroll.particlesCheck.gotoAndStop(2);
optionsScroll.spectrumCheck.gotoAndStop(2);
optionsScroll.controlsCheck.gotoAndStop(2);
optionsScroll.practiceCheck.gotoAndStop(1);
optionsScroll.qualityButton.gotoAndStop("medium");
optionsScroll.difficultyButton.gotoAndStop("medium");
onThorGaming = (root.loaderInfo.loaderURL.indexOf("thorgaming.com") >= 0);
selectedSong = optionsScroll.song4;
optionsScroll.mask = optionsMasker;
optionsScroll.song4.gotoAndStop(40);
if (onThorGaming){
optionsScroll.lockedSongs.visible = false;
optionsScroll.song3.lockedSong.visible = false;
};
optionsScroll.song1.lockedSong.visible = false;
optionsScroll.song2.lockedSong.visible = false;
optionsScroll.song4.lockedSong.visible = false;
}
public function enterFrameFunction(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
spectrum.graphics.clear();
if (visible){
spectrum.graphics.beginFill(144520, 0.25);
SoundMixer.computeSpectrum(ba, false);
_local3 = 0;
while (_local3 < 64) {
_local2 = 0;
_local4 = 0;
while (_local4 < 4) {
_local2 = (_local2 + ba.readFloat());
_local4++;
};
spectrum.graphics.drawRect(0, ((_local3 * 100) / 64), Math.abs((_local2 * SCALE)), (100 / 64));
_local3++;
};
};
speed = ((int((((optionsScroll.speedMeter.controller.x + (325 / 2)) / 325) * 141)) / 10) + 1);
optionsScroll.speedText.text = speed;
if (optionsScroll.qualityButton.currentFrame < 2){
optionsScroll.spectrumCheck.gotoAndStop(1);
};
if (optionsScroll.qualityButton.currentFrame < 2){
optionsScroll.particlesCheck.gotoAndStop(1);
};
}
public function controllerUpFunction(_arg1){
optionsScroll.speedMeter.controller.stopDrag();
}
public function songButtonEnterFrame(_arg1:Event){
var _local2:*;
_local2 = _arg1.target;
if (_local2.hitTestPoint(mouseX, mouseY)){
_local2.nextFrame();
} else {
if (_local2 != selectedSong){
_local2.prevFrame();
};
};
}
public function difficultyButtonFunction(_arg1){
if (optionsScroll.difficultyButton.currentFrame != 3){
optionsScroll.difficultyButton.nextFrame();
} else {
optionsScroll.difficultyButton.gotoAndStop(1);
};
}
}
}//package feelthebeat_ng_fla
Section 9
//HoldNoteBottom_13 (feelthebeat_ng_fla.HoldNoteBottom_13)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class HoldNoteBottom_13 extends MovieClip {
public var colorChange:MovieClip;
}
}//package feelthebeat_ng_fla
Section 10
//HoldNoteCenter_15 (feelthebeat_ng_fla.HoldNoteCenter_15)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class HoldNoteCenter_15 extends MovieClip {
public var colorChange:MovieClip;
}
}//package feelthebeat_ng_fla
Section 11
//HoldNoteTop_17 (feelthebeat_ng_fla.HoldNoteTop_17)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class HoldNoteTop_17 extends MovieClip {
public var colorChange:MovieClip;
}
}//package feelthebeat_ng_fla
Section 12
//Instructions_61 (feelthebeat_ng_fla.Instructions_61)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
public dynamic class Instructions_61 extends MovieClip {
public var mainMenuButton:SimpleButton;
public var prevSlide:SimpleButton;
public var nextSlide:SimpleButton;
public var window:InstructionsWindow;
public function Instructions_61(){
addFrameScript(0, frame1);
}
public function prevSlideFunction(_arg1){
window.prevFrame();
}
function frame1(){
window.gotoAndStop(1);
prevSlide.addEventListener(MouseEvent.CLICK, prevSlideFunction);
nextSlide.addEventListener(MouseEvent.CLICK, nextSlideFunction);
}
public function nextSlideFunction(_arg1){
window.nextFrame();
}
}
}//package feelthebeat_ng_fla
Section 13
//InstructionsTutorial_63 (feelthebeat_ng_fla.InstructionsTutorial_63)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.utils.*;
public dynamic class InstructionsTutorial_63 extends MovieClip {
public var bottom:MovieClip;
public var c_space:MovieClip;
public var k_space:MovieClip;
public var l_F:MovieClip;
public var l_K:MovieClip;
public var setInt:uint;
public var c_F:MovieClip;
public var top:MovieClip;
public var k_D:MovieClip;
public var c_J:MovieClip;
public var c_K:MovieClip;
public var c_L:MovieClip;
public var k_S:MovieClip;
public var s_L:MovieClip;
public var k_F:MovieClip;
public var k_L:MovieClip;
public var c_D:MovieClip;
public var s_K:MovieClip;
public var k_J:MovieClip;
public var k_K:MovieClip;
public var s_D:MovieClip;
public var s_S:MovieClip;
public var s_F:MovieClip;
public var center:MovieClip;
public var s_space:MovieClip;
public var c_S:MovieClip;
public var s_J:MovieClip;
public var noteBar:MovieClip;
public function InstructionsTutorial_63(){
addFrameScript(0, frame1, 900, frame901);
}
function frame1(){
stop();
clearInterval(setInt);
setInt = setInterval(nextFrame, (1000 / 30));
}
function frame901(){
stop();
}
}
}//package feelthebeat_ng_fla
Section 14
//intro_thorlogo_20 (feelthebeat_ng_fla.intro_thorlogo_20)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.geom.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class intro_thorlogo_20 extends MovieClip {
public var goPlay;
public var blankButton:MovieClip;
public function intro_thorlogo_20(){
addFrameScript(0, frame1, 158, frame159);
}
function frame159(){
stop();
goPlay.play();
}
public function tgMoveFunction(_arg1){
navigateToURL(new URLRequest("http://www.thorgaming.com"));
}
function frame1(){
blankButton.addEventListener(MouseEvent.CLICK, tgMoveFunction);
}
}
}//package feelthebeat_ng_fla
Section 15
//Key1_28 (feelthebeat_ng_fla.Key1_28)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class Key1_28 extends MovieClip {
public function Key1_28(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package feelthebeat_ng_fla
Section 16
//Key2_29 (feelthebeat_ng_fla.Key2_29)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class Key2_29 extends MovieClip {
public function Key2_29(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package feelthebeat_ng_fla
Section 17
//Key3_30 (feelthebeat_ng_fla.Key3_30)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class Key3_30 extends MovieClip {
public function Key3_30(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package feelthebeat_ng_fla
Section 18
//MainTimeline (feelthebeat_ng_fla.MainTimeline)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.geom.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var soundSpectrum:MovieClip;
public var slideTo:int;
public var restartButton:SimpleButton;
public var thraddash:Sound;
public var xceedLogo:MovieClip;
public var optionsFade:String;
public var pos:Number;
public var speed:Number;
public var startReady:Boolean;
public var health:Number;
public var i;
public var p:String;
public var ngText:MovieClip;
public var maxCombo:int;
public var preloader:MovieClip;
public var score:int;
public var qualityOptions:Array;
public var options:MovieClip;
public var gameQuality:int;
public var noteBar:MovieClip;
public var scoreEffect:MovieClip;
public var bars:MovieClip;
public var preloaderText;
public var crazyOptions:Array;
public var notes:MovieClip;
public var holdArray:Array;
public var scoreText:TextField;
public var menuSound:Sound;
public var hitsArray:Array;
public var endless:Sound;
public var tonghua:Sound;
public var instructionsVisible:Boolean;
public var song:String;
public var waitEnd:int;
public var coverOver:MovieClip;
public var soundChannel:SoundChannel;
public var gui:MovieClip;
public var keyOptions:Array;
public var notesMask:MovieClip;
public var l_space:MovieClip;
public var numCrazyOptions;
public var combo:int;
public var songOver:Boolean;
public var gameOverFade;
public var rating:MovieClip;
public var noteArray:Array;
public var keyDown:Array;
public var instructions:MovieClip;
public var mLoaderInfo:LoaderInfo;
public var difficulty:int;
public var onThorGaming:Boolean;
public var hs_endless;
public var hs_tonghua;
public var lastPos:Number;
public var sponsorLogo:MovieClip;
public var gameOver:MovieClip;
public var sendScore;
public var hs_freddy;
public var hs_thraddash;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
public function mainMenuButtonFunction(_arg1){
gameOver.username.selectable = false;
gameOverFade = true;
}
public function copyTextButtonFunction(_arg1){
System.setClipboard(gameOver.copyText.text);
}
public function spawnNote(_arg1:String, _arg2:int, _arg3:String="Q", _arg4:int=1){
var _local5:Note;
var _local6:ColorTransform;
if (difficulty >= _arg4){
if (crazyOptions.note){
_arg3 = "Q";
};
if (_arg3 == "Q"){
_arg3 = randomNote();
};
_local5 = new Note();
notes.addChild(_local5);
_local5.pos = _arg2;
_local5.note = _arg3;
_local5.speed = speed;
if (crazyOptions.speed){
_local5.speed = (speed * (Math.random() + 0.75));
};
relocateToNote(_local5, _arg3);
_local5.y = ((-(_arg2) * _local5.speed) / 60);
noteArray.push(_local5);
_local6 = new ColorTransform();
_local6.color = retrieveColorScheme(_arg3);
_local5.colorChange.transform.colorTransform = _local6;
_local5.visible = false;
};
}
public function instructionsMainMenuButtonFunction(_arg1){
instructionsVisible = false;
}
public function prevSlideButton(_arg1){
if (slideTo == -800){
slideTo = -400;
} else {
slideTo = 0;
};
}
public function enterValuesFunction(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local5 = options;
if ((((optionsFade == "in")) && ((_local5.alpha < 1)))){
_local5.x = 0;
_local5.visible = true;
_local5.alpha = (_local5.alpha + 0.1);
_local5.alpha = (_local5.alpha * 1.05);
if (_local5.alpha >= 1){
_local5.alpha = 1;
if (!startReady){
SoundMixer.stopAll();
menuSound.play(0, 10000);
};
};
if (gameOver.visible){
gameOver.alpha = options.alpha;
};
} else {
if ((((optionsFade == "out")) && ((options.alpha > 0)))){
_local5.alpha = (_local5.alpha - 0.1);
_local5.alpha = (_local5.alpha * 0.95);
if (_local5.alpha <= 0){
_local5.x = -5000;
_local5.alpha = 0;
_local5.visible = false;
if (startReady){
SoundMixer.stopAll();
init(false);
deinit(false);
init();
};
};
};
};
if (_local5.visible){
speed = (_local5.speed * 5);
if (((!(((slideTo - _local5.optionsScroll.x) == 0))) && ((Math.abs((slideTo - _local5.optionsScroll.x)) > 3)))){
_local5.optionsScroll.x = (_local5.optionsScroll.x + ((slideTo - _local5.optionsScroll.x) / 5));
} else {
if ((slideTo - _local5.optionsScroll.x) != 0){
_local5.optionsScroll.x = slideTo;
};
};
stage.quality = _local5.optionsScroll.qualityButton.currentLabel;
if ((((stage.quality == "BEST")) || ((stage.quality == "HIGH")))){
gameQuality = 3;
} else {
if (stage.quality == "MEDIUM"){
gameQuality = 3;
} else {
gameQuality = 1;
};
};
qualityOptions.lights = (_local5.optionsScroll.lightsCheck.currentFrame == 2);
qualityOptions.particles = (_local5.optionsScroll.particlesCheck.currentFrame == 2);
qualityOptions.spectrum = (_local5.optionsScroll.spectrumCheck.currentFrame == 2);
qualityOptions.controls = (_local5.optionsScroll.controlsCheck.currentFrame == 2);
qualityOptions.practice = (_local5.optionsScroll.practiceCheck.currentFrame == 2);
difficulty = _local5.optionsScroll.difficultyButton.currentFrame;
_local5.optionsScroll.s_control.text = controlParse(keyOptions.S);
_local5.optionsScroll.d_control.text = controlParse(keyOptions.D);
_local5.optionsScroll.f_control.text = controlParse(keyOptions.F);
_local5.optionsScroll.space_control.text = controlParse(keyOptions.space);
_local5.optionsScroll.j_control.text = controlParse(keyOptions.J);
_local5.optionsScroll.k_control.text = controlParse(keyOptions.K);
_local5.optionsScroll.l_control.text = controlParse(keyOptions.L);
for (_local2 in keyOptions) {
for (_local3 in keyOptions) {
if (((!((_local2 == _local3))) && ((keyOptions[_local2] == keyOptions[_local3])))){
keyOptions[_local2] = 0;
keyOptions[_local3] = 0;
};
};
};
for (_local2 in crazyOptions) {
crazyOptions[_local2] = (options.optionsScroll.crazyOptions[_local2].currentFrame == 2);
};
};
if (((gameOver.visible) && (gameOverFade))){
gameOver.alpha = (gameOver.alpha * 0.9);
if (gameOver.alpha < 0.05){
gameOver.alpha = 0;
gameOver.visible = false;
gameOverFade = false;
gameOver.x = -5000;
};
};
if (((instructionsVisible) && ((instructions.alpha < 1)))){
if (!instructions.visible){
instructions.x = 200;
instructions.window.tut.gotoAndStop(2);
instructions.visible = true;
};
instructions.alpha = (instructions.alpha + 0.15);
if (instructions.alpha > 1){
instructions.alpha = 1;
};
} else {
if (((!(instructionsVisible)) && (instructions.visible))){
instructions.alpha = (instructions.alpha - 0.15);
if (instructions.alpha < 0){
instructions.alpha = 0;
instructions.visible = false;
instructions.x = -5000;
};
};
};
}
public function deinitMenu(){
gameOver.x = -5000;
gameOver.enabled = false;
options.x = -5000;
options.enabled = false;
instructions.x = -5000;
instructions.enabled = false;
stage.removeEventListener(Event.ENTER_FRAME, enterValuesFunction);
options.optionsScroll.doItButton.removeEventListener(MouseEvent.CLICK, doItButtonFunction);
options.optionsScroll.song1.removeEventListener(MouseEvent.CLICK, songButtonClick);
options.optionsScroll.song2.removeEventListener(MouseEvent.CLICK, songButtonClick);
options.optionsScroll.song3.removeEventListener(MouseEvent.CLICK, songButtonClick);
options.optionsScroll.song4.removeEventListener(MouseEvent.CLICK, songButtonClick);
options.nextSlide.removeEventListener(MouseEvent.CLICK, nextSlideButton);
options.prevSlide.removeEventListener(MouseEvent.CLICK, prevSlideButton);
options.optionsScroll.instructionsButton.removeEventListener(MouseEvent.CLICK, instructionsButtonFunction);
options.deinit();
}
public function instructionsButtonFunction(_arg1){
instructionsVisible = true;
}
public function init_notes_freddy(){
spawnNote("Fightin Freddy Melody", 6024, "S");
spawnNote("Fightin Freddy Melody", 6307, "D");
spawnNote("Fightin Freddy Melody", 7341, "D");
spawnNote("Fightin Freddy Melody", 7814, "S");
spawnNote("Fightin Freddy Melody", 8092, "D");
spawnNote("Fightin Freddy Melody", 8468, "F");
spawnNote("Fightin Freddy Melody", 8745, "D");
spawnNote("Fightin Freddy Melody", 9028, "L");
spawnNote("Fightin Freddy Melody", 9311, "K");
spawnNote("Fightin Freddy Melody", 10340, "K");
spawnNote("Fightin Freddy Melody", 10808, "L");
spawnNote("Fightin Freddy Melody", 11091, "K");
spawnNote("Fightin Freddy Melody", 11462, "J");
spawnNote("Fightin Freddy Melody", 11750, "K");
spawnNote("Fightin Freddy Melody", 12028, "S");
spawnNote("Fightin Freddy Melody", 12316, "L");
spawnNote("Fightin Freddy Melody", 13339, "L");
spawnNote("Fightin Freddy Melody", 13808, "D");
spawnNote("Fightin Freddy Melody", 14085, "K");
spawnNote("Fightin Freddy Melody", 14466, "J");
spawnNote("Fightin Freddy Melody", 14754, "F");
spawnNote("Fightin Freddy Melody", 15027, "S");
spawnNote("Fightin Freddy Melody", 15315, "D");
spawnNote("Fightin Freddy Melody", 16339, "D");
spawnNote("Fightin Freddy Melody", 16807, "S");
spawnNote("Fightin Freddy Melody", 17085, "K", 2);
spawnNote("Fightin Freddy Melody", 17280, "F", 2);
spawnNote("Fightin Freddy Melody", 17373, "J", 2);
spawnNote("Fightin Freddy Melody", 17465, "D", 2);
spawnNote("Fightin Freddy Melody", 17754, "K", 2);
spawnNote("Fightin Freddy Melody", 18031, "L");
spawnNote("Fightin Freddy Melody", 18309, "K");
spawnNote("Fightin Freddy Melody", 19338, "K");
spawnNote("Fightin Freddy Melody", 19817, "L");
spawnNote("Fightin Freddy Melody", 20089, "K");
spawnNote("Fightin Freddy Melody", 20465, "J");
spawnNote("Fightin Freddy Melody", 20748, "K");
spawnNote("Fightin Freddy Melody", 21041, "S");
spawnNote("Fightin Freddy Melody", 21309, "D");
spawnNote("Fightin Freddy Melody", 22337, "D");
spawnNote("Fightin Freddy Melody", 22800, "S");
spawnNote("Fightin Freddy Melody", 23089, "D");
spawnNote("Fightin Freddy Melody", 23459, "F");
spawnNote("Fightin Freddy Melody", 23737, "D");
spawnNote("Fightin Freddy Melody", 24015, "D");
spawnNote("Fightin Freddy Melody", 24303, "K");
spawnNote("Fightin Freddy Melody", 25342, "K");
spawnNote("Fightin Freddy Melody", 25805, "D");
spawnNote("Fightin Freddy Melody", 26083, "K");
spawnNote("Fightin Freddy Melody", 26474, "F");
spawnNote("Fightin Freddy Melody", 26741, "D");
spawnNote("Fightin Freddy Melody", 27040, "S");
spawnNote("Fightin Freddy Melody", 27307, "L");
spawnNote("Fightin Freddy Melody", 28336, "L");
spawnNote("Fightin Freddy Melody", 28820, "S");
spawnNote("Fightin Freddy Melody", 29283, "J", 2);
spawnNote("Fightin Freddy Melody", 29458, "D", 2);
spawnNote("Fightin Freddy Melody", 29746, "K", 2);
spawnHold("Fightin Freddy Melody", 30034, 33028, "L", 3);
spawnNote("Fightin Freddy Melody", 30034, "S", 2);
spawnNote("Fightin Freddy Melody", 31155, "D");
spawnNote("Fightin Freddy Melody", 31536, "S");
spawnNote("Fightin Freddy Melody", 32462, "F");
spawnHold("Fightin Freddy Melody", 33028, 36032, "D", 3);
spawnNote("Fightin Freddy Melody", 33028, "S");
spawnNote("Fightin Freddy Melody", 34160, "K");
spawnNote("Fightin Freddy Melody", 34540, "L");
spawnNote("Fightin Freddy Melody", 35456, "J");
spawnHold("Fightin Freddy Melody", 36032, 39027, "K", 3);
spawnNote("Fightin Freddy Melody", 36032, "L");
spawnNote("Fightin Freddy Melody", 37154, "S");
spawnNote("Fightin Freddy Melody", 37524, "D");
spawnNote("Fightin Freddy Melody", 38461, "F");
spawnHold("Fightin Freddy Melody", 39027, 42031, "S", 3);
spawnNote("Fightin Freddy Melody", 39027, "D");
spawnNote("Fightin Freddy Melody", 40158, "F");
spawnNote("Fightin Freddy Melody", 40519, "D");
spawnHold("Fightin Freddy Melody", 40714, 42031, "space");
spawnNote("Fightin Freddy Melody", 41465, "K");
spawnNote("Fightin Freddy Melody", 42031, "L");
spawnNote("Fightin Freddy Melody", 42329, "J");
spawnNote("Fightin Freddy Melody", 43132, "D");
spawnNote("Fightin Freddy Melody", 43327, "F", 2);
spawnNote("Fightin Freddy Melody", 43523, "D", 2);
spawnNote("Fightin Freddy Melody", 43821, "L");
spawnNote("Fightin Freddy Melody", 44079, "J");
spawnNote("Fightin Freddy Melody", 44459, "K");
spawnNote("Fightin Freddy Melody", 44758, "L");
spawnNote("Fightin Freddy Melody", 45025, "S");
spawnNote("Fightin Freddy Melody", 45303, "D");
spawnNote("Fightin Freddy Melody", 46147, "J");
spawnNote("Fightin Freddy Melody", 46353, "L", 2);
spawnNote("Fightin Freddy Melody", 46527, "K", 2);
spawnNote("Fightin Freddy Melody", 46795, "D");
spawnNote("Fightin Freddy Melody", 47093, "F");
spawnNote("Fightin Freddy Melody", 47474, "S");
spawnNote("Fightin Freddy Melody", 47721, "D");
spawnNote("Fightin Freddy Melody", 48019, "L");
spawnNote("Fightin Freddy Melody", 48318, "K");
spawnNote("Fightin Freddy Melody", 49151, "S");
spawnNote("Fightin Freddy Melody", 49347, "F");
spawnNote("Fightin Freddy Melody", 49522, "D");
spawnNote("Fightin Freddy Melody", 49810, "D");
spawnNote("Fightin Freddy Melody", 50088, "S");
spawnNote("Fightin Freddy Melody", 50468, "F");
spawnNote("Fightin Freddy Melody", 50746, "D");
spawnNote("Fightin Freddy Melody", 51024, "L");
spawnNote("Fightin Freddy Melody", 51302, "K");
spawnNote("Fightin Freddy Melody", 52156, "D");
spawnNote("Fightin Freddy Melody", 52341, "F", 2);
spawnNote("Fightin Freddy Melody", 52516, "S", 2);
spawnHold("Fightin Freddy Melody", 52701, 54131, "space", 2);
spawnNote("Fightin Freddy Melody", 55150, "D");
spawnNote("Fightin Freddy Melody", 55531, "F");
spawnNote("Fightin Freddy Melody", 56477, "S");
spawnNote("Fightin Freddy Melody", 57043, "D");
spawnNote("Fightin Freddy Melody", 58154, "K");
spawnNote("Fightin Freddy Melody", 58525, "J");
spawnNote("Fightin Freddy Melody", 59461, "L");
spawnNote("Fightin Freddy Melody", 60037, "K");
spawnNote("Fightin Freddy Melody", 61159, "D");
spawnNote("Fightin Freddy Melody", 61529, "K");
spawnNote("Fightin Freddy Melody", 62465, "F");
spawnNote("Fightin Freddy Melody", 63031, "J");
spawnNote("Fightin Freddy Melody", 64153, "S");
spawnNote("Fightin Freddy Melody", 64523, "D");
spawnNote("Fightin Freddy Melody", 65460, "K");
spawnNote("Fightin Freddy Melody", 66036, "L");
spawnNote("Fightin Freddy Melody", 66303, "D");
spawnNote("Fightin Freddy Melody", 67157, "S");
spawnNote("Fightin Freddy Melody", 67332, "F", 2);
spawnNote("Fightin Freddy Melody", 67528, "D", 2);
spawnNote("Fightin Freddy Melody", 67975, "L");
spawnNote("Fightin Freddy Melody", 68094, "K");
spawnNote("Fightin Freddy Melody", 68474, "S");
spawnNote("Fightin Freddy Melody", 68752, "F");
spawnNote("Fightin Freddy Melody", 69030, "D");
spawnNote("Fightin Freddy Melody", 69308, "F");
spawnNote("Fightin Freddy Melody", 70152, "F");
spawnNote("Fightin Freddy Melody", 70347, "D", 2);
spawnNote("Fightin Freddy Melody", 70532, "F", 2);
spawnNote("Fightin Freddy Melody", 70810, "L");
spawnNote("Fightin Freddy Melody", 71098, "K");
spawnNote("Fightin Freddy Melody", 71469, "J");
spawnNote("Fightin Freddy Melody", 71746, "K");
spawnNote("Fightin Freddy Melody", 72024, "F");
spawnNote("Fightin Freddy Melody", 72312, "D");
spawnNote("Fightin Freddy Melody", 73156, "S");
spawnNote("Fightin Freddy Melody", 73351, "D");
spawnNote("Fightin Freddy Melody", 73526, "L", 2);
spawnNote("Fightin Freddy Melody", 73804, "F", 2);
spawnNote("Fightin Freddy Melody", 74092, "K");
spawnNote("Fightin Freddy Melody", 74463, "S");
spawnNote("Fightin Freddy Melody", 74741, "F");
spawnNote("Fightin Freddy Melody", 75029, "K");
spawnNote("Fightin Freddy Melody", 75306, "J");
spawnNote("Fightin Freddy Melody", 76150, "S");
spawnNote("Fightin Freddy Melody", 76356, "L");
spawnNote("Fightin Freddy Melody", 76521, "D");
spawnHold("Fightin Freddy Melody", 76706, 90246, "space", 3);
spawnNote("Fightin Freddy Melody", 84227, "D");
spawnNote("Fightin Freddy Melody", 84587, "K");
spawnNote("Fightin Freddy Melody", 85174, "F");
spawnNote("Fightin Freddy Melody", 85349, "L");
spawnNote("Fightin Freddy Melody", 85709, "S");
spawnNote("Fightin Freddy Melody", 86100, "F");
spawnNote("Fightin Freddy Melody", 86655, "S");
spawnNote("Fightin Freddy Melody", 87026, "F");
spawnNote("Fightin Freddy Melody", 87211, "D");
spawnNote("Fightin Freddy Melody", 87396, "F");
spawnNote("Fightin Freddy Melody", 87592, "L");
spawnNote("Fightin Freddy Melody", 88158, "J");
spawnNote("Fightin Freddy Melody", 88333, "K");
spawnHold("Fightin Freddy Melody", 88580, 89269, "L");
spawnNote("Fightin Freddy Melody", 89269, "D", 3);
spawnNote("Fightin Freddy Melody", 89547, "F", 3);
spawnNote("Fightin Freddy Melody", 89835, "S", 3);
}
function frame4(){
stop();
xceedLogo.goPlay = this;
ngText.visible = false;
}
function frame5(){
stop();
gameQuality = 3;
qualityOptions = new Array();
qualityOptions.lights = true;
qualityOptions.particles = true;
qualityOptions.spectrum = true;
qualityOptions.controls = true;
crazyOptions = new Array();
crazyOptions.color = false;
crazyOptions.note = false;
crazyOptions.speed = false;
crazyOptions.top = false;
crazyOptions.middle = false;
crazyOptions.bottom = false;
crazyOptions.nogui = false;
crazyOptions.swapped = false;
notes.mask = notesMask;
keyOptions = new Array();
keyOptions.S = 83;
keyOptions.D = 68;
keyOptions.F = 70;
keyOptions.space = 32;
keyOptions.J = 74;
keyOptions.K = 75;
keyOptions.L = 76;
keyDown = new Array();
speed = 10;
difficulty = 2;
noteArray = new Array();
holdArray = new Array();
restartButton.addEventListener(MouseEvent.MOUSE_DOWN, restartButtonFunction);
gameOver.visible = false;
gameOver.alpha = 0;
gameOverFade = false;
sendScore = 0;
numCrazyOptions = 0;
gameOver.mainMenuButton.addEventListener(MouseEvent.CLICK, mainMenuButtonFunction);
gameOver.copyTextButton.addEventListener(MouseEvent.CLICK, copyTextButtonFunction);
hs_endless = "0101dc0ca3a130c4";
hs_thraddash = "d2b59c0e41dc427b";
hs_freddy = "60586de5d7998344";
hs_tonghua = "675c086526a0b031";
gameOver.submitScoreButton.addEventListener(MouseEvent.CLICK, submitScoreButtonFunction);
instructionsVisible = false;
instructions.visible = false;
instructions.alpha = 0;
instructions.mainMenuButton.addEventListener(MouseEvent.CLICK, instructionsMainMenuButtonFunction);
optionsFade = "in";
startReady = false;
song = "tonghua";
slideTo = 0;
onThorGaming = (root.loaderInfo.loaderURL.indexOf("thorgaming.com") >= 0);
for (i in keyOptions) {
p = i.toLowerCase();
options.optionsScroll[(p + "_control")].addEventListener(KeyboardEvent.KEY_DOWN, changeControlFunction);
};
initMenu();
}
function frame1(){
stage.quality = "MEDIUM";
MochiServices.connect("52c7d90ba502497c", root);
stop();
bars.healthBar.gotoAndStop(1000);
preloader.goPlay = this;
mLoaderInfo = root.loaderInfo;
preloaderText = preloader.percentText;
stage.addEventListener(Event.ENTER_FRAME, loadGameFunction);
}
public function enterFrameFunction(_arg1){
var _local2:*;
var _local3:*;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:Number;
if ((((gameQuality >= 1)) && (qualityOptions.lights))){
for (_local2 in keyOptions) {
gui[("k_" + _local2)].gotoAndStop((keyDown[keyOptions[_local2]]) ? 2 : 1);
gui[("l_" + _local2)].visible = true;
gui[("l_" + _local2)].alpha = (gui[("l_" + _local2)].alpha + (((keyDown[keyOptions[_local2]]) ? 1 : 0 - gui[("l_" + _local2)].alpha) / 5));
};
} else {
for (_local2 in keyOptions) {
gui[("l_" + _local2)].visible = false;
};
};
for (_local2 in keyOptions) {
notes[("c_" + _local2)].gotoAndStop((keyDown[keyOptions[_local2]]) ? 2 : 1);
notes[("s_" + _local2)].visible = !(crazyOptions.nogui);
notes[("c_" + _local2)].visible = !(crazyOptions.nogui);
};
soundSpectrum.active = ((qualityOptions.spectrum) && ((gameQuality >= 2)));
rating.y = (rating.y + ((225 - rating.y) / 10));
rating.alpha = (rating.alpha + ((0 - rating.alpha) / 10));
if (pos < 0){
if (MathUtil.abs(pos) <= 60){
pos = 0;
if (song == "endless"){
soundChannel = endless.play();
} else {
if (song == "thraddash"){
soundChannel = thraddash.play();
} else {
if (song == "tonghua"){
soundChannel = tonghua.play();
};
};
};
} else {
pos = (pos + (1000 / 60));
};
} else {
pos = soundChannel.position;
};
_local5 = noteArray;
_local2 = 0;
while (_local2 < _local5.length) {
_local3 = _local5[_local2];
if (_local3){
if (_local3.y < -600){
_local3.visible = false;
} else {
_local3.visible = true;
};
if (MathUtil.abs((_local3.pos - pos)) < 250){
if (keyDown[keyOptions[_local3.note]] == 1){
calculateScore((_local3.pos - pos), _local3.x, _local3.y);
_local3.visible = false;
notes.removeChild(_local3);
_local5.splice(_local2, 1);
_local2--;
keyDown[keyOptions[_local3.note]] = 2;
};
};
if ((pos - _local3.pos) > 250){
calculateScore(9999);
_local3.visible = false;
notes.removeChild(_local3);
_local5.splice(_local2, 1);
};
_local3.y = ((-((_local3.pos - pos)) * _local3.speed) / 60);
if (_local3.y < -600){
break;
};
};
_local2++;
};
_local6 = holdArray;
_local2 = 0;
while (_local2 < _local6.length) {
_local3 = _local6[_local2];
if (_local3){
if (_local3.y < -600){
_local3.visible = false;
} else {
_local3.visible = true;
};
if ((((((MathUtil.abs((_local3.pos1 - pos)) < 250)) && ((_local3.alpha == 1)))) && (!(_local3.holding)))){
if (keyDown[keyOptions[_local3.note]] == 1){
calculateScore((_local3.pos1 - pos), _local3.x, _local3.y);
_local3.holding = true;
keyDown[keyOptions[_local3.note]] = 2;
};
};
if (((_local3.holding) && ((_local3.alpha == 1)))){
_local3.pos1 = pos;
_local3.center.height = (((_local3.pos2 - _local3.pos1) * _local3.speed) / 60);
if ((((_local3.pos2 - _local3.pos1) * _local3.speed) / 60) < 0){
_local3.center.height = 0;
};
_local3.top.y = -(_local3.center.height);
if (keyDown[keyOptions[_local3.note]] != 2){
if (MathUtil.abs((_local3.pos2 - pos)) < 250){
calculateScore((_local3.pos2 - pos), _local3.x, _local3.y);
_local3.visible = false;
notes.removeChild(_local3);
_local6.splice(_local2, 1);
_local2--;
} else {
_local3.holding = false;
calculateScore(9999);
_local3.alpha = 0.5;
};
};
};
if (((((pos - _local3.pos1) > 250)) && ((_local3.alpha == 1)))){
calculateScore(9999);
_local3.alpha = 0.5;
};
if ((pos - _local3.pos2) > 250){
if ((((keyDown[keyOptions[_local3.note]] == 2)) && (_local3.holding))){
calculateScore(9999);
};
_local3.visible = false;
notes.removeChild(_local3);
holdArray.splice(_local2, 1);
_local2--;
};
_local3.y = ((-((_local3.pos1 - pos)) * _local3.speed) / 60);
};
_local2++;
};
if (rating.comboText){
rating.comboText.text = combo;
};
scoreText.text = String(score);
bars.healthBar.gotoAndStop((int(((((health * 10) - bars.healthBar.currentFrame) / 10) + bars.healthBar.currentFrame)) + 1));
if (pos > 0){
if (song == "endless"){
_local7 = endless.length;
} else {
if (song == "thraddash"){
_local7 = thraddash.length;
} else {
if (song == "tonghua"){
_local7 = tonghua.length;
};
};
};
bars.positionBar.gotoAndStop((int(((soundChannel.position / _local7) * 1000)) + 1));
} else {
bars.positionBar.gotoAndStop((int(((-(bars.positionBar.currentFrame) / 10) + bars.positionBar.currentFrame)) + 1));
};
if (pos == lastPos){
waitEnd++;
if (waitEnd > 60){
songOver = true;
};
} else {
waitEnd = 0;
};
lastPos = pos;
if ((((health <= 0)) || (songOver))){
SoundMixer.stopAll();
deinit();
optionsFade = "in";
startReady = false;
};
}
function frame3(){
stop();
sponsorLogo.goPlay = this;
SoundMixer.stopAll();
menuSound = new MenuSound();
menuSound.play(0, 10000);
}
public function init_notes_endless(){
spawnNote("Endless Guitar", 14804, "F");
spawnNote("Endless Guitar", 15261, "S");
spawnNote("Endless Guitar", 15498, "D");
spawnHold("Endless Guitar", 15731, 17110, "J");
spawnNote("Endless Guitar", 17110, "K");
spawnHold("Endless Guitar", 17593, 19001, "L");
spawnNote("Endless Guitar", 19001, "S");
spawnHold("Endless Guitar", 19429, 20805, "K");
spawnNote("Endless Guitar", 20805, "F");
spawnHold("Endless Guitar", 21282, 22704, "J");
spawnNote("Endless Guitar", 22704, "D");
spawnHold("Endless Guitar", 23135, 24498, "J");
spawnHold("Endless Guitar", 24498, 26380, "D");
spawnNote("Endless Guitar", 26380, "S");
spawnHold("Endless Guitar", 26826, 28201, "D");
spawnNote("Endless Guitar", 28201, "J");
spawnHold("Endless Guitar", 28649, 30499, "F");
spawnHold("Endless Guitar", 30499, 31881, "D");
spawnHold("Endless Guitar", 31881, 33766, "S");
spawnNote("Endless Guitar", 33766, "J");
spawnHold("Endless Guitar", 34211, 35568, "K");
spawnNote("Endless Guitar", 35568, "D");
spawnHold("Endless Guitar", 36037, 37468, "L");
spawnNote("Endless Guitar", 37468, "S");
spawnHold("Endless Guitar", 37895, 39268, "F");
spawnHold("Endless Guitar", 39268, 41151, "D");
spawnNote("Endless Guitar", 41151, "L");
spawnHold("Endless Guitar", 41584, 42974, "F");
spawnNote("Endless Guitar", 42974, "D");
spawnHold("Endless Guitar", 43422, 45272, "J");
spawnNote("Endless Guitar", 45272, "S");
spawnNote("Endless Guitar", 45726, "S");
spawnNote("Endless Guitar", 46185, "S");
spawnNote("Endless Guitar", 46648, "F");
spawnNote("Endless Guitar", 46882, "D");
spawnNote("Endless Guitar", 47110, "J");
spawnNote("Endless Guitar", 47558, "J");
spawnNote("Endless Guitar", 48031, "J");
spawnNote("Endless Guitar", 48494, "L");
spawnNote("Endless Guitar", 48734, "K");
spawnNote("Endless Guitar", 48969, "F");
spawnNote("Endless Guitar", 49414, "F");
spawnNote("Endless Guitar", 49879, "F");
spawnNote("Endless Guitar", 50333, "J");
spawnNote("Endless Guitar", 50603, "K");
spawnNote("Endless Guitar", 50804, "S");
spawnNote("Endless Guitar", 51261, "S");
spawnNote("Endless Guitar", 51722, "S");
spawnNote("Endless Guitar", 52180, "J");
spawnNote("Endless Guitar", 52438, "K");
spawnNote("Endless Guitar", 52651, "L");
spawnNote("Endless Guitar", 53102, "L");
spawnNote("Endless Guitar", 53567, "L");
spawnNote("Endless Guitar", 54030, "S");
spawnNote("Endless Guitar", 54266, "F");
spawnNote("Endless Guitar", 54500, "D");
spawnNote("Endless Guitar", 54952, "D");
spawnNote("Endless Guitar", 55419, "D");
spawnNote("Endless Guitar", 55876, "J");
spawnNote("Endless Guitar", 56122, "F");
spawnNote("Endless Guitar", 56351, "S");
spawnNote("Endless Guitar", 56796, "S");
spawnNote("Endless Guitar", 57261, "S");
spawnNote("Endless Guitar", 57723, "K");
spawnNote("Endless Guitar", 57984, "L");
spawnNote("Endless Guitar", 58200, "F");
spawnNote("Endless Guitar", 58646, "F");
spawnNote("Endless Guitar", 59105, "F");
spawnNote("Endless Guitar", 59565, "D");
spawnNote("Endless Guitar", 59829, "J");
spawnNote("Endless Guitar", 60042, "K");
spawnNote("Endless Guitar", 60486, "K");
spawnNote("Endless Guitar", 60952, "K");
spawnNote("Endless Guitar", 61418, "L");
spawnNote("Endless Guitar", 61651, "J");
spawnNote("Endless Guitar", 61897, "S");
spawnNote("Endless Guitar", 62336, "S");
spawnNote("Endless Guitar", 62798, "S");
spawnNote("Endless Guitar", 63262, "F");
spawnNote("Endless Guitar", 63504, "D");
spawnNote("Endless Guitar", 63738, "J");
spawnNote("Endless Guitar", 64181, "J");
spawnNote("Endless Guitar", 64643, "J");
spawnNote("Endless Guitar", 65108, "F");
spawnNote("Endless Guitar", 65360, "D");
spawnNote("Endless Guitar", 65573, "K");
spawnNote("Endless Guitar", 66033, "K");
spawnNote("Endless Guitar", 66493, "K");
spawnNote("Endless Guitar", 66949, "F");
spawnNote("Endless Guitar", 67220, "S");
spawnNote("Endless Guitar", 67420, "D");
spawnNote("Endless Guitar", 67874, "D");
spawnNote("Endless Guitar", 68334, "D");
spawnNote("Endless Guitar", 68799, "L");
spawnNote("Endless Guitar", 69057, "F");
spawnNote("Endless Guitar", 69265, "J");
spawnNote("Endless Guitar", 69727, "J");
spawnNote("Endless Guitar", 70183, "J");
spawnNote("Endless Guitar", 70646, "K");
spawnNote("Endless Guitar", 70883, "F");
spawnNote("Endless Guitar", 71124, "D");
spawnNote("Endless Guitar", 71569, "D");
spawnNote("Endless Guitar", 72036, "D");
spawnNote("Endless Guitar", 72491, "S");
spawnNote("Endless Guitar", 72751, "D");
spawnNote("Endless Guitar", 72961, "J");
spawnNote("Endless Guitar", 73416, "J");
spawnNote("Endless Guitar", 73875, "J");
spawnNote("Endless Guitar", 74338, "L");
spawnNote("Endless Guitar", 74589, "K");
spawnNote("Endless Guitar", 74805, "F");
spawnNote("Endless Guitar", 75260, "F");
spawnNote("Endless Guitar", 75722, "F");
spawnNote("Endless Guitar", 76182, "J");
spawnNote("Endless Guitar", 76427, "K");
spawnNote("Endless Guitar", 76656, "D");
spawnNote("Endless Guitar", 77103, "D");
spawnNote("Endless Guitar", 77563, "D");
spawnNote("Endless Guitar", 78028, "S");
spawnNote("Endless Guitar", 78266, "F");
spawnNote("Endless Guitar", 78499, "L");
spawnNote("Endless Guitar", 78945, "L");
spawnNote("Endless Guitar", 79415, "L");
spawnNote("Endless Guitar", 79876, "F");
spawnNote("Endless Guitar", 80118, "D");
spawnNote("Endless Guitar", 80347, "J");
spawnNote("Endless Guitar", 80798, "J");
spawnNote("Endless Guitar", 81262, "J");
spawnNote("Endless Guitar", 81723, "K");
spawnNote("Endless Guitar", 81983, "J");
spawnNote("Endless Guitar", 82188, "F");
spawnNote("Endless Guitar", 82645, "F");
spawnNote("Endless Guitar", 83104, "F");
spawnNote("Endless Guitar", 83564, "S");
spawnNote("Endless Guitar", 83821, "D");
spawnNote("Endless Guitar", 84047, "J");
spawnNote("Endless Guitar", 84491, "J");
spawnNote("Endless Guitar", 84950, "J");
spawnNote("Endless Guitar", 85414, "L");
spawnNote("Endless Guitar", 85659, "F");
spawnNote("Endless Guitar", 85888, "S");
spawnNote("Endless Guitar", 86335, "S");
spawnNote("Endless Guitar", 86804, "S");
spawnNote("Endless Guitar", 87261, "D");
spawnNote("Endless Guitar", 87503, "F");
spawnNote("Endless Guitar", 87725, "J");
spawnNote("Endless Guitar", 88180, "J");
spawnNote("Endless Guitar", 88648, "J");
spawnNote("Endless Guitar", 88910, "F");
spawnHold("Endless", 12941, 14804, "space", 3);
spawnHold("Endless", 29111, 30499, "space", 3);
spawnHold("Endless", 43410, 45311, "space", 3);
spawnHold("Endless", 58416, 60051, "space", 3);
spawnHold("Endless", 72956, 74809, "space", 3);
spawnHold("Endless", 88185, 89561, "space", 3);
spawnHold("Endless", 102490, 104340, "space", 3);
spawnNote("Main Lead", 36, "F");
spawnNote("Main Lead", 734, "F");
spawnNote("Main Lead", 1425, "D");
spawnNote("Main Lead", 1896, "J");
spawnNote("Main Lead", 2606, "J");
spawnNote("Main Lead", 3267, "K");
spawnNote("Main Lead", 3750, "J");
spawnNote("Main Lead", 4436, "J");
spawnNote("Main Lead", 5115, "S");
spawnNote("Main Lead", 5568, "F");
spawnNote("Main Lead", 6314, "F");
spawnNote("Main Lead", 6975, "S");
spawnNote("Main Lead", 7422, "J");
spawnNote("Main Lead", 8107, "J");
spawnNote("Main Lead", 8823, "F");
spawnNote("Main Lead", 9288, "D");
spawnNote("Main Lead", 9973, "D");
spawnNote("Main Lead", 10677, "S");
spawnNote("Main Lead", 11117, "F");
spawnNote("Main Lead", 11809, "F");
spawnNote("Main Lead", 12512, "S");
spawnNote("Main Lead", 12990, "J");
spawnNote("Main Lead", 13656, "J");
spawnNote("Main Lead", 14378, "L");
spawnNote("Main Lead", 89590, "F");
spawnNote("Main Lead", 90269, "F");
spawnNote("Main Lead", 90985, "D");
spawnNote("Main Lead", 91450, "J");
spawnNote("Main Lead", 92123, "J");
spawnNote("Main Lead", 92808, "K");
spawnNote("Main Lead", 93273, "J");
spawnNote("Main Lead", 93983, "J");
spawnNote("Main Lead", 94687, "S");
spawnNote("Main Lead", 95133, "F");
spawnNote("Main Lead", 95800, "F");
spawnNote("Main Lead", 96516, "S");
spawnNote("Main Lead", 96957, "J");
spawnNote("Main Lead", 97666, "J");
spawnNote("Main Lead", 98370, "F");
spawnNote("Main Lead", 98835, "D");
spawnNote("Main Lead", 99514, "D");
spawnNote("Main Lead", 100206, "S");
spawnNote("Main Lead", 100683, "F");
spawnNote("Main Lead", 101362, "F");
spawnNote("Main Lead", 102060, "S");
spawnNote("Main Lead", 102525, "J");
spawnNote("Main Lead", 103192, "J");
spawnNote("Main Lead", 103895, "L");
}
public function changeControlFunction(_arg1:KeyboardEvent){
var _local2:String;
var _local3:*;
if ((((((_arg1.keyCode >= 65)) && ((_arg1.keyCode <= 90)))) || ((_arg1.keyCode == Keyboard.SPACE)))){
for (_local3 in keyOptions) {
_local2 = _local3.toLowerCase();
if (options.optionsScroll[(_local2 + "_control")] == _arg1.currentTarget){
keyOptions[_local3] = _arg1.keyCode;
};
};
};
}
public function initMenu(){
gameOver.x = 200;
gameOver.enabled = true;
options.x = 0;
options.enabled = true;
instructions.x = 200;
instructions.enabled = true;
stage.addEventListener(Event.ENTER_FRAME, enterValuesFunction);
options.optionsScroll.doItButton.addEventListener(MouseEvent.CLICK, doItButtonFunction);
options.optionsScroll.song1.addEventListener(MouseEvent.CLICK, songButtonClick);
if (onThorGaming){
options.optionsScroll.song3.addEventListener(MouseEvent.CLICK, songButtonClick);
};
options.optionsScroll.song2.addEventListener(MouseEvent.CLICK, songButtonClick);
options.optionsScroll.song4.addEventListener(MouseEvent.CLICK, songButtonClick);
options.nextSlide.addEventListener(MouseEvent.CLICK, nextSlideButton);
options.prevSlide.addEventListener(MouseEvent.CLICK, prevSlideButton);
options.optionsScroll.instructionsButton.addEventListener(MouseEvent.CLICK, instructionsButtonFunction);
options.init();
}
public function init_notes_tonghua(){
spawnNote("Tong Hua Keys", 0, "S");
spawnNote("Tong Hua Keys", 0, "J");
spawnNote("Tong Hua Keys", 1900, "S", 2);
spawnNote("Tong Hua Keys", 1900, "J");
spawnNote("Tong Hua Keys", 3400, "D");
spawnNote("Tong Hua Keys", 3900, "S", 2);
spawnNote("Tong Hua Keys", 3900, "J");
spawnNote("Tong Hua Keys", 4900, "F", 2);
spawnNote("Tong Hua Keys", 4900, "L");
spawnNote("Tong Hua Keys", 7000, "F", 2);
spawnNote("Tong Hua Keys", 7000, "L");
spawnNote("Tong Hua Keys", 7400, "K");
spawnNote("Tong Hua Keys", 8000, "F", 2);
spawnNote("Tong Hua Keys", 8000, "L");
spawnNote("Tong Hua Keys", 8900, "D");
spawnNote("Tong Hua Keys", 10800, "D", 2);
spawnNote("Tong Hua Keys", 10800, "K");
spawnNote("Tong Hua Keys", 11400, "S", 2);
spawnNote("Tong Hua Keys", 11400, "J");
spawnNote("Tong Hua Keys", 11900, "F", 2);
spawnNote("Tong Hua Keys", 11900, "L");
spawnNote("Tong Hua Keys", 14500, "S");
spawnNote("Tong Hua Keys", 17000, "S");
spawnNote("Tong Hua Keys", 14900, "F");
spawnNote("Tong Hua Keys", 15500, "D");
spawnNote("Tong Hua Keys", 15900, "F");
spawnNote("Tong Hua Keys", 18400, "L");
spawnNote("Tong Hua Keys", 19000, "J");
spawnNote("Tong Hua Keys", 19400, "K");
spawnNote("Tong Hua Keys", 19900, "J");
spawnNote("Tong Hua Keys", 20900, "L");
spawnNote("Tong Hua Keys", 22400, "S");
spawnNote("Tong Hua Keys", 22900, "F");
spawnNote("Tong Hua Keys", 23400, "D");
spawnNote("Tong Hua Keys", 23900, "F");
spawnNote("Tong Hua Keys", 25500, "F");
spawnNote("Tong Hua Keys", 25900, "F");
spawnNote("Tong Hua Keys", 26500, "D");
spawnNote("Tong Hua Keys", 27000, "D");
spawnNote("Tong Hua Keys", 27400, "S");
spawnNote("Tong Hua Keys", 30400, "L");
spawnNote("Tong Hua Keys", 31000, "K");
spawnNote("Tong Hua Keys", 31400, "J");
spawnNote("Tong Hua Keys", 31800, "K");
spawnNote("Tong Hua Keys", 32900, "L");
spawnNote("Tong Hua Keys", 34300, "L");
spawnNote("Tong Hua Keys", 34900, "S");
spawnNote("Tong Hua Keys", 35400, "D");
spawnNote("Tong Hua Keys", 35900, "D");
spawnNote("Tong Hua Keys", 36900, "F");
spawnNote("Tong Hua Keys", 0x9600, "L");
spawnNote("Tong Hua Keys", 38900, "J");
spawnNote("Tong Hua Keys", 39400, "K");
spawnNote("Tong Hua Keys", 39900, "J");
spawnNote("Tong Hua Keys", 40400, "L");
spawnNote("Tong Hua Keys", 41400, "L");
spawnNote("Tong Hua Keys", 41900, "L");
spawnNote("Tong Hua Keys", 42300, "K");
spawnNote("Tong Hua Keys", 42900, "S");
spawnNote("Tong Hua Keys", 43400, "D");
spawnNote("Tong Hua Keys", 46400, "S");
spawnNote("Tong Hua Keys", 46800, "S");
spawnNote("Tong Hua Keys", 47300, "D");
spawnNote("Tong Hua Keys", 47900, "D");
spawnNote("Tong Hua Keys", 48400, "F");
spawnNote("Tong Hua Keys", 48900, "F");
spawnNote("Tong Hua Keys", 51900, "S");
spawnNote("Tong Hua Keys", 52300, "D");
spawnNote("Tong Hua Keys", 52800, "D");
spawnNote("Tong Hua Keys", 53300, "F");
spawnNote("Tong Hua Keys", 53600, "D");
spawnNote("Tong Hua Keys", 54400, "S");
spawnNote("Tong Hua Keys", 54900, "D");
spawnNote("Tong Hua Keys", 55300, "F");
spawnNote("Tong Hua Keys", 51300, "D");
spawnNote("Tong Hua Keys", 50900, "J");
spawnNote("Tong Hua Keys", 50500, "J");
spawnNote("Tong Hua Keys", 55900, "J");
spawnNote("Tong Hua Keys", 57500, "S");
spawnNote("Tong Hua Keys", 57900, "L");
spawnNote("Tong Hua Keys", 58400, "K");
spawnNote("Tong Hua Keys", 58800, "J");
spawnNote("Tong Hua Keys", 59400, "space");
spawnNote("Tong Hua Keys", 62400, "L");
spawnNote("Tong Hua Keys", 62900, "L");
spawnNote("Tong Hua Keys", 63400, "K");
spawnNote("Tong Hua Keys", 63900, "K");
spawnNote("Tong Hua Keys", 64400, "J");
spawnNote("Tong Hua Keys", 64800, "J");
spawnNote("Tong Hua Keys", 66400, "J");
spawnNote("Tong Hua Keys", 66900, "J");
spawnNote("Tong Hua Keys", 67400, "S");
spawnNote("Tong Hua Keys", 68000, "D");
spawnNote("Tong Hua Keys", 68400, "F");
spawnNote("Tong Hua Keys", 68800, "D");
spawnNote("Tong Hua Keys", 69400, "S");
spawnNote("Tong Hua Keys", 70400, "S");
spawnNote("Tong Hua Keys", 70900, "J");
spawnNote("Tong Hua Keys", 71400, "L");
spawnNote("Tong Hua Keys", 71800, "F");
spawnNote("Tong Hua Keys", 73500, "F");
spawnNote("Tong Hua Keys", 73900, "F");
spawnNote("Tong Hua Keys", 74400, "D");
spawnNote("Tong Hua Keys", 74900, "D");
spawnNote("Tong Hua Keys", 75400, "D");
spawnNote("Tong Hua Keys", 78400, "L");
spawnNote("Tong Hua Keys", 78800, "S");
spawnNote("Tong Hua Keys", 79400, "D");
spawnNote("Tong Hua Keys", 79900, "F");
spawnNote("Tong Hua Keys", 80900, "F");
spawnNote("Tong Hua Keys", 81400, "D");
spawnNote("Tong Hua Keys", 81700, "F");
spawnNote("Tong Hua Keys", 82800, "F");
spawnNote("Tong Hua Keys", 83300, "D");
spawnNote("Tong Hua Keys", 83900, "F");
spawnNote("Tong Hua Keys", 84400, "D");
spawnNote("Tong Hua Keys", 84900, "F");
spawnNote("Tong Hua Keys", 85400, "L");
spawnNote("Tong Hua Keys", 85600, "K");
spawnNote("Tong Hua Keys", 86400, "L");
spawnNote("Tong Hua Keys", 86900, "F");
spawnNote("Tong Hua Keys", 87400, "D");
spawnNote("Tong Hua Keys", 87900, "S");
spawnNote("Tong Hua Keys", 88900, "S");
spawnNote("Tong Hua Keys", 89400, "S");
spawnNote("Tong Hua Keys", 89900, "F");
spawnNote("Tong Hua Keys", 90400, "L");
spawnNote("Tong Hua Keys", 90900, "L");
spawnNote("Tong Hua Keys", 91400, "F");
spawnNote("Tong Hua Keys", 91900, "S");
spawnNote("Tong Hua Keys", 94400, "F");
spawnNote("Tong Hua Keys", 94900, "D");
spawnNote("Tong Hua Keys", 95400, "S");
spawnNote("Tong Hua Keys", 95900, "L");
spawnNote("Tong Hua Keys", 96900, "L");
spawnNote("Tong Hua Keys", 97400, "L");
spawnNote("Tong Hua Keys", 97800, "J");
spawnNote("Tong Hua Keys", 98400, "F");
spawnNote("Tong Hua Keys", 98900, "F");
spawnNote("Tong Hua Keys", 99400, "D");
spawnNote("Tong Hua Keys", 99900, "S");
spawnNote("Tong Hua Keys", 100400, "F");
spawnNote("Tong Hua Keys", 100800, "D");
spawnNote("Tong Hua Keys", 101400, "L");
spawnNote("Tong Hua Keys", 101700, "K");
spawnNote("Tong Hua Keys", 102900, "S");
spawnNote("Tong Hua Keys", 103400, "D");
spawnNote("Tong Hua Keys", 103800, "L");
spawnNote("Tong Hua Keys", 105000, "L");
spawnNote("Tong Hua Keys", 105400, "F");
spawnNote("Tong Hua Keys", 106000, "F");
spawnNote("Tong Hua Keys", 107000, "D");
spawnNote("Tong Hua Keys", 107900, "S", 2);
spawnNote("Tong Hua Keys", 107900, "J");
spawnNote("Tong Hua Keys", 109400, "D", 2);
spawnNote("Tong Hua Keys", 109400, "K");
spawnNote("Tong Hua Keys", 110900, "L", 2);
spawnNote("Tong Hua Keys", 110900, "F");
spawnNote("Tong Hua Keys", 111900, "L", 3);
spawnNote("Tong Hua Keys", 111900, "S", 2);
spawnNote("Tong Hua Keys", 111900, "space");
spawnNote("Tong Hua Keys", 114400, "S", 2);
spawnNote("Tong Hua Keys", 114400, "space");
spawnNote("Tong Hua Keys", 114400, "L", 3);
spawnNote("Tong Hua Keys", 114900, "F", 2);
spawnNote("Tong Hua Keys", 114900, "L");
spawnNote("Tong Hua Keys", 115400, "D", 2);
spawnNote("Tong Hua Keys", 115400, "K");
spawnNote("Tong Hua Keys", 115900, "S", 2);
spawnNote("Tong Hua Keys", 115900, "J");
spawnNote("Tong Hua Keys", 117400, "K", 2);
spawnNote("Tong Hua Keys", 117400, "D");
spawnNote("Tong Hua Keys", 118900, "F", 2);
spawnNote("Tong Hua Keys", 118900, "L");
spawnNote("Tong Hua Keys", 119900, "S", 2);
spawnNote("Tong Hua Keys", 119900, "J");
spawnNote("Tong Hua Keys", 121400, "J", 2);
spawnNote("Tong Hua Keys", 121400, "S");
spawnNote("Tong Hua Keys", 122500, "S");
spawnNote("Tong Hua Keys", 122900, "S");
spawnNote("Tong Hua Keys", 123400, "D");
spawnNote("Tong Hua Keys", 123900, "D");
spawnNote("Tong Hua Keys", 124400, "F");
spawnNote("Tong Hua Keys", 124900, "F");
spawnNote("Tong Hua Keys", 126300, "F");
spawnNote("Tong Hua Keys", 126800, "F");
spawnNote("Tong Hua Keys", 127400, "S");
spawnNote("Tong Hua Keys", 127900, "D");
spawnNote("Tong Hua Keys", 128400, "S");
spawnNote("Tong Hua Keys", 128900, "S");
spawnNote("Tong Hua Keys", 129400, "D");
spawnNote("Tong Hua Keys", 129600, "S");
spawnNote("Tong Hua Keys", 130400, "S");
spawnNote("Tong Hua Keys", 130900, "F");
spawnNote("Tong Hua Keys", 131400, "S");
spawnNote("Tong Hua Keys", 131900, "L");
spawnNote("Tong Hua Keys", 133500, "S");
spawnNote("Tong Hua Keys", 134000, "L");
spawnNote("Tong Hua Keys", 134300, "K");
spawnNote("Tong Hua Keys", 134900, "J");
spawnNote("Tong Hua Keys", 135400, "space");
spawnNote("Tong Hua Keys", 138500, "F");
spawnNote("Tong Hua Keys", 138900, "F");
spawnNote("Tong Hua Keys", 139400, "D");
spawnNote("Tong Hua Keys", 139900, "D");
spawnNote("Tong Hua Keys", 140400, "S");
spawnNote("Tong Hua Keys", 140900, "S");
spawnNote("Tong Hua Keys", 142400, "L");
spawnNote("Tong Hua Keys", 142900, "L");
spawnNote("Tong Hua Keys", 143400, "K");
spawnNote("Tong Hua Keys", 143900, "K");
spawnNote("Tong Hua Keys", 144400, "J");
spawnNote("Tong Hua Keys", 144900, "K");
spawnNote("Tong Hua Keys", 145400, "L");
spawnNote("Tong Hua Keys", 143400, "D");
spawnNote("Tong Hua Keys", 143900, "D");
spawnNote("Tong Hua Keys", 144400, "F");
spawnNote("Tong Hua Keys", 144900, "D");
spawnNote("Tong Hua Keys", 145400, "S");
spawnNote("Tong Hua Keys", 146400, "F");
spawnNote("Tong Hua Keys", 146900, "J");
spawnNote("Tong Hua Keys", 147400, "F");
spawnNote("Tong Hua Keys", 147900, "L");
spawnNote("Tong Hua Keys", 149300, "L");
spawnNote("Tong Hua Keys", 149700, "L");
spawnNote("Tong Hua Keys", 149900, "L");
spawnNote("Tong Hua Keys", 150400, "K");
spawnNote("Tong Hua Keys", 150900, "K");
spawnNote("Tong Hua Keys", 151400, "K");
spawnNote("Tong Hua Keys", 154500, "S");
spawnNote("Tong Hua Keys", 154900, "F");
spawnNote("Tong Hua Keys", 155500, "D");
spawnNote("Tong Hua Keys", 155900, "S");
spawnNote("Tong Hua Keys", 157000, "S");
spawnNote("Tong Hua Keys", 157500, "F");
spawnNote("Tong Hua Keys", 157700, "S");
spawnNote("Tong Hua Keys", 158900, "S");
spawnNote("Tong Hua Keys", 159400, "F");
spawnNote("Tong Hua Keys", 159900, "S");
spawnNote("Tong Hua Keys", 160400, "F");
spawnNote("Tong Hua Keys", 160900, "S");
spawnNote("Tong Hua Keys", 161300, "D");
spawnNote("Tong Hua Keys", 161700, "F");
spawnNote("Tong Hua Keys", 162300, "L");
spawnNote("Tong Hua Keys", 162900, "K");
spawnNote("Tong Hua Keys", 163300, "J");
spawnNote("Tong Hua Keys", 163900, "space");
spawnNote("Tong Hua Keys", 164900, "space");
spawnNote("Tong Hua Keys", 165400, "space");
spawnNote("Tong Hua Keys", 165700, "J");
spawnNote("Tong Hua Keys", 166300, "K");
spawnNote("Tong Hua Keys", 167000, "K");
spawnNote("Tong Hua Keys", 167400, "L");
spawnNote("Tong Hua Keys", 167900, "J");
spawnNote("Tong Hua Keys", 170400, "S");
spawnNote("Tong Hua Keys", 170800, "D");
spawnNote("Tong Hua Keys", 171400, "F");
spawnNote("Tong Hua Keys", 171900, "L");
spawnNote("Tong Hua Keys", 172000, "K");
spawnNote("Tong Hua Keys", 172100, "J");
spawnNote("Tong Hua Keys", 172900, "J");
spawnNote("Tong Hua Keys", 173400, "J");
spawnNote("Tong Hua Keys", 173700, "K");
spawnNote("Tong Hua Keys", 174500, "F");
spawnNote("Tong Hua Keys", 174900, "F");
spawnNote("Tong Hua Keys", 175400, "D");
spawnNote("Tong Hua Keys", 175900, "S");
spawnNote("Tong Hua Keys", 176400, "D");
spawnNote("Tong Hua Keys", 176900, "S");
spawnNote("Tong Hua Keys", 177400, "F");
spawnNote("Tong Hua Keys", 177600, "D");
spawnNote("Tong Hua Keys", 178900, "L");
spawnNote("Tong Hua Keys", 179400, "K");
spawnNote("Tong Hua Keys", 179900, "J");
spawnNote("Tong Hua Keys", 179900, "F");
spawnNote("Tong Hua Keys", 180900, "F");
spawnNote("Tong Hua Keys", 180900, "J");
spawnNote("Tong Hua Keys", 181400, "F");
spawnNote("Tong Hua Keys", 181800, "F");
spawnNote("Tong Hua Keys", 182900, "S");
spawnNote("Tong Hua Keys", 183000, "D");
spawnNote("Tong Hua Keys", 183100, "F");
spawnNote("Tong Hua Keys", 183900, "S");
spawnNote("Tong Hua Keys", 186400, "S");
spawnNote("Tong Hua Keys", 187000, "L");
spawnNote("Tong Hua Keys", 187400, "K");
spawnNote("Tong Hua Keys", 187900, "J");
spawnNote("Tong Hua Keys", 187900, "S");
spawnNote("Tong Hua Keys", 188900, "S");
spawnNote("Tong Hua Keys", 188900, "J");
spawnNote("Tong Hua Keys", 189400, "K");
spawnNote("Tong Hua Keys", 189600, "J");
spawnNote("Tong Hua Keys", 189600, "S");
spawnNote("Tong Hua Keys", 190900, "J");
spawnNote("Tong Hua Keys", 190900, "S");
spawnNote("Tong Hua Keys", 191400, "K");
spawnNote("Tong Hua Keys", 191900, "S");
spawnNote("Tong Hua Keys", 191900, "J");
spawnNote("Tong Hua Keys", 192500, "K");
spawnNote("Tong Hua Keys", 192900, "J");
spawnNote("Tong Hua Keys", 193000, "S");
spawnNote("Tong Hua Keys", 193400, "L");
spawnNote("Tong Hua Keys", 193700, "K");
spawnNote("Tong Hua Keys", 194400, "F");
spawnNote("Tong Hua Keys", 194900, "S");
spawnNote("Tong Hua Keys", 195400, "D");
spawnNote("Tong Hua Keys", 195900, "F");
spawnNote("Tong Hua Keys", 195900, "J");
spawnNote("Tong Hua Keys", 196900, "F");
spawnNote("Tong Hua Keys", 196900, "J");
spawnNote("Tong Hua Keys", 197400, "F");
spawnNote("Tong Hua Keys", 197400, "J");
spawnNote("Tong Hua Keys", 197600, "L");
spawnNote("Tong Hua Keys", 198400, "K");
spawnNote("Tong Hua Keys", 199000, "K");
spawnNote("Tong Hua Keys", 199400, "J");
spawnNote("Tong Hua Keys", 199900, "L");
spawnNote("Tong Hua Keys", 202400, "F");
spawnNote("Tong Hua Keys", 202900, "S");
spawnNote("Tong Hua Keys", 203300, "D");
spawnNote("Tong Hua Keys", 203800, "J");
spawnNote("Tong Hua Keys", 203900, "K");
spawnNote("Tong Hua Keys", 204000, "L");
spawnNote("Tong Hua Keys", 204800, "L");
spawnNote("Tong Hua Keys", 205300, "L");
spawnNote("Tong Hua Keys", 205600, "K");
spawnNote("Tong Hua Keys", 206400, "F");
spawnNote("Tong Hua Keys", 206900, "F");
spawnNote("Tong Hua Keys", 207400, "D");
spawnNote("Tong Hua Keys", 207900, "S");
spawnNote("Tong Hua Keys", 208400, "D");
spawnNote("Tong Hua Keys", 209000, "S");
spawnNote("Tong Hua Keys", 209400, "F");
spawnNote("Tong Hua Keys", 209600, "D");
spawnNote("Tong Hua Keys", 210900, "L");
spawnNote("Tong Hua Keys", 211400, "K");
spawnNote("Tong Hua Keys", 211900, "J");
spawnNote("Tong Hua Keys", 211900, "S");
spawnNote("Tong Hua Keys", 212900, "S");
spawnNote("Tong Hua Keys", 212900, "J");
spawnNote("Tong Hua Keys", 213400, "K");
spawnNote("Tong Hua Keys", 213900, "L");
spawnNote("Tong Hua Keys", 214900, "S");
spawnNote("Tong Hua Keys", 215000, "D");
spawnNote("Tong Hua Keys", 215100, "F");
spawnNote("Tong Hua Keys", 215900, "F");
spawnNote("Tong Hua Keys", 218900, "L");
spawnNote("Tong Hua Keys", 219400, "K");
spawnNote("Tong Hua Keys", 219900, "J");
spawnNote("Tong Hua Keys", 220900, "J");
spawnNote("Tong Hua Keys", 221400, "L");
spawnNote("Tong Hua Keys", 221900, "L");
spawnNote("Tong Hua Keys", 222900, "K");
spawnNote("Tong Hua Keys", 223800, "J");
spawnNote("Tong Hua Keys", 225800, "S");
spawnNote("Tong Hua Keys", 225800, "space");
spawnNote("Tong Hua Keys", 225800, "L");
}
public function keyDownFunction(_arg1:KeyboardEvent){
if (keyDown[_arg1.keyCode] == 0){
keyDown[_arg1.keyCode] = 1;
};
}
public function checkOverLaps(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:HoldNote;
var _local5:Note;
var _local6:Array;
var _local7:Array;
var _local8:ColorTransform;
_local6 = noteArray;
_local7 = holdArray;
if (crazyOptions.note){
for (_local1 in _local7) {
_local4 = _local7[_local1];
for (_local2 in _local6) {
_local5 = _local6[_local2];
if ((((((_local5.note == _local4.note)) && ((_local4.pos1 < _local5.pos)))) && ((_local4.pos2 > _local5.pos)))){
while (_local5.note == _local4.note) {
_local5.note = randomNote();
};
relocateToNote(_local5, _local5.note);
_local8 = new ColorTransform();
_local8.color = retrieveColorScheme(_local5.note);
_local5.colorChange.transform.colorTransform = _local8;
};
};
};
};
}
public function relocateToNote(_arg1, _arg2:String){
_arg1.x = notes[("s_" + _arg2)].x;
_arg1.y = (notes[("s_" + _arg2)].y - ((_arg1.pos * _arg1.speed) / 60));
}
public function calculateScore(_arg1:int, _arg2:int=-1000, _arg3:int=-1000){
var _local4:int;
var _local5:int;
var _local6:*;
rating.y = 235;
rating.alpha = 1;
combo++;
_local4 = 0;
_local5 = 0;
if (_arg1 < 0){
_arg1 = (_arg1 * -1);
};
if (_arg1 < 50){
health = (health + 2);
_local4 = 1000;
rating.y = 250;
rating.gotoAndStop("perfect");
_local5 = 15;
hitsArray.perfect++;
} else {
if (_arg1 < 125){
health = (health + 1);
_local4 = 500;
rating.gotoAndStop("great");
_local5 = 10;
hitsArray.great++;
} else {
if (_arg1 < 200){
_local4 = 250;
rating.gotoAndStop("good");
_local5 = 5;
hitsArray.good++;
} else {
if (_arg1 < 250){
if (!qualityOptions.practice){
health = (health - 5);
};
rating.gotoAndStop("bad");
coverOver.gotoAndPlay("bad");
combo = 0;
hitsArray.bad++;
} else {
if (!qualityOptions.practice){
health = (health - 10);
};
rating.gotoAndStop("miss");
coverOver.gotoAndPlay("miss");
combo = 0;
hitsArray.miss++;
};
};
};
};
if (health > 100){
health = 100;
};
score = (score + int((_local4 * (Math.sqrt((int((combo / 10)) * 10)) + 1))));
if (combo > maxCombo){
maxCombo = combo;
};
if ((((((_local5 > 0)) && (qualityOptions.particles))) && ((gameQuality >= 3)))){
_local6 = scoreEffect;
while (_local5 > 0) {
_local6.newParticle(_arg2, _arg3);
_local5--;
};
};
}
public function spawnHold(_arg1:String, _arg2:int, _arg3:int, _arg4:String="Q", _arg5:int=1){
var _local6:HoldNote;
var _local7:ColorTransform;
if (difficulty >= _arg5){
if (difficulty > 1){
if (crazyOptions.note){
_arg4 = "Q";
};
if (_arg4 == "Q"){
_arg4 = randomNote();
};
_local6 = new HoldNote();
notes.addChild(_local6);
_local6.pos = _arg2;
_local6.pos1 = _arg2;
_local6.pos2 = _arg3;
_local6.note = _arg4;
_local6.speed = speed;
if (crazyOptions.speed){
_local6.speed = (speed * (Math.random() + 0.75));
};
_local6.holding = false;
relocateToNote(_local6, _arg4);
_local6.y = ((-(_arg2) * _local6.speed) / 60);
_local6.center.height = (((_arg3 - _arg2) * _local6.speed) / 60);
_local6.top.y = -(_local6.center.height);
holdArray.push(_local6);
_local7 = new ColorTransform();
_local7.color = retrieveColorScheme(_arg4);
_local6.top.colorChange.transform.colorTransform = _local7;
_local6.center.colorChange.transform.colorTransform = _local7;
_local6.bottom.colorChange.transform.colorTransform = _local7;
_local6.visible = false;
} else {
spawnNote(_arg1, _arg2, _arg4, _arg5);
};
};
}
function frame2(){
endless = new Endless();
thraddash = new Thraddash();
tonghua = new TongHua();
stop();
MochiAd.showPreGameAd({clip:root, id:"52c7d90ba502497c", res:"400x600", background:66115, color:0xFFFFFF, outline:0xFFFFFF, no_bg:true});
}
public function init_notes_thraddash(){
spawnNote("Thraddash Melody", 6027, "F");
spawnNote("Thraddash Melody", 6585, "D");
spawnNote("Thraddash Melody", 6787, "S");
spawnNote("Thraddash Melody", 6984, "D");
spawnNote("Thraddash Melody", 7340, "F");
spawnNote("Thraddash Melody", 7715, "D");
spawnNote("Thraddash Melody", 0x1F00, "S");
spawnNote("Thraddash Melody", 8118, "D");
spawnNote("Thraddash Melody", 8320, "K");
spawnNote("Thraddash Melody", 8599, "L");
spawnNote("Thraddash Melody", 8839, "F");
spawnNote("Thraddash Melody", 9061, "J");
spawnNote("Thraddash Melody", 9594, "K");
spawnNote("Thraddash Melody", 9801, "L");
spawnNote("Thraddash Melody", 9969, "K");
spawnNote("Thraddash Melody", 10368, "J");
spawnNote("Thraddash Melody", 10719, "F");
spawnNote("Thraddash Melody", 10911, "D");
spawnNote("Thraddash Melody", 11094, "F");
spawnNote("Thraddash Melody", 11291, "S");
spawnNote("Thraddash Melody", 11656, "F");
spawnNote("Thraddash Melody", 12031, "J");
spawnNote("Thraddash Melody", 12594, "K");
spawnNote("Thraddash Melody", 12815, "J");
spawnNote("Thraddash Melody", 12969, "F");
spawnNote("Thraddash Melody", 13334, "J");
spawnNote("Thraddash Melody", 13718, "K");
spawnNote("Thraddash Melody", 13944, "J");
spawnNote("Thraddash Melody", 14089, "K");
spawnNote("Thraddash Melody", 14281, "L");
spawnNote("Thraddash Melody", 14560, "S");
spawnNote("Thraddash Melody", 14843, "D");
spawnNote("Thraddash Melody", 15045, "S");
spawnNote("Thraddash Melody", 15588, "F");
spawnNote("Thraddash Melody", 15805, "D");
spawnNote("Thraddash Melody", 15987, "F");
spawnNote("Thraddash Melody", 16338, "S");
spawnNote("Thraddash Melody", 16713, "F");
spawnNote("Thraddash Melody", 16982, "D");
spawnNote("Thraddash Melody", 17112, "F");
spawnNote("Thraddash Melody", 17285, "L");
spawnNote("Thraddash Melody", 17651, "K");
spawnNote("Thraddash Melody", 18030, "J");
spawnNote("Thraddash Melody", 18593, "K");
spawnNote("Thraddash Melody", 18775, "L");
spawnNote("Thraddash Melody", 18982, "K");
spawnNote("Thraddash Melody", 19338, "J");
spawnNote("Thraddash Melody", 19718, "K");
spawnNote("Thraddash Melody", 19910, "L");
spawnNote("Thraddash Melody", 20126, "K");
spawnNote("Thraddash Melody", 20299, "F");
spawnNote("Thraddash Melody", 20559, "D");
spawnNote("Thraddash Melody", 20842, "S");
spawnNote("Thraddash Melody", 21039, "F");
spawnNote("Thraddash Melody", 21587, "D");
spawnNote("Thraddash Melody", 21804, "S");
spawnNote("Thraddash Melody", 21962, "D");
spawnNote("Thraddash Melody", 22361, "J");
spawnNote("Thraddash Melody", 22712, "K");
spawnNote("Thraddash Melody", 22909, "L");
spawnNote("Thraddash Melody", 23111, "K");
spawnNote("Thraddash Melody", 23299, "S");
spawnNote("Thraddash Melody", 23650, "F");
spawnHold("Thraddash Melody", 30024, 31533, "F");
spawnHold("Thraddash Melody", 31533, 32288, "D");
spawnNote("Thraddash Melody", 32288, "J");
spawnNote("Thraddash Melody", 32855, "L");
spawnHold("Thraddash Melody", 33042, 35287, "K");
spawnHold("Thraddash Melody", 35287, 36042, "J");
spawnHold("Thraddash Melody", 36042, 38301, "S");
spawnHold("Thraddash Melody", 38301, 39061, "F");
spawnHold("Thraddash Melody", 39061, 42026, "D");
spawnNote("Thraddash Melody", 42026, "J");
spawnNote("Thraddash Melody", 42594, "K");
spawnNote("Thraddash Melody", 42810, "L");
spawnNote("Thraddash Melody", 42978, "K");
spawnNote("Thraddash Melody", 43368, "J");
spawnNote("Thraddash Melody", 43714, "K");
spawnNote("Thraddash Melody", 43901, "L");
spawnNote("Thraddash Melody", 44161, "K");
spawnNote("Thraddash Melody", 44286, "S");
spawnNote("Thraddash Melody", 44560, "D");
spawnNote("Thraddash Melody", 44839, "F");
spawnNote("Thraddash Melody", 45050, "S");
spawnNote("Thraddash Melody", 45593, "D");
spawnNote("Thraddash Melody", 45786, "F");
spawnNote("Thraddash Melody", 45968, "D");
spawnNote("Thraddash Melody", 46343, "S");
spawnNote("Thraddash Melody", 46718, "D");
spawnNote("Thraddash Melody", 46906, "F");
spawnNote("Thraddash Melody", 47103, "D");
spawnNote("Thraddash Melody", 47290, "J");
spawnNote("Thraddash Melody", 47651, "K");
spawnNote("Thraddash Melody", 48035, "L");
spawnNote("Thraddash Melody", 48588, "J");
spawnNote("Thraddash Melody", 48780, "K");
spawnNote("Thraddash Melody", 48953, "J");
spawnNote("Thraddash Melody", 49343, "L");
spawnNote("Thraddash Melody", 49718, "J");
spawnNote("Thraddash Melody", 49905, "K");
spawnNote("Thraddash Melody", 50117, "J");
spawnNote("Thraddash Melody", 50280, "F");
spawnNote("Thraddash Melody", 50559, "D");
spawnNote("Thraddash Melody", 50847, "S");
spawnNote("Thraddash Melody", 51107, "D");
spawnNote("Thraddash Melody", 51592, "J");
spawnNote("Thraddash Melody", 51780, "F");
spawnNote("Thraddash Melody", 51972, "J");
spawnNote("Thraddash Melody", 52342, "D");
spawnNote("Thraddash Melody", 52717, "J");
spawnNote("Thraddash Melody", 52924, "F");
spawnNote("Thraddash Melody", 53097, "J");
spawnNote("Thraddash Melody", 53275, "L");
spawnNote("Thraddash Melody", 53654, "K");
spawnNote("Thraddash Melody", 54025, "F");
spawnNote("Thraddash Melody", 54592, "D");
spawnNote("Thraddash Melody", 54866, "S");
spawnNote("Thraddash Melody", 54967, "D");
spawnNote("Thraddash Melody", 55342, "F");
spawnNote("Thraddash Melody", 55717, "D");
spawnNote("Thraddash Melody", 55914, "S");
spawnNote("Thraddash Melody", 56096, "D");
spawnNote("Thraddash Melody", 56284, "L");
spawnNote("Thraddash Melody", 56558, "K");
spawnNote("Thraddash Melody", 56841, "J");
spawnNote("Thraddash Melody", 57024, "L");
spawnNote("Thraddash Melody", 57591, "K");
spawnNote("Thraddash Melody", 57784, "J");
spawnNote("Thraddash Melody", 57976, "K");
spawnNote("Thraddash Melody", 58341, "S");
spawnNote("Thraddash Melody", 58716, "F");
spawnNote("Thraddash Melody", 58942, "D");
spawnNote("Thraddash Melody", 59106, "F");
spawnNote("Thraddash Melody", 59303, "L");
spawnNote("Thraddash Melody", 59654, "S");
spawnNote("Thraddash Melody", 60028, "F");
spawnNote("Thraddash Melody", 60591, "S");
spawnNote("Thraddash Melody", 60778, "D");
spawnNote("Thraddash Melody", 60956, "S");
spawnNote("Thraddash Melody", 61346, "F");
spawnNote("Thraddash Melody", 61720, "S");
spawnNote("Thraddash Melody", 61903, "D");
spawnNote("Thraddash Melody", 62095, "S");
spawnNote("Thraddash Melody", 62273, "J");
spawnNote("Thraddash Melody", 62562, "K");
spawnNote("Thraddash Melody", 62845, "L");
spawnNote("Thraddash Melody", 63066, "J");
spawnNote("Thraddash Melody", 63590, "F");
spawnNote("Thraddash Melody", 63831, "D");
spawnNote("Thraddash Melody", 64004, "F");
spawnNote("Thraddash Melody", 64340, "J");
spawnNote("Thraddash Melody", 64720, "F");
spawnNote("Thraddash Melody", 64922, "D");
spawnNote("Thraddash Melody", 65095, "F");
spawnNote("Thraddash Melody", 0xFEFE, "L");
spawnNote("Thraddash Melody", 65657, "K");
spawnHold("Thraddash Melody", 66027, 69037, "L");
spawnHold("Thraddash Melody", 69037, 72041, "J");
spawnHold("Thraddash Melody", 72041, 75036, "S");
spawnHold("Thraddash Melody", 75036, 77285, "F");
spawnNote("Thraddash Melody", 77285, "K");
spawnNote("Thraddash Melody", 77660, "F");
spawnHold("Thraddash Melody", 78045, 81044, "D");
spawnHold("Thraddash Melody", 81044, 84039, "J");
spawnHold("Thraddash Melody", 84039, 85524, "S");
spawnNote("Thraddash Background", 0, "space", 3);
spawnNote("Thraddash Background", 596, "F", 3);
spawnNote("Thraddash Background", 788, "D", 3);
spawnNote("Thraddash Background", 961, "F", 3);
spawnHold("Thraddash Background", 1326, 3028, "J", 3);
spawnHold("Thraddash Background", 3028, 6066, "L", 3);
spawnNote("Thraddash Background", 8912, "space", 3);
spawnNote("Thraddash Background", 9652, "space", 3);
spawnNote("Thraddash Background", 10507, "space", 3);
spawnHold("Thraddash Background", 16574, 18035, "space", 3);
spawnHold("Thraddash Background", 21400, 24207, "space", 3);
spawnNote("Thraddash Background", 42022, "space", 3);
spawnHold("Thraddash Background", 52664, 54145, "space", 3);
spawnHold("Thraddash Background", 60019, 66076, "space", 3);
spawnHold("Thraddash Background", 78035, 84044, "space", 3);
}
public function init(_arg1=true){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:String;
var _local6:int;
var _local7:int;
var _local8:int;
if (_arg1){
deinitMenu();
};
SoundMixer.stopAll();
for (_local2 in noteArray) {
_local3 = noteArray[_local2];
_local3.visible = false;
notes.removeChild(_local3);
};
for (_local2 in holdArray) {
_local3 = holdArray[_local2];
_local3.visible = false;
notes.removeChild(_local3);
};
noteArray = new Array();
holdArray = new Array();
for (_local4 in keyOptions) {
keyDown[keyOptions[_local4]] = 0;
};
soundChannel = new SoundChannel();
combo = 0;
maxCombo = 0;
score = 0;
hitsArray = new Array();
hitsArray.miss = 0;
hitsArray.bad = 0;
hitsArray.good = 0;
hitsArray.great = 0;
hitsArray.perfect = 0;
health = 100;
bars.positionBar.gotoAndStop(1000);
bars.healthBar.gotoAndStop(1);
lastPos = 0;
waitEnd = 0;
songOver = false;
pos = -3000;
if (song == "endless"){
init_notes_endless();
} else {
if (song == "thraddash"){
init_notes_thraddash();
} else {
if (song == "freddy"){
init_notes_freddy();
} else {
if (song == "tonghua"){
init_notes_tonghua();
};
};
};
};
checkOverLaps();
if (_arg1){
noteArray.sortOn("pos", Array.NUMERIC);
};
if (qualityOptions.controls){
for (_local2 in keyOptions) {
gui[("c_" + _local2)].visible = true;
_local5 = controlParse(keyOptions[_local2]);
gui[("c_" + _local2)].text = (_local5.substring(0, 1).toUpperCase() + _local5.substring(1).toLowerCase());
};
} else {
for (_local2 in keyOptions) {
gui[("c_" + _local2)].visible = false;
};
};
notesMask.top.y = (crazyOptions.top) ? 600 : 0;
notesMask.middle.y = (crazyOptions.middle) ? 600 : 150;
notesMask.bottom.y = (crazyOptions.bottom) ? 600 : 300;
gui.visible = !(crazyOptions.nogui);
noteBar.guiPart.visible = !(crazyOptions.nogui);
if (crazyOptions.swapped){
_local6 = keyOptions.S;
_local7 = keyOptions.D;
_local8 = keyOptions.F;
keyOptions.S = keyOptions.L;
keyOptions.D = keyOptions.K;
keyOptions.F = keyOptions.J;
keyOptions.J = _local8;
keyOptions.K = _local7;
keyOptions.L = _local6;
};
if (_arg1){
stage.addEventListener(Event.ENTER_FRAME, enterFrameFunction);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownFunction);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpFunction);
};
}
public function restartButtonFunction(_arg1){
trace(1);
deinit(false);
init(true);
}
public function retrieveColorScheme(_arg1:String){
if (crazyOptions.color){
return ((0xFFFFFF * Math.random()));
};
if ((((((((_arg1 == "S")) || ((_arg1 == "F")))) || ((_arg1 == "J")))) || ((_arg1 == "L")))){
return (0xCCCCCC);
};
if (_arg1 == "space"){
return (16763955);
};
return (0);
}
public function deinit(_arg1=true){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
if (_arg1){
initMenu();
stage.removeEventListener(Event.ENTER_FRAME, enterFrameFunction);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownFunction);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpFunction);
gameOverFunction(score, maxCombo, hitsArray);
};
SoundMixer.stopAll();
for (_local2 in noteArray) {
_local3 = noteArray[_local2];
_local3.visible = false;
notes.removeChild(_local3);
};
for (_local2 in holdArray) {
_local3 = holdArray[_local2];
_local3.visible = false;
notes.removeChild(_local3);
};
noteArray = new Array();
holdArray = new Array();
for (_local4 in keyOptions) {
keyDown[keyOptions[_local4]] = 0;
};
if (crazyOptions.swapped){
_local5 = keyOptions.S;
_local6 = keyOptions.D;
_local7 = keyOptions.F;
keyOptions.S = keyOptions.L;
keyOptions.D = keyOptions.K;
keyOptions.F = keyOptions.J;
keyOptions.J = _local7;
keyOptions.K = _local6;
keyOptions.L = _local5;
};
}
public function songButtonClick(_arg1){
var _local2:*;
_local2 = _arg1.target;
if (_local2 == options.optionsScroll.song1){
song = "endless";
} else {
if (_local2 == options.optionsScroll.song2){
song = "thraddash";
} else {
if (_local2 == options.optionsScroll.song3){
song = "freddy";
} else {
song = "tonghua";
};
};
};
options.selectedSong = _local2;
_local2.gotoAndStop(40);
}
public function nextSlideButton(_arg1){
if (slideTo == 0){
slideTo = -400;
} else {
slideTo = -800;
};
}
public function keyUpFunction(_arg1:KeyboardEvent){
keyDown[_arg1.keyCode] = 0;
}
public function randomNote(){
var _local1:Number;
_local1 = (Math.random() * 7);
if (_local1 < 1){
return ("S");
};
if (_local1 < 2){
return ("D");
};
if (_local1 < 3){
return ("F");
};
if (_local1 < 4){
return ("space");
};
if (_local1 < 5){
return ("J");
};
if (_local1 < 6){
return ("K");
};
return ("L");
}
public function controlParse(_arg1:int){
if (_arg1 != Keyboard.SPACE){
return (String.fromCharCode(_arg1));
};
return ("space");
}
public function submitScoreButtonFunction(_arg1){
var _local2:String;
if (song == "endless"){
_local2 = hs_endless;
} else {
if (song == "thraddash"){
_local2 = hs_thraddash;
} else {
if (song == "freddy"){
_local2 = hs_freddy;
} else {
if (song == "tonghua"){
_local2 = hs_tonghua;
};
};
};
};
if (_local2){
if (sendScore != 0){
MochiScores.showLeaderboard({boardID:_local2, score:-(sendScore), name:gameOver.username.text, clip:root, onClose:stop});
sendScore = 0;
} else {
MochiScores.showLeaderboard({boardID:_local2, clip:root, onClose:stop});
};
};
}
public function doItButtonFunction(_arg1){
var _local2:Boolean;
var _local3:*;
_local2 = true;
for (_local3 in keyOptions) {
if (keyOptions[_local3] == 0){
_local2 = false;
};
};
if (_local2){
optionsFade = "out";
startReady = true;
};
}
public function gameOverFunction(_arg1, _arg2, _arg3){
var _local4:String;
var _local5:int;
var _local6:Boolean;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:int;
var _local11:*;
var _local12:*;
var _local13:int;
gameOver.x = 200;
gameOver.username.selectable = true;
_local4 = "";
_local5 = ((((_arg3.perfect + _arg3.great) + _arg3.good) + _arg3.bad) + _arg3.miss);
_local6 = (((_arg3.bad == 0)) && ((_arg3.miss == 0)));
_local7 = (_arg3.perfect / _local5);
_local8 = ((_arg3.great + _arg3.perfect) / _local5);
if ((((((_local7 > 0.8)) && ((_arg3.good == 0)))) && (_local6))){
_local4 = "S";
} else {
if ((((((_local7 > 0.65)) && ((_arg3.good == 0)))) && (_local6))){
_local4 = "A++";
} else {
if ((((_local7 > 0.65)) && (_local6))){
_local4 = "A+";
} else {
if ((((_local7 > 0.5)) && (_local6))){
_local4 = "A";
} else {
if ((((_local7 > 0.4)) && ((_local8 > 0.8)))){
_local4 = "A-";
} else {
if ((((((_local7 > 0.3)) && ((_local8 > 0.6)))) && (_local6))){
_local4 = "B+";
} else {
if ((((_local7 > 0.3)) && ((_local8 > 0.6)))){
_local4 = "B";
} else {
if ((((_local7 > 0.2)) && ((_local8 > 0.5)))){
_local4 = "B-";
} else {
if ((((_local7 > 0.1)) && ((_local8 > 0.25)))){
_local4 = "C";
} else {
if ((((_local7 > 0.05)) && ((_local8 > 0.2)))){
_local4 = "C-";
} else {
if (_local8 > 0.1){
_local4 = "F";
} else {
_local4 = "Z...";
};
};
};
};
};
};
};
};
};
};
};
_local9 = ((((((((((crazyOptions["color"]) ? 1.1 : 1 * (crazyOptions["note"]) ? 1.5 : 1) * (crazyOptions["speed"]) ? 1.75 : 1) * (crazyOptions["top"]) ? 1.25 : 1) * (crazyOptions["middle"]) ? 1.5 : 1) * (crazyOptions["bottom"]) ? 1.75 : 1) * (crazyOptions["nogui"]) ? 1.5 : 1) * (crazyOptions["swapped"]) ? 1.5 : 1) * Math.pow((speed / 25), (1 / 3))) * (qualityOptions.practice) ? 0.01 : 1);
_local10 = (_arg1 * _local9);
_local11 = gameOver;
_local11.grade.text = _local4;
_local11.score.text = _arg1;
_local11.multiplier.text = ("x" + String((int((_local9 * 100)) / 100)));
_local11.finalScore.text = _local10;
_local11.maxCombo.text = _arg2;
_local11.perfect.text = _arg3.perfect;
_local11.great.text = _arg3.great;
_local11.good.text = _arg3.good;
_local11.bad.text = _arg3.bad;
_local11.miss.text = _arg3.miss;
_local12 = options.optionsScroll.difficultyButton.currentLabel;
_local13 = ((((((((crazyOptions.color) ? 1 : 0 + (crazyOptions.note) ? 1 : 0) + (crazyOptions.speed) ? 1 : 0) + (crazyOptions.top) ? 1 : 0) + (crazyOptions.middle) ? 1 : 0) + (crazyOptions.bottom) ? 1 : 0) + (crazyOptions.nogui) ? 1 : 0) + (crazyOptions.swapped) ? 1 : 0);
_local11.copyText.text = (((((((((((((((((((((("I got a(n) " + _local4) + " on ") + _local12) + "! My score was ") + _local10) + " with a max combo of ") + _arg2) + ". I scored ") + _arg3.perfect) + " perfects, ") + _arg3.great) + " greats, and ") + _arg3.good) + " goods. I got only ") + _arg3.bad) + " bads and ") + _arg3.miss) + " misses! I was playing on ") + (speed / 5)) + " speed and had ") + _local13) + " crazy options on. Great game, I like it! Play it here: http://www.thorgaming.com/games/3926/feel-the-beat.html");
_local11.visible = true;
gameOverFade = false;
sendScore = -(_local10);
numCrazyOptions = _local13;
slideTo = 0;
}
public function loadGameFunction(_arg1){
preloader.gotoAndStop((int(((mLoaderInfo.bytesLoaded / mLoaderInfo.bytesTotal) * 1000)) + 1));
if ((mLoaderInfo.bytesLoaded / mLoaderInfo.bytesTotal) > 0.99){
stage.removeEventListener(Event.ENTER_FRAME, loadGameFunction);
preloader.gotoAndPlay(1001);
} else {
if (preloaderText){
preloaderText.text = String(((int(((mLoaderInfo.bytesLoaded / mLoaderInfo.bytesTotal) * 1000)) / 10) + 1));
if (preloaderText.text.length <= 2){
preloaderText.appendText(".0");
};
};
};
bars.positionBar.gotoAndStop(preloader.currentFrame);
}
}
}//package feelthebeat_ng_fla
Section 19
//NoteBar_6 (feelthebeat_ng_fla.NoteBar_6)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class NoteBar_6 extends MovieClip {
public var guiPart:MovieClip;
}
}//package feelthebeat_ng_fla
Section 20
//Notes_1 (feelthebeat_ng_fla.Notes_1)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class Notes_1 extends MovieClip {
public var c_space:MovieClip;
public var c_F:MovieClip;
public var c_L:MovieClip;
public var c_J:MovieClip;
public var c_K:MovieClip;
public var c_S:MovieClip;
public var s_D:MovieClip;
public var s_L:MovieClip;
public var c_D:MovieClip;
public var s_K:MovieClip;
public var s_space:MovieClip;
public var s_S:MovieClip;
public var s_F:MovieClip;
public var s_J:MovieClip;
}
}//package feelthebeat_ng_fla
Section 21
//NotesMask_31 (feelthebeat_ng_fla.NotesMask_31)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class NotesMask_31 extends MovieClip {
public var bottom:MovieClip;
public var top:MovieClip;
public var middle:MovieClip;
}
}//package feelthebeat_ng_fla
Section 22
//OptionsScroll_39 (feelthebeat_ng_fla.OptionsScroll_39)
package feelthebeat_ng_fla {
import fl.controls.*;
import flash.display.*;
import flash.text.*;
public dynamic class OptionsScroll_39 extends MovieClip {
public var lightsCheck:MovieClip;
public var speedText:TextField;
public var qualityButton:MovieClip;
public var space_control:TextInput;
public var lockedSongs:MovieClip;
public var instructionsButton:SimpleButton;
public var particlesCheck:MovieClip;
public var f_control:TextInput;
public var l_control:TextInput;
public var k_control:TextInput;
public var s_control:TextInput;
public var j_control:TextInput;
public var practiceCheck:MovieClip;
public var spectrumCheck:MovieClip;
public var d_control:TextInput;
public var song3:MovieClip;
public var song1:MovieClip;
public var song2:MovieClip;
public var crazyOptions:MovieClip;
public var song4:MovieClip;
public var difficultyButton:MovieClip;
public var speedMeter:MovieClip;
public var doItButton:SimpleButton;
public var controlsCheck:MovieClip;
}
}//package feelthebeat_ng_fla
Section 23
//Preloader_12 (feelthebeat_ng_fla.Preloader_12)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.geom.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class Preloader_12 extends MovieClip {
public var percentText:TextField;
public var bottom:MovieClip;
public var goPlay;
public var top:MovieClip;
public var center:MovieClip;
public function Preloader_12(){
addFrameScript(0, frame1, 1000, frame1001, 1001, frame1002, 1002, frame1003, 1003, frame1004, 1004, frame1005, 1005, frame1006, 1006, frame1007, 1007, frame1008, 1008, frame1009, 1009, frame1010, 1010, frame1011, 1011, frame1012, 1012, frame1013, 1013, frame1014, 1014, frame1015, 1015, frame1016, 1016, frame1017, 1017, frame1018, 1018, frame1019, 1019, frame1020, 1020, frame1021, 1021, frame1022, 1022, frame1023, 1023, frame1024, 0x0400, frame1025, 1025, frame1026, 1026, frame1027, 1027, frame1028, 0x0404, frame1029, 1029, frame1030, 1030, frame1031, 1031, frame1032, 1032, frame1033, 1033, frame1034, 1034, frame1035, 1035, frame1036, 1036, frame1037, 1037, frame1038, 1038, frame1039, 1039, frame1040);
}
function frame1004(){
alpha = (alpha - (1 / 40));
}
function frame1008(){
alpha = (alpha - (1 / 40));
}
function frame1002(){
alpha = (alpha - (1 / 40));
}
function frame1005(){
alpha = (alpha - (1 / 40));
}
function frame1006(){
alpha = (alpha - (1 / 40));
}
function frame1(){
}
function frame1015(){
alpha = (alpha - (1 / 40));
}
function frame1003(){
alpha = (alpha - (1 / 40));
}
function frame1007(){
alpha = (alpha - (1 / 40));
}
function frame1014(){
alpha = (alpha - (1 / 40));
}
function frame1011(){
alpha = (alpha - (1 / 40));
}
function frame1012(){
alpha = (alpha - (1 / 40));
}
function frame1010(){
alpha = (alpha - (1 / 40));
}
function frame1017(){
alpha = (alpha - (1 / 40));
}
function frame1013(){
alpha = (alpha - (1 / 40));
}
function frame1020(){
alpha = (alpha - (1 / 40));
}
function frame1018(){
alpha = (alpha - (1 / 40));
}
function frame1026(){
alpha = (alpha - (1 / 40));
}
function frame1027(){
alpha = (alpha - (1 / 40));
}
function frame1028(){
alpha = (alpha - (1 / 40));
}
function frame1021(){
alpha = (alpha - (1 / 40));
}
function frame1024(){
alpha = (alpha - (1 / 40));
}
function frame1001(){
alpha = (alpha - (1 / 40));
}
function frame1025(){
alpha = (alpha - (1 / 40));
}
function frame1009(){
alpha = (alpha - (1 / 40));
}
function frame1033(){
alpha = (alpha - (1 / 40));
}
function frame1019(){
alpha = (alpha - (1 / 40));
}
function frame1023(){
alpha = (alpha - (1 / 40));
}
function frame1030(){
alpha = (alpha - (1 / 40));
}
function frame1029(){
alpha = (alpha - (1 / 40));
}
function frame1016(){
alpha = (alpha - (1 / 40));
}
function frame1032(){
alpha = (alpha - (1 / 40));
}
function frame1035(){
alpha = (alpha - (1 / 40));
}
function frame1036(){
alpha = (alpha - (1 / 40));
}
function frame1039(){
alpha = (alpha - (1 / 40));
}
function frame1031(){
alpha = (alpha - (1 / 40));
}
function frame1022(){
alpha = (alpha - (1 / 40));
}
function frame1038(){
alpha = (alpha - (1 / 40));
}
function frame1034(){
alpha = (alpha - (1 / 40));
}
function frame1037(){
alpha = (alpha - (1 / 40));
}
function frame1040(){
stop();
goPlay.play();
}
}
}//package feelthebeat_ng_fla
Section 24
//Rating_35 (feelthebeat_ng_fla.Rating_35)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Rating_35 extends MovieClip {
public var comboText:TextField;
public function Rating_35(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
alpha = 0;
}
}
}//package feelthebeat_ng_fla
Section 25
//ScoreEffect_26 (feelthebeat_ng_fla.ScoreEffect_26)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.geom.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class ScoreEffect_26 extends MovieClip {
public var particles:Array;
public function ScoreEffect_26(){
addFrameScript(0, frame1);
}
function frame1(){
particles = new Array();
this.addEventListener(Event.ENTER_FRAME, enterFrameFunction);
}
public function enterFrameFunction(_arg1){
var _local2:*;
var _local3:*;
_local2 = 0;
while (_local2 < particles.length) {
_local3 = particles[_local2];
_local3.render();
if (_local3.remove){
this.removeChild(_local3);
particles.splice(_local2, 1);
_local2--;
};
_local2++;
};
}
public function newParticle(_arg1, _arg2){
var _local3:*;
_local3 = new ScoreParticle();
_local3.init(_arg1, _arg2);
this.addChild(_local3);
particles.push(_local3);
}
}
}//package feelthebeat_ng_fla
Section 26
//SelectSongButton_54 (feelthebeat_ng_fla.SelectSongButton_54)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class SelectSongButton_54 extends MovieClip {
public var lockedSong:MovieClip;
}
}//package feelthebeat_ng_fla
Section 27
//SoundSpectrum_25 (feelthebeat_ng_fla.SoundSpectrum_25)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.media.*;
public dynamic class SoundSpectrum_25 extends MovieClip {
public const SCALE:int = 50;
public var active:Boolean;
public var rangeArray:Array;
public var mGraphics:Graphics;
public var ba:ByteArray;
public var j:int;
public function SoundSpectrum_25(){
addFrameScript(0, frame1);
}
function frame1(){
active = true;
ba = new ByteArray();
rangeArray = new Array();
j = 0;
while (j < 80) {
rangeArray[j] = 0;
j++;
};
mGraphics = this.graphics;
this.addEventListener(Event.ENTER_FRAME, renderSpectrum);
}
public function renderSpectrum(_arg1:Event){
var _local2:int;
var _local3:int;
var _local4:int;
mGraphics.clear();
if (active){
mGraphics.beginFill(0xFFFF, 0.3);
SoundMixer.computeSpectrum(ba, false);
_local3 = 0;
while (_local3 < 80) {
_local2 = 0;
_local4 = 0;
while (_local4 < 5) {
_local2 = (_local2 + (ba.readFloat() * 4));
_local4++;
};
rangeArray[_local3] = (((rangeArray[_local3] * 9) + _local2) / 10);
mGraphics.drawRect((-200 + (_local3 * 5)), (-(Math.abs(rangeArray[_local3])) * SCALE), 5, (Math.abs(rangeArray[_local3]) * SCALE));
_local3++;
};
};
}
}
}//package feelthebeat_ng_fla
Section 28
//SpeedMeter_44 (feelthebeat_ng_fla.SpeedMeter_44)
package feelthebeat_ng_fla {
import flash.display.*;
public dynamic class SpeedMeter_44 extends MovieClip {
public var controller:MovieClip;
}
}//package feelthebeat_ng_fla
Section 29
//XceeDLogo_23 (feelthebeat_ng_fla.XceeDLogo_23)
package feelthebeat_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.geom.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class XceeDLogo_23 extends MovieClip {
public var goPlay;
public function XceeDLogo_23(){
addFrameScript(0, frame1, 221, frame222);
}
function frame1(){
}
function frame222(){
stop();
goPlay.play();
}
}
}//package feelthebeat_ng_fla
Section 30
//BaseScrollPane (fl.containers.BaseScrollPane)
package fl.containers {
import fl.controls.*;
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.events.*;
import flash.geom.*;
public class BaseScrollPane extends UIComponent {
protected var defaultLineScrollSize:Number;// = 4
protected var _maxHorizontalScrollPosition:Number;// = 0
protected var vScrollBar:Boolean;
protected var disabledOverlay:Shape;
protected var hScrollBar:Boolean;
protected var availableWidth:Number;
protected var _verticalPageScrollSize:Number;// = 0
protected var vOffset:Number;// = 0
protected var _verticalScrollBar:ScrollBar;
protected var useFixedHorizontalScrolling:Boolean;// = false
protected var contentWidth:Number;// = 0
protected var contentHeight:Number;// = 0
protected var _horizontalPageScrollSize:Number;// = 0
protected var background:DisplayObject;
protected var _useBitmpScrolling:Boolean;// = false
protected var contentPadding:Number;// = 0
protected var availableHeight:Number;
protected var _horizontalScrollBar:ScrollBar;
protected var contentScrollRect:Rectangle;
protected var _horizontalScrollPolicy:String;
protected var _verticalScrollPolicy:String;
protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5};
public function BaseScrollPane(){
contentWidth = 0;
contentHeight = 0;
contentPadding = 0;
vOffset = 0;
_maxHorizontalScrollPosition = 0;
_horizontalPageScrollSize = 0;
_verticalPageScrollSize = 0;
defaultLineScrollSize = 4;
useFixedHorizontalScrolling = false;
_useBitmpScrolling = false;
super();
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize));
setVerticalScrollPosition(_verticalScrollBar.scrollPosition);
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition));
}
public function get verticalScrollPosition():Number{
return (_verticalScrollBar.scrollPosition);
}
protected function drawDisabledOverlay():void{
if (enabled){
if (contains(disabledOverlay)){
removeChild(disabledOverlay);
};
} else {
disabledOverlay.x = (disabledOverlay.y = contentPadding);
disabledOverlay.width = availableWidth;
disabledOverlay.height = availableHeight;
disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number);
addChild(disabledOverlay);
};
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
_verticalScrollBar.scrollPosition = _arg1;
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
}
protected function setContentSize(_arg1:Number, _arg2:Number):void{
if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){
return;
};
contentWidth = _arg1;
contentHeight = _arg2;
invalidate(InvalidationType.SIZE);
}
public function get horizontalScrollPosition():Number{
return (_horizontalScrollBar.scrollPosition);
}
public function get horizontalScrollBar():ScrollBar{
return (_horizontalScrollBar);
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
_verticalScrollBar.enabled = _arg1;
_horizontalScrollBar.enabled = _arg1;
super.enabled = _arg1;
}
public function get verticalLineScrollSize():Number{
return (_verticalScrollBar.lineScrollSize);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
protected function calculateAvailableSize():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = ScrollBar.WIDTH;
_local2 = (contentPadding = Number(getStyleValue("contentPadding")));
_local3 = ((height - (2 * _local2)) - vOffset);
vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3)))));
_local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2));
_local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4);
hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0)))));
if (hScrollBar){
_local3 = (_local3 - _local1);
};
if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){
vScrollBar = true;
_local4 = (_local4 - _local1);
};
availableHeight = (_local3 + vOffset);
availableWidth = _local4;
}
public function get maxVerticalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentHeight - availableHeight)));
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
_horizontalScrollBar.scrollPosition = _arg1;
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
}
public function get horizontalLineScrollSize():Number{
return (_horizontalScrollBar.lineScrollSize);
}
public function set verticalPageScrollSize(_arg1:Number):void{
_verticalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function get useBitmapScrolling():Boolean{
return (_useBitmpScrolling);
}
protected function handleScroll(_arg1:ScrollEvent):void{
if (_arg1.target == _verticalScrollBar){
setVerticalScrollPosition(_arg1.position);
} else {
setHorizontalScrollPosition(_arg1.position);
};
}
public function set verticalLineScrollSize(_arg1:Number):void{
_verticalScrollBar.lineScrollSize = _arg1;
}
public function get verticalScrollBar():ScrollBar{
return (_verticalScrollBar);
}
protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function set horizontalPageScrollSize(_arg1:Number):void{
_horizontalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){
drawLayout();
};
updateChildren();
super.draw();
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function configUI():void{
var _local1:Graphics;
super.configUI();
contentScrollRect = new Rectangle(0, 0, 85, 85);
_verticalScrollBar = new ScrollBar();
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_verticalScrollBar.visible = false;
_verticalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_verticalScrollBar);
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar = new ScrollBar();
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_horizontalScrollBar.visible = false;
_horizontalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_horizontalScrollBar);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
disabledOverlay = new Shape();
_local1 = disabledOverlay.graphics;
_local1.beginFill(0xFFFFFF);
_local1.drawRect(0, 0, width, height);
_local1.endFill();
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function calculateContentWidth():void{
}
public function get verticalPageScrollSize():Number{
if (isNaN(availableHeight)){
drawNow();
};
return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize);
}
protected function drawLayout():void{
calculateAvailableSize();
calculateContentWidth();
background.width = width;
background.height = height;
if (vScrollBar){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding);
_verticalScrollBar.y = contentPadding;
_verticalScrollBar.height = availableHeight;
} else {
_verticalScrollBar.visible = false;
};
_verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
if (hScrollBar){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.x = contentPadding;
_horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding);
_horizontalScrollBar.width = availableWidth;
} else {
_horizontalScrollBar.visible = false;
};
_horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
drawDisabledOverlay();
}
protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue("skin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function set horizontalLineScrollSize(_arg1:Number):void{
_horizontalScrollBar.lineScrollSize = _arg1;
}
public function get horizontalPageScrollSize():Number{
if (isNaN(availableWidth)){
drawNow();
};
return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize);
}
public function get maxHorizontalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentWidth - availableWidth)));
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function updateChildren():void{
_verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled);
_verticalScrollBar.drawNow();
_horizontalScrollBar.drawNow();
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set useBitmapScrolling(_arg1:Boolean):void{
_useBitmpScrolling = _arg1;
invalidate(InvalidationType.STATE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.containers
Section 31
//ScrollPane (fl.containers.ScrollPane)
package fl.containers {
import fl.controls.*;
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
public class ScrollPane extends BaseScrollPane implements IFocusManagerComponent {
protected var scrollDragHPos:Number;
protected var loader:Loader;
protected var yOffset:Number;
protected var currentContent:Object;
protected var xOffset:Number;
protected var _source:Object;// = ""
protected var scrollDragVPos:Number;
protected var _scrollDrag:Boolean;// = false
protected var contentClip:Sprite;
private static var defaultStyles:Object = {upSkin:"ScrollPane_upSkin", disabledSkin:"ScrollPane_disabledSkin", focusRectSkin:null, focusRectPadding:null, contentPadding:0};
public function ScrollPane(){
_source = "";
_scrollDrag = false;
super();
}
public function get source():Object{
return (_source);
}
public function set source(_arg1:Object):void{
var _local2:*;
clearContent();
if (isLivePreview){
return;
};
_source = _arg1;
if ((((_source == "")) || ((_source == null)))){
return;
};
currentContent = getDisplayObjectInstance(_arg1);
if (currentContent != null){
_local2 = contentClip.addChild((currentContent as DisplayObject));
dispatchEvent(new Event(Event.INIT));
update();
} else {
load(new URLRequest(_source.toString()));
};
}
public function get bytesLoaded():Number{
return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesLoaded);
}
protected function doDrag(_arg1:MouseEvent):void{
var _local2:*;
var _local3:*;
_local2 = (scrollDragVPos - (mouseY - yOffset));
_verticalScrollBar.setScrollPosition(_local2);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, true);
_local3 = (scrollDragHPos - (mouseX - xOffset));
_horizontalScrollBar.setScrollPosition(_local3);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, true);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = calculateAvailableHeight();
switch (_arg1.keyCode){
case Keyboard.DOWN:
verticalScrollPosition++;
break;
case Keyboard.UP:
verticalScrollPosition--;
break;
case Keyboard.RIGHT:
horizontalScrollPosition++;
break;
case Keyboard.LEFT:
horizontalScrollPosition--;
break;
case Keyboard.END:
verticalScrollPosition = maxVerticalScrollPosition;
break;
case Keyboard.HOME:
verticalScrollPosition = 0;
break;
case Keyboard.PAGE_UP:
verticalScrollPosition = (verticalScrollPosition - _local2);
break;
case Keyboard.PAGE_DOWN:
verticalScrollPosition = (verticalScrollPosition + _local2);
break;
};
}
protected function doStartDrag(_arg1:MouseEvent):void{
if (!enabled){
return;
};
xOffset = mouseX;
yOffset = mouseY;
scrollDragHPos = horizontalScrollPosition;
scrollDragVPos = verticalScrollPosition;
stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true);
}
public function get content():DisplayObject{
var _local1:Object;
_local1 = currentContent;
if ((_local1 is URLRequest)){
_local1 = loader.content;
};
return ((_local1 as DisplayObject));
}
public function get percentLoaded():Number{
if (loader != null){
return (Math.round(((bytesLoaded / bytesTotal) * 100)));
};
return (0);
}
protected function endDrag(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
}
public function update():void{
var _local1:DisplayObject;
_local1 = contentClip.getChildAt(0);
setContentSize(_local1.width, _local1.height);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:*;
_local3 = contentClip.scrollRect;
_local3.x = _arg1;
contentClip.scrollRect = _local3;
}
public function refreshPane():void{
if ((_source is URLRequest)){
_source = _source.url;
};
source = _source;
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
public function load(_arg1:URLRequest, _arg2:LoaderContext=null):void{
if (_arg2 == null){
_arg2 = new LoaderContext(false, ApplicationDomain.currentDomain);
};
clearContent();
initLoader();
currentContent = (_source = _arg1);
loader.load(_arg1, _arg2);
}
override protected function handleScroll(_arg1:ScrollEvent):void{
passEvent(_arg1);
super.handleScroll(_arg1);
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:*;
_local3 = contentClip.scrollRect;
_local3.y = _arg1;
contentClip.scrollRect = _local3;
}
protected function initLoader():void{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, passEvent, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onContentLoad, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.INIT, passEvent, false, 0, true);
contentClip.addChild(loader);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
drawBackground();
};
if (isInvalid(InvalidationType.STATE)){
setScrollDrag();
};
super.draw();
}
override protected function configUI():void{
super.configUI();
contentClip = new Sprite();
addChild(contentClip);
contentClip.scrollRect = contentScrollRect;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
}
public function set scrollDrag(_arg1:Boolean):void{
_scrollDrag = _arg1;
invalidate(InvalidationType.STATE);
}
protected function clearContent():void{
if (contentClip.numChildren == 0){
return;
};
contentClip.removeChildAt(0);
currentContent = null;
if (loader != null){
try {
loader.close();
} catch(e) {
};
try {
loader.unload();
} catch(e) {
};
loader = null;
};
}
override protected function drawLayout():void{
super.drawLayout();
contentScrollRect = contentClip.scrollRect;
contentScrollRect.width = availableWidth;
contentScrollRect.height = availableHeight;
contentClip.cacheAsBitmap = useBitmapScrolling;
contentClip.scrollRect = contentScrollRect;
contentClip.x = (contentClip.y = contentPadding);
}
override protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue((enabled) ? "upSkin" : "disabledSkin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function get bytesTotal():Number{
return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesTotal);
}
protected function onContentLoad(_arg1:Event):void{
var _local2:*;
update();
_local2 = calculateAvailableHeight();
calculateAvailableSize();
horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), availableWidth);
verticalScrollBar.setScrollProperties(_local2, 0, (contentHeight - _local2), _local2);
passEvent(_arg1);
}
public function get scrollDrag():Boolean{
return (_scrollDrag);
}
protected function setScrollDrag():void{
if (_scrollDrag){
contentClip.addEventListener(MouseEvent.MOUSE_DOWN, doStartDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, endDrag, false, 0, true);
} else {
contentClip.removeEventListener(MouseEvent.MOUSE_DOWN, doStartDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, endDrag);
removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
};
contentClip.buttonMode = _scrollDrag;
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition()));
}
}
}//package fl.containers
Section 32
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.events.*;
import flash.utils.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 33
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.core.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 34
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 35
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 36
//ScrollBar (fl.controls.ScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
public class ScrollBar extends UIComponent {
private var _direction:String;// = "vertical"
protected var inDrag:Boolean;// = false
protected var upArrow:BaseButton;
private var _pageScrollSize:Number;// = 0
protected var downArrow:BaseButton;
private var _pageSize:Number;// = 10
private var thumbScrollOffset:Number;
private var _maxScrollPosition:Number;// = 0
private var _scrollPosition:Number;// = 0
protected var track:BaseButton;
private var _minScrollPosition:Number;// = 0
private var _lineScrollSize:Number;// = 1
protected var thumb:LabelButton;
protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0};
public static const WIDTH:Number = 15;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35};
public function ScrollBar(){
_pageSize = 10;
_pageScrollSize = 0;
_lineScrollSize = 1;
_minScrollPosition = 0;
_maxScrollPosition = 0;
_scrollPosition = 0;
_direction = ScrollBarDirection.VERTICAL;
inDrag = false;
super();
setStyles();
focusEnabled = false;
}
public function get minScrollPosition():Number{
return (_minScrollPosition);
}
public function set minScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _arg1, _maxScrollPosition);
}
public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
_local3 = scrollPosition;
_scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1));
if (_local3 == _scrollPosition){
return;
};
if (_arg2){
dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition));
};
updateThumb();
}
public function set scrollPosition(_arg1:Number):void{
setScrollPosition(_arg1, true);
}
public function get pageScrollSize():Number{
return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize);
}
public function set pageSize(_arg1:Number):void{
if (_arg1 > 0){
_pageSize = _arg1;
};
}
public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
this.pageSize = _arg1;
_minScrollPosition = _arg2;
_maxScrollPosition = _arg3;
if (_arg4 >= 0){
_pageScrollSize = _arg4;
};
enabled = (_maxScrollPosition > _minScrollPosition);
setScrollPosition(_scrollPosition, false);
updateThumb();
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition))))));
updateThumb();
}
protected function updateThumb():void{
var _local1:Number;
_local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize);
if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){
thumb.height = 12;
thumb.visible = false;
} else {
thumb.height = Math.max(13, ((_pageSize / _local1) * track.height));
thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition))));
thumb.visible = enabled;
};
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
inDrag = true;
thumbScrollOffset = (mouseY - thumb.y);
thumb.mouseStateLocked = true;
mouseChildren = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
inDrag = false;
mouseChildren = true;
thumb.mouseStateLocked = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
}
public function set pageScrollSize(_arg1:Number):void{
if (_arg1 >= 0){
_pageScrollSize = _arg1;
};
}
protected function handleThumbDrag(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset)));
setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition));
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
if (_direction == _arg1){
return;
};
_direction = _arg1;
if (isLivePreview){
return;
};
setScaleY(1);
_local2 = (_direction == ScrollBarDirection.HORIZONTAL);
if (((_local2) && (componentInspectorSetting))){
if (rotation == 90){
return;
};
setScaleX(-1);
rotation = -90;
};
if (!componentInspectorSetting){
if (((_local2) && ((rotation == 0)))){
rotation = -90;
setScaleX(-1);
} else {
if (((!(_local2)) && ((rotation == -90)))){
rotation = 0;
setScaleX(1);
};
};
};
invalidate(InvalidationType.SIZE);
}
public function set lineScrollSize(_arg1:Number):void{
if (_arg1 > 0){
_lineScrollSize = _arg1;
};
}
override public function get height():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height);
}
protected function scrollPressHandler(_arg1:ComponentEvent):void{
var _local2:Number;
var _local3:Number;
_arg1.stopImmediatePropagation();
if (_arg1.currentTarget == upArrow){
setScrollPosition((_scrollPosition - _lineScrollSize));
} else {
if (_arg1.currentTarget == downArrow){
setScrollPosition((_scrollPosition + _lineScrollSize));
} else {
_local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition);
_local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize;
if (_scrollPosition < _local2){
setScrollPosition(Math.min(_local2, (_scrollPosition + _local3)));
} else {
if (_scrollPosition > _local2){
setScrollPosition(Math.max(_local2, (_scrollPosition - _local3)));
};
};
};
};
}
public function get pageSize():Number{
return (_pageSize);
}
public function set maxScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _minScrollPosition, _arg1);
}
public function get scrollPosition():Number{
return (_scrollPosition);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
var _local1:Number;
if (isInvalid(InvalidationType.SIZE)){
_local1 = super.height;
downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height)));
track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height))));
updateThumb();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
};
downArrow.drawNow();
upArrow.drawNow();
track.drawNow();
thumb.drawNow();
validate();
}
override protected function configUI():void{
super.configUI();
track = new BaseButton();
track.move(0, 14);
track.useHandCursor = false;
track.autoRepeat = true;
track.focusEnabled = false;
addChild(track);
thumb = new LabelButton();
thumb.label = "";
thumb.setSize(WIDTH, 15);
thumb.move(0, 15);
thumb.focusEnabled = false;
addChild(thumb);
downArrow = new BaseButton();
downArrow.setSize(WIDTH, 14);
downArrow.autoRepeat = true;
downArrow.focusEnabled = false;
addChild(downArrow);
upArrow = new BaseButton();
upArrow.setSize(WIDTH, 14);
upArrow.move(0, 0);
upArrow.autoRepeat = true;
upArrow.focusEnabled = false;
addChild(upArrow);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
enabled = false;
}
public function get direction():String{
return (_direction);
}
public function get lineScrollSize():Number{
return (_lineScrollSize);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (_direction == ScrollBarDirection.HORIZONTAL){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
}
public function get maxScrollPosition():Number{
return (_maxScrollPosition);
}
override public function get width():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width);
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 37
//ScrollBarDirection (fl.controls.ScrollBarDirection)
package fl.controls {
public class ScrollBarDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
}
}//package fl.controls
Section 38
//ScrollPolicy (fl.controls.ScrollPolicy)
package fl.controls {
public class ScrollPolicy {
public static const OFF:String = "off";
public static const ON:String = "on";
public static const AUTO:String = "auto";
}
}//package fl.controls
Section 39
//TextInput (fl.controls.TextInput)
package fl.controls {
import flash.display.*;
import fl.core.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class TextInput extends UIComponent implements IFocusManagerComponent {
protected var _html:Boolean;// = false
protected var _savedHTML:String;
protected var background:DisplayObject;
protected var _editable:Boolean;// = true
public var textField:TextField;
private static var defaultStyles:Object = {upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:0, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function TextInput(){
_editable = true;
_html = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
if (focusTarget != null){
focusTarget.drawFocus(_arg1);
return;
};
super.drawFocus(_arg1);
}
public function set imeMode(_arg1:String):void{
_imeMode = _arg1;
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == textField)) || (super.isOurFocus(_arg1))));
}
protected function handleKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.ENTER){
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true));
};
}
public function set text(_arg1:String):void{
textField.text = _arg1;
_html = false;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
protected function updateTextFieldType():void{
textField.type = (((enabled) && (editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC;
textField.selectable = enabled;
}
public function get selectionEndIndex():int{
return (textField.selectionEndIndex);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (_arg1.target == this){
stage.focus = textField;
};
_local2 = focusManager;
if (((editable) && (_local2))){
_local2.showFocusIndicator = true;
if (((textField.selectable) && ((textField.selectionBeginIndex == textField.selectionBeginIndex)))){
setSelection(0, textField.length);
};
};
super.focusInHandler(_arg1);
if (editable){
setIMEMode(true);
};
}
public function get selectionBeginIndex():int{
return (textField.selectionBeginIndex);
}
public function set alwaysShowSelection(_arg1:Boolean):void{
textField.alwaysShowSelection = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
updateTextFieldType();
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
public function get horizontalScrollPosition():int{
return (textField.scrollH);
}
public function set condenseWhite(_arg1:Boolean):void{
textField.condenseWhite = _arg1;
}
public function set displayAsPassword(_arg1:Boolean):void{
textField.displayAsPassword = _arg1;
}
public function set horizontalScrollPosition(_arg1:int):void{
textField.scrollH = _arg1;
}
public function get restrict():String{
return (textField.restrict);
}
public function get textWidth():Number{
return (textField.textWidth);
}
public function get textHeight():Number{
return (textField.textHeight);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
updateTextFieldType();
}
public function get maxChars():int{
return (textField.maxChars);
}
public function get length():int{
return (textField.length);
}
public function getLineMetrics(_arg1:int):TextLineMetrics{
return (textField.getLineMetrics(_arg1));
}
public function get imeMode():String{
return (_imeMode);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
super.focusOutHandler(_arg1);
if (editable){
setIMEMode(false);
};
}
public function set htmlText(_arg1:String):void{
if (_arg1 == ""){
text = "";
return;
};
_html = true;
_savedHTML = _arg1;
textField.htmlText = _arg1;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
public function get text():String{
return (textField.text);
}
override public function get enabled():Boolean{
return (super.enabled);
}
public function get condenseWhite():Boolean{
return (textField.condenseWhite);
}
public function get alwaysShowSelection():Boolean{
return (textField.alwaysShowSelection);
}
override protected function draw():void{
var _local1:Object;
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawTextFormat();
drawBackground();
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function handleTextInput(_arg1:TextEvent):void{
_arg1.stopPropagation();
dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text));
}
override protected function configUI():void{
super.configUI();
tabChildren = true;
textField = new TextField();
addChild(textField);
updateTextFieldType();
textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true);
textField.addEventListener(Event.CHANGE, handleChange, false, 0, true);
textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true);
}
public function setSelection(_arg1:int, _arg2:int):void{
textField.setSelection(_arg1, _arg2);
}
public function get displayAsPassword():Boolean{
return (textField.displayAsPassword);
}
public function appendText(_arg1:String):void{
textField.appendText(_arg1);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
textField.restrict = _arg1;
}
public function get htmlText():String{
return (textField.htmlText);
}
protected function drawBackground():void{
var _local1:DisplayObject;
var _local2:String;
_local1 = background;
_local2 = (enabled) ? "upSkin" : "disabledSkin";
background = getDisplayObjectInstance(getStyleValue(_local2));
if (background == null){
return;
};
addChildAt(background, 0);
if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){
removeChild(_local1);
};
}
override public function setFocus():void{
stage.focus = textField;
}
protected function drawLayout():void{
var _local1:Number;
_local1 = Number(getStyleValue("textPadding"));
if (background != null){
background.width = width;
background.height = height;
};
textField.width = (width - (2 * _local1));
textField.height = (height - (2 * _local1));
textField.x = (textField.y = _local1);
}
public function set maxChars(_arg1:int):void{
textField.maxChars = _arg1;
}
public function get maxHorizontalScrollPosition():int{
return (textField.maxScrollH);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
if (_html){
textField.htmlText = _savedHTML;
};
}
protected function handleChange(_arg1:Event):void{
_arg1.stopPropagation();
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 40
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 41
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 42
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 43
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 44
//ScrollEvent (fl.events.ScrollEvent)
package fl.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var _position:Number;
private var _direction:String;
private var _delta:Number;
public static const SCROLL:String = "scroll";
public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){
super(ScrollEvent.SCROLL, false, false);
_direction = _arg1;
_delta = _arg2;
_position = _arg3;
}
override public function clone():Event{
return (new ScrollEvent(_direction, _delta, _position));
}
public function get position():Number{
return (_position);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position"));
}
public function get delta():Number{
return (_delta);
}
public function get direction():String{
return (_direction);
}
}
}//package fl.events
Section 45
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
import fl.core.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 46
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 47
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 48
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 49
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.text.*;
import flash.utils.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 50
//Endless (Endless)
package {
import flash.media.*;
public dynamic class Endless extends Sound {
}
}//package
Section 51
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 52
//FPSCounter (FPSCounter)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public dynamic class FPSCounter extends MovieClip {
public const STABALIZE_FPS = 80;
public var currtime:Date;
public var counter:int;
public var average:Number;
public var counterDisplay:TextField;
public var starttime:Date;
public var countNumber:int;
public var ttime:int;
public function FPSCounter(){
addFrameScript(0, frame1);
}
public function updateCounter(){
countNumber++;
average = (int(((((average * (countNumber - 1)) + counter) / countNumber) * 10)) / 10);
counterDisplay.text = ("FPS: " + counter);
counterDisplay.appendText(("\nAVG: " + average));
counterDisplay.appendText("\nCopyright 2008 XceeD");
counter = 0;
}
function frame1(){
counter = 0;
countNumber = 0;
average = 0;
setInterval(updateCounter, 1000);
addEventListener(Event.ENTER_FRAME, enterFrameFunction);
starttime = new Date();
addEventListener(Event.ENTER_FRAME, forceStableFrameRateFunction);
}
public function enterFrameFunction(_arg1:Event){
counter++;
}
public function forceStableFrameRateFunction(_arg1:Event){
currtime = new Date();
ttime = (currtime.getTime() - starttime.getTime());
while (ttime < (1000 / STABALIZE_FPS)) {
currtime = new Date();
ttime = (currtime.getTime() - starttime.getTime());
};
starttime = new Date();
}
}
}//package
Section 53
//HoldNote (HoldNote)
package {
import flash.display.*;
public dynamic class HoldNote extends MovieClip {
public var bottom:MovieClip;
public var pos:int;
public var speed:Number;
public var top:MovieClip;
public var pos1:int;
public var pos2:int;
public var center:MovieClip;
public var holding:Boolean;
public var note:String;
public function HoldNote(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 54
//InstructionsWindow (InstructionsWindow)
package {
import flash.display.*;
public dynamic class InstructionsWindow extends MovieClip {
public var tut:MovieClip;
}
}//package
Section 55
//MathUtil (MathUtil)
package {
public final class MathUtil {
public static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823;
public static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433;
public static function ceil(_arg1:Number):int{
return (((_arg1)==int(_arg1)) ? _arg1 : (int(_arg1) + 1));
}
public static function abs(_arg1:Number):Number{
if (_arg1 < 0){
_arg1 = -(_arg1);
};
return (_arg1);
}
public static function sin(_arg1:Number):Number{
if (_arg1 < -3.14159265){
_arg1 = (_arg1 + 6.28318531);
} else {
if (_arg1 > 3.14159265){
_arg1 = (_arg1 - 6.28318531);
};
};
if (_arg1 < 0){
_arg1 = ((1.27323954 * _arg1) + ((0.405284735 * _arg1) * _arg1));
if (_arg1 < 0){
_arg1 = ((0.225 * ((_arg1 * -(_arg1)) - _arg1)) + _arg1);
} else {
_arg1 = ((0.225 * ((_arg1 * _arg1) - _arg1)) + _arg1);
};
} else {
_arg1 = ((1.27323954 * _arg1) - ((0.405284735 * _arg1) * _arg1));
if (_arg1 < 0){
_arg1 = ((0.225 * ((_arg1 * -(_arg1)) - _arg1)) + _arg1);
} else {
_arg1 = ((0.225 * ((_arg1 * _arg1) - _arg1)) + _arg1);
};
};
return (_arg1);
}
public static function floor(_arg1:Number):Number{
return (int(_arg1));
}
public static function cos(_arg1:Number):Number{
return (sin((_arg1 + 1.57079632)));
}
}
}//package
Section 56
//MenuSound (MenuSound)
package {
import flash.media.*;
public dynamic class MenuSound extends Sound {
}
}//package
Section 57
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
public class MochiAd {
public static function getVersion():String{
return ("2.1");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
_arg1.removeChild(_arg1._mochiad);
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
mc.removeEventListener(Event.ENTER_FRAME, f);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 58
//MochiScores (MochiScores)
package {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package
Section 59
//MochiServices (MochiServices)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function getVersion():String{
return ("1.31");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()});
_rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
MochiServices.allowDomains(_gatewayURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package
Section 60
//Note (Note)
package {
import flash.display.*;
public dynamic class Note extends MovieClip {
public var colorChange:MovieClip;
public var pos:int;
public var speed:Number;
public var note:String;
public function Note(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 61
//ScoreParticle (ScoreParticle)
package {
import flash.display.*;
public dynamic class ScoreParticle extends MovieClip {
public var velX;
public var velY;
public var remove;
public var gfx:MovieClip;
public function ScoreParticle(){
addFrameScript(0, frame1);
}
public function init(_arg1, _arg2){
x = _arg1;
y = _arg2;
velX = ((Math.random() * 4) - 2);
velY = (-(Math.random()) * 8);
alpha = 1;
remove = false;
gfx.gotoAndStop((int((Math.random() * 4)) + 1));
}
function frame1(){
}
public function render(){
x = (x + velX);
y = (y + velY);
alpha = (alpha * 0.9);
velX = (velX * 0.85);
velY = (velY * 0.95);
if (alpha < 0.05){
remove = true;
visible = false;
};
}
}
}//package
Section 62
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
}
}//package
Section 63
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
}
}//package
Section 64
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
}
}//package
Section 65
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
}
}//package
Section 66
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
}
}//package
Section 67
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
}
}//package
Section 68
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
}
}//package
Section 69
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
}
}//package
Section 70
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
}
}//package
Section 71
//ScrollPane_disabledSkin (ScrollPane_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollPane_disabledSkin extends MovieClip {
}
}//package
Section 72
//ScrollPane_upSkin (ScrollPane_upSkin)
package {
import flash.display.*;
public dynamic class ScrollPane_upSkin extends MovieClip {
}
}//package
Section 73
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
}
}//package
Section 74
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
}
}//package
Section 75
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
}
}//package
Section 76
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
}
}//package
Section 77
//TextInput_disabledSkin (TextInput_disabledSkin)
package {
import flash.display.*;
public dynamic class TextInput_disabledSkin extends MovieClip {
}
}//package
Section 78
//TextInput_upSkin (TextInput_upSkin)
package {
import flash.display.*;
public dynamic class TextInput_upSkin extends MovieClip {
}
}//package
Section 79
//Thraddash (Thraddash)
package {
import flash.media.*;
public dynamic class Thraddash extends Sound {
}
}//package
Section 80
//TongHua (TongHua)
package {
import flash.media.*;
public dynamic class TongHua extends Sound {
}
}//package