Section 1
//agame_com_intro_animatie_74 (LoopyLoopsKitchen_Spil_fla.agame_com_intro_animatie_74)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class agame_com_intro_animatie_74 extends MovieClip {
public function agame_com_intro_animatie_74(){
addFrameScript(88, frame89);
}
function frame89(){
stop();
MovieClip(parent.parent).play();
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 2
//branding_aligned_center_24 (LoopyLoopsKitchen_Spil_fla.branding_aligned_center_24)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class branding_aligned_center_24 extends MovieClip {
public function branding_aligned_center_24(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop(language.branding_nr);
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 3
//game_com_cn_intro_animatie_80 (LoopyLoopsKitchen_Spil_fla.game_com_cn_intro_animatie_80)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class game_com_cn_intro_animatie_80 extends MovieClip {
public function game_com_cn_intro_animatie_80(){
addFrameScript(88, frame89);
}
function frame89(){
stop();
MovieClip(parent.parent).play();
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 4
//gamesgames_intro_animatie_22 (LoopyLoopsKitchen_Spil_fla.gamesgames_intro_animatie_22)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class gamesgames_intro_animatie_22 extends MovieClip {
public function gamesgames_intro_animatie_22(){
addFrameScript(89, frame90, 90, frame91);
}
function frame90(){
}
function frame91(){
stop();
MovieClip(parent.parent).play();
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 5
//girlsgogames_com_intro_animatie_77 (LoopyLoopsKitchen_Spil_fla.girlsgogames_com_intro_animatie_77)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class girlsgogames_com_intro_animatie_77 extends MovieClip {
public function girlsgogames_com_intro_animatie_77(){
addFrameScript(88, frame89);
}
function frame89(){
stop();
MovieClip(parent.parent).play();
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 6
//intro_21 (LoopyLoopsKitchen_Spil_fla.intro_21)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class intro_21 extends MovieClip {
public var hitarea:MovieClip;
public function intro_21(){
addFrameScript(0, frame1);
}
function frame1(){
MovieClip(parent).stop();
if (language.portal == "family"){
gotoAndStop(1);
};
if (language.portal == "tweens"){
gotoAndStop(2);
};
if (language.portal == "girl"){
gotoAndStop(3);
};
if (language.portal == "game_com_cn"){
gotoAndStop(4);
};
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 7
//intro_hitarea_72 (LoopyLoopsKitchen_Spil_fla.intro_hitarea_72)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class intro_hitarea_72 extends MovieClip {
public var button_intro:SimpleButton;
public function intro_hitarea_72(){
addFrameScript(89, frame90);
}
function frame90(){
stop();
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 8
//MainTimeline (LoopyLoopsKitchen_Spil_fla.MainTimeline)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
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 intro:MovieClip;
public var loaderBack:MovieClip;
public var request:URLRequest;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 6, frame7);
}
public function onCLick1(_arg1:Event){
if (language.language_nr == 2){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_term=logo_intro"));
};
navigateToURL(request, "_blank");
}
public function onCLick2(_arg1:Event){
if (language.language_nr == 2){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_term=button_mainscreen_moregames"));
};
navigateToURL(request, "_blank");
}
public function onCLick4(_arg1:Event){
if (language.language_nr == 2){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_term=button_highscore_3000games"));
};
navigateToURL(request, "_blank");
}
function frame7(){
stop();
}
function frame1(){
MochiAd.showPreGameAd({clip:root, id:"1aa9b58de3416223", res:"640x480"});
language.Language = 1;
}
public function onCLick3(_arg1:Event){
if (language.language_nr == 2){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_term=button_gameover_moregames"));
};
navigateToURL(request, "_blank");
}
function frame2(){
intro.hitarea.button_intro.addEventListener(MouseEvent.CLICK, onCLick1);
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 9
//sun_1 (LoopyLoopsKitchen_Spil_fla.sun_1)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class sun_1 extends MovieClip {
public function sun_1(){
addFrameScript(34, frame35, 65, frame66);
}
function frame35(){
stop();
}
function frame66(){
stop();
MovieClip(parent).play();
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 10
//text1_89 (LoopyLoopsKitchen_Spil_fla.text1_89)
package LoopyLoopsKitchen_Spil_fla {
import flash.display.*;
public dynamic class text1_89 extends MovieClip {
public function text1_89(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop(language.language_nr);
}
}
}//package LoopyLoopsKitchen_Spil_fla
Section 11
//BackButton (BackButton)
package {
import flash.display.*;
public dynamic class BackButton extends SimpleButton {
}
}//package
Section 12
//Background (Background)
package {
import flash.display.*;
public dynamic class Background extends MovieClip {
}
}//package
Section 13
//ButtonSound (ButtonSound)
package {
import flash.media.*;
public dynamic class ButtonSound extends Sound {
}
}//package
Section 14
//byLongAnimalsButton (byLongAnimalsButton)
package {
import flash.display.*;
public dynamic class byLongAnimalsButton extends SimpleButton {
}
}//package
Section 15
//Defs (Defs)
package {
public class Defs {
public static const zpos_PICKUP = 1100;
public static const zpos_ENEMY = 1000;
public static const displayarea_w = 640;
public static const zpos_OVERLAY = 500;
public static const zpos_PLAYER = 1000;
public static const zpos_FAR = 10000;
public static const zpos_BACKGROUND = 10000;
public static const displayarea_h = 480;
public static var fps:Number = 40;
}
}//package
Section 16
//DisplayObj (DisplayObj)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.geom.*;
public class DisplayObj {
var frames:Array;
public var frame:int;
public function DisplayObj(_arg1:MovieClip, _arg2:Number, _arg3:int):void{
frame = 0;
if (_arg1 != null){
CreateBitmapsFromMovieClip(_arg1, _arg2, _arg3);
};
}
public function GetHeight():Number{
return (frames[frame].bitmap.height);
}
public function GetBitmap():Bitmap{
return (frames[frame].bitmap);
}
function CreateAsciiStringTable():Array{
var _local1:Array;
_local1 = new Array();
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push("");
_local1.push(" ");
_local1.push("!");
_local1.push("'");
_local1.push("#");
_local1.push("$");
_local1.push("%");
_local1.push("&");
_local1.push("'");
_local1.push("(");
_local1.push(")");
_local1.push("*");
_local1.push("+");
_local1.push(",");
_local1.push("-");
_local1.push(".");
_local1.push("/");
_local1.push("0");
_local1.push("1");
_local1.push("2");
_local1.push("3");
_local1.push("4");
_local1.push("5");
_local1.push("6");
_local1.push("7");
_local1.push("8");
_local1.push("9");
_local1.push(":");
_local1.push(";");
_local1.push("<");
_local1.push("=");
_local1.push(">");
_local1.push("?");
_local1.push("@");
_local1.push("A");
_local1.push("B");
_local1.push("C");
_local1.push("D");
_local1.push("E");
_local1.push("F");
_local1.push("G");
_local1.push("H");
_local1.push("I");
_local1.push("J");
_local1.push("K");
_local1.push("L");
_local1.push("M");
_local1.push("N");
_local1.push("O");
_local1.push("P");
_local1.push("Q");
_local1.push("R");
_local1.push("S");
_local1.push("T");
_local1.push("U");
_local1.push("V");
_local1.push("W");
_local1.push("X");
_local1.push("Y");
_local1.push("Z");
_local1.push("[");
_local1.push("\\");
_local1.push("]");
_local1.push("^");
_local1.push("_");
_local1.push("'");
_local1.push("a");
_local1.push("b");
_local1.push("c");
_local1.push("d");
_local1.push("e");
_local1.push("f");
_local1.push("g");
_local1.push("h");
_local1.push("i");
_local1.push("j");
_local1.push("k");
_local1.push("l");
_local1.push("m");
_local1.push("n");
_local1.push("o");
_local1.push("p");
_local1.push("q");
_local1.push("r");
_local1.push("s");
_local1.push("t");
_local1.push("u");
_local1.push("v");
_local1.push("w");
_local1.push("x");
_local1.push("y");
_local1.push("z");
_local1.push("{");
_local1.push("|");
_local1.push("}");
_local1.push("~");
return (_local1);
}
public function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{
frames[frame].RenderAt(_arg1, _arg2, _arg3, _arg4);
}
public function SetFrame(_arg1:int){
frame = _arg1;
if (frame < 0){
frame = 0;
};
if (frame >= frames.length){
frame = (frames.length - 1);
};
}
public function CreateBitmapsFromMovieClip(_arg1:MovieClip, _arg2:Number, _arg3:int):void{
var _local4:Boolean;
var _local5:Number;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Matrix;
var _local11:Rectangle;
var _local12:Bitmap;
var _local13:BitmapData;
var _local14:Bitmap;
var _local15:BitmapData;
var _local16:int;
var _local17:*;
var _local18:Number;
var _local19:Point;
var _local20:Point;
var _local21:Point;
var _local22:Point;
var _local23:ColorTransform;
_local4 = false;
if (_arg3 == 2){
_local4 = true;
_arg3 = 0;
};
_arg2 = 1;
_local5 = (_arg2 * 2);
frames = new Array();
_arg1.gotoAndStop(0);
_local16 = 32;
_local6 = 0;
while (_local6 < _arg1.totalFrames) {
_local17 = new DisplayObjFrame();
_local17.bitmaps = new Array();
_local17.burnedbitmaps = new Array();
_local17.xoffsets = new Array();
_local17.yoffsets = new Array();
_local17.mat = new Matrix();
_local17.colTrans = new ColorTransform();
if (_arg3 == 1){
_local7 = 0;
while (_local7 < _local16) {
_local18 = (((Math.PI * 2) / Number(_local16)) * Number(_local7));
_local18 = -(_local18);
_local18 = (_local18 + (Math.PI / 2));
_local11 = _arg1.getBounds(null);
_local10 = new Matrix();
_local10.rotate(_local18);
_local10.translate(_local11.width, _local11.height);
_local19 = _local10.transformPoint(new Point(_local11.left, _local11.top));
_local20 = _local10.transformPoint(new Point(_local11.right, _local11.top));
_local21 = _local10.transformPoint(new Point(_local11.right, _local11.bottom));
_local22 = _local10.transformPoint(new Point(_local11.left, _local11.bottom));
if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){
_local13 = new BitmapData((_local11.width * 2), (_local11.height * 2), true, 0);
_local13.draw(_arg1, _local10);
_local12 = new Bitmap(_local13);
_local17.bitmaps.push(_local12);
_local23 = new ColorTransform(1, 1, 1, 1, -100, -100, -100, 0);
_local15 = new BitmapData((_local11.width * 2), (_local11.height * 2), true, 0);
_local15.draw(_arg1, _local10, _local23);
_local14 = new Bitmap(_local15);
_local17.burnedbitmaps.push(_local14);
_local8 = (_local11.width / 2);
_local9 = (_local11.height / 2);
_local17.xoffsets.push(Number(-(_local11.width)));
_local17.yoffsets.push(Number(-(_local11.height)));
} else {
_local17.bitmaps.push(null);
_local17.burnedbitmaps.push(null);
_local17.xoffsets.push(0);
_local17.yoffsets.push(0);
};
_local7++;
};
} else {
_local11 = _arg1.getBounds(null);
_local10 = new Matrix();
_local8 = _local11.left;
_local9 = _local11.top;
_local10.scale(_arg2, _arg2);
_local10.translate((-(_local8) * _arg2), (-(_local9) * _arg2));
_local17.xoffsets.push(Number((_local8 * _arg2)));
_local17.yoffsets.push(Number((_local9 * _arg2)));
if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){
_local12 = new Bitmap();
_local13 = new BitmapData((_arg1.width * _arg2), (_arg1.height * _arg2), true, 0);
_local13.draw(_arg1, _local10);
_local12.bitmapData = _local13;
_local17.bitmaps.push(_local12);
} else {
_local17.bitmaps.push(null);
};
if (_local4){
_local11 = _arg1.getBounds(null);
_local10 = new Matrix();
_local8 = _local11.left;
_local9 = _local11.top;
_local10.scale(-(_arg2), _arg2);
_local10.translate((-(_local8) * _arg2), (-(_local9) * _arg2));
_local10.translate(_local11.width, 0);
_local17.xoffsets.push(Number((_local8 * _arg2)));
_local17.yoffsets.push(Number((_local9 * _arg2)));
if (((!((_arg1.width == 0))) && (!((_arg1.height == 0))))){
_local12 = new Bitmap();
_local13 = new BitmapData((_arg1.width * _arg2), (_arg1.height * _arg2), true, 0);
_local13.draw(_arg1, _local10);
_local12.bitmapData = _local13;
_local17.bitmaps.push(_local12);
} else {
_local17.bitmaps.push(null);
};
};
};
frames.push(_local17);
_arg1.nextFrame();
_local6++;
};
}
public function GetWidth():Number{
return (frames[frame].bitmap.width);
}
public function RenderAtColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:ColorTransform, _arg5:Boolean=false):void{
frames[frame].RenderAtColTrans(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function CreateFont(_arg1:TextFormat):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:Matrix;
var _local7:Rectangle;
var _local8:Bitmap;
var _local9:BitmapData;
var _local10:Array;
var _local11:TextField;
var _local12:*;
frames = new Array();
_local10 = CreateAsciiStringTable();
_local2 = 0;
while (_local2 < _local10.length) {
_local11 = new TextField();
_local11.textColor = 4294967295;
_local11.selectable = false;
_local11.embedFonts = true;
_local11.autoSize = TextFieldAutoSize.LEFT;
_local11.x = 0;
_local11.y = 0;
_local11.text = _local10[_local2];
_local11.setTextFormat(_arg1);
_local12 = new DisplayObjFrame();
_local12.bitmaps = new Array();
_local12.xoffsets = new Array();
_local12.yoffsets = new Array();
_local12.mat = new Matrix();
_local12.colTrans = new ColorTransform();
_local7 = _local11.getBounds(null);
_local6 = new Matrix();
_local12.xoffsets.push(0);
_local12.yoffsets.push(0);
_local8 = new Bitmap();
_local9 = new BitmapData(_local7.width, _local7.height, true, 0);
_local9.draw(_local11, _local6);
_local8.bitmapData = _local9;
_local12.bitmaps.push(_local8);
frames.push(_local12);
_local2++;
};
}
public function GetMaxFrames():int{
return (frames.length);
}
public function GetXOffset():Number{
return (frames[frame].xoffset);
}
public function GetYOffset():Number{
return (frames[frame].yoffset);
}
public function GetFrame():int{
return (frame);
}
public function RenderAtRot(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean):void{
if (_arg5){
frames[frame].RenderAtRotBurned(_arg1, _arg2, _arg3, _arg4);
} else {
frames[frame].RenderAtRot(_arg1, _arg2, _arg3, _arg4);
};
}
public function GetFrameWidth(_arg1:int):Number{
return (frames[_arg1].bitmap.width);
}
public function GetScaledBitmap():Bitmap{
return (frames[frame].scaledBitmap);
}
}
}//package
import flash.display.*;
import flash.geom.*;
class DisplayObjFrame {
public var mat:Matrix;
public var bitmaps:Array;
public var xoffsets:Array;
public var burnedbitmaps:Array;
public var colTrans:ColorTransform;
public var yoffsets:Array;
private function DisplayObjFrame(){
}
public function RenderAt(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
_local5 = bitmaps[0];
_local6 = xoffsets[0];
_local7 = yoffsets[0];
if (_arg4){
_local5 = bitmaps[1];
_local6 = xoffsets[1];
_local7 = yoffsets[1];
};
_arg1.copyPixels(_local5.bitmapData, new Rectangle(0, 0, _local5.width, _local5.height), new Point((_arg2 + _local6), (_arg3 + _local7)), null, null, true);
}
public function RenderAtColTrans(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:ColorTransform, _arg5:Boolean=false):void{
var _local6:Bitmap;
var _local7:Number;
var _local8:Number;
_local6 = bitmaps[0];
_local7 = xoffsets[0];
_local8 = yoffsets[0];
if (_arg5){
_local6 = bitmaps[1];
_local7 = xoffsets[1];
_local8 = yoffsets[1];
};
mat.identity();
mat.translate((_arg2 + _local7), (_arg3 + _local8));
if (_local6 != null){
if (_local6.bitmapData != null){
_arg1.draw(_local6.bitmapData, mat, _arg4);
};
};
}
public function RenderAtAdditive(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
_local5 = bitmaps[0];
_local6 = xoffsets[0];
_local7 = yoffsets[0];
mat.identity();
mat.translate((_arg2 + _local6), (_arg3 + _local7));
colTrans.alphaMultiplier = _arg4;
if (_local5 != null){
if (_local5.bitmapData != null){
_arg1.draw(_local5.bitmapData, mat, colTrans, "add");
};
};
}
public function RenderAtAlpha(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Bitmap;
var _local6:Number;
var _local7:Number;
_local5 = bitmaps[0];
_local6 = xoffsets[0];
_local7 = yoffsets[0];
mat.identity();
mat.translate((_arg2 + _local6), (_arg3 + _local7));
colTrans.alphaMultiplier = _arg4;
if (_local5 != null){
if (_local5.bitmapData != null){
_arg1.draw(_local5.bitmapData, mat, colTrans);
};
};
}
public function RenderAtRot(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:int;
var _local6:int;
var _local7:Bitmap;
var _local8:Number;
var _local9:Number;
_arg4 = (_arg4 - 0.01);
_local5 = bitmaps.length;
_arg4 = ((Number(_local5) / (Math.PI * 2)) * _arg4);
_local6 = _arg4;
while (_local6 < 0) {
_local6 = (_local6 + _local5);
};
while (_local6 > (_local5 - 1)) {
_local6 = (_local6 - _local5);
};
_local6 = ((_local5 - 1) - _local6);
_local7 = bitmaps[_local6];
_local8 = xoffsets[_local6];
_local9 = yoffsets[_local6];
_arg1.copyPixels(_local7.bitmapData, new Rectangle(0, 0, _local7.width, _local7.height), new Point((_arg2 + _local8), (_arg3 + _local9)));
}
}
Section 17
//Domain (Domain)
package {
public class Domain {
public static function GetDomain():String{
var _local1:String;
var _local2:Number;
var _local3:Number;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local1 = Main.theStage.loaderInfo.url;
_local2 = (_local1.indexOf("://") + 3);
_local3 = _local1.indexOf("/", _local2);
_local4 = _local1.substring(_local2, _local3);
_local5 = (_local4.lastIndexOf(".") - 1);
_local6 = (_local4.lastIndexOf(".", _local5) + 1);
_local4 = _local4.substring(_local6, _local4.length);
return (_local4);
}
public static function IsLockedOut():Boolean{
var _local1:String;
_local1 = GetDomain();
if (((!((_local1 == "flashgamelicense.com"))) && (!((_local1 == "longanimalsgames.com"))))){
return (true);
};
return (false);
}
}
}//package
Section 18
//Font20 (Font20)
package {
import flash.text.*;
public dynamic class Font20 extends Font {
}
}//package
Section 19
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class Game {
static const gameState_PostRace = 2;
static const gameState_Race = 1;
static const gameState_PreRace = 0;
static var levelFinishedState:int;
public static var scrollH:Number;
public static var scrollX:Number;
public static var scrollY:Number;
static var goBackground:GameObj;
public static var scrollW:Number;
static var gameStateTimer1:int;
public static var numMusicObjs:int;
public static var raceTime:Number;
static var readySetGoCount:int;
public static var currentLapTime:Number;
static var timeLine:TimeLine;
public static var doMetronome:Boolean;
public static var lapTimes:Array;
static var activeGO:GameObj = null;
static var optionsButton:SimpleButton;
static var currentLevel:int;
static var OptionsMC:MovieClip = null;
static var numLevels:int;
static var debugMode:int;
static var currentScore:int;
static var frameCount:int;
static var HelpMC:MovieClip = null;
static var main:Main;
static var gameState:int;
static var multiplier:int;
static var loopyLoopsButton:SimpleButton;
static var gameStateTimer:int;
public static var numLaps:int;
public static var scrollMaxX:Number;
public static var scrollMaxY:Number;
public static var startPoints:Array;
static var goPlayer:GameObj;
public static var startPointDirs:Array;
public static var polygonList:Array;
static function GetIntFromString(_arg1:String, _arg2:int, _arg3:int):int{
var _local4:Array;
var _local5:Array;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:String;
var _local12:*;
var _local13:String;
_local4 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
_local5 = new Array();
_local6 = 0;
while (_local6 < _arg3) {
_local11 = _arg1.slice((_local6 + _arg2), ((_local6 + _arg2) + 1));
_local12 = 0;
_local7 = 0;
while (_local7 < 16) {
_local13 = _local4[_local7];
if (_local13 == _local11){
_local12 = _local7;
};
_local7++;
};
_local5.push(_local12);
_local6++;
};
_local5.reverse();
_local8 = 0;
_local9 = 1;
for each (_local10 in _local5) {
_local8 = (_local8 + (_local10 * _local9));
_local9 = (_local9 * 16);
};
return (_local8);
}
static function HelpBackPressed(_arg1:MouseEvent){
main.removeChild(HelpMC);
HelpMC = null;
}
static function optionButtonPressed(_arg1:MouseEvent){
var _local2:String;
_local2 = _arg1.currentTarget.name;
if (_local2 == "buttonClear"){
timeLine.Clear();
SongToString();
};
if (_local2 == "buttonSlower"){
timeLine.SlowDown();
};
if (_local2 == "buttonFaster"){
timeLine.SpeedUp();
};
if (_local2 == "buttonMetronome"){
doMetronome = (doMetronome == false);
OptionsMC.selectedMetronome.visible = doMetronome;
};
if (_local2 == "backButton"){
main.removeChild(OptionsMC);
OptionsMC = null;
};
if (_local2 == "buttonHelp"){
InitHelpScreenScreen();
};
if (_local2 == "buttonCopy"){
System.setClipboard(OptionsMC.textImport.text);
};
}
static function buttonMoreLoopsClicked(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://longanimalsgames.com/longanimalsgames/loopyloops.aspx?game=kitchen"), "_blank");
}
public static function UpdateGameplay():void{
if (OptionsMC != null){
return;
};
UpdateClicks();
timeLine.Update();
frameCount++;
if (frameCount > 50){
frameCount = 0;
};
GameObjects.Update();
Particles.Update(1);
}
public static function Init(_arg1:Main){
main = _arg1;
currentScore = 0;
multiplier = 1;
numLevels = 8;
currentLevel = 0;
doMetronome = false;
TweakVars.Reset();
}
public static function InitLevel(){
var _local1:TimeLineEntry;
frameCount = 0;
debugMode = 0;
GameObjects.ClearAll();
goBackground = GameObjects.AddObj(GameObj.gotype_BACKGROUND, 0, 0, 20000);
goBackground.frame = 0;
scrollX = 0;
scrollY = 0;
scrollW = 0x0800;
scrollH = 0x0600;
scrollW = 0x0A00;
scrollH = 1648;
scrollW = 2500;
scrollH = 2500;
scrollMaxX = (scrollW - Defs.displayarea_w);
scrollMaxY = (scrollH - Defs.displayarea_h);
polygonList = new Array();
startPoints = new Array();
startPointDirs = new Array();
numMusicObjs = 0;
AddObj("sink", 0, 0, 100, 100);
AddObj("bottle1", 1, 1, 200, 100);
AddObj("bottle2", 2, 2, 200, 100);
AddObj("bottle3", 3, 3, 300, 100);
AddObj("bowl1", 4, 4, 300, 100);
AddObj("bowl2", 5, 5, 300, 100);
AddObj("bowl3", 6, 6, 300, 100);
AddObj("bowl4", 7, 7, 300, 100);
AddObj("bowl5", 8, 8, 300, 100);
AddObj("bowl6", 9, 9, 300, 100);
AddObj("eggtimer", 10, 10, 300, 100);
AddObj("pan1", 11, 11, 300, 100);
AddObj("pan2", 12, 12, 300, 100);
AddObj("pan3", 13, 13, 300, 100);
AddObj("pan4", 14, 14, 300, 100);
AddObj("pan5", 15, 15, 300, 100);
AddObj("pan6", 16, 16, 300, 100);
AddObj("pepper", 17, 17, 300, 100);
AddObj("salt", 18, 18, 300, 100);
AddObj("spoon", 19, 19, 300, 100);
AddObj("drawer", 20, 20, 300, 100);
AddObj("door", 21, 21, 600, 300);
AddObj("catfood", 22, 22, 600, 300);
AddObj("howl", 23, 23, 600, 300);
AddObj("meow1", 24, 24, 600, 300);
AddObj("meow2", 25, 25, 600, 300);
AddObj("scratch", 26, 27, 600, 300);
AddObj("scream", 27, 28, 600, 300);
AddObj("kettle", 28, 30, 600, 300);
SetObjPos(0, 395, 204, 1500);
SetObjPos(1, 276, 167, 1000);
SetObjPos(2, 236, 171, 1000);
SetObjPos(3, 0x0100, 177, 950);
SetObjPos(4, 614, 207, 1300);
SetObjPos(5, 560, 220, 1250);
SetObjPos(6, 526, 206, 1350);
SetObjPos(7, 596, 239, 1000);
SetObjPos(8, 482, 218, 1000);
SetObjPos(9, 533, 234, 1000);
SetObjPos(10, 32, 254, 1000);
SetObjPos(11, 619, 122, 1000);
SetObjPos(12, 572, 125, 1200);
SetObjPos(13, 531, 129, 1300);
SetObjPos(14, 493, 129, 1400);
SetObjPos(15, 459, 128, 1500);
SetObjPos(16, 428, 129, 1600);
SetObjPos(17, 71, 217, 1000);
SetObjPos(18, 94, 227, 950);
SetObjPos(19, 36, 158, 1000);
SetObjPos(20, 209, 275, 1000);
SetObjPos(21, 534, 345, 1000);
SetObjPos(22, (313 - 40), 424, 1000);
SetObjPos(23, 323, 134, 1000);
SetObjPos(24, (411 - 40), 414, 1000);
SetObjPos(25, (236 - 40), 416, 1000);
SetObjPos(26, 382, 129, 1000);
SetObjPos(27, 393, 312, 1000);
SetObjPos(28, 182, 193, 1000);
timeLine = new TimeLine();
optionsButton = new OptionsButton();
main.addChild(optionsButton);
optionsButton.x = 10;
optionsButton.y = (480 - 50);
optionsButton.addEventListener(MouseEvent.CLICK, optionsButtonPressed);
loopyLoopsButton = new LoopyLoopsButton();
main.addChild(loopyLoopsButton);
loopyLoopsButton.x = 420;
loopyLoopsButton.y = (480 - 120);
loopyLoopsButton.addEventListener(MouseEvent.CLICK, loopyLoopsButtonPressed);
}
public static function RenderTimeLine(){
var _local1:TimeLine;
var _local2:Number;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:TimeLineEntry;
_local1 = timeLine;
_local3 = ((640 - 0x0200) / 2);
_local4 = 10;
_local5 = 0x0200;
GraphicObjects.RenderAt(GraphicObjects.gfx_timeline, 0, main.screenBD, _local3, _local4);
_local2 = ((_local5 / Number(_local1.maxTime)) * Number(_local1.currentTime));
GraphicObjects.RenderAt(GraphicObjects.gfx_timelinemarker, 0, main.screenBD, (_local3 + _local2), (_local4 + 40));
for each (_local6 in _local1.timeList) {
GraphicObjects.RenderAt(_local6.graphicID, int(_local6.frame), main.screenBD, _local6.xpos, _local6.ypos);
};
}
static function InitHelpScreenScreen(){
HelpMC = new HelpScreen();
main.addChild(HelpMC);
HelpMC.buttonBack.addEventListener(MouseEvent.CLICK, HelpBackPressed);
}
public static function InitGame(){
debugMode = 0;
}
public static function UpdateClicks(){
var _local1:Array;
var _local2:int;
var _local3:int;
var _local4:GameObj;
var _local5:uint;
_local1 = new Array();
if (MouseControl.buttonPressed){
MouseControl.buttonPressed = false;
_local2 = MouseControl.mousePosX;
_local3 = MouseControl.mousePosY;
for each (_local4 in GameObjects.objs) {
if (((_local4.active) && ((_local4.type == GameObj.gotype_OBJ)))){
_local5 = GraphicObjects.GetPixelAt(_local4.graphicID, _local4.frame, (_local2 - _local4.xpos), (_local3 - _local4.ypos));
if (_local5 != 0){
_local1.push(_local4);
};
};
};
};
if (_local1.length != 0){
_local1.sortOn("zpos", Array.NUMERIC);
_local4 = _local1[0];
ObjectClicked(_local4);
};
}
static function LoadSong(_arg1:int){
var _local2:String;
var _local3:SharedObject;
var _local4:int;
var _local5:int;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:TimeLineEntry;
_local2 = ("KitchenLoops" + _arg1.toString());
_local3 = SharedObject.getLocal(_local2);
if (_local3.size == 0){
return;
};
timeLine.Clear();
trace(_local3.data.a0.length);
_local5 = _local3.data.a0.length;
_local4 = 0;
while (_local4 < _local5) {
_local6 = _local3.data.a0[_local4];
_local7 = _local3.data.a1[_local4];
_local8 = _local3.data.a2[_local4];
_local9 = _local3.data.a3[_local4];
_local10 = _local3.data.a4[_local4];
_local11 = _local3.data.a5[_local4];
_local12 = _local3.data.a6[_local4];
_local13 = timeLine.AddSimple(_local7, _local8);
if (_local13){
_local13.frame = _local6;
_local13.objectID = _local7;
_local13.soundID = _local8;
_local13.graphicID = _local9;
_local13.xpos = _local10;
_local13.ypos = _local11;
_local13.time = _local12;
};
_local4++;
};
trace(("loading " + _local2));
SongToString();
}
static function StartRace(){
lapTimes = new Array();
raceTime = 0;
currentLapTime = 0;
numLaps = 3;
}
static function SaveSong(_arg1:int){
var _local2:String;
var _local3:SharedObject;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:Array;
var _local9:Array;
var _local10:Array;
var _local11:int;
var _local12:TimeLineEntry;
_local2 = ("KitchenLoops" + _arg1.toString());
_local3 = SharedObject.getLocal(_local2);
_local3.clear();
_local4 = new Array();
_local5 = new Array();
_local6 = new Array();
_local7 = new Array();
_local8 = new Array();
_local9 = new Array();
_local10 = new Array();
_local11 = 0;
for each (_local12 in timeLine.timeList) {
trace(("saving entry " + _local11));
_local4.push(_local12.frame);
_local5.push(_local12.objectID);
_local6.push(_local12.soundID);
_local7.push(_local12.graphicID);
_local8.push(_local12.xpos);
_local9.push(_local12.ypos);
_local10.push(_local12.time);
_local11++;
};
_local3.data.a0 = _local4;
_local3.data.a1 = _local5;
_local3.data.a2 = _local6;
_local3.data.a3 = _local7;
_local3.data.a4 = _local8;
_local3.data.a5 = _local9;
_local3.data.a6 = _local10;
trace(((("saving " + _local2) + " length ") + _local4.length));
_local3.flush();
}
static function InitOptionsScreen(){
OptionsMC = new OptionsScreen();
main.addChild(OptionsMC);
OptionsMC.buttonClear.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.buttonSlower.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.buttonFaster.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.backButton.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.buttonHelp.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.buttonMetronome.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.buttonImport.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonCopy.addEventListener(MouseEvent.CLICK, optionButtonPressed);
OptionsMC.buttonLoad1.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonLoad2.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonLoad3.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonSave1.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonSave2.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonSave3.addEventListener(MouseEvent.CLICK, loadSaveButtonPressed);
OptionsMC.buttonMoreLoops.addEventListener(MouseEvent.CLICK, buttonMoreLoopsClicked);
OptionsMC.selectedMetronome.visible = doMetronome;
SongToString();
}
static function RenderTweakVars(){
if ((debugMode & 32) == 0){
return;
};
TweakVars.Render();
}
static function OutputObjPos(){
var _local1:int;
var _local2:GameObj;
_local1 = 0;
for each (_local2 in GameObjects.objs) {
if (((_local2.active) && ((_local2.type == GameObj.gotype_OBJ)))){
trace((((((((("SetObjPos(" + _local1.toString()) + ",") + int(_local2.xpos).toString()) + ",") + int(_local2.ypos).toString()) + ", ") + int(_local2.zpos)) + ");"));
_local1++;
};
};
}
public static function AddGameMessage(_arg1:String, _arg2:Number=0){
var _local3:GameObj;
trace(("adding message: " + _arg1));
_local3 = GameObjects.AddObj(GameObj.gotype_MESSAGE, 300, (50 + _arg2), 100);
_local3.InitMessage(_arg1, 1);
}
static function RenderPlayerInfo(){
var _local1:String;
var _local2:GameObj;
if ((debugMode & 16) == 0){
return;
};
_local2 = goPlayer;
_local1 = ((("Speed: " + Utils.DP2(_local2.driveVec.speed)) + " / ") + Utils.DP2(_local2.movementVec.speed));
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 10, 10, _local1, null);
_local1 = ("MaxSpeed: " + Utils.DP2(_local2.currentMaxSpeed));
GraphicObjects.RenderStringAt(main.screenBD, GraphicObjects.gfx_font1, 10, 30, _local1, null);
}
static function UpdateTweakVars(){
if ((debugMode & 32) == 0){
return;
};
TweakVars.Update();
}
public static function AddScore(_arg1:int):void{
currentScore = (currentScore + (_arg1 * multiplier));
}
static function optionsButtonPressed(_arg1:MouseEvent){
InitOptionsScreen();
}
static function ToHexString(_arg1:int, _arg2:int):String{
var _local3:String;
var _local4:Array;
var _local5:Array;
var _local6:int;
var _local7:String;
var _local8:int;
_local3 = "";
_local4 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
_local5 = new Array();
_local6 = 0;
while (_local6 < _arg2) {
_local8 = _arg1;
_arg1 = (_arg1 >> 4);
_local8 = (_local8 & 15);
_local5.push(_local4[_local8]);
_local6++;
};
_local5.reverse();
for each (_local7 in _local5) {
_local3 = (_local3 + _local7);
};
return (_local3);
}
static function AddObj(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:int){
var _local6:GameObj;
_local6 = GameObjects.AddObj(GameObj.gotype_OBJ, _arg4, _arg5, 1000);
_local6.name = _arg1;
_local6.frame = _arg2;
_local6.soundID = _arg3;
_local6.graphicID = GraphicObjects.gfx_objects;
_local6.controlMode = 0;
_local6.objID = _arg2;
numMusicObjs++;
}
static function loopyLoopsButtonPressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://longanimalsgames.com/longanimalsgames/loopyloops.aspx?game=kitchen"), "_blank");
}
static function SetObjPos(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:int;
var _local6:GameObj;
_local5 = 0;
for each (_local6 in GameObjects.objs) {
if (((_local6.active) && ((_local6.type == GameObj.gotype_OBJ)))){
if (_local5 == _arg1){
_local6.xpos = _arg2;
_local6.ypos = _arg3;
_local6.zpos = _arg4;
_local6.startx = _arg2;
_local6.starty = _arg3;
};
_local5++;
};
};
}
static function StringToSong(_arg1:String):Boolean{
var _local2:*;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:GameObj;
var _local10:TimeLineEntry;
_local2 = _arg1.length;
if (_local2 < 4){
return (false);
};
_local3 = 0;
_local4 = GetIntFromString(_arg1, _local3, 4);
_local3 = (_local3 + 4);
if (_local4 > 1000){
return (false);
};
_local5 = _arg1.length;
_local5 = (_local5 - 4);
_local5 = (_local5 / 6);
if (_local4 != _local5){
return (false);
};
timeLine.Clear();
_local6 = 0;
while (_local6 < _local4) {
_local7 = GetIntFromString(_arg1, _local3, 4);
_local3 = (_local3 + 4);
_local8 = GetIntFromString(_arg1, _local3, 2);
_local3 = (_local3 + 2);
if (_local7 > timeLine.maxTime){
return (false);
};
if (_local7 < 0){
return (false);
};
if (_local8 < 0){
return (false);
};
if (_local8 >= numMusicObjs){
return (false);
};
_local9 = GetGOFromObjID(_local8);
if (_local9 == null){
return (false);
};
_local10 = timeLine.AddSimple(_local8, _local9.soundID);
if (_local10){
_local10.time = _local7;
_local10.SetPos(timeLine.maxTime);
};
_local6++;
};
return (true);
}
static function Render(){
RenderTimeLine();
}
static function GetGOFromObjID(_arg1:int){
var _local2:GameObj;
for each (_local2 in GameObjects.objs) {
if (((((_local2.active) && ((_local2.type == GameObj.gotype_OBJ)))) && ((_local2.objID == _arg1)))){
return (_local2);
};
};
return (null);
}
public static function ObjectClicked(_arg1:GameObj){
var _local2:TimeLineEntry;
activeGO = _arg1;
_local2 = timeLine.Add(_arg1.objID, _arg1.soundID);
if (_local2){
_local2.SetPos(timeLine.maxTime);
};
}
static function SongToString(){
var _local1:Array;
var _local2:TimeLine;
var _local3:TimeLineEntry;
var _local4:String;
var _local5:String;
_local1 = new Array();
_local2 = timeLine;
_local1.push(ToHexString(_local2.timeList.length, 4));
for each (_local3 in timeLine.timeList) {
_local1.push(ToHexString(_local3.time, 4));
_local1.push(ToHexString(_local3.objectID, 2));
};
_local4 = "";
for each (_local5 in _local1) {
_local4 = (_local4 + _local5);
};
OptionsMC.textImport.text = _local4;
}
static function loadSaveButtonPressed(_arg1:MouseEvent){
var _local2:String;
var _local3:String;
_local2 = _arg1.currentTarget.name;
if (_local2 == "buttonLoad1"){
LoadSong(0);
};
if (_local2 == "buttonLoad2"){
LoadSong(1);
};
if (_local2 == "buttonLoad3"){
LoadSong(2);
};
if (_local2 == "buttonSave1"){
SaveSong(0);
};
if (_local2 == "buttonSave2"){
SaveSong(1);
};
if (_local2 == "buttonSave3"){
SaveSong(2);
};
if (_local2 == "buttonImport"){
trace("hererer");
_local3 = OptionsMC.textImport.text;
if (StringToSong(_local3) == false){
timeLine.Clear();
};
};
}
static function RenderPanel(){
}
static function fpsChangedCallback(_arg1:Number){
main.stage.frameRate = _arg1;
}
}
}//package
Section 20
//GameObj (GameObj)
package {
public class GameObj {
var graphicID:int;
public var xacc:Number;
var xoffset:Number;
public var active:Boolean;
public var hp:int;
var externyvel:Number;
public var xvel:Number;
public var count:int;
var inDraftTimer:Number;
var path:Poly;
public var todir:Number;
var ftime:Number;
var flashTimer:Number;
var shootTimerMax:Number;
public var type:int;
public var ypos:Number;
var minFrame:int;
var maxSpeed:Number;
var timer:Number;
var rotVel:Number;
var yoffset:Number;
public var speed:Number;
public var wheeldir:Number;
var startx:Number;
public var ypos2:Number;
var startz:Number;
var health:Number;
var starty:Number;
public var objID:int;
var boostTimer:Number;
var frame1:Number;
public var movementVec:Vec;
var shootTimer:Number;
public var yacc:Number;
var maxFrame:int;
var frame:Number;
public var soundID:int;
public var controlIndex:int;
public var visible:Boolean;
public var subtype:int;
var flashFlag:Boolean;
public var oldxpos:Number;
public var yvel:Number;
var surfaceID:uint;
var timer1:Number;
public var dir:Number;
var graphicID2:int;
public var radius:Number;
public var hitTimer:Number;
public var zpos:Number;
public var toPosX:Number;
public var controlMode:int;
var draftRadius:Number;
public var name:String;
public var origspeed:Number;
public var toPosY:Number;
public var driveVec:Vec;
var dist:Number;
var main:Main;
public var baseID:int;
var shadowGraphicID:int;
var externxvel:Number;
var messageText:String;
public var xpos2:Number;
var draftX:Number;
public var zpos2:Number;
public var xpos:Number;
public var handleRender:Boolean;
var timerMax:Number;
var shootMissileType:int;
public var oldypos:Number;
public var zvel:Number;
var boostMode:int;
var draftY:Number;
var inFrontZone:Poly;
var xflip:Boolean;
public var explosionType:int;
public var frameVel:Number;
var draftMode:int;
var flashTimerMax:Number;
var parentObj:GameObj;
var currentMaxSpeed:Number;
static const draftMode_IN = 1;
static const gotype_MESSAGE = 2;
static const draftMode_NONE = 0;
static const gotype_OBJ = 1;
static const gotype_BACKGROUND = 0;
public function GameObj(_arg1, _arg2, _arg3){
xpos = _arg2;
ypos = _arg3;
zpos = 1;
zpos2 = 1;
starty = _arg2;
startx = _arg2;
active = false;
main = _arg1;
graphicID = 0;
frame = 0;
frameVel = 0;
controlIndex = 0;
timer = 0;
timer1 = 0;
radius = 24;
minFrame = 0;
maxFrame = 0;
handleRender = true;
flashTimer = 0;
flashFlag = true;
xflip = false;
}
public function UpdateMessage(){
ypos = (ypos - 0.2);
timer--;
if (timer < 0){
active = false;
};
}
public function Update():void{
oldxpos = xpos;
oldypos = ypos;
ftime = main.ftime;
if (type == gotype_BACKGROUND){
xpos = 0;
ypos = 0;
} else {
if (type == gotype_OBJ){
UpdateObj();
};
};
}
public function LimitVel(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = Math.sqrt(((xvel * xvel) + (yvel * yvel)));
_local3 = (xvel / _local2);
_local4 = (yvel / _local2);
if (_local2 > _arg1){
xvel = (_local3 * _arg1);
yvel = (_local4 * _arg1);
};
}
function RandBetween(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.random() * (_arg2 - _arg1));
_local3 = (_local3 + _arg1);
return (_local3);
}
public function GetVelFromDir(_arg1:Number){
xvel = (Math.cos(dir) * _arg1);
yvel = (Math.sin(dir) * _arg1);
}
function DoExternalVel():void{
var _local1:Number;
xpos = (xpos + (externxvel * ftime));
ypos = (ypos + (externyvel * ftime));
_local1 = 0.9;
externxvel = (externxvel * _local1);
externyvel = (externyvel * _local1);
}
public function Init(_arg1:int):void{
var _local2:int;
var _local3:Number;
_local2 = 0;
_local3 = 0;
type = _arg1;
controlMode = _local2;
xvel = _local3;
frame = _local3;
frameVel = _local3;
timer = _local3;
hitTimer = _local3;
hp = 1;
handleRender = true;
visible = true;
shootTimer = _local3;
shootTimerMax = _local3;
externxvel = _local3;
externyvel = _local3;
flashTimer = _local3;
flashFlag = true;
dir = 0;
todir = 0;
health = 1;
zvel = 0;
shadowGraphicID = 0;
}
public function RotDistTowards(_arg1:Number, _arg2:Number):Number{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:Number;
_local3 = 3.141592658;
_local4 = (_local3 * 2);
_local5 = Math.cos(_arg1);
_local6 = Math.sin(_arg1);
_local7 = Math.cos(_arg2);
_local8 = Math.sin(_arg2);
_local9 = ((_local5 * _local8) - (_local7 * _local6));
_local9 = Math.abs(_local9);
return (_local9);
}
function Graph(_arg1:Number, _arg2:int):Number{
var _local3:Number;
if (_arg2 == 0){
_local3 = (_arg1 * (Math.PI * 0.5));
_local3 = Math.sin(_local3);
return (_local3);
};
return (_arg1);
}
function UpdateObj(){
var _local1:Number;
if (controlMode == 0){
};
if (controlMode == 1){
_local1 = ((5 / Number(timerMax)) * Number(timer));
xpos = (startx + Utils.RandBetweenFloat(-(_local1), _local1));
ypos = (starty + Utils.RandBetweenFloat(-(_local1), _local1));
timer--;
if (timer < 0){
xpos = startx;
ypos = starty;
controlMode = 0;
};
};
}
function NormalizeDir(_arg1:Number):Number{
while (_arg1 < 0) {
_arg1 = (_arg1 + (Math.PI * 2));
};
while (_arg1 > (Math.PI * 2)) {
_arg1 = (_arg1 - (Math.PI * 2));
};
return (_arg1);
}
public function PlayAnimationEx():Boolean{
var _local1:Boolean;
_local1 = false;
frame = (frame + frameVel);
if (frame > maxFrame){
frame = maxFrame;
_local1 = true;
};
if (frame < minFrame){
frame = minFrame;
_local1 = true;
};
return (_local1);
}
function DistanceToObj(_arg1:GameObj):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (_arg1.xpos - xpos);
_local3 = (_arg1.ypos - ypos);
_local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
return (_local4);
}
function Anim_FromVel():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:*;
_local1 = GraphicObjects.GetNumFrames(graphicID);
_local2 = xvel;
_local3 = yvel;
_local4 = Math.atan2(_local3, _local2);
frame = ((_local1 / (Math.PI * 2)) * -(_local4));
if (frame < 0){
frame = (frame + _local1);
};
if (frame > _local1){
frame = (frame - _local1);
};
frame = (frame + (_local1 / 2));
if (frame > _local1){
frame = (frame - _local1);
};
}
public function CycleAnimation():void{
var _local1:Number;
var _local2:int;
_local1 = frameVel;
_local2 = GraphicObjects.GetNumFrames(graphicID);
frame = (frame + _local1);
if (frame >= _local2){
frame = (frame - _local2);
};
if (frame < 0){
frame = (frame + _local2);
};
}
function BounceOffWalls(){
var _local1:Number;
var _local2:Number;
_local1 = 0;
_local2 = 1000;
if (xpos > _local2){
xvel = (xvel * -1);
xpos = _local2;
};
if (xpos < _local1){
xvel = (xvel * -1);
xpos = _local1;
};
}
function MakeUnitVel():Number{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = GetLen(xvel, yvel);
_local2 = (xvel / _local1);
_local3 = (yvel / _local1);
xvel = _local2;
yvel = _local3;
return (_local1);
}
public function PlayAnimation():Boolean{
var _local1:int;
_local1 = GraphicObjects.GetNumFrames(graphicID);
frame = (frame + (frameVel * ftime));
if (frame >= _local1){
frame = _local1;
return (true);
};
return (false);
}
function HandleFlash(){
flashTimerMax = 10;
flashTimer = (flashTimer + ftime);
if (flashTimer >= flashTimerMax){
flashTimer = 0.01;
if (flashFlag == false){
flashFlag = true;
} else {
flashFlag = false;
};
};
}
function AddVels(){
var _local1:Number;
var _local2:*;
_local1 = 10;
_local2 = 0.1;
yvel = (yvel + ((_local2 * ftime) * ftime));
if (yvel > _local1){
yvel = _local1;
};
if (yvel < -(_local1)){
yvel = -(_local1);
};
xpos = (xpos + (xvel * ftime));
ypos = (ypos + (yvel * ftime));
}
public function GetDirBetween(_arg1, _arg2, _arg3, _arg4):Number{
var _local5:*;
_local5 = Math.atan2((_arg4 - _arg2), (_arg3 - _arg1));
return (_local5);
}
function DistanceToObj1(_arg1:GameObj, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local4 = (_arg1.xpos - _arg2);
_local5 = (_arg1.ypos - _arg3);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
return (_local6);
}
public function Render(_arg1):void{
if (visible == false){
return;
};
GraphicObjects.RenderAt(graphicID, frame, main.screenBD, xpos, ypos);
}
function RandBetweenRandNeg(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.random() * (_arg2 - _arg1));
_local3 = (_local3 + _arg1);
if (Math.random() < 0.5){
_local3 = -(_local3);
};
return (_local3);
}
public function CycleAnimationEx():Boolean{
var _local1:Boolean;
var _local2:*;
_local1 = false;
frame = (frame + frameVel);
_local2 = (maxFrame - minFrame);
if (frame > maxFrame){
frame = (frame - _local2);
_local1 = true;
};
if (frame < minFrame){
frame = (frame + _local2);
_local1 = true;
};
return (_local1);
}
function SetEdgePos():int{
var _local1:Number;
_local1 = 50;
if (RandBetween(0, 100) < 50){
ypos = RandBetween(0, 1000);
xpos = (0 - _local1);
if (RandBetween(0, 100) < 50){
xpos = (1000 + _local1);
return (1);
};
return (3);
//unresolved jump
};
xpos = RandBetween(0, 1000);
ypos = (0 - _local1);
if (RandBetween(0, 100) < 50){
ypos = (1000 + _local1);
return (2);
};
return (0);
}
public function InitMessage(_arg1:String, _arg2:int=0){
subtype = _arg2;
messageText = _arg1;
timer = 100;
}
function IsInWorld(_arg1:Number):Boolean{
if (xpos < (0 - _arg1)){
return (false);
};
if (ypos < (0 - _arg1)){
return (false);
};
if (xpos > (Game.scrollW + _arg1)){
return (false);
};
if (ypos > (Game.scrollH + _arg1)){
return (false);
};
return (true);
}
public function RotateTowards(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:*;
_local4 = Math.PI;
_local5 = (_local4 * 2);
_local6 = Math.cos(_arg1);
_local7 = Math.sin(_arg1);
_local8 = Math.cos(_arg2);
_local9 = Math.sin(_arg2);
_local10 = ((_local8 * _local7) - (_local6 * _local9));
_local11 = _arg1;
if (_local10 < 0){
_local11 = (_local11 + _arg3);
} else {
if (_local10 > 0){
_local11 = (_local11 - _arg3);
};
};
if (_local11 > _local5){
_local11 = (_local11 - _local5);
};
if (_local11 < 0){
_local11 = (_local11 + _local5);
};
return (_local11);
}
function GetLen(_arg1, _arg2):Number{
var _local3:*;
_local3 = Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2)));
return (_local3);
}
}
}//package
Section 21
//GameObjects (GameObjects)
package {
import flash.events.*;
class GameObjects {
public static var numobjs;
static var m:Main;
public static var zorder:Array;
public static var objs:Array;
public function GameObjGroup(){
}
public static function GetZOrder():int{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Number;
var _local6:Number;
var _local7:int;
_local1 = 0;
while (_local1 < numobjs) {
if (objs[_local1].active == true){
if (objs[_local1].handleRender == true){
zorder[_local3] = _local1;
_local3++;
};
};
_local1++;
};
_local4 = _local3;
_local1 = 0;
while (_local1 < (_local4 - 1)) {
_local2 = (_local1 + 1);
while (_local2 < _local4) {
_local5 = objs[zorder[_local1]].zpos;
_local6 = objs[zorder[_local2]].zpos;
if (_local6 > _local5){
_local7 = zorder[_local1];
zorder[_local1] = zorder[_local2];
zorder[_local2] = _local7;
};
_local2++;
};
_local1++;
};
return (_local4);
}
public static function Update():void{
var _local1:int;
_local1 = 0;
while (_local1 < objs.length) {
if (objs[_local1].active == true){
objs[_local1].Update();
};
_local1++;
};
}
public static function InitOnce(_arg1:Main, _arg2:int){
var _local3:*;
numobjs = _arg2;
m = _arg1;
objs = new Array();
zorder = new Array(numobjs);
_local3 = 0;
while (_local3 < numobjs) {
objs.push(new GameObj(m, 0, 0));
_local3++;
};
}
public static function ClearAll(){
var _local1:int;
_local1 = 0;
while (_local1 < numobjs) {
objs[_local1].active = false;
_local1++;
};
}
public static function AddObj(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number):GameObj{
var _local5:int;
var _local6:GameObj;
_local5 = 0;
while (_local5 < numobjs) {
if (objs[_local5].active == false){
_local6 = objs[_local5];
_local6.active = true;
_local6.zpos = _arg4;
_local6.zpos2 = _arg4;
_local6.xpos = _arg2;
_local6.ypos = _arg3;
_local6.startx = _arg2;
_local6.starty = _arg3;
_local6.startz = _arg4;
_local6.Init(_arg1);
return (objs[_local5]);
};
_local5++;
};
trace("ERROR! NO FREE OBJECTS");
return (null);
}
public static function Render():void{
var _local1:GameObj;
var _local2:Array;
_local2 = new Array();
for each (_local1 in objs) {
if (((_local1.active) && (_local1.visible))){
_local2.push(_local1);
};
};
_local2.sortOn("zpos", (Array.NUMERIC | Array.DESCENDING));
for each (_local1 in _local2) {
_local1.Render(m);
};
}
}
}//package
Section 22
//GraphicObjects (GraphicObjects)
package {
import flash.display.*;
import flash.text.*;
public class GraphicObjects {
public static const gfx_timelinenote = 12;
public static const gfx_timelinemarker = 11;
public static const gfx_font1 = 90;
public static const gfx_timeline = 10;
public static const gfx_fontblack = 93;
public static const gfx_objects = 1;
public static const gfx_background = 0;
public static const gfx_font2 = 91;
public static const gfx_font3 = 92;
static var graphicobjs:Array;
public static var stringCharY:Number;
static var count:int;
public static var stringCharBitmap:Bitmap;
static var idList:Array;
public static var stringCharX:Number;
static var main:Main;
public static function GetBitmap(_arg1, _arg2):Bitmap{
var _local3:int;
_local3 = idList[_arg1];
return (graphicobjs[_local3].frames[_arg2].bitmaps[0]);
}
public static function RenderAt(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Boolean=false){
var _local7:int;
_local7 = idList[_arg1];
graphicobjs[_local7].frames[_arg2].RenderAt(_arg3, _arg4, _arg5, _arg6);
}
public static function Add(_arg1:int, _arg2:DisplayObj):void{
idList[_arg1] = count;
graphicobjs.push(_arg2);
count++;
}
public static function InitOnce(_arg1:Main):void{
main = _arg1;
graphicobjs = new Array();
idList = new Array(100);
count = 0;
AddFont(gfx_font1, main.tf_scorespr);
AddFont(gfx_font2, main.tf_scorespr1);
AddFont(gfx_font3, main.tf_scorespr2);
AddFont(gfx_fontblack, main.tf_scoresprblack);
Add(gfx_background, new DisplayObj(new Background(), 1, 0));
Add(gfx_objects, new DisplayObj(new Objects(), 1, 0));
Add(gfx_timeline, new DisplayObj(new TimeLineMC(), 1, 0));
Add(gfx_timelinemarker, new DisplayObj(new TimeLineMarkerMC(), 1, 0));
Add(gfx_timelinenote, new DisplayObj(new TimeLineNote(), 1, 0));
}
public static function GetPixelAt(_arg1:int, _arg2:int, _arg3:int, _arg4:int):uint{
var _local5:int;
var _local6:Bitmap;
var _local7:int;
var _local8:int;
var _local9:uint;
_local5 = idList[_arg1];
_local6 = graphicobjs[_local5].frames[_arg2].bitmaps[0];
_local7 = graphicobjs[_local5].frames[_arg2].xoffsets[0];
_local8 = graphicobjs[_local5].frames[_arg2].yoffsets[0];
_local9 = _local6.bitmapData.getPixel32((_arg3 - _local7), (_arg4 - _local8));
return (_local9);
}
public static function RenderAtRot(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean){
var _local8:int;
_local8 = idList[_arg1];
if (_arg7){
graphicobjs[_local8].frames[_arg2].RenderAtRotBurned(_arg3, _arg4, _arg5, _arg6);
} else {
graphicobjs[_local8].frames[_arg2].RenderAtRot(_arg3, _arg4, _arg5, _arg6);
};
}
public static function RenderAtAlpha(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number){
var _local7:int;
_local7 = idList[_arg1];
graphicobjs[_local7].frames[_arg2].RenderAtAlpha(_arg3, _arg4, _arg5, _arg6);
}
public static function RenderStringAt(_arg1:BitmapData, _arg2:int, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Object){
var _local7:int;
var _local8:int;
stringCharX = _arg3;
stringCharY = _arg4;
_local7 = 0;
while (_local7 < _arg5.length) {
_local8 = int(_arg5.charCodeAt(_local7));
if (_local8 < 0){
_local8 = 0;
};
if (_local8 > 127){
_local8 = 127;
};
RenderAt(gfx_fontblack, _local8, _arg1, stringCharX, stringCharY);
RenderAt(_arg2, _local8, _arg1, stringCharX, stringCharY);
stringCharBitmap = GetBitmap(_arg2, _local8);
if (_arg6 != null){
_arg6();
} else {
stringCharX = (stringCharX + stringCharBitmap.width);
};
_local7++;
};
}
public static function RenderNumberAt(_arg1:BitmapData, _arg2:int, _arg3:Number, _arg4:Number, _arg5:int){
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:Boolean;
var _local10:int;
var _local11:int;
var _local12:Bitmap;
_local6 = new Array();
_local7 = _arg5;
_local8 = 0;
while (_local8 < 11) {
_local10 = (_local7 % 10);
_local6.push(_local10);
_local7 = (_local7 / 10);
_local8++;
};
_local9 = false;
_local8 = (_local6.length - 1);
while (_local8--) {
_local11 = _local6[_local8];
if ((((_local9 == false)) && (!((_local11 == 0))))){
_local9 = true;
};
if (_local9){
RenderAt(_arg2, (_local11 + 48), _arg1, _arg3, _arg4);
_local12 = GetBitmap(_arg2, (_local11 + 48));
_arg3 = (_arg3 + _local12.width);
};
(_local8 >= 0);
};
return (_arg3);
}
public static function AddFont(_arg1:int, _arg2:TextFormat):void{
var _local3:DisplayObj;
_local3 = new DisplayObj(null, 0, 0);
_local3.CreateFont(_arg2);
idList[_arg1] = count;
graphicobjs.push(_local3);
count++;
}
public static function RenderAtAdditive(_arg1:int, _arg2:int, _arg3:BitmapData, _arg4:Number, _arg5:Number, _arg6:Number){
var _local7:int;
_local7 = idList[_arg1];
graphicobjs[_local7].frames[_arg2].RenderAtAdditive(_arg3, _arg4, _arg5, _arg6);
}
public static function GetNumFrames(_arg1:int):int{
var _local2:int;
_local2 = idList[_arg1];
return (graphicobjs[_local2].frames.length);
}
}
}//package
Section 23
//HelpOverlay (HelpOverlay)
package {
import flash.display.*;
public class HelpOverlay {
static var currentType:String;
static var displayTimer:Number;
static var textQueue:Array;
static var displayedFlags:Array;
static var fps:Number;
static var overlayMC:MovieClip;
static var displayingFlag:Boolean;
static var allowHelpFlag:Boolean;
static var typeQueue:Array;
static var main:MovieClip;
public static function DisplayOnce(_arg1:int, _arg2:String, _arg3:String){
if (_arg1 >= 0x0100){
return;
};
if (displayedFlags[_arg1] == 0){
Display(_arg2, _arg3);
displayedFlags[_arg1] = 1;
};
}
public static function IsBeingDisplayed():Boolean{
return (displayingFlag);
}
public static function InitOnce(_arg1:MovieClip, _arg2:Number){
var _local3:int;
main = _arg1;
fps = _arg2;
displayingFlag = false;
displayTimer = 0;
overlayMC = null;
currentType = "";
allowHelpFlag = true;
typeQueue = new Array();
textQueue = new Array();
displayedFlags = new Array(0x0100);
_local3 = 0;
while (_local3 < 0x0100) {
displayedFlags[_local3] = 0;
_local3++;
};
}
static function AddToQueue(_arg1:String, _arg2:String){
if ((((allowHelpFlag == false)) && ((_arg1 == "standard")))){
return;
};
typeQueue.push(_arg1);
textQueue.push(_arg2);
}
static function RemoveMovieClip(_arg1:MovieClip):void{
main.removeChild(_arg1);
}
static function AddMovieClip(_arg1:Number, _arg2:Number, _arg3:MovieClip):MovieClip{
_arg3.x = _arg1;
_arg3.y = _arg2;
main.addChild(_arg3);
return (_arg3);
}
static function UpdateQueue():void{
var _local1:String;
var _local2:String;
var _local3:MovieClip;
if (displayingFlag == false){
if (typeQueue.length > 0){
_local1 = typeQueue.shift();
_local2 = textQueue.shift();
displayingFlag = true;
displayTimer = (fps * 4);
currentType = _local1;
if (_local1 == "standard"){
};
};
};
}
public static function Update(_arg1:Number){
UpdateQueue();
if (displayingFlag == true){
displayTimer = (displayTimer - _arg1);
if (displayTimer <= 0){
displayingFlag = false;
displayTimer = 0;
RemoveMovieClip(overlayMC);
overlayMC = null;
};
};
}
public static function Display(_arg1:String, _arg2:String){
if ((((allowHelpFlag == false)) && ((_arg1 == "standard")))){
return;
};
AddToQueue(_arg1, _arg2);
}
}
}//package
Section 24
//HelpScreen (HelpScreen)
package {
import flash.display.*;
public dynamic class HelpScreen extends MovieClip {
public var buttonBack:BackButton;
}
}//package
Section 25
//KeyReader (KeyReader)
package {
import flash.display.*;
import flash.events.*;
public class KeyReader {
static const KEY_LEFT = 37;
static const KEY_UP = 38;
static const KEY_DOWN = 40;
static const KEY_3 = 51;
static const KEY_5 = 53;
static const KEY_7 = 55;
static const KEY_1 = 49;
static const KEY_2 = 50;
static const KEY_4 = 52;
static const KEY_6 = 54;
static const KEY_8 = 56;
static const KEY_9 = 57;
static const KEY_A = 65;
static const KEY_B = 66;
static const KEY_C = 67;
static const KEY_E = 69;
static const KEY_F = 70;
static const KEY_G = 71;
static const KEY_H = 72;
static const KEY_I = 73;
static const KEY_J = 74;
static const KEY_D = 68;
static const KEY_M = 77;
static const KEY_N = 78;
static const KEY_O = 79;
static const KEY_P = 80;
static const KEY_Q = 81;
static const KEY_R = 82;
static const KEY_L = 76;
static const KEY_T = 84;
static const KEY_U = 85;
static const KEY_V = 86;
static const KEY_W = 87;
static const KEY_X = 88;
static const KEY_Y = 89;
static const KEY_K = 75;
static const KEY_0 = 58;
static const KEY_Z = 90;
static const KEY_S = 83;
static const KEY_SPACE = 32;
static const KEY_RIGHT = 39;
static var keysPressed:Array;
static var keysDown:Array;
public static function Pressed(_arg1:int):Boolean{
return (keysPressed[_arg1]);
}
static function keyUpListener(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = _arg1.keyCode;
keysDown[_local2] = 0;
}
public static function Down(_arg1:int):Boolean{
return (!((keysDown[_arg1] == 0)));
}
static function keyDownListener(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = _arg1.keyCode;
var _local3 = keysDown;
var _local4 = _local2;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
}
public static function UpdateOncePerFrame():void{
var _local1:int;
_local1 = 0;
while (_local1 < 0x0100) {
if (keysDown[_local1] == 1){
keysPressed[_local1] = true;
var _local2 = keysDown;
var _local3 = _local1;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
} else {
keysPressed[_local1] = false;
};
_local1++;
};
}
public static function InitOnce(_arg1:Stage){
var _local2:int;
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyUpListener);
_arg1.focus = _arg1;
keysDown = new Array(0x0100);
keysPressed = new Array(0x0100);
_local2 = 0;
while (_local2 < 0x0100) {
keysDown[_local2] = int(0);
keysPressed[_local2] = Boolean(false);
_local2++;
};
}
}
}//package
Section 26
//language (language)
package {
import flash.net.*;
public class language {
public static var localConnection = new LocalConnection();
public static var _languageNum:uint = 0;
public static var _languageBox:Array = new Array();
public static var SpillGroupUrl:Array = new Array();
public static function get url2():String{
var _local1:int;
_local1 = 0;
while (_local1 < SpillGroupUrl.length) {
if (localConnection.domain == SpillGroupUrl[_local1]){
return (_languageBox[_languageNum].url2);
};
_local1++;
};
return (_languageBox[_languageNum].url2);
}
public static function get language_nr():int{
return (_languageBox[_languageNum].language_nr);
}
public static function get portal():String{
return (_languageBox[_languageNum].portal);
}
public static function set Language(_arg1:Object):void{
var returnDomain:Function;
var language1:*;
var language2:*;
var language3:*;
var language4:*;
var language5:*;
var language6:*;
var language7:*;
var language8:*;
var language9:*;
var language10:*;
var language11:*;
var language12:*;
var language13:*;
var language14:*;
var language15:*;
var language16:*;
var language17:*;
var language18:*;
var language19:*;
var myList:String;
var myArray:Array;
var domainextention:int;
var domainname:int;
var hostingdomain:*;
var languageVersion = _arg1;
returnDomain = function (_arg1:String):String{
var _local2:String;
var _local3:uint;
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
return (_local2);
};
if (localConnection.domain != "localhost"){
myList = localConnection.domain.split(".");
myArray = myList.split(",");
trace(myArray.length);
domainextention = (myArray.length - 1);
domainname = (myArray.length - 2);
hostingdomain = ((myArray[domainname] + ".") + myArray[domainextention]);
} else {
hostingdomain = "localhost";
};
language1 = new languageItem();
language1.url1 = ("http://www.agame.com/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language1.url2 = "http://www.agame.com/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language1.language_nr = 1;
language1.branding_nr = 1;
language1.portal = "tweens";
_languageBox.push(language1);
language2 = new languageItem();
language2.url1 = "http://www.game.com.cn/moregames/";
language2.url2 = "http://www.game.com.cn/moregames/";
language2.language_nr = 2;
language2.branding_nr = 2;
language2.portal = "game_com_cn";
_languageBox.push(language2);
language3 = new languageItem();
language3.url1 = ("http://www.spel.nl/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language3.url2 = "http://www.spel.nl/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language3.language_nr = 3;
language3.branding_nr = 4;
language3.portal = "tweens";
_languageBox.push(language3);
language4 = new languageItem();
language4.url1 = ("http://www.jeu.fr/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language4.url2 = "http://www.jeu.fr/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language4.language_nr = 4;
language4.branding_nr = 5;
language4.portal = "tweens";
_languageBox.push(language4);
language5 = new languageItem();
language5.url1 = ("http://www.spielen.com/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language5.url2 = "http://www.spielen.com/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language5.language_nr = 5;
language5.branding_nr = 6;
language5.portal = "tweens";
_languageBox.push(language5);
language6 = new languageItem();
language6.url1 = ("http://www.minigry.pl/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language6.url2 = "http://www.minigry.pl/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language6.language_nr = 6;
language6.branding_nr = 14;
language6.portal = "tweens";
_languageBox.push(language6);
language7 = new languageItem();
language7.url1 = ("http://www.spel.eu/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language7.url2 = "http://www.spel.eu/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language7.language_nr = 7;
language7.branding_nr = 9;
language7.portal = "tweens";
_languageBox.push(language7);
language8 = new languageItem();
language8.url1 = ("http://www.giocaregratis.it/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language8.url2 = "http://www.giocaregratis.it/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language8.language_nr = 8;
language8.branding_nr = 8;
language8.portal = "tweens";
_languageBox.push(language8);
language9 = new languageItem();
language9.url1 = ("http://www.zapjuegos.com/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language9.url2 = "http://www.zapjuegos.com/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language9.language_nr = 9;
language9.branding_nr = 3;
language9.portal = "tweens";
_languageBox.push(language9);
language10 = new languageItem();
language10.url1 = ("http://www.clickjogos.com/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language10.url2 = "http://www.clickjogos.com/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language10.language_nr = 11;
language10.branding_nr = 7;
language10.portal = "tweens";
_languageBox.push(language10);
language11 = new languageItem();
language11.url1 = ("http://www.games.co.id/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language11.url2 = "http://www.games.co.id/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language11.language_nr = 13;
language11.branding_nr = 13;
language11.portal = "tweens";
_languageBox.push(language11);
language12 = new languageItem();
language12.url1 = ("http://www.flashgames.ru/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language12.url2 = "http://www.flashgames.ru/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language12.language_nr = 12;
language12.branding_nr = 11;
language12.portal = "tweens";
_languageBox.push(language12);
language13 = new languageItem();
language13.url1 = ("http://www.mygames.co.uk/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language13.url2 = "http://www.mygames.co.uk/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language13.language_nr = 16;
language13.branding_nr = 10;
language13.portal = "tweens";
_languageBox.push(language13);
language14 = new languageItem();
language14.url1 = ("http://www.game.co.in/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language14.url2 = "http://www.game.co.in/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language14.language_nr = 16;
language14.branding_nr = 12;
language14.portal = "tweens";
_languageBox.push(language14);
language15 = new languageItem();
language15.url1 = ("http://www.asoyun.com/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language15.url2 = "http://www.asoyun.com/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language15.language_nr = 14;
language15.branding_nr = 15;
language15.portal = "tweens";
_languageBox.push(language15);
language16 = new languageItem();
language16.url1 = ("http://www.game.com.my/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language16.url2 = "http://www.game.com.my/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language16.language_nr = 15;
language16.branding_nr = 16;
language16.portal = "tweens";
_languageBox.push(language16);
language17 = new languageItem();
language17.url1 = ("http://www.ojogos.pt/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language17.url2 = "http://www.ojogos.pt/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language17.language_nr = 10;
language17.branding_nr = 42;
language17.portal = "family";
_languageBox.push(language17);
language18 = new languageItem();
language18.url1 = ("http://www.laro.com.ph/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language18.url2 = "http://www.laro.com.ph/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language18.language_nr = 16;
language18.branding_nr = 43;
language18.portal = "tweens";
_languageBox.push(language18);
language19 = new languageItem();
language19.url1 = ("http://www.egames.jp/moregames/?utm_source=brandedgames_external&utm_medium=loopyloops_kitchen&utm_campaign=" + hostingdomain);
language19.url2 = "http://www.egames.jp/moregames/?utm_source=brandedgames_internal&utm_medium=loopyloops_kitchen";
language19.language_nr = 17;
language19.branding_nr = 44;
language19.portal = "tweens";
_languageBox.push(language19);
SpillGroupUrl.push("localhost");
SpillGroupUrl.push("www8.agame.com");
if ((((((languageVersion is Number)) || ((languageVersion is uint)))) || ((languageVersion is int)))){
_languageNum = (Number(languageVersion) - 1);
};
}
public static function get url1():String{
var _local1:int;
_local1 = 0;
while (_local1 < SpillGroupUrl.length) {
if (localConnection.domain == SpillGroupUrl[_local1]){
return (_languageBox[_languageNum].url2);
};
_local1++;
};
return (_languageBox[_languageNum].url1);
}
public static function get branding_nr():String{
return (_languageBox[_languageNum].branding_nr);
}
}
}//package
class languageItem {
public var url1:String;
public var url2:String;
public var branding_nr:int;
public var language_nr:int;
public var portal:String;
private function languageItem(){
}
}
Section 27
//Licensors (Licensors)
package {
import flash.display.*;
public class Licensors {
public static const LICENSOR_MINDJOLT_VIRAL = 11;
public static const LICENSOR_SHOCKWAVE = 12;
public static const LICENSOR_BIGFISH = 7;
public static const LICENSOR_CANDYSTAND = 14;
public static const LICENSOR_GAMEJACKET = 16;
public static const LICENSOR_KONGREGATE = 1;
public static const LICENSOR_MINDJOLT = 4;
public static const LICENSOR_DOOF = 3;
public static const LICENSOR_MINICLIP = 2;
public static const LICENSOR_MINDJOLT_MOCHI_VIRAL = 13;
public static const LICENSOR_MINIJUEGOS = 10;
public static const LICENSOR_GAMEZHERO = 8;
public static const LICENSOR_ADDICTINGGAMES = 9;
public static const LICENSOR_NONE = 0;
public static const LICENSOR_SPIL = 15;
public static const LICENSOR_NONOBA = 5;
public static const LICENSOR_OURWORLD = 6;
static var licensor:int = 15;
public static function InitOnceFromTimeline(_arg1:Stage):void{
}
public static function GetHighScoreType():int{
return (0);
}
public static function GetLicensor():int{
return (licensor);
}
public static function InitOnceInCode(_arg1:Main){
}
public static function SetLicensor(_arg1:int):void{
licensor = _arg1;
}
public static function CanUseMochiAds():Boolean{
if (licensor == LICENSOR_NONE){
return (true);
};
if (licensor == LICENSOR_KONGREGATE){
return (true);
};
if (licensor == LICENSOR_MINICLIP){
return (false);
};
if (licensor == LICENSOR_DOOF){
return (false);
};
if (licensor == LICENSOR_MINDJOLT){
return (true);
};
if (licensor == LICENSOR_MINDJOLT_VIRAL){
return (false);
};
if (licensor == LICENSOR_MINDJOLT_MOCHI_VIRAL){
return (false);
};
if (licensor == LICENSOR_NONOBA){
return (true);
};
if (licensor == LICENSOR_OURWORLD){
return (false);
};
if (licensor == LICENSOR_BIGFISH){
return (false);
};
if (licensor == LICENSOR_GAMEZHERO){
return (false);
};
if (licensor == LICENSOR_ADDICTINGGAMES){
return (false);
};
if (licensor == LICENSOR_MINIJUEGOS){
return (true);
};
if (licensor == LICENSOR_SHOCKWAVE){
return (false);
};
if (licensor == LICENSOR_CANDYSTAND){
return (false);
};
if (licensor == LICENSOR_SPIL){
return (false);
};
if (licensor == LICENSOR_GAMEJACKET){
return (false);
};
return (true);
}
}
}//package
Section 28
//Line (Line)
package {
import flash.geom.*;
public class Line {
public var nx:Number;
public var ny:Number;
public var dir:Number;
public var dy:Number;
public var y0:Number;
public var y1:Number;
public var dx:Number;
public var normalDir:Number;
public var length:Number;
public var boundingRect:Rectangle;
public var x0:Number;
public var x1:Number;
public function Line(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
x0 = _arg1;
y0 = _arg2;
x1 = _arg3;
y1 = _arg4;
CalcNormal();
CalcBoundingRect();
}
function CalcNormal():void{
dir = Math.atan2((y1 - y0), (x1 - x0));
normalDir = (dir - (Math.PI * 0.5));
nx = Math.cos(normalDir);
ny = Math.sin(normalDir);
dx = (x1 - x0);
dy = (y1 - y0);
length = Math.sqrt(((dx * dx) + (dy * dy)));
}
function CalcBoundingRect():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = x0;
_local2 = x1;
if (_local1 > _local2){
_local1 = x1;
_local2 = x0;
};
_local3 = y0;
_local4 = y1;
if (_local3 > _local4){
_local3 = y1;
_local4 = y0;
};
boundingRect = new Rectangle(_local1, _local3, ((_local2 - _local1) + 1), ((_local4 - _local3) + 1));
}
}
}//package
Section 29
//LoopyLoopsButton (LoopyLoopsButton)
package {
import flash.display.*;
public dynamic class LoopyLoopsButton extends SimpleButton {
}
}//package
Section 30
//Main (Main)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class Main extends MovieClip {
public var tf_scorespr:TextFormat;
var framecounter:int;// = 0
public var tf_scorespr2:TextFormat;
var cheatMode:Boolean;
var debugTxt:TextField;
var levelTimer:Number;
var ftime:Number;
public var tf_scorespr1:TextFormat;
private var screenB:Bitmap;
public var backgroundMC:MovieClip;
var levelTimerMax:Number;
public var mochiScores;
var scoretxt:TextField;
public var screenBD:BitmapData;
var debugMode:Boolean;// = false
var gameState:int;// = 0
var currentTime:Number;// = 0
var secondCounter:Number;// = 0
public var fps:Number;
public var tf_scoresprblack:TextFormat;
static const gameState_HIGHSCORES = 5;
static const gameState_TITLE = 0;
static const gameState_LEVEL_PLAY = 2;
public static var theStage:Stage;
static var theRoot:MovieClip;
public function Main(){
currentTime = 0;
debugMode = false;
gameState = gameState_TITLE;
framecounter = 0;
secondCounter = 0;
super();
theRoot = this;
theStage = this.root.stage;
SetEverythingUpOnce();
}
function calcFrameTime(){
var _local1:Number;
_local1 = currentTime;
currentTime = getTimer();
if (currentTime < _local1){
_local1 = (currentTime - 100);
};
if (currentTime > (_local1 + (100 * 10))){
_local1 = (100 * 10);
};
ftime = ((1 / (1000 / Defs.fps)) * (currentTime - _local1));
framecounter++;
secondCounter = (secondCounter + (currentTime - _local1));
if (secondCounter > 1000){
fps = ((Number(framecounter) / secondCounter) * 1000);
framecounter = 0;
secondCounter = 0;
};
ftime = 1;
}
private function CreateTextField(_arg1:TextFormat, _arg2:Number, _arg3:Number, _arg4:String):TextField{
var _local5:TextField;
_local5 = new TextField();
_local5.selectable = false;
_local5.embedFonts = true;
_local5.autoSize = TextFieldAutoSize.CENTER;
_local5.x = _arg2;
_local5.y = _arg3;
_local5.text = _arg4;
_local5.setTextFormat(_arg1);
addChild(_local5);
return (_local5);
}
function AddMovieClip(_arg1:Number, _arg2:Number, _arg3:MovieClip):MovieClip{
_arg3.x = _arg1;
_arg3.y = _arg2;
addChild(_arg3);
return (_arg3);
}
function InitLevel(){
InitStageForGame();
Overlay.StartFadeIn(null);
Particles.Reset();
MouseControl.Reset();
Particles.Reset();
GameObjects.ClearAll();
Game.InitLevel();
}
function run(_arg1:Event):void{
KeyReader.UpdateOncePerFrame();
if (Domain.IsLockedOut()){
};
calcFrameTime();
Overlay.Update();
switch (gameState){
case gameState_TITLE:
TitleScreenState.Update(this);
break;
case gameState_HIGHSCORES:
break;
case gameState_LEVEL_PLAY:
RunLevel();
break;
};
}
function SetEverythingUpOnce():void{
addEventListener(Event.ENTER_FRAME, run);
MusicPlayer.InitOnce();
KeyReader.InitOnce(theStage);
MouseControl.InitOnce(theStage);
SoundPlayer.InitOnce(this);
PauseMenu.InitOnce(this);
Particles.InitOnce(this, 1000);
GameObjects.InitOnce(this, 300);
InitDrawScreen();
InitFonts();
GraphicObjects.InitOnce(this);
Overlay.InitOnce(this, null, null);
HelpOverlay.InitOnce(this, Defs.fps);
TweakVars.InitOnce(this);
MochiBot.track(this, "d89b1527");
InitStage();
Game.Init(this);
SetGameState(gameState_LEVEL_PLAY);
}
function InitFonts():void{
var _local1:Font;
_local1 = new Font20();
tf_scorespr = new TextFormat();
tf_scorespr1 = new TextFormat();
tf_scorespr2 = new TextFormat();
tf_scoresprblack = new TextFormat();
tf_scorespr.font = _local1.fontName;
tf_scorespr.size = 26;
tf_scorespr.color = 4294901760;
tf_scorespr1.font = _local1.fontName;
tf_scorespr1.size = 26;
tf_scorespr1.color = 4294967295;
tf_scorespr2.font = _local1.fontName;
tf_scorespr2.size = 26;
tf_scorespr2.color = 4294967040;
tf_scoresprblack.font = _local1.fontName;
tf_scoresprblack.size = 28;
tf_scoresprblack.color = 0;
}
function InitStage(){
var _local1:int;
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
removeChildAt(_local1);
_local1--;
};
addChild(screenB);
screenB.x = 0;
screenB.y = 0;
}
function Render(){
this.x = 0;
this.y = 0;
GameObjects.Render();
Game.Render();
Game.RenderPanel();
Particles.Render(this);
}
function InitDrawScreen():void{
screenBD = new BitmapData(Defs.displayarea_w, Defs.displayarea_h, true, 0);
screenB = new Bitmap(screenBD);
}
function InitStageNoBackground(){
var _local1:int;
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
removeChildAt(_local1);
_local1--;
};
}
function InitStageForGame(){
var _local1:int;
_local1 = (this.numChildren - 1);
while (_local1 >= 0) {
removeChildAt(_local1);
_local1--;
};
addChild(screenB);
screenB.x = 0;
screenB.y = 0;
}
function RunTitle(){
}
function SetGameState(_arg1:int):void{
gameState = _arg1;
Mouse.show();
switch (gameState){
case gameState_TITLE:
TitleScreenState.Init(this);
break;
case gameState_HIGHSCORES:
break;
case gameState_LEVEL_PLAY:
InitLevel();
break;
};
}
function RunLevel(){
if (KeyReader.Pressed(KeyReader.KEY_P)){
if (PauseMenu.IsPaused()){
PauseMenu.Unpause();
} else {
PauseMenu.Pause();
};
};
HelpOverlay.Update(ftime);
if (PauseMenu.IsPaused() == false){
Game.UpdateGameplay();
};
Render();
}
}
}//package
Section 31
//MetronomeSound (MetronomeSound)
package {
import flash.media.*;
public dynamic class MetronomeSound extends Sound {
}
}//package
Section 32
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.3");
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
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);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
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{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
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];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_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++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
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();
};
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{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}};
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_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
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;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_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.adLoaded = options.ad_loaded;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = 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;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_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){
options.ad_failed();
_local3 = true;
};
};
};
if (this.parent._mochiad_ctr_failed){
options.ad_failed();
_local3 = true;
};
if (_local2 > chk.ad_msec){
_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{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("5cc6f7dfb67f2f08341c831480f7c2a7".length == 0){
options.ad_started();
options.ad_finished();
return;
};
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_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
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{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
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.adLoaded = options.ad_loaded;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = 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)) || (!(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;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_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){
options.ad_failed();
_local4 = true;
};
};
};
if (this.parent._mochiad_ctr_failed){
options.ad_failed();
_local4 = true;
};
if (_local3 > chk.ad_msec){
_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{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
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 {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 33
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 34
//MouseControl (MouseControl)
package {
import flash.display.*;
import flash.events.*;
public class MouseControl {
public static var mouseVelX:Number = 0;
public static var mouseVelY:Number = 0;
public static var mouseOldPosX:Number = 0;
public static var mouseOldPosY:Number = 0;
public static var mousePosX:Number = 0;
public static var mousePosY:Number = 0;
public static var buttonPressed:Boolean = false;
public static var buttonReleased:Boolean = false;
public static function MouseHandler(_arg1:MouseEvent):void{
mousePosX = _arg1.stageX;
mousePosY = _arg1.stageY;
mouseVelX = (mousePosX - mouseOldPosX);
mouseVelY = (mousePosY - mouseOldPosY);
mouseOldPosX = mousePosX;
mouseOldPosY = mousePosY;
}
public static function InitOnce(_arg1:Stage):void{
_arg1.addEventListener(MouseEvent.MOUSE_MOVE, MouseHandler);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, MouseClickHandler);
_arg1.addEventListener(MouseEvent.MOUSE_UP, MouseUpHandler);
}
public static function MouseUpHandler(_arg1:MouseEvent):void{
buttonPressed = false;
buttonReleased = true;
}
public static function Reset():void{
buttonPressed = false;
buttonReleased = false;
}
public static function MouseClickHandler(_arg1:MouseEvent):void{
buttonPressed = true;
buttonReleased = false;
}
}
}//package
Section 35
//MusicPlayer (MusicPlayer)
package {
import flash.media.*;
public class MusicPlayer {
static var musicChannel:SoundChannel = null;
static var musicSound1:Sound;
static var musicSoundTransform:SoundTransform;
static var musicSound:Sound;
static var musicSoundTransform1:SoundTransform;
static var lastMusicID = -1;
static var musicChannel1:SoundChannel = null;
static var currentMusicID:int = -1;
static var doMusic:Boolean = true;
public static function PauseMusic(){
musicChannel.stop();
}
public static function StartMusic(_arg1:int){
}
public static function InitOnce():void{
doMusic = true;
lastMusicID = -1;
currentMusicID = -1;
}
public static function ResumeMusic(){
currentMusicID = (lastMusicID - 1);
StartMusic(lastMusicID);
}
}
}//package
Section 36
//Objects (Objects)
package {
import flash.display.*;
public dynamic class Objects extends MovieClip {
}
}//package
Section 37
//OptionsButton (OptionsButton)
package {
import flash.display.*;
public dynamic class OptionsButton extends SimpleButton {
}
}//package
Section 38
//OptionsScreen (OptionsScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class OptionsScreen extends MovieClip {
public var buttonLoad1:SimpleButton;
public var buttonLoad2:SimpleButton;
public var textImport:TextField;
public var buttonClear:SimpleButton;
public var buttonSave2:SimpleButton;
public var buttonSave3:SimpleButton;
public var selectedMetronome:SelectedMark;
public var buttonImport:SimpleButton;
public var buttonSave1:SimpleButton;
public var buttonLoad3:SimpleButton;
public var buttonHelp:SimpleButton;
public var buttonMetronome:Tick;
public var buttonSlower:SimpleButton;
public var buttonCopy:SimpleButton;
public var buttonFaster:SimpleButton;
public var buttonMoreLoops:SimpleButton;
public var backButton:BackButton;
}
}//package
Section 39
//Overlay (Overlay)
package {
import flash.display.*;
public class Overlay {
static var callback:Object;
static var parent:MovieClip;
static var fadingOut:Boolean;
static var mcOut:MovieClip;
static var mcIn:MovieClip;
static var fadingIn:Boolean;
public static function InitOnce(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip){
fadingIn = false;
fadingOut = false;
AddClips(_arg1, _arg2, _arg3);
}
public static function Update():void{
if (fadingOut == true){
mcOut.nextFrame();
if (mcOut.currentFrame == mcOut.totalFrames){
fadingOut = false;
parent.removeChild(mcOut);
if (callback != null){
callback();
};
};
};
if (fadingIn == true){
mcIn.nextFrame();
if (mcIn.currentFrame == mcIn.totalFrames){
parent.removeChild(mcIn);
fadingIn = false;
if (callback != null){
callback();
};
};
};
}
public static function StartFadeIn(_arg1:Object):void{
if (mcIn == null){
return;
};
callback = _arg1;
parent.addChild(mcIn);
mcIn.gotoAndStop(0);
fadingIn = true;
}
public static function AddClips(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip):void{
mcIn = _arg3;
mcOut = _arg2;
parent = _arg1;
}
public static function IsActive():Boolean{
if (fadingIn == true){
return (true);
};
if (fadingOut == true){
return (true);
};
return (false);
}
public static function StartFadeOut(_arg1:Object):void{
if (mcOut == null){
return;
};
callback = _arg1;
parent.addChild(mcOut);
mcOut.gotoAndStop(0);
fadingOut = true;
}
}
}//package
Section 40
//Particle (Particle)
package {
class Particle {
var graphicID:int;
public var yvel:Number;
var timer:Number;
var active:Boolean;
var maxframe:int;
var counter:int;
var speed:Number;
var dir:Number;
var xpos:Number;
var alpha:Number;
var alphaAdd:Number;
public var xvel:Number;
var m:Main;
var color:uint;
var frame:Number;
var frameVel:Number;
var visible:Boolean;
var type:int;
var ypos:Number;
function PlayAnimation():Boolean{
frame = (frame + frameVel);
if (frame >= maxframe){
frame = maxframe;
return (true);
};
return (false);
}
function Update(_arg1:Number){
var _local2:Number;
var _local3:Number;
_local3 = 0.05;
if (type == Particles.type_note){
xpos = (xpos + xvel);
ypos = (ypos + yvel);
yvel = (yvel + _local3);
if (timer < 0){
active = false;
};
};
}
}
}//package
Section 41
//Particles (Particles)
package {
import flash.geom.*;
public class Particles {
public static const type_note = 0;
static var max:int;
static var list:Array;
static var cols:Array;
static var main:Main;
static var nextIndex:int;
public function Particles():void{
}
public static function Add(_arg1:int, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Particle{
var _local6:Number;
var _local7:Number;
var _local8:Particle;
_local8 = list[nextIndex];
nextIndex++;
if (nextIndex >= max){
nextIndex = 0;
};
_local8.active = true;
_local8.timer = 0;
_local8.type = _arg1;
_local8.alpha = 1;
_local8.alphaAdd = 0;
_local8.visible = true;
if (_arg1 == type_note){
_local8.xpos = _arg2;
_local8.ypos = _arg3;
_local8.dir = Utils.RandCircle();
_local8.dir = (_local8.dir + Utils.RandBetweenFloat(-0.02, 0.02));
_local8.speed = Utils.RandBetweenFloat(1, 2);
_local8.xvel = (Math.cos(_local8.dir) * _local8.speed);
_local8.yvel = (Math.sin(_local8.dir) * _local8.speed);
_local8.graphicID = 0;
_local8.alpha = 0.5;
_local8.frame = 0;
_local8.frameVel = Utils.RandBetweenFloat(0.2, 0.5);
_local8.alphaAdd = Utils.RandBetweenFloat(-0.01, -0.03);
_local8.color = cols[Utils.RandBetweenInt(0, (cols.length - 1))];
_local8.timer = Utils.RandBetweenInt(20, 50);
};
return (_local8);
}
public static function GetNextIndex():int{
return (nextIndex);
}
public static function Reset(){
var _local1:int;
nextIndex = 0;
_local1 = 0;
while (_local1 < max) {
list[_local1].active = false;
_local1++;
};
}
public static function Update(_arg1:Number){
var _local2:int;
var _local3:Particle;
_local2 = 0;
while (_local2 < max) {
_local3 = list[_local2];
if (_local3.active == true){
_local3.Update(_arg1);
};
_local2++;
};
}
public static function InitOnce(_arg1:Main, _arg2:int):void{
var _local3:int;
cols = new Array();
main = _arg1;
max = _arg2;
nextIndex = 0;
list = new Array(max);
_local3 = 0;
while (_local3 < max) {
list[_local3] = new Particle();
list[_local3].active = false;
_local3++;
};
cols.push(4294901760);
cols.push(4278255360);
cols.push(4278190335);
cols.push(4278255615);
cols.push(4294967040);
cols.push(4294902015);
cols.push(4294967295);
}
public static function CountActive():int{
var _local1:int;
var _local2:int;
_local1 = 0;
_local2 = 0;
while (_local2 < max) {
if (list[_local2].active){
_local1++;
};
_local2++;
};
return (_local1);
}
public static function Render(_arg1:Main){
var _local2:int;
var _local3:Particle;
var _local4:Number;
var _local5:Number;
_local2 = 0;
while (_local2 < max) {
_local3 = list[_local2];
if (((_local3.active) && (_local3.visible))){
_local4 = (_local3.xpos - Game.scrollX);
_local5 = (_local3.ypos - Game.scrollY);
_arg1.screenBD.fillRect(new Rectangle(_local3.xpos, _local3.ypos, 2, 2), _local3.color);
};
_local2++;
};
}
}
}//package
Section 42
//PauseMenu (PauseMenu)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.geom.*;
import flash.net.*;
import flash.ui.*;
public class PauseMenu {
static var active:Boolean;
static var pauseMC:MovieClip;
static var main:Main;
public function PauseMenu():void{
}
public static function buttonSoundPressed(_arg1:MouseEvent){
if (SoundPlayer.doSFX == false){
pauseMC.soundToggle.gotoAndStop("on");
SoundPlayer.doSFX = true;
} else {
pauseMC.soundToggle.gotoAndStop("off");
SoundPlayer.doSFX = false;
};
}
static function AddMovieClip(_arg1:Number, _arg2:Number, _arg3:MovieClip):MovieClip{
_arg3.x = _arg1;
_arg3.y = _arg2;
main.addChild(_arg3);
return (_arg3);
}
public static function InitOnce(_arg1:Main):void{
main = _arg1;
active = false;
}
public static function Pause():void{
Mouse.show();
main.addChild(pauseMC);
pauseMC.soundBtn.addEventListener(MouseEvent.CLICK, buttonSoundPressed);
active = true;
}
public static function IsPaused():Boolean{
return (active);
}
public static function Unpause():void{
Mouse.hide();
active = false;
main.removeChild(pauseMC);
}
}
}//package
Section 43
//Poly (Poly)
package {
import flash.geom.*;
public class Poly {
var param0:String;
var param1:String;
var subTypeName:String;
var active:Boolean;
var name:String;
var typeName:String;
var boundingRectangle:Rectangle;
var iparam0:int;
var lineList:Array;
var hitCallback:Object;
var type:int;
public static const polytype_CHECKPOINT = 7;
public static const polytype_WALL = 0;
public static const polytype_ZONE = 2;
public static const polytype_OVERLAY = 4;
public static const polytype_PATH = 3;
public static const polytype_TRIGGER = 1;
public function Poly(_arg1:String, _arg2:int):void{
lineList = new Array();
active = true;
type = _arg2;
name = _arg1;
boundingRectangle = null;
hitCallback = null;
}
public function Finish(_arg1:Boolean){
var _local2:Line;
var _local3:Line;
var _local4:Line;
var _local5:Rectangle;
if (_arg1){
_local2 = lineList[0];
_local3 = lineList[(lineList.length - 1)];
_local4 = new Line(_local3.x1, _local3.y1, _local2.x0, _local2.y0);
lineList.push(_local4);
_local5 = boundingRectangle.clone();
boundingRectangle = _local5.union(_local4.boundingRect);
};
}
public function GetPoint(_arg1:int):Point{
return (new Point(lineList[_arg1].x0, lineList[_arg1].y0));
}
public function GetPointNormal(_arg1:int):Point{
return (new Point(lineList[_arg1].nx, lineList[_arg1].ny));
}
public function AddLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Line;
var _local6:Rectangle;
_local5 = new Line(_arg1, _arg2, _arg3, _arg4);
lineList.push(_local5);
if (boundingRectangle == null){
boundingRectangle = _local5.boundingRect;
} else {
_local6 = boundingRectangle.clone();
boundingRectangle = _local6.union(_local5.boundingRect);
};
}
public function GetLine(_arg1:int):Line{
return (lineList[_arg1]);
}
public function GetNumPoints():int{
return ((lineList.length - 1));
}
public static function FindIndexByName(_arg1:String, _arg2:Array):int{
var _local3:int;
var _local4:Poly;
_local3 = 0;
for each (_local4 in _arg2) {
if (_local4.name == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public static function FindAllByType(_arg1:int, _arg2:Array):Array{
var _local3:Array;
var _local4:Poly;
_local3 = new Array();
for each (_local4 in _arg2) {
if (_local4.type == _arg1){
_local3.push(_local4);
};
};
return (_local3);
}
public static function FindByName(_arg1:String, _arg2:Array):Poly{
var _local3:Poly;
for each (_local3 in _arg2) {
if (_local3.name == _arg1){
return (_local3);
};
};
return (null);
}
}
}//package
Section 44
//SelectedMark (SelectedMark)
package {
import flash.display.*;
public dynamic class SelectedMark extends MovieClip {
}
}//package
Section 45
//Sound_0 (Sound_0)
package {
import flash.media.*;
public dynamic class Sound_0 extends Sound {
}
}//package
Section 46
//Sound_1 (Sound_1)
package {
import flash.media.*;
public dynamic class Sound_1 extends Sound {
}
}//package
Section 47
//Sound_10 (Sound_10)
package {
import flash.media.*;
public dynamic class Sound_10 extends Sound {
}
}//package
Section 48
//Sound_11 (Sound_11)
package {
import flash.media.*;
public dynamic class Sound_11 extends Sound {
}
}//package
Section 49
//Sound_12 (Sound_12)
package {
import flash.media.*;
public dynamic class Sound_12 extends Sound {
}
}//package
Section 50
//Sound_13 (Sound_13)
package {
import flash.media.*;
public dynamic class Sound_13 extends Sound {
}
}//package
Section 51
//Sound_14 (Sound_14)
package {
import flash.media.*;
public dynamic class Sound_14 extends Sound {
}
}//package
Section 52
//Sound_15 (Sound_15)
package {
import flash.media.*;
public dynamic class Sound_15 extends Sound {
}
}//package
Section 53
//Sound_16 (Sound_16)
package {
import flash.media.*;
public dynamic class Sound_16 extends Sound {
}
}//package
Section 54
//Sound_17 (Sound_17)
package {
import flash.media.*;
public dynamic class Sound_17 extends Sound {
}
}//package
Section 55
//Sound_18 (Sound_18)
package {
import flash.media.*;
public dynamic class Sound_18 extends Sound {
}
}//package
Section 56
//Sound_19 (Sound_19)
package {
import flash.media.*;
public dynamic class Sound_19 extends Sound {
}
}//package
Section 57
//Sound_2 (Sound_2)
package {
import flash.media.*;
public dynamic class Sound_2 extends Sound {
}
}//package
Section 58
//Sound_20 (Sound_20)
package {
import flash.media.*;
public dynamic class Sound_20 extends Sound {
}
}//package
Section 59
//Sound_21 (Sound_21)
package {
import flash.media.*;
public dynamic class Sound_21 extends Sound {
}
}//package
Section 60
//Sound_22 (Sound_22)
package {
import flash.media.*;
public dynamic class Sound_22 extends Sound {
}
}//package
Section 61
//Sound_23 (Sound_23)
package {
import flash.media.*;
public dynamic class Sound_23 extends Sound {
}
}//package
Section 62
//Sound_24 (Sound_24)
package {
import flash.media.*;
public dynamic class Sound_24 extends Sound {
}
}//package
Section 63
//Sound_25 (Sound_25)
package {
import flash.media.*;
public dynamic class Sound_25 extends Sound {
}
}//package
Section 64
//Sound_26 (Sound_26)
package {
import flash.media.*;
public dynamic class Sound_26 extends Sound {
}
}//package
Section 65
//Sound_27 (Sound_27)
package {
import flash.media.*;
public dynamic class Sound_27 extends Sound {
}
}//package
Section 66
//Sound_28 (Sound_28)
package {
import flash.media.*;
public dynamic class Sound_28 extends Sound {
}
}//package
Section 67
//Sound_29 (Sound_29)
package {
import flash.media.*;
public dynamic class Sound_29 extends Sound {
}
}//package
Section 68
//Sound_3 (Sound_3)
package {
import flash.media.*;
public dynamic class Sound_3 extends Sound {
}
}//package
Section 69
//Sound_30 (Sound_30)
package {
import flash.media.*;
public dynamic class Sound_30 extends Sound {
}
}//package
Section 70
//Sound_31 (Sound_31)
package {
import flash.media.*;
public dynamic class Sound_31 extends Sound {
}
}//package
Section 71
//Sound_32 (Sound_32)
package {
import flash.media.*;
public dynamic class Sound_32 extends Sound {
}
}//package
Section 72
//Sound_33 (Sound_33)
package {
import flash.media.*;
public dynamic class Sound_33 extends Sound {
}
}//package
Section 73
//Sound_34 (Sound_34)
package {
import flash.media.*;
public dynamic class Sound_34 extends Sound {
}
}//package
Section 74
//Sound_4 (Sound_4)
package {
import flash.media.*;
public dynamic class Sound_4 extends Sound {
}
}//package
Section 75
//Sound_5 (Sound_5)
package {
import flash.media.*;
public dynamic class Sound_5 extends Sound {
}
}//package
Section 76
//Sound_6 (Sound_6)
package {
import flash.media.*;
public dynamic class Sound_6 extends Sound {
}
}//package
Section 77
//Sound_7 (Sound_7)
package {
import flash.media.*;
public dynamic class Sound_7 extends Sound {
}
}//package
Section 78
//Sound_8 (Sound_8)
package {
import flash.media.*;
public dynamic class Sound_8 extends Sound {
}
}//package
Section 79
//Sound_9 (Sound_9)
package {
import flash.media.*;
public dynamic class Sound_9 extends Sound {
}
}//package
Section 80
//SoundPlayer (SoundPlayer)
package {
import flash.media.*;
import flash.utils.*;
public class SoundPlayer {
public static const SOUND_METRONOME = 34;
public static const minPlayTime = 3;
public static const SOUND_OBJECTS = 0;
static const maxSounds = 6;
public static const SOUND_MAX = 6;
static var channel:SoundChannel;
static var timer:Timer;
static var active = false;
static var doSFX:Boolean;
public static var startTimes:Array;
public static var sound:Sound;
public static var lengths:Array;
public static var sounds:Array;
public static var soundTransform:SoundTransform;
static var Instances:Array;
public static var soundTransforms:Array;
static var main:Main;
static var playingFlag:Boolean;
public static var soundChannels:Array;
static function AddSound(_arg1:Number, _arg2:Number){
startTimes.push((_arg1 * 1000));
lengths.push((_arg2 * 1000));
sounds.push(null);
}
public static function InitOnce(_arg1:Main):void{
var _local2:int;
var _local3:SoundPlay;
doSFX = true;
main = _arg1;
Instances = new Array(maxSounds);
_local2 = 0;
while (_local2 < maxSounds) {
_local3 = new SoundPlay();
_local3.Clear();
Instances[_local2] = _local3;
_local2++;
};
startTimes = new Array();
lengths = new Array();
sounds = new Array();
soundChannels = new Array();
soundTransforms = new Array();
AddSound1(new Sound_0());
AddSound1(new Sound_1());
AddSound1(new Sound_2());
AddSound1(new Sound_3());
AddSound1(new Sound_4());
AddSound1(new Sound_5());
AddSound1(new Sound_6());
AddSound1(new Sound_7());
AddSound1(new Sound_8());
AddSound1(new Sound_9());
AddSound1(new Sound_10());
AddSound1(new Sound_11());
AddSound1(new Sound_12());
AddSound1(new Sound_13());
AddSound1(new Sound_14());
AddSound1(new Sound_15());
AddSound1(new Sound_16());
AddSound1(new Sound_17());
AddSound1(new Sound_18());
AddSound1(new Sound_19());
AddSound1(new Sound_20());
AddSound1(new Sound_21());
AddSound1(new Sound_22());
AddSound1(new Sound_23());
AddSound1(new Sound_24());
AddSound1(new Sound_25());
AddSound1(new Sound_26());
AddSound1(new Sound_27());
AddSound1(new Sound_28());
AddSound1(new Sound_29());
AddSound1(new Sound_30());
AddSound1(new Sound_31());
AddSound1(new Sound_32());
AddSound1(new Sound_33());
AddSound1(new MetronomeSound());
soundTransform = new SoundTransform(1, 0);
active = true;
playingFlag = false;
}
public static function Play(_arg1:int):void{
var _local2:SoundTransform;
var _local3:Sound;
var _local4:int;
var _local5:SoundPlay;
if (doSFX == false){
return;
};
if (sounds[_arg1] != null){
_local3 = sounds[_arg1];
_local2 = new SoundTransform();
_local3.play(0);
} else {
_local4 = 0;
while (_local4 < maxSounds) {
_local5 = Instances[_local4];
if (_local5.Active() == false){
_local5.Play(_arg1);
return;
};
_local4++;
};
};
}
static function AddSound1(_arg1:Sound){
sounds.push(_arg1);
startTimes.push(0);
lengths.push(0);
}
}
}//package
import flash.events.*;
import flash.media.*;
import flash.utils.*;
class SoundPlay {
private var channel:SoundChannel;
private var timer:Timer;
private var playingFlag;
private function SoundPlay(){
}
private function timerHandler(_arg1:TimerEvent):void{
timer.stop();
channel.stop();
playingFlag = false;
}
public function Clear():void{
playingFlag = false;
timer = null;
}
public function Active():Boolean{
return (playingFlag);
}
public function Play(_arg1:int):void{
channel = SoundPlayer.sound.play(SoundPlayer.startTimes[_arg1], 1, SoundPlayer.soundTransform);
timer = new Timer(SoundPlayer.lengths[_arg1]);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
playingFlag = true;
}
}
Section 81
//StartButton (StartButton)
package {
import flash.display.*;
public dynamic class StartButton extends SimpleButton {
}
}//package
Section 82
//Tick (Tick)
package {
import flash.display.*;
public dynamic class Tick extends SimpleButton {
}
}//package
Section 83
//TimeLine (TimeLine)
package {
public class TimeLine {
var timeList:Array;
var maxTime:int;
var tempo:Number;
var qt:int;
var currentTime:int;
var qt2:int;
var roundedBack:Boolean;
public function TimeLine(){
Init();
}
public function Add(_arg1:int, _arg2:int, _arg3:Boolean=true):TimeLineEntry{
var _local4:*;
var _local5:TimeLineEntry;
var _local6:TimeLineEntry;
var _local7:GameObj;
_local4 = QuantizeTime(currentTime);
if (_arg3 == true){
for each (_local6 in timeList) {
if ((((_local6.objectID == _arg1)) && ((_local6.time == _local4)))){
return (null);
};
};
};
_local5 = new TimeLineEntry();
_local5.time = _local4;
_local5.objectID = _arg1;
_local5.soundID = _arg2;
_local5.frame = 0;
_local5.graphicID = GraphicObjects.gfx_timelinenote;
_local5.firstTime = false;
timeList.push(_local5);
if (_arg3){
SoundPlayer.Play(_local5.soundID);
_local5.frame = 1;
_local7 = Game.GetGOFromObjID(_local5.objectID);
if (_local7){
_local7.controlMode = 1;
_local7.timer = (_local7.timerMax = 20);
};
if (roundedBack == false){
_local5.firstTime = true;
};
};
return (_local5);
}
public function AddSimple(_arg1:int, _arg2:int):TimeLineEntry{
var _local3:*;
var _local4:TimeLineEntry;
_local3 = currentTime;
_local4 = new TimeLineEntry();
_local4.time = _local3;
_local4.objectID = _arg1;
_local4.soundID = _arg2;
_local4.frame = 0;
_local4.graphicID = GraphicObjects.gfx_timelinenote;
_local4.firstTime = false;
timeList.push(_local4);
return (_local4);
}
public function SpeedUp(){
tempo = (tempo + 0.1);
if (tempo > 3){
tempo = 3;
};
}
public function SlowDown(){
tempo = (tempo - 0.1);
if (tempo < 0.2){
tempo = 0.2;
};
}
public function Clear(){
Init();
}
public function Init(){
currentTime = -1;
timeList = new Array();
tempo = 1;
maxTime = 0x7D00;
qt = (maxTime / 64);
qt2 = (qt / 2);
}
public function Update(){
var _local1:*;
var _local2:Number;
var _local3:Boolean;
var _local4:TimeLineEntry;
var _local5:int;
var _local6:int;
var _local7:GameObj;
var _local8:int;
_local1 = currentTime;
_local2 = ((1000 / (Defs.fps / 4)) * tempo);
currentTime = (currentTime + int(_local2));
if (currentTime >= maxTime){
currentTime = (currentTime - maxTime);
_local1 = (_local1 - maxTime);
};
_local3 = false;
if (Game.doMetronome){
_local5 = ((10000 + currentTime) / 2000);
_local6 = ((10000 + _local1) / 2000);
if (_local5 != _local6){
SoundPlayer.Play(SoundPlayer.SOUND_METRONOME);
_local3 = true;
};
};
for each (_local4 in timeList) {
if (_local4.frame != 0){
_local4.frame = (_local4.frame + 1);
if (_local4.frame > 18){
_local4.frame = 0;
};
};
if ((((_local4.time > _local1)) && ((_local4.time <= currentTime)))){
if (_local4.firstTime == false){
_local7 = Game.GetGOFromObjID(_local4.objectID);
if (_local7){
_local7.controlMode = 1;
_local7.timer = (_local7.timerMax = 20);
};
SoundPlayer.Play(_local4.soundID);
_local4.frame = 1;
_local8 = 0;
while (_local8 < 10) {
Particles.Add(Particles.type_note, _local4.xpos, _local4.ypos, 0, 0);
_local8++;
};
if (_local3 == false){
};
};
_local4.firstTime = false;
};
};
}
public function QuantizeTime(_arg1:int):int{
var _local2:int;
var _local3:int;
var _local4:int;
roundedBack = true;
_local2 = (_arg1 / qt);
_local3 = (_arg1 % qt);
if (_local3 > qt2){
_local2++;
roundedBack = false;
};
_local4 = (_local2 * qt);
if (_local4 >= maxTime){
_local4 = (_local4 - maxTime);
};
return (_local4);
}
}
}//package
Section 84
//TimeLineEntry (TimeLineEntry)
package {
public class TimeLineEntry {
public var frame:Number;
public var objectID:int;
public var soundID:int;
public var time:int;
public var graphicID:int;
public var ypos:Number;
public var xpos:Number;
public var firstTime:Boolean;
public function SetPos(_arg1:int){
var _local2:Number;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:Number;
_local3 = ((640 - 0x0200) / 2);
_local4 = 10;
_local5 = 0x0200;
_local6 = ((40 / Game.numMusicObjs) * objectID);
ypos = (_local4 + _local6);
xpos = (_local3 + ((_local5 / Number(_arg1)) * Number(time)));
}
}
}//package
Section 85
//TimeLineMarkerMC (TimeLineMarkerMC)
package {
import flash.display.*;
public dynamic class TimeLineMarkerMC extends MovieClip {
}
}//package
Section 86
//TimeLineMC (TimeLineMC)
package {
import flash.display.*;
public dynamic class TimeLineMC extends MovieClip {
}
}//package
Section 87
//TimeLineNote (TimeLineNote)
package {
import flash.display.*;
public dynamic class TimeLineNote extends MovieClip {
}
}//package
Section 88
//TitlePage (TitlePage)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class TitlePage extends MovieClip {
public var moreLoops:SimpleButton;
public var buttonSpilMoreGames:SimpleButton;
public var buttonStart:StartButton;
public var spilButtonOverlay:SimpleButton;
public var request:URLRequest;
public var longAnimals:byLongAnimalsButton;
public function TitlePage(){
addFrameScript(0, frame1, 149, frame150, 150, frame151);
}
function frame151(){
MovieClip(parent).play();
}
public function onCLick2(_arg1:Event){
if (language.language_nr == 2){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_term=button_mainscreen_moregames"));
};
navigateToURL(request, "_blank");
}
function frame1(){
MovieClip(parent).stop();
if (Licensors.GetLicensor() == Licensors.LICENSOR_GAMEJACKET){
longAnimals.addEventListener(MouseEvent.CLICK, buttonPressed);
moreLoops.addEventListener(MouseEvent.CLICK, buttonPressed);
buttonStart.addEventListener(MouseEvent.CLICK, buttonStartPressed);
};
if (Licensors.GetLicensor() == Licensors.LICENSOR_SPIL){
moreLoops.addEventListener(MouseEvent.CLICK, buttonPressed);
buttonStart.addEventListener(MouseEvent.CLICK, buttonStartPressed);
buttonSpilMoreGames.addEventListener(MouseEvent.CLICK, onCLick2);
spilButtonOverlay.addEventListener(MouseEvent.CLICK, onCLick2);
};
}
public function buttonPressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://longanimalsgames.com/longanimalsgames/loopyloops.aspx?game=kitchen"), "_blank");
}
public function buttonStartPressed(_arg1:MouseEvent){
gotoAndPlay("continue");
}
function frame150(){
gotoAndPlay(2);
}
}
}//package
Section 89
//TitleScreenState (TitleScreenState)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class TitleScreenState {
static var titleMC:MovieClip;
static var main:Main;
static function buttonLonganimalsPressed(_arg1:MouseEvent){
trace("here");
navigateToURL(new URLRequest("http://www.longanimalsgames.com"), "_blank");
}
public static function buttonStartPressed(_arg1:MouseEvent){
titleMC.gotoAndPlay("playToEnd");
}
public static function buttonHardPressed(_arg1:MouseEvent){
}
public static function Update(_arg1:Main){
}
public static function buttonHighScoresPressed(_arg1:MouseEvent){
}
public static function buttonEasyPressed(_arg1:MouseEvent){
}
public static function buttonHelpPressed(_arg1:MouseEvent){
}
public static function Init(_arg1:Main){
main = _arg1;
MusicPlayer.StartMusic(1);
main.InitStage();
titleMC = main.AddMovieClip(0, 0, new Background());
titleMC.playGame.addEventListener(MouseEvent.CLICK, buttonStartPressed);
titleMC.highScores.addEventListener(MouseEvent.CLICK, buttonHighScoresPressed);
UpdateRadioButtons();
}
public static function MovieFinished(){
Game.InitGame();
main.SetGameState(Main.gameState_LEVEL_PLAY);
}
static function UpdateRadioButtons(){
}
public static function buttonMediumPressed(_arg1:MouseEvent){
}
static function buttonNonobaPressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://nonoba.com/?ref=gemstoneTracking"), "_blank");
}
}
}//package
Section 90
//TweakVar (TweakVar)
package {
import flash.display.*;
import flash.geom.*;
public class TweakVar {
var initValue:Number;
var name:String;
var min:Number;
var maxw:Number;// = 100
var changedCallback:Object;
var rate:Number;
var h:Number;// = 10
var max:Number;
var y:Number;
var variable:Number;
var x:Number;
public function TweakVar(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number){
maxw = 100;
h = 10;
super();
name = _arg1;
min = _arg2;
max = _arg3;
rate = ((max - min) / 50);
variable = _arg4;
initValue = _arg4;
changedCallback = null;
}
public function SetVarFromPos(_arg1:Number){
variable = ((((max - min) / maxw) * _arg1) + min);
}
public function Dec(){
variable = (variable - rate);
if (variable >= max){
variable = max;
};
}
public function Render(_arg1:BitmapData){
var _local2:Rectangle;
var _local3:Rectangle;
var _local4:Rectangle;
var _local5:String;
_local2 = GetRenderRect();
_arg1.fillRect(_local2, 4278190080);
_local3 = new Rectangle(x, y, ((maxw / (max - min)) * (variable - min)), h);
_arg1.fillRect(_local3, 4294901760);
_local4 = new Rectangle((x + ((maxw / (max - min)) * (initValue - min))), y, 1, h);
_arg1.fillRect(_local4, 4294934656);
_local5 = ((Utils.DP2(variable) + " ") + name);
GraphicObjects.RenderStringAt(_arg1, GraphicObjects.gfx_font1, ((x + maxw) + 10), (y - 5), _local5, null);
}
public function GetRenderRect():Rectangle{
var _local1:Rectangle;
_local1 = new Rectangle(x, y, maxw, h);
return (_local1);
}
public function Inc(){
variable = (variable + rate);
if (variable >= max){
variable = max;
};
}
}
}//package
Section 91
//TweakVars (TweakVars)
package {
import flash.geom.*;
public class TweakVars {
static var y:Number;
static var yd:Number;
static var x:Number;
static var main:Main;
static var list:Array;
public static function AddCB(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object){
var _local6:*;
_local6 = new TweakVar(_arg1, _arg2, _arg3, _arg4);
_local6.x = x;
_local6.y = (y + (list.length * yd));
_local6.changedCallback = _arg5;
list.push(_local6);
}
public static function Add(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:*;
_local5 = new TweakVar(_arg1, _arg2, _arg3, _arg4);
_local5.x = x;
_local5.y = (y + (list.length * yd));
list.push(_local5);
}
public static function Update(){
var _local1:Number;
var _local2:Number;
var _local3:TweakVar;
var _local4:Rectangle;
var _local5:Number;
_local1 = MouseControl.mousePosX;
_local2 = MouseControl.mousePosY;
if (MouseControl.buttonPressed != true){
return;
};
for each (_local3 in list) {
_local4 = _local3.GetRenderRect();
if (_local4.contains(_local1, _local2)){
_local5 = (_local1 - _local4.x);
_local3.SetVarFromPos(_local5);
if (_local3.changedCallback != null){
_local3.changedCallback(_local3.variable);
};
};
};
}
public static function Reset(){
list = new Array();
x = 10;
y = 10;
yd = 15;
}
public static function InitOnce(_arg1:Main){
Reset();
main = _arg1;
}
public static function Render(){
var _local1:TweakVar;
for each (_local1 in list) {
_local1.Render(main.screenBD);
};
}
public static function GetNumber(_arg1:String):Number{
var _local2:TweakVar;
for each (_local2 in list) {
if (_local2.name == _arg1){
return (_local2.variable);
};
};
return (0);
}
}
}//package
Section 92
//Utils (Utils)
package {
import flash.display.*;
import flash.geom.*;
public class Utils {
static function RenderRectangle(_arg1:BitmapData, _arg2:Rectangle, _arg3:uint):void{
RenderDotLine(_arg1, _arg2.left, _arg2.top, _arg2.right, _arg2.top, 100, _arg3);
RenderDotLine(_arg1, _arg2.left, _arg2.bottom, _arg2.right, _arg2.bottom, 100, _arg3);
RenderDotLine(_arg1, _arg2.left, _arg2.top, _arg2.left, _arg2.bottom, 100, _arg3);
RenderDotLine(_arg1, _arg2.right, _arg2.top, _arg2.right, _arg2.bottom, 100, _arg3);
}
static function SideOfLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{
var _local7:Number;
_local7 = DotProduct((_arg3 - _arg1), (_arg4 - _arg2), (_arg5 - _arg1), (_arg6 - _arg2));
if (_local7 < 0){
return (false);
};
return (true);
}
public static function DP1(_arg1:Number):Number{
var _local2:Number;
_local2 = (Math.ceil((_arg1 * 10)) / 10);
return (_local2);
}
public static function DP2(_arg1:Number):Number{
var _local2:Number;
_local2 = (Math.ceil((_arg1 * 100)) / 100);
return (_local2);
}
static function RenderDotLine(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:int, _arg7:uint):void{
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:Number;
_local9 = _arg6;
_local10 = ((_arg4 - _arg2) / Number(_local9));
_local11 = ((_arg5 - _arg3) / Number(_local9));
_local8 = 0;
while (_local8 < _local9) {
_arg2 = (_arg2 + _local10);
_arg3 = (_arg3 + _local11);
_arg1.setPixel32(int(_arg2), int(_arg3), _arg7);
_local8++;
};
}
static function RenderCircle(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint):void{
var _local6:int;
var _local7:Number;
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local6 = 100;
_local7 = ((Math.PI * 2) / _local6);
_local9 = 0;
_local8 = 0;
while (_local8 < _local6) {
_local10 = (_arg2 + (Math.cos(_local9) * _arg4));
_local11 = (_arg3 + (Math.sin(_local9) * _arg4));
_local9 = (_local9 + _local7);
_arg1.setPixel32(int(_local10), int(_local11), _arg5);
_local8++;
};
}
public static function ScaleToUnit(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
_local4 = ((1 / (_arg2 - _arg1)) * _arg3);
return (_local4);
}
static function RandBetweenInt(_arg1:int, _arg2:int):int{
var _local3:int;
_local3 = (Math.random() * ((_arg2 - _arg1) + 1));
_local3 = (_local3 + _arg1);
return (_local3);
}
static function DotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
_local5 = ((_arg1 * _arg3) + (_arg2 * _arg4));
return (_local5);
}
public static function NumberToString2DP(_arg1:Number):String{
var _local2:String;
var _local3:int;
var _local4:int;
_local2 = DP2(_arg1).toString();
_local3 = _local2.lastIndexOf(".");
if (_local3 == -1){
_local2.concat(".00");
} else {
_local4 = _local2.length;
if (_local3 == (_local4 - 1)){
_local2.concat("0");
};
};
return (_local2);
}
static function DotProductAng(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local3 = Math.cos(_arg1);
_local4 = Math.sin(_arg1);
_local5 = Math.cos(_arg2);
_local6 = Math.sin(_arg2);
_local7 = ((_local3 * _local5) + (_local4 * _local6));
return (_local7);
}
public static function RandCircle():Number{
return ((Math.random() * (Math.PI * 2)));
}
public static function RadToDeg(_arg1:Number):Number{
return (((360 / (Math.PI * 2)) * _arg1));
}
static function RandBetweenFloat(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.random() * (_arg2 - _arg1));
_local3 = (_local3 + _arg1);
return (_local3);
}
public static function LineLength(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
}
static function DistBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
}
public static function ScaleBetween(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
_local4 = ((_arg2 - _arg1) * _arg3);
_local4 = (_arg1 + _local4);
return (_local4);
}
}
}//package
Section 93
//Vec (Vec)
package {
import flash.geom.*;
public class Vec {
public var speed:Number;
public var rot:Number;
public function Add(_arg1:Vec){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local2 = (Math.cos(rot) * speed);
_local3 = (Math.sin(rot) * speed);
_local4 = (Math.cos(_arg1.rot) * _arg1.speed);
_local5 = (Math.sin(_arg1.rot) * _arg1.speed);
_local6 = (_local2 + _local4);
_local7 = (_local3 + _local5);
rot = Math.atan2(_local7, _local6);
speed = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
}
public function Set(_arg1:Number, _arg2:Number){
rot = _arg1;
speed = _arg2;
}
public function GetUnitYComponent():Number{
return (Math.sin(rot));
}
public function GetUnitXComponent():Number{
return (Math.cos(rot));
}
function NormalizeRot():void{
while (rot < 0) {
rot = (rot + (Math.PI * 2));
};
while (rot > (Math.PI * 2)) {
rot = (rot - (Math.PI * 2));
};
}
public function GetUnitTangent():Point{
var _local1:Number;
var _local2:Point;
_local1 = (rot + (Math.PI * 0.5));
_local2 = new Point(Math.cos(_local1), Math.sin(_local1));
return (_local2);
}
public function NearRot(_arg1:Number, _arg2:Number):Boolean{
var _local3:Number;
var _local4:Number;
_local3 = (rot - _arg1);
_local4 = Math.abs(_local3);
if (_local3 > Math.PI){
if (_arg1 < rot){
_arg1 = (_arg1 + (Math.PI * 2));
} else {
_arg1 = (_arg1 - (Math.PI * 2));
};
_local3 = (rot - _arg1);
};
if (Math.abs(_local3) <= _arg2){
return (true);
};
return (false);
}
public function dotRot(_arg1:Number):Number{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = Math.cos(rot);
_local3 = Math.sin(rot);
_local4 = Math.cos(_arg1);
_local5 = Math.sin(_arg1);
_local6 = ((_local2 * _local4) + (_local3 * _local5));
return (_local6);
}
public function GetYComponent():Number{
return ((Math.sin(rot) * speed));
}
public function GetXComponent():Number{
return ((Math.cos(rot) * speed));
}
public function AddRot(_arg1:Number):void{
rot = (rot + _arg1);
NormalizeRot();
}
public function CopyFrom(_arg1:Vec){
rot = _arg1.rot;
speed = _arg1.speed;
}
}
}//package