1package{
2	import flash.display.*;
3	import flash.geom.*;
4  import flash.events.*;
5  import flash.net.*;
6	import flash.media.*;
7	import flash.text.*;
8  import flash.ui.ContextMenu;
9  import flash.ui.ContextMenuItem;
10  import flash.events.ContextMenuEvent;
11	import flash.ui.Keyboard;
12  import flash.ui.Mouse;
13	import bigroom.input.KeyPoll;
14	import flash.system.fscommand;
15  import flash.system.Capabilities;
16	import flash.utils.getTimer;
17	import flash.utils.Timer;
18	//import com.mesmotronic.ane.AndroidFullScreen;
19
20	//import com.sociodox.theminer.TheMiner; //Profiler
21
22	//Real value
23	//[SWF(width = "1136", height = "768", frameRate = "30", backgroundColor = "#000000")] //Set the size and color of the Flash file
24	//Big frame for big androids!
25	//[SWF(width = "3000", height = "2000", frameRate = "30", backgroundColor = "#000000")] //Set the size and color of the Flash file
26	[SWF(frameRate = "30", backgroundColor = "#000000")] //Set the size and color of the Flash file
27	//iPad test
28	//[SWF(width = "1024", height = "768", frameRate="60", backgroundColor = "#000000")] //Set the size and color of the Flash file
29	//iPhone test
30	//[SWF(width = "480", height = "320", frameRate="30", backgroundColor = "#000000")] //Set the size and color of the Flash file
31	//[SWF(width = "960", height = "640", frameRate="30", backgroundColor = "#000000")] //Set the size and color of the Flash file
32
33	public class Main extends Sprite {
34		static public var BLOCK:Number = 0;
35    static public var TRIGGER:Number = 1;
36		static public var DAMAGE:Number = 2;
37
38  	include "includes/logic.as";
39  	include "includes/input.as";
40  	include "includes/render.as";
41		public var GAMEMODE:int = 0;
42		public var TITLEMODE:int = 1;
43		public var CLICKTOSTART:int = 2;
44		public var FOCUSMODE:int = 3;
45		public var MAPMODE:int = 4;
46		public var TELEPORTERMODE:int = 5;
47		public var GAMECOMPLETE:int = 6;
48		public var GAMECOMPLETE2:int = 7;
49		public var EDITORMODE:int = 8;
50		public var CONTROLTUTORIALMODE:int = 9;
51
52		public function Main():void {
53			if (stage) gameinit();
54			else addEventListener(Event.ADDED_TO_STAGE, gameinit);
55		}
56
57		private function gameinit(e:Event = null):void {
58			removeEventListener(Event.ADDED_TO_STAGE, gameinit);
59			// entry point
60			var tempbmp:Bitmap;
61
62			this.mouseEnabled = false;
63      this.mouseChildren = false;
64
65			//Ok: quick security check to make sure it doesn't get posted about
66			if (sitelock()) {
67				key = new KeyPoll(stage);
68
69				//ANDROID SPECIFIC CODE HERE
70				/*
71				if (AndroidFullScreen.isSupported) {
72					if (!AndroidFullScreen.immersiveMode()){
73						stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
74						device.xres = flash.system.Capabilities.screenResolutionX;
75						device.yres = flash.system.Capabilities.screenResolutionY;
76						immersivemode = false;
77					}else {
78						device.xres = stage.stageWidth;
79						device.yres = stage.stageHeight;
80						immersivemode = true;
81					}
82				}else {
83				*/
84					stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
85					device.xres = flash.system.Capabilities.screenResolutionX;
86					device.yres = flash.system.Capabilities.screenResolutionY;
87					immersivemode = false;
88				//}
89
90				/*
91				if (immersivemode) {
92					stage.addEventListener(Event.RESIZE, androidresize);
93				}
94				*/
95				/*
96				trace("NOTE: REMEMBER TO FIX RESOLUTION SUPPORT BEFORE BUILDING");
97				device.xres = 1024;
98				device.yres = 768;
99				device.deviceresolution = device.IPAD;
100				*/
101				//Testing:Let's be an ipad
102				/*
103				device.xres = 1024;
104				device.yres = 768;
105				device.deviceresolution = device.IPAD;
106				*/
107				/*
108				device.xres = 480;
109				device.yres = 320;
110				device.deviceresolution = device.IPHONE;
111				*/
112				/*
113				device.xres = 960;
114				device.yres = 640;
115				device.deviceresolution = device.IPHONE;
116				*/
117
118				editor.init(); //Load in all the levels
119
120				if (device.xres < device.yres) {
121					//Switch them!
122					t = device.yres;
123					device.yres = device.xres;
124					device.xres = t;
125				}
126
127				if (device.yres < 768) {
128				  device.deviceresolution = device.IPHONE;
129				}else {
130					device.deviceresolution = device.IPAD;
131				}
132
133				//Manually enable androids here! Mostly just changed buttons sizes
134			//	device.deviceresolution = device.ANDROID;
135
136			  //General game variables
137				obj.init();
138				help.init();
139
140				/*obj.createblock(BLOCK,20,200,128,16);
141				obj.createblock(BLOCK,130,170,128,16);
142				obj.createblock(BLOCK,240,150,128,16);
143				obj.createblock(BLOCK,240,20,128,16);
144				obj.createblock(BLOCK,130,40,128,16);
145				obj.createblock(BLOCK,20,60,128,16);*/
146
147				//Input
148				key.definestickrange(device.xres / 2, 0, 6);
149
150				SoundMixer.soundTransform = new SoundTransform(1);
151
152				music.currentsong = -1; music.musicfade = 0;//no music, no amb
153				music.initefchannels(); music.currentefchan = 0;
154				music.nicechange = -1;
155
156				music.numplays = 0;
157		    music.musicchan.push(new music_1());                // 0: Level Complete
158				music.musicchan.push(new vmaintheme_hq());          // 1: VVVVVV Main Theme  (Pushing Forward)
159				music.musicchan.push(new vtempo_hq());              // 2: VVVVVV Tempo Theme (Positive Force)
160		    music.musicchan.push(new vpfa_hq());                // 3: Potential for Anything
161		    music.musicchan.push(new passionforexploring());    // 4: UU Brothers Instrumental
162		    music.musicchan.push(new souleye_intermission());   // 5: Jingle: Intermission
163		    music.musicchan.push(new presentingvvvvvv());       // 6: Jingle: Menu Loop
164		    music.musicchan.push(new music_2());                // 7: Jingle: Game Complete
165		    music.musicchan.push(new configmegamix_hq());       // 8: Config Megamix
166		    music.musicchan.push(new posreverse());             // 9: Tempo Theme, Reversed
167		    music.musicchan.push(new poppot());                 // 10: Extra
168		    music.musicchan.push(new pipedream_hq());           // 11: Highscore
169		    music.musicchan.push(new pressurecooker_hq());      // 12: Pressure Cooker
170		    music.musicchan.push(new pacedenergy());            // NEW 13: Paced Energy
171		    music.musicchan.push(new piercingthesky());         // NEW 14: Piercing the Sky
172		    music.musicchan.push(new predestinedfateremix());   // NEW 15: Predestined Fate Remix
173
174				music.efchan.push(new ef_0());
175				music.efchan.push(new ef_1());
176				music.efchan.push(new ef_2());
177				music.efchan.push(new ef_3());
178				music.efchan.push(new ef_4());
179				music.efchan.push(new ef_5());
180				music.efchan.push(new ef_6());
181				music.efchan.push(new ef_7());
182				music.efchan.push(new ef_8());
183				music.efchan.push(new ef_9());
184				music.efchan.push(new ef_10());
185				music.efchan.push(new ef_11());
186				music.efchan.push(new ef_12());
187				music.efchan.push(new ef_13());
188				music.efchan.push(new ef_14());
189				music.efchan.push(new ef_15());
190				music.efchan.push(new ef_16());
191				music.efchan.push(new ef_17());
192				music.efchan.push(new ef_18());
193				music.efchan.push(new ef_19());
194				music.efchan.push(new ef_20());
195				music.efchan.push(new ef_21());
196				music.efchan.push(new ef_22());
197				music.efchan.push(new ef_23());
198				music.efchan.push(new ef_24());
199				music.efchan.push(new ef_25());
200				music.efchan.push(new ef_26());
201				music.efchan.push(new ef_27());
202
203				/*
204					Graphics Init
205				*/
206				//First we init the class and add its display list to the main display list
207
208				dwgfx.buttonimg.push(new BitmapData(92, 30, true, 0x00000000));
209				dwgfx.buttonimg.push(new BitmapData(92, 30, true, 0x00000000));
210				dwgfx.buttonimg.push(new BitmapData(40, 40, true, 0x00000000));
211				dwgfx.buttonimg.push(new BitmapData(40, 40, true, 0x00000000));
212				tempbmp = new im_button_0(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
213				tempbmp = new im_button_1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
214				tempbmp = new im_button_2(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
215				tempbmp = new im_button_3(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
216				tempbmp = new im_button_4(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
217				tempbmp = new im_button_5(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
218				tempbmp = new im_button_6(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
219				tempbmp = new im_button_7(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
220				tempbmp = new im_button_8(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
221				tempbmp = new im_button_9(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
222				tempbmp = new im_button_10(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
223				tempbmp = new im_button_11(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
224				tempbmp = new im_button_12(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
225
226				dwgfx.init();
227
228				//We load all our graphics in:
229				tempbmp = new im_tiles();   	 dwgfx.buffer = tempbmp.bitmapData;	dwgfx.maketilearray();
230				tempbmp = new im_tiles2();   	 dwgfx.buffer = tempbmp.bitmapData;	dwgfx.maketile2array();
231				tempbmp = new im_tiles3();   	 dwgfx.buffer = tempbmp.bitmapData;	dwgfx.maketile3array();
232				tempbmp = new im_sprites();	   dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makespritearray();
233				tempbmp = new im_flipsprites();	   dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makeflipspritearray();
234				tempbmp = new im_bfont();	     dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makebfont();
235				tempbmp = new im_bfontmask();	 dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makebfontmask();
236				tempbmp = new im_teleporter(); dwgfx.buffer = tempbmp.bitmapData;	dwgfx.maketelearray();
237				tempbmp = new im_entcolours(); dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makeentcolourarray();
238				//Load in the images
239				tempbmp = new im_image0();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 0
240				tempbmp = new im_image1();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 1 (this is the minimap!)
241				tempbmp = new im_image2();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 2
242				tempbmp = new im_image3();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 3
243				tempbmp = new im_image4();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 4
244				tempbmp = new im_image5();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 5
245				tempbmp = new im_image6();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 6
246				tempbmp = new im_image7();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 7
247				tempbmp = new im_image8();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 8
248				tempbmp = new im_image9();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 9
249				tempbmp = new im_image10();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // 10
250
251				tempbmp = new im_image1();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // Minimap
252				tempbmp = new im_image1();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addimage(); // Minimap
253
254				tempbmp = new im_mobileimage1();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
255				tempbmp = new im_mobileimage2();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
256				tempbmp = new im_mobileimage3();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
257				tempbmp = new im_mobileimage4();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
258				tempbmp = new im_mobileimage5();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
259				tempbmp = new im_mobileimage6();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
260				tempbmp = new im_mobileimage7();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
261				tempbmp = new im_mobileimage8();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
262				tempbmp = new im_mobileimage9();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addmobileimage();
263
264				tempbmp = new im_imgplayerlevel0();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
265				tempbmp = new im_imgplayerlevel1();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
266				tempbmp = new im_imgplayerlevel2();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
267				tempbmp = new im_imgplayerlevel3();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
268				tempbmp = new im_imgplayerlevel4();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
269				tempbmp = new im_imgplayerlevel5();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
270				tempbmp = new im_imgplayerlevel6();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
271				tempbmp = new im_imgplayerlevel7();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
272				tempbmp = new im_imgplayerlevel8();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
273				tempbmp = new im_imgplayerlevel9();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
274				tempbmp = new im_imgplayerlevel10();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
275				tempbmp = new im_imgplayerlevel11();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
276				tempbmp = new im_imgplayerlevel12();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
277				tempbmp = new im_imgplayerlevel13();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
278				tempbmp = new im_imgplayerlevel14();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
279				tempbmp = new im_imgplayerlevel15();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
280				tempbmp = new im_imgplayerlevel16();	  dwgfx.buffer = tempbmp.bitmapData;	dwgfx.addplayerlevelimage();
281
282				//Now that the graphics are loaded, init the background buffer
283				dwgfx.buffer=new BitmapData(320,240,false,0x000000);
284
285				stage.scaleMode = StageScaleMode.NO_SCALE;
286				stage.align = StageAlign.TOP_LEFT;
287				stage.quality = StageQuality.LOW;
288
289				//EXACT FIT
290				dwgfx.screensizemultiplier = device.yres / 240;
291				dwgfx.screen.width = 320 * dwgfx.screensizemultiplier;
292        dwgfx.screen.height = device.yres;
293
294				dwgfx.screen.x = (device.xres / 2) - (320 * dwgfx.screensizemultiplier / 2);
295				dwgfx.screen.y = 0;
296
297				dwgfx.initbuttonpositions();
298
299				//PIXEL PERFECT
300				/*
301				dwgfx.screensizemultiplier = int(device.yres / 240);
302				dwgfx.screen.width = 320 * dwgfx.screensizemultiplier;
303        dwgfx.screen.height = 240 * dwgfx.screensizemultiplier;
304
305				dwgfx.screenoffx = (device.xres / 2) - (320 * dwgfx.screensizemultiplier / 2);
306				dwgfx.screenoffy = (device.yres / 2) - (240 * dwgfx.screensizemultiplier / 2);
307				dwgfx.screen.x = dwgfx.screenoffx;
308				dwgfx.screen.y = dwgfx.screenoffy;
309				*/
310
311				addChild(dwgfx);
312				//stage.addChild(new TheMiner()); //Profiler
313
314
315				//Iphone orientation fix
316				var startOrientation:String = stage.orientation;
317				if (startOrientation == StageOrientation.DEFAULT || startOrientation == StageOrientation.UPSIDE_DOWN){
318					//stage.setOrientation(StageOrientation.ROTATED_RIGHT);
319					stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
320				}else{
321					stage.setOrientation(startOrientation);
322				}
323        stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);
324
325				game = new gameclass(dwgfx, map, obj, help, music);
326
327
328				map.ypos = (700-29) * 8;
329				map.bypos = map.ypos / 2;
330				map.cameramode = 0;
331
332
333				///Test Start:
334				//-- Comment this for real start
335				/*
336				gamestate = GAMEMODE;
337				/*map.finalmode = true; //Enable final level mode
338				//map.finalx = 41; map.finaly = 52; //Midpoint
339		    //map.finalx = 48; map.finaly = 52; //Just before the tower
340				map.finalx = 46; map.finaly = 54; //Current
341				//map.finalstretch = true;
342				map.final_colormode = true;
343				map.final_mapcol = 0;
344				map.final_colorframe = 0;
345				*/
346				/*
347		    game.starttest(obj, music);
348		    obj.createentity(game, game.savex, game.savey, 0); //In this game, constant, never destroyed
349		    map.gotoroom(game.saverx, game.savery, dwgfx, game, obj, music);
350				music.play(1);
351				*/
352				//game.crewstats[1] = true;
353				//game.crewstats[2] = true;
354				//game.crewstats[3] = true;
355				//game.crewstats[4] = true;
356				//game.crewstats[5] = true;
357				//script.load("intro");
358
359				//crew member test
360		    //obj.createentity(game, game.savex - 10, game.savey - 10, 14);
361				//game.companion = 6; //different rules for different members
362
363
364
365				//--
366				//Uncomment this if testing the final level
367				/*
368				  map.finalmode = true; //Enable final level mode
369				  map.finalx = 46; map.finaly = 54; //Current
370				  //map.finalx = 41; map.finaly = 52; //Midpoint
371				  map.final_colormode = false;	map.final_mapcol = 0;	map.final_colorframe = 0;
372				*/
373				//And this if after the midpoint:
374				/*
375					map.finalx = 52; map.finaly = 53; //Current
376			  	map.finalstretch = true;
377				  map.final_colormode = true;
378				  map.final_mapcol = 0;
379				  map.final_colorframe = 0;
380					//map.background = 6;
381				*/
382				//-- Jumping right in
383				/*
384				game.gamestate = GAMEMODE;
385				game.starttest(obj, music);
386				//game.loadquick(map, obj, music);
387		    obj.createentity(game, game.savex, game.savey, 0); //In this game, constant, never destroyed
388		    map.gotoroom(game.saverx, game.savery, dwgfx, game, obj, music);
389				music.play(4);
390				//fscommand("quit");
391
392				game.crewstats[1] = true;
393				//game.crewstats[2] = true;
394				game.crewstats[3] = true;
395				game.crewstats[4] = true;
396				//game.crewstats[5] = true;
397
398				map.showtargets = true;
399				map.showteleporters = true;
400				//map.showtrinkets = true;
401
402			  //obj.flags[34] = 1;
403				//obj.flags[20] = 1;
404				//obj.flags[67] = 1;			//Game complete
405				for (i = 0; i < 20; i++) {
406					obj.collect[i] = true;
407				}
408				game.trinkets = 19; obj.collect[18] = false;
409				game.stat_trinkets = 20;
410				//obj.altstates = 1;
411
412				//initilise map info
413				for (j = 0; j < 20; j++) {
414					for (i = 0; i < 20; i++) {
415						map.explored[i + (j * 20)] = 1;
416					}
417				}
418				*/
419				//obj.entities[obj.getplayer()].size = 13;
420
421				//game.gamestate = 6;
422
423				//game.intimetrail = true; game.timetrialcountdown = 0;
424				//game.nodeathmode = true;
425				//dwgfx.flipmode = true;
426				//game.nocutscenes = true;
427				//map.invincibility = true;
428				//stage.frameRate = 24;
429				//game.colourblindmode = true;
430				//game.noflashingmode = true;
431				//for intermission 2 test
432				//game.lastsaved = 3;
433				/*
434				game.swnmode = true;
435				game.swngame = 2;
436				game.swndelay = 120;
437				game.swntimer = 60 * 30;
438				*/
439				//script.load("intermission_2");
440
441
442				//for intermission 1 test
443				/*
444				game.companion = 11;
445				game.supercrewmate = true;
446				game.scmprogress = 0;
447				game.scmprogress = 10;
448				game.lastsaved = 4;
449				music.play(8);
450				*/
451				//game.sfpsmode = true; //Run at 60 FPS
452				//stage.frameRate = 60; // doesn't work, it's a bit more complex than this - will have to do a double sized window instead...
453
454				//dwgfx.flipmode = true;
455
456				//Testing some unlock stuff
457				/*
458				game.unlock[9] = true;  //Space Station Intro Time Trial
459				game.unlock[10] = true; //Lab Time Trial
460				game.unlock[11] = true; //Tower Time Trial
461				game.unlock[12] = true; //Space Station 2 Time Trial
462				game.unlock[13] = true; //Warp Zone Time Trial
463				game.unlock[14] = true; //Final Level Time Trial
464
465				game.unlock[17] = true; //No death mode
466				game.unlock[18] = true; //Flip Mode
467
468				*/
469				//-- Normal start, with no fancy stuff!
470
471				/*
472				game.gamestate = CLICKTOSTART;
473				dwgfx.createtextbox(" Click to Start ", 96, 107, 164, 164, 255);
474				dwgfx.textboxcenter();
475				*/
476				//No click to start any more! Instead go right to the menu
477
478				//INIT GRAPHIC MODE HERE
479				game.loadstats(map, dwgfx);
480
481				//updategraphicsmode(game, dwgfx);
482
483				game.gamestate = TITLEMODE;
484
485				game.menustart = false;
486				game.mainmenu = 0;
487
488				/*if (game.quicksummary != "") {
489					game.mainmenu = 2;
490				}
491				if (game.telesummary != "") {
492					game.mainmenu = 1;
493				}*/ //what the hell is that for
494
495
496				/*
497				game.gamestate = 6;
498				game.menustart = true;
499				map.ypos = (700-29) * 8;
500				map.bypos = map.ypos / 2;
501				map.cameramode = 0;
502				*/
503				//--Everything after this is screen recording
504
505				//ok, screenrecording here
506				//don't record anything (comment both next parts)
507
508				game.recording = 0;
509
510				if(game.recording==1){
511				  trace("warning! recording input!");
512				}else if(game.recording==2){
513				  trace("playing back input!");
514				  game.recordstring = "blahblahblah";
515					help.toclipboard(game.recordstring);
516
517				  game.initplayback();
518				  game.playbackpos = 5;
519					game.savex = game.playback[0]; game.savey = game.playback[1];
520					game.saverx = game.playback[2]; game.savery = game.playback[3];
521					game.savegc = game.playback[4]; game.savedir = 1;
522				}
523
524				//addEventListener(Event.ENTER_FRAME, mainloop);
525
526				// start the tick-timer, which updates roughly every 4 milliseconds
527			  _timer.addEventListener(TimerEvent.TIMER, mainloop);
528			  _timer.start();
529			}else {
530				dwgfx.init();
531				addChild(dwgfx);
532				//We load the font in:
533				tempbmp = new im_bfont();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makebfont();
534				tempbmp = new im_bfontmask();	dwgfx.buffer = tempbmp.bitmapData;	dwgfx.makebfontmask();
535				//Now that the graphics are loaded, init the background buffer
536				dwgfx.buffer = new BitmapData(320, 240, false, 0x000000);
537
538				addEventListener(Event.ENTER_FRAME, lockedloop);
539			}
540		}
541
542		public function visit_distractionware(e:Event):void{
543      var distractionware_link:URLRequest = new URLRequest( "http://www.distractionware.com" );
544      navigateToURL( distractionware_link, "_blank" );
545    }
546
547		public function visit_sponsor(e:Event):void{
548      var sponsor_link:URLRequest = new URLRequest( "http://www.kongregate.com/?gamereferral=dontlookback" );
549      navigateToURL( sponsor_link, "_blank" );
550    }
551
552		public function visit_sponsor_logo():void{
553      var sponsor_link:URLRequest = new URLRequest( "http://www.kongregate.com/?gamereferral=dontlookback" );
554      navigateToURL( sponsor_link, "_blank" );
555    }
556
557		/*
558		public function androidresize(e:Event):void {
559			if (immersivemode) {
560				device.xres = stage.stageWidth;
561				device.yres = stage.stageHeight;
562			}else{
563				device.xres = flash.system.Capabilities.screenResolutionX;
564				device.yres = flash.system.Capabilities.screenResolutionY;
565			}
566			if (device.xres < device.yres) {
567				//Switch them!
568				t = device.yres;
569				device.yres = device.xres;
570				device.xres = t;
571			}
572
573			key.definestickrange(device.xres / 2, 0, 6);
574
575			dwgfx.screensizemultiplier = device.yres / 240;
576			dwgfx.screen.width = 320 * dwgfx.screensizemultiplier;
577			dwgfx.screen.height = device.yres;
578
579			dwgfx.screen.x = (device.xres / 2) - (320 * dwgfx.screensizemultiplier / 2);
580			dwgfx.screen.y = 0;
581
582			dwgfx.initbuttonpositions();
583		}
584		*/
585
586		public function orientationChangeListener(e:StageOrientationEvent):void{
587      if (e.afterOrientation == StageOrientation.DEFAULT || e.afterOrientation ==  StageOrientation.UPSIDE_DOWN) {
588        e.preventDefault();
589      }
590    }
591
592		public function lockedloop(e:Event):void {
593		  dwgfx.backbuffer.lock();
594
595  		dwgfx.bprint(5, 110, "Sorry! This game can only be", 196-help.glow, 196-help.glow, 255-help.glow, true);
596			dwgfx.bprint(5, 120, "played on thelettervsixtim.es", 196-help.glow, 196-help.glow, 255-help.glow, true);
597			dwgfx.render();
598	    dwgfx.backbuffer.unlock();
599
600			help.updateglow();
601		}
602
603		public function setstage(w:int, h:int):void {
604			//stage.stageWidth = w;
605			//stage.stageHeight = h;
606		}
607
608		public function sitelock():Boolean {
609			//No preloader for Kong version
610			var currUrl:String = stage.loaderInfo.url.toLowerCase();
611			//chat.kongregate.com
612			if ((currUrl.indexOf("ile:///") <= 0) || (currUrl.indexOf("http") == 0)){
613			//if ((currUrl.indexOf("distractionware.com/games") <= 0) && (currUrl.indexOf("thelettervsixtim.es/secretarea") <= 0)){
614				return true;
615				//return false;
616			}else{
617				return true;
618			}
619		}
620
621		public function input():void {
622			if (!game.infocus) {
623			}else {
624				switch(game.gamestate){
625					case TITLEMODE:
626						titleinput(key, dwgfx, map, game, obj, help, music);
627					break;
628					case GAMEMODE:
629						if (map.towermode) {
630							if(game.recording==1){
631							  recordinput(key, dwgfx, game, map, obj, help, music);
632							}else {
633								gameinput(key, dwgfx, game, map, obj, help, music);
634							}
635						}else{
636							if (game.recording == 1) {
637								recordinput(key, dwgfx, game, map, obj, help, music);
638							}else {
639								if (script.running) {
640									script.run(key, dwgfx, game, map, obj, help, music);
641								}
642							  gameinput(key, dwgfx, game, map, obj, help, music);
643							}
644						}
645					break;
646					case CONTROLTUTORIALMODE:
647						controltutorialinput(key, dwgfx, game, map, obj, help, music);
648					break;
649					case MAPMODE:
650						if (game.recording == 1) {
651							//recordinput(key, dwgfx, game, map, obj, help, music); //will implement this later if it's actually needed
652						}else{
653						  mapinput(key, dwgfx, game, map, obj, help, music);
654						}
655					break;
656				  case TELEPORTERMODE:
657						if (game.recording == 1) {
658							recordinput(key, dwgfx, game, map, obj, help, music);
659						}else {
660							if(game.useteleporter) {
661						    teleporterinput(key, dwgfx, game, map, obj, help, music);
662							}else {
663								if (script.running) {
664									script.run(key, dwgfx, game, map, obj, help, music);
665								}
666							  gameinput(key, dwgfx, game, map, obj, help, music);
667							}
668						}
669					break;
670					case GAMECOMPLETE:
671						gamecompleteinput(key, dwgfx, game, map, obj, help, music);
672					break;
673					case GAMECOMPLETE2:
674						gamecompleteinput2(key, dwgfx, game, map, obj, help, music);
675					break;
676					case CLICKTOSTART:
677						if (key.click) {
678							dwgfx.textboxremove();
679						}
680					break;
681				}
682
683				//Mute button
684				if (key.isDown(77) && game.mutebutton<=0) {
685					game.mutebutton = 8; if (game.muted) { game.muted = false;	}else { game.muted = true;}
686				}
687				if(game.mutebutton>0) game.mutebutton--;
688
689			}
690			//Stupid event listeners!
691			if (key.hasclicked) key.click = false;
692		}
693
694		public function logic():void {
695			if (!game.infocus) {
696				if (game.globalsound > 0) {
697					game.globalsound = 0;
698					SoundMixer.soundTransform = new SoundTransform(0);
699				}
700				music.processmusic();
701				help.updateglow();
702			}else {
703				switch(game.gamestate){
704					case TITLEMODE:
705						titlelogic(key, dwgfx, game, obj, help, music);
706					break;
707					case GAMEMODE:
708						if (map.towermode) {
709							towerlogic(key, dwgfx, game, map, obj, help, music);
710						}else{
711							gamelogic(key, dwgfx, game, map, obj, help, music);
712						}
713					break;
714					case MAPMODE:
715						maplogic(key, dwgfx, game, map, obj, help, music);
716					break;
717					case CONTROLTUTORIALMODE:
718						controltutoriallogic(key, dwgfx, game, map, obj, help, music);
719					break;
720				  case TELEPORTERMODE:
721						maplogic(key, dwgfx, game, map, obj, help, music);
722					break;
723					case GAMECOMPLETE:
724						gamecompletelogic(key, dwgfx, game, map, obj, help, music);
725					break;
726					case GAMECOMPLETE2:
727						gamecompletelogic2(key, dwgfx, game, map, obj, help, music);
728					break;
729					case CLICKTOSTART:
730						help.updateglow();
731						if (dwgfx.ntextbox == 0) {
732							//music.play(6);
733							map.ypos = (700-29) * 8;
734							map.bypos = map.ypos / 2;
735							map.cameramode = 0;
736
737							game.gamestate = TITLEMODE;
738						}
739					break;
740				}
741				if (game.platform.wakeupcall > 0) {
742					game.platform.wakeupcall--;
743					if (game.platform.wakeupcall == 0) {
744						if(immersivemode){
745							//AndroidFullScreen.immersiveMode();
746						}
747					}
748				}
749
750				music.processmusic();
751				dwgfx.processfade();
752				game.gameclock();
753				dwgfx.trinketcolset = false; //Reset this in every frame, used for a new standard random colour each frame
754				if (game.savemystats) {
755					game.savemystats = false;
756					game.savestats(map, dwgfx);
757				}
758
759				if (game.muted) {
760					if (game.globalsound == 1) {
761					  game.globalsound = 0; SoundMixer.soundTransform = new SoundTransform(0);
762					}
763				}
764
765				if (!game.muted && game.globalsound == 0) {
766					game.globalsound = 1; SoundMixer.soundTransform = new SoundTransform(1);
767				}
768			}
769		}
770
771		public function render():void {
772			if (!game.infocus) {
773				dwgfx.backbuffer.lock();
774				/*
775				dwgfx.bprint(5, 110, "Game paused", 196 - help.glow, 255 - help.glow, 196 - help.glow, true);
776				dwgfx.bprint(5, 120, "[click to resume]", 196 - help.glow, 255 - help.glow, 196 - help.glow, true);
777				dwgfx.bprint(5, 230, "Press M to mute in game", 164 - help.glow, 196 - help.glow, 164 - help.glow, true);
778				*/
779				dwgfx.render();
780				dwgfx.backbuffer.unlock();
781			}else {
782				switch(game.gamestate){
783					case TITLEMODE:
784						titlerender(key, dwgfx, map, game, obj, help);
785					break;
786					case GAMEMODE:
787						if (map.towermode) {
788							towerrender(key, dwgfx, game, map, obj, help);
789						}else{
790						  gamerender(key, dwgfx, game, map, obj, help);
791						}
792					break;
793					case CONTROLTUTORIALMODE:
794						controltutorialrender(key, dwgfx, game, map, obj, help);
795					break;
796					case MAPMODE:
797						maprender(key, dwgfx, game, map, obj, help);
798					break;
799				  case TELEPORTERMODE:
800						teleporterrender(key, dwgfx, game, map, obj, help);
801					break;
802					case GAMECOMPLETE:
803						gamecompleterender(key, dwgfx, game, obj, help);
804					break;
805					case GAMECOMPLETE2:
806						gamecompleterender2(key, dwgfx, game, obj, help);
807					break;
808					case CLICKTOSTART:
809						dwgfx.backbuffer.lock();
810				    //dwgfx.bprint(5, 115, "[Click to start]", 196 - help.glow, 196 - help.glow, 255 - help.glow, true);
811						dwgfx.drawgui(help);
812						dwgfx.render();
813						dwgfx.backbuffer.unlock();
814					break;
815				}
816			}
817		}
818
819		public function mainloop(e:TimerEvent):void {
820			_current = getTimer();
821			if (_last < 0) _last = _current;
822			_delta += _current - _last;
823			_last = _current;
824			if (_delta >= _rate){
825				_delta %= _skip;
826				while (_delta >= _rate){
827					_delta -= _rate;
828					input();
829					logic();
830					if (key.hasclicked) key.click = false;
831				}
832				render();
833				e.updateAfterEvent();
834			}
835		}
836
837		public function setzoom(t:int, dwgfx:dwgraphicsclass):void {
838			/*
839			switch(t) {
840				case 1:
841				  dwgfx.screen.width = 320;
842		      dwgfx.screen.height = 240;
843		      dwgfx.screen.x = (640 - 320) / 2;
844					dwgfx.screen.y = (480 - 240) / 2;
845				break;
846				case 2:
847				  dwgfx.screen.width = 640;
848		      dwgfx.screen.height = 480;
849		      dwgfx.screen.x = 0;
850					dwgfx.screen.y = 0;
851				break;
852				case 3:
853				  dwgfx.screen.width = 960;
854		      dwgfx.screen.height = 720;
855		      dwgfx.screen.x = (640 - 960) / 2;
856					dwgfx.screen.y = (480 - 720) / 2;
857				break;
858				case 4:
859				  dwgfx.screen.width = 1280;
860		      dwgfx.screen.height = 960;
861		      dwgfx.screen.x = (640 - 1280) / 2;
862					dwgfx.screen.y = (480 - 960) / 2;
863				break;
864			}
865			*/
866		}
867
868		public function updategraphicsmode(game:gameclass, dwgfx:dwgraphicsclass):void {
869			/*
870		  swfStage = stage;
871
872			if (game.advanced_mode) {	//advanced graphics mode
873				//Screen Smooting
874				dwgfx.screen.smoothing = game.advanced_smoothing;
875
876				//Scaling
877				if(game.advanced_scaling==0){
878					swfStage.scaleMode = StageScaleMode.SHOW_ALL;
879				  setzoom(2, dwgfx);
880				}else{
881			    swfStage.scaleMode = StageScaleMode.NO_SCALE;  //Turn Scaling off
882				  setzoom(game.advanced_scaling, dwgfx);
883				}
884
885				stage.fullScreenSourceRect = null;
886				//Fullscreen
887				if (game.fullscreen) {
888				  stage.displayState = StageDisplayState.FULL_SCREEN;
889					Mouse.hide();
890				}else {
891					stage.displayState = StageDisplayState.NORMAL;
892					Mouse.show();
893				}
894			}else{
895				swfStage.scaleMode = StageScaleMode.SHOW_ALL;
896				if (game.fullscreen) {
897					dwgfx.screen.smoothing = true;
898					stage.fullScreenSourceRect = new Rectangle(0, 0, 640, 480);
899					stage.displayState = StageDisplayState.FULL_SCREEN;
900					Mouse.hide();
901				}else {
902					dwgfx.screen.smoothing = false;
903					stage.displayState = StageDisplayState.NORMAL;
904					Mouse.show();
905				}
906			}
907			*/
908		}
909
910		// Timer information (a shout out to ChevyRay for the implementation)
911		public static const TARGET_FPS:Number = 30; // the fixed-FPS we want the game to run at
912		private var	_rate:Number = 1000 / TARGET_FPS; // how long (in seconds) each frame is
913		private var	_skip:Number = _rate * 10; // this tells us to allow a maximum of 10 frame skips
914		private var	_last:Number = -1;
915		private var	_current:Number = 0;
916		private var	_delta:Number = 0;
917		private var	_timer:Timer = new Timer(4);
918
919		public var dwgfx:dwgraphicsclass = new dwgraphicsclass();
920		public var music:musicclass = new musicclass();
921		public var help:helpclass = new helpclass();
922		public var map:mapclass = new mapclass();
923		public var game:gameclass;
924		public var obj:entityclass = new entityclass();
925		public var key:KeyPoll;
926		public var script:scriptclass = new scriptclass();
927
928		public var slogo:MovieClip;
929		public var logoposition:Matrix;
930		public var pixel:uint; public var pixel2:uint;
931		public var pi:uint, pj:uint;
932		public var i:int, j:int, k:int, temp:int, tempx:int, tempy:int, tempstring:String;
933		public var tr:int, tg:int, tb:int, t:int;
934		public var tvel:Number;
935		public var swfStage:Stage;
936		public var immersivemode:Boolean;
937		//Embedded resources:
938		//Graphics
939		[Embed(source = '../data/graphics/tiles.png')]	private var im_tiles:Class;
940		[Embed(source = '../data/graphics/tiles2.png')]	private var im_tiles2:Class;
941		[Embed(source = '../data/graphics/tiles3.png')]	private var im_tiles3:Class;
942		[Embed(source = '../data/graphics/sprites.png')]	private var im_sprites:Class;
943		[Embed(source = '../data/graphics/flipsprites.png')]	private var im_flipsprites:Class;
944		[Embed(source = '../data/graphics/font.png')]	private var im_bfont:Class;
945		[Embed(source = '../data/graphics/fontmask.png')]	private var im_bfontmask:Class;
946		[Embed(source = '../data/graphics/teleporter.png')]	private var im_teleporter:Class;
947		[Embed(source = '../data/graphics/entcolours.png')]	private var im_entcolours:Class;
948
949		[Embed(source = '../data/graphics/levelcomplete.png')]	private var im_image0:Class;
950		[Embed(source = '../data/graphics/minimap.png')]	private var im_image1:Class;
951		[Embed(source = '../data/graphics/covered.png')]	private var im_image2:Class;
952		[Embed(source = '../data/graphics/elephant.png')]	private var im_image3:Class;
953		[Embed(source = '../data/graphics/gamecomplete.png')]	private var im_image4:Class;
954		[Embed(source = '../data/graphics/fliplevelcomplete.png')]	private var im_image5:Class;
955		[Embed(source = '../data/graphics/flipgamecomplete.png')]	private var im_image6:Class;
956		[Embed(source = '../data/graphics/site.png')]	private var im_image7:Class;
957		[Embed(source = '../data/graphics/site2.png')]	private var im_image8:Class;
958		[Embed(source = '../data/graphics/site3.png')]	private var im_image9:Class;
959		[Embed(source = '../data/graphics/ending.png')]	private var im_image10:Class;
960
961		[Embed(source = '../data/graphics/controls/touchscreen.png')]	private var im_mobileimage1:Class;
962		[Embed(source = '../data/graphics/controls/lefthand_off.png')]	private var im_mobileimage2:Class;
963		[Embed(source = '../data/graphics/controls/lefthand_near.png')]	private var im_mobileimage3:Class;
964		[Embed(source = '../data/graphics/controls/lefthand_far.png')]	private var im_mobileimage4:Class;
965		[Embed(source = '../data/graphics/controls/righthand_off.png')]	private var im_mobileimage5:Class;
966		[Embed(source = '../data/graphics/controls/righthand_near.png')]	private var im_mobileimage6:Class;
967		[Embed(source = '../data/graphics/controls/righthand_far.png')]	private var im_mobileimage7:Class;
968		[Embed(source = '../data/graphics/controls/arrowleft.png')]	private var im_mobileimage8:Class;
969		[Embed(source = '../data/graphics/controls/arrowright.png')]	private var im_mobileimage9:Class;
970		//Playerlevel images
971		[Embed(source = '../data/graphics/playerlevels/playerlevel_0.png')]	private var im_imgplayerlevel0:Class;
972		[Embed(source = '../data/graphics/playerlevels/playerlevel_1.png')]	private var im_imgplayerlevel1:Class;
973		[Embed(source = '../data/graphics/playerlevels/playerlevel_2.png')]	private var im_imgplayerlevel2:Class;
974		[Embed(source = '../data/graphics/playerlevels/playerlevel_3.png')]	private var im_imgplayerlevel3:Class;
975		[Embed(source = '../data/graphics/playerlevels/playerlevel_4.png')]	private var im_imgplayerlevel4:Class;
976		[Embed(source = '../data/graphics/playerlevels/playerlevel_5.png')]	private var im_imgplayerlevel5:Class;
977		[Embed(source = '../data/graphics/playerlevels/playerlevel_6.png')]	private var im_imgplayerlevel6:Class;
978		[Embed(source = '../data/graphics/playerlevels/playerlevel_7.png')]	private var im_imgplayerlevel7:Class;
979		[Embed(source = '../data/graphics/playerlevels/playerlevel_8.png')]	private var im_imgplayerlevel8:Class;
980		[Embed(source = '../data/graphics/playerlevels/playerlevel_9.png')]	private var im_imgplayerlevel9:Class;
981		[Embed(source = '../data/graphics/playerlevels/playerlevel_10.png')]	private var im_imgplayerlevel10:Class;
982		[Embed(source = '../data/graphics/playerlevels/playerlevel_11.png')]	private var im_imgplayerlevel11:Class;
983		[Embed(source = '../data/graphics/playerlevels/playerlevel_12.png')]	private var im_imgplayerlevel12:Class;
984		[Embed(source = '../data/graphics/playerlevels/playerlevel_13.png')]	private var im_imgplayerlevel13:Class;
985		[Embed(source = '../data/graphics/playerlevels/playerlevel_14.png')]	private var im_imgplayerlevel14:Class;
986		[Embed(source = '../data/graphics/playerlevels/playerlevel_15.png')]	private var im_imgplayerlevel15:Class;
987		[Embed(source = '../data/graphics/playerlevels/playerlevel_16.png')]	private var im_imgplayerlevel16:Class;
988		//iOS Buttons
989		[Embed(source = '../data/graphics/mobilebuttons/map.png')]	private var im_button_0:Class;
990		[Embed(source = '../data/graphics/mobilebuttons/back.png')]	private var im_button_1:Class;
991		[Embed(source = '../data/graphics/mobilebuttons/talk_1.png')]	private var im_button_2:Class;
992		[Embed(source = '../data/graphics/mobilebuttons/talk_2.png')]	private var im_button_3:Class;
993		[Embed(source = '../data/graphics/mobilebuttons/use_1.png')]	private var im_button_4:Class;
994		[Embed(source = '../data/graphics/mobilebuttons/use_2.png')]	private var im_button_5:Class;
995		[Embed(source = '../data/graphics/mobilebuttons/teleport_1.png')]	private var im_button_6:Class;
996		[Embed(source = '../data/graphics/mobilebuttons/teleport_2.png')]	private var im_button_7:Class;
997		[Embed(source = '../data/graphics/mobilebuttons/controls_1.png')]	private var im_button_8:Class;
998		[Embed(source = '../data/graphics/mobilebuttons/controls_2.png')]	private var im_button_9:Class;
999		[Embed(source = '../data/graphics/mobilebuttons/gamecenter.png')]	private var im_button_10:Class;
1000		[Embed(source = '../data/graphics/mobilebuttons/button_left.png')]	private var im_button_11:Class;
1001		[Embed(source = '../data/graphics/mobilebuttons/button_right.png')]	private var im_button_12:Class;
1002
1003		//Music
1004		[Embed(source = '../data/music/levelcomplete.mp3')]	private var music_1:Class;
1005		[Embed(source = '../data/music/endgame.mp3')]	private var music_2:Class;
1006		//Sound effects
1007		[Embed(source = '../data/sounds/jump.mp3')]	private var ef_0:Class;
1008		[Embed(source = '../data/sounds/jump2.mp3')]	private var ef_1:Class;
1009		[Embed(source = '../data/sounds/hurt.mp3')]	private var ef_2:Class;
1010		[Embed(source = '../data/sounds/souleyeminijingle.mp3')]	private var ef_3:Class;
1011		[Embed(source = '../data/sounds/coin.mp3')]	private var ef_4:Class;
1012		[Embed(source = '../data/sounds/save.mp3')]	private var ef_5:Class;
1013		[Embed(source = '../data/sounds/crumble.mp3')]	private var ef_6:Class;
1014		[Embed(source = '../data/sounds/vanish.mp3')]	private var ef_7:Class;
1015		[Embed(source = '../data/sounds/blip.mp3')]	private var ef_8:Class;
1016		[Embed(source = '../data/sounds/preteleport.mp3')]	private var ef_9:Class;
1017		[Embed(source = '../data/sounds/teleport.mp3')]	private var ef_10:Class;
1018		[Embed(source = '../data/sounds/crew1.mp3')]	private var ef_11:Class;
1019		[Embed(source = '../data/sounds/crew2.mp3')]	private var ef_12:Class;
1020		[Embed(source = '../data/sounds/crew3.mp3')]	private var ef_13:Class;
1021		[Embed(source = '../data/sounds/crew4.mp3')]	private var ef_14:Class;
1022		[Embed(source = '../data/sounds/crew5.mp3')]	private var ef_15:Class;
1023		[Embed(source = '../data/sounds/crew6.mp3')]	private var ef_16:Class;
1024		[Embed(source = '../data/sounds/terminal.mp3')]	private var ef_17:Class;
1025		[Embed(source = '../data/sounds/gamesaved.mp3')]	private var ef_18:Class;
1026		[Embed(source = '../data/sounds/crashing.mp3')]	private var ef_19:Class;
1027		[Embed(source = '../data/sounds/blip2.mp3')]	private var ef_20:Class;
1028		[Embed(source = '../data/sounds/countdown.mp3')]	private var ef_21:Class;
1029		[Embed(source = '../data/sounds/go.mp3')]	private var ef_22:Class;
1030		[Embed(source = '../data/sounds/crash.mp3')]	private var ef_23:Class;
1031		[Embed(source = '../data/sounds/combine.mp3')]	private var ef_24:Class;
1032		[Embed(source = '../data/sounds/newrecord.mp3')]	private var ef_25:Class;
1033		[Embed(source = '../data/sounds/trophy.mp3')]	private var ef_26:Class;
1034		[Embed(source = '../data/sounds/rescue.mp3')]	private var ef_27:Class;
1035	}
1036}