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}