mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-11-18 00:49:42 +01:00
1036 lines
42 KiB
ActionScript
1036 lines
42 KiB
ActionScript
|
package{
|
|||
|
import flash.display.*;
|
|||
|
import flash.geom.*;
|
|||
|
import flash.events.*;
|
|||
|
import flash.net.*;
|
|||
|
import flash.media.*;
|
|||
|
import flash.text.*;
|
|||
|
import flash.ui.ContextMenu;
|
|||
|
import flash.ui.ContextMenuItem;
|
|||
|
import flash.events.ContextMenuEvent;
|
|||
|
import flash.ui.Keyboard;
|
|||
|
import flash.ui.Mouse;
|
|||
|
import bigroom.input.KeyPoll;
|
|||
|
import flash.system.fscommand;
|
|||
|
import flash.system.Capabilities;
|
|||
|
import flash.utils.getTimer;
|
|||
|
import flash.utils.Timer;
|
|||
|
//import com.mesmotronic.ane.AndroidFullScreen;
|
|||
|
|
|||
|
//import com.sociodox.theminer.TheMiner; //Profiler
|
|||
|
|
|||
|
//Real value
|
|||
|
//[SWF(width = "1136", height = "768", frameRate = "30", backgroundColor = "#000000")] //Set the size and color of the Flash file
|
|||
|
//Big frame for big androids!
|
|||
|
//[SWF(width = "3000", height = "2000", frameRate = "30", backgroundColor = "#000000")] //Set the size and color of the Flash file
|
|||
|
[SWF(frameRate = "30", backgroundColor = "#000000")] //Set the size and color of the Flash file
|
|||
|
//iPad test
|
|||
|
//[SWF(width = "1024", height = "768", frameRate="60", backgroundColor = "#000000")] //Set the size and color of the Flash file
|
|||
|
//iPhone test
|
|||
|
//[SWF(width = "480", height = "320", frameRate="30", backgroundColor = "#000000")] //Set the size and color of the Flash file
|
|||
|
//[SWF(width = "960", height = "640", frameRate="30", backgroundColor = "#000000")] //Set the size and color of the Flash file
|
|||
|
|
|||
|
public class Main extends Sprite {
|
|||
|
static public var BLOCK:Number = 0;
|
|||
|
static public var TRIGGER:Number = 1;
|
|||
|
static public var DAMAGE:Number = 2;
|
|||
|
|
|||
|
include "includes/logic.as";
|
|||
|
include "includes/input.as";
|
|||
|
include "includes/render.as";
|
|||
|
public var GAMEMODE:int = 0;
|
|||
|
public var TITLEMODE:int = 1;
|
|||
|
public var CLICKTOSTART:int = 2;
|
|||
|
public var FOCUSMODE:int = 3;
|
|||
|
public var MAPMODE:int = 4;
|
|||
|
public var TELEPORTERMODE:int = 5;
|
|||
|
public var GAMECOMPLETE:int = 6;
|
|||
|
public var GAMECOMPLETE2:int = 7;
|
|||
|
public var EDITORMODE:int = 8;
|
|||
|
public var CONTROLTUTORIALMODE:int = 9;
|
|||
|
|
|||
|
public function Main():void {
|
|||
|
if (stage) gameinit();
|
|||
|
else addEventListener(Event.ADDED_TO_STAGE, gameinit);
|
|||
|
}
|
|||
|
|
|||
|
private function gameinit(e:Event = null):void {
|
|||
|
removeEventListener(Event.ADDED_TO_STAGE, gameinit);
|
|||
|
// entry point
|
|||
|
var tempbmp:Bitmap;
|
|||
|
|
|||
|
this.mouseEnabled = false;
|
|||
|
this.mouseChildren = false;
|
|||
|
|
|||
|
//Ok: quick security check to make sure it doesn't get posted about
|
|||
|
if (sitelock()) {
|
|||
|
key = new KeyPoll(stage);
|
|||
|
|
|||
|
//ANDROID SPECIFIC CODE HERE
|
|||
|
/*
|
|||
|
if (AndroidFullScreen.isSupported) {
|
|||
|
if (!AndroidFullScreen.immersiveMode()){
|
|||
|
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
|
|||
|
device.xres = flash.system.Capabilities.screenResolutionX;
|
|||
|
device.yres = flash.system.Capabilities.screenResolutionY;
|
|||
|
immersivemode = false;
|
|||
|
}else {
|
|||
|
device.xres = stage.stageWidth;
|
|||
|
device.yres = stage.stageHeight;
|
|||
|
immersivemode = true;
|
|||
|
}
|
|||
|
}else {
|
|||
|
*/
|
|||
|
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
|
|||
|
device.xres = flash.system.Capabilities.screenResolutionX;
|
|||
|
device.yres = flash.system.Capabilities.screenResolutionY;
|
|||
|
immersivemode = false;
|
|||
|
//}
|
|||
|
|
|||
|
/*
|
|||
|
if (immersivemode) {
|
|||
|
stage.addEventListener(Event.RESIZE, androidresize);
|
|||
|
}
|
|||
|
*/
|
|||
|
/*
|
|||
|
trace("NOTE: REMEMBER TO FIX RESOLUTION SUPPORT BEFORE BUILDING");
|
|||
|
device.xres = 1024;
|
|||
|
device.yres = 768;
|
|||
|
device.deviceresolution = device.IPAD;
|
|||
|
*/
|
|||
|
//Testing:Let's be an ipad
|
|||
|
/*
|
|||
|
device.xres = 1024;
|
|||
|
device.yres = 768;
|
|||
|
device.deviceresolution = device.IPAD;
|
|||
|
*/
|
|||
|
/*
|
|||
|
device.xres = 480;
|
|||
|
device.yres = 320;
|
|||
|
device.deviceresolution = device.IPHONE;
|
|||
|
*/
|
|||
|
/*
|
|||
|
device.xres = 960;
|
|||
|
device.yres = 640;
|
|||
|
device.deviceresolution = device.IPHONE;
|
|||
|
*/
|
|||
|
|
|||
|
editor.init(); //Load in all the levels
|
|||
|
|
|||
|
if (device.xres < device.yres) {
|
|||
|
//Switch them!
|
|||
|
t = device.yres;
|
|||
|
device.yres = device.xres;
|
|||
|
device.xres = t;
|
|||
|
}
|
|||
|
|
|||
|
if (device.yres < 768) {
|
|||
|
device.deviceresolution = device.IPHONE;
|
|||
|
}else {
|
|||
|
device.deviceresolution = device.IPAD;
|
|||
|
}
|
|||
|
|
|||
|
//Manually enable androids here! Mostly just changed buttons sizes
|
|||
|
// device.deviceresolution = device.ANDROID;
|
|||
|
|
|||
|
//General game variables
|
|||
|
obj.init();
|
|||
|
help.init();
|
|||
|
|
|||
|
/*obj.createblock(BLOCK,20,200,128,16);
|
|||
|
obj.createblock(BLOCK,130,170,128,16);
|
|||
|
obj.createblock(BLOCK,240,150,128,16);
|
|||
|
obj.createblock(BLOCK,240,20,128,16);
|
|||
|
obj.createblock(BLOCK,130,40,128,16);
|
|||
|
obj.createblock(BLOCK,20,60,128,16);*/
|
|||
|
|
|||
|
//Input
|
|||
|
key.definestickrange(device.xres / 2, 0, 6);
|
|||
|
|
|||
|
SoundMixer.soundTransform = new SoundTransform(1);
|
|||
|
|
|||
|
music.currentsong = -1; music.musicfade = 0;//no music, no amb
|
|||
|
music.initefchannels(); music.currentefchan = 0;
|
|||
|
music.nicechange = -1;
|
|||
|
|
|||
|
music.numplays = 0;
|
|||
|
music.musicchan.push(new music_1()); // 0: Level Complete
|
|||
|
music.musicchan.push(new vmaintheme_hq()); // 1: VVVVVV Main Theme (Pushing Forward)
|
|||
|
music.musicchan.push(new vtempo_hq()); // 2: VVVVVV Tempo Theme (Positive Force)
|
|||
|
music.musicchan.push(new vpfa_hq()); // 3: Potential for Anything
|
|||
|
music.musicchan.push(new passionforexploring()); // 4: UU Brothers Instrumental
|
|||
|
music.musicchan.push(new souleye_intermission()); // 5: Jingle: Intermission
|
|||
|
music.musicchan.push(new presentingvvvvvv()); // 6: Jingle: Menu Loop
|
|||
|
music.musicchan.push(new music_2()); // 7: Jingle: Game Complete
|
|||
|
music.musicchan.push(new configmegamix_hq()); // 8: Config Megamix
|
|||
|
music.musicchan.push(new posreverse()); // 9: Tempo Theme, Reversed
|
|||
|
music.musicchan.push(new poppot()); // 10: Extra
|
|||
|
music.musicchan.push(new pipedream_hq()); // 11: Highscore
|
|||
|
music.musicchan.push(new pressurecooker_hq()); // 12: Pressure Cooker
|
|||
|
music.musicchan.push(new pacedenergy()); // NEW 13: Paced Energy
|
|||
|
music.musicchan.push(new piercingthesky()); // NEW 14: Piercing the Sky
|
|||
|
music.musicchan.push(new predestinedfateremix()); // NEW 15: Predestined Fate Remix
|
|||
|
|
|||
|
music.efchan.push(new ef_0());
|
|||
|
music.efchan.push(new ef_1());
|
|||
|
music.efchan.push(new ef_2());
|
|||
|
music.efchan.push(new ef_3());
|
|||
|
music.efchan.push(new ef_4());
|
|||
|
music.efchan.push(new ef_5());
|
|||
|
music.efchan.push(new ef_6());
|
|||
|
music.efchan.push(new ef_7());
|
|||
|
music.efchan.push(new ef_8());
|
|||
|
music.efchan.push(new ef_9());
|
|||
|
music.efchan.push(new ef_10());
|
|||
|
music.efchan.push(new ef_11());
|
|||
|
music.efchan.push(new ef_12());
|
|||
|
music.efchan.push(new ef_13());
|
|||
|
music.efchan.push(new ef_14());
|
|||
|
music.efchan.push(new ef_15());
|
|||
|
music.efchan.push(new ef_16());
|
|||
|
music.efchan.push(new ef_17());
|
|||
|
music.efchan.push(new ef_18());
|
|||
|
music.efchan.push(new ef_19());
|
|||
|
music.efchan.push(new ef_20());
|
|||
|
music.efchan.push(new ef_21());
|
|||
|
music.efchan.push(new ef_22());
|
|||
|
music.efchan.push(new ef_23());
|
|||
|
music.efchan.push(new ef_24());
|
|||
|
music.efchan.push(new ef_25());
|
|||
|
music.efchan.push(new ef_26());
|
|||
|
music.efchan.push(new ef_27());
|
|||
|
|
|||
|
/*
|
|||
|
Graphics Init
|
|||
|
*/
|
|||
|
//First we init the class and add its display list to the main display list
|
|||
|
|
|||
|
dwgfx.buttonimg.push(new BitmapData(92, 30, true, 0x00000000));
|
|||
|
dwgfx.buttonimg.push(new BitmapData(92, 30, true, 0x00000000));
|
|||
|
dwgfx.buttonimg.push(new BitmapData(40, 40, true, 0x00000000));
|
|||
|
dwgfx.buttonimg.push(new BitmapData(40, 40, true, 0x00000000));
|
|||
|
tempbmp = new im_button_0(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_2(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_3(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_4(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_5(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_6(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_7(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_8(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_9(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_10(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_11(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
tempbmp = new im_button_12(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addbutton();
|
|||
|
|
|||
|
dwgfx.init();
|
|||
|
|
|||
|
//We load all our graphics in:
|
|||
|
tempbmp = new im_tiles(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.maketilearray();
|
|||
|
tempbmp = new im_tiles2(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.maketile2array();
|
|||
|
tempbmp = new im_tiles3(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.maketile3array();
|
|||
|
tempbmp = new im_sprites(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makespritearray();
|
|||
|
tempbmp = new im_flipsprites(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makeflipspritearray();
|
|||
|
tempbmp = new im_bfont(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makebfont();
|
|||
|
tempbmp = new im_bfontmask(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makebfontmask();
|
|||
|
tempbmp = new im_teleporter(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.maketelearray();
|
|||
|
tempbmp = new im_entcolours(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makeentcolourarray();
|
|||
|
//Load in the images
|
|||
|
tempbmp = new im_image0(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 0
|
|||
|
tempbmp = new im_image1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 1 (this is the minimap!)
|
|||
|
tempbmp = new im_image2(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 2
|
|||
|
tempbmp = new im_image3(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 3
|
|||
|
tempbmp = new im_image4(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 4
|
|||
|
tempbmp = new im_image5(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 5
|
|||
|
tempbmp = new im_image6(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 6
|
|||
|
tempbmp = new im_image7(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 7
|
|||
|
tempbmp = new im_image8(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 8
|
|||
|
tempbmp = new im_image9(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 9
|
|||
|
tempbmp = new im_image10(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // 10
|
|||
|
|
|||
|
tempbmp = new im_image1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // Minimap
|
|||
|
tempbmp = new im_image1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addimage(); // Minimap
|
|||
|
|
|||
|
tempbmp = new im_mobileimage1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage2(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage3(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage4(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage5(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage6(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage7(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage8(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
tempbmp = new im_mobileimage9(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addmobileimage();
|
|||
|
|
|||
|
tempbmp = new im_imgplayerlevel0(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel1(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel2(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel3(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel4(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel5(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel6(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel7(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel8(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel9(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel10(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel11(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel12(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel13(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel14(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel15(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
tempbmp = new im_imgplayerlevel16(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.addplayerlevelimage();
|
|||
|
|
|||
|
//Now that the graphics are loaded, init the background buffer
|
|||
|
dwgfx.buffer=new BitmapData(320,240,false,0x000000);
|
|||
|
|
|||
|
stage.scaleMode = StageScaleMode.NO_SCALE;
|
|||
|
stage.align = StageAlign.TOP_LEFT;
|
|||
|
stage.quality = StageQuality.LOW;
|
|||
|
|
|||
|
//EXACT FIT
|
|||
|
dwgfx.screensizemultiplier = device.yres / 240;
|
|||
|
dwgfx.screen.width = 320 * dwgfx.screensizemultiplier;
|
|||
|
dwgfx.screen.height = device.yres;
|
|||
|
|
|||
|
dwgfx.screen.x = (device.xres / 2) - (320 * dwgfx.screensizemultiplier / 2);
|
|||
|
dwgfx.screen.y = 0;
|
|||
|
|
|||
|
dwgfx.initbuttonpositions();
|
|||
|
|
|||
|
//PIXEL PERFECT
|
|||
|
/*
|
|||
|
dwgfx.screensizemultiplier = int(device.yres / 240);
|
|||
|
dwgfx.screen.width = 320 * dwgfx.screensizemultiplier;
|
|||
|
dwgfx.screen.height = 240 * dwgfx.screensizemultiplier;
|
|||
|
|
|||
|
dwgfx.screenoffx = (device.xres / 2) - (320 * dwgfx.screensizemultiplier / 2);
|
|||
|
dwgfx.screenoffy = (device.yres / 2) - (240 * dwgfx.screensizemultiplier / 2);
|
|||
|
dwgfx.screen.x = dwgfx.screenoffx;
|
|||
|
dwgfx.screen.y = dwgfx.screenoffy;
|
|||
|
*/
|
|||
|
|
|||
|
addChild(dwgfx);
|
|||
|
//stage.addChild(new TheMiner()); //Profiler
|
|||
|
|
|||
|
|
|||
|
//Iphone orientation fix
|
|||
|
var startOrientation:String = stage.orientation;
|
|||
|
if (startOrientation == StageOrientation.DEFAULT || startOrientation == StageOrientation.UPSIDE_DOWN){
|
|||
|
//stage.setOrientation(StageOrientation.ROTATED_RIGHT);
|
|||
|
stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
|
|||
|
}else{
|
|||
|
stage.setOrientation(startOrientation);
|
|||
|
}
|
|||
|
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);
|
|||
|
|
|||
|
game = new gameclass(dwgfx, map, obj, help, music);
|
|||
|
|
|||
|
|
|||
|
map.ypos = (700-29) * 8;
|
|||
|
map.bypos = map.ypos / 2;
|
|||
|
map.cameramode = 0;
|
|||
|
|
|||
|
|
|||
|
///Test Start:
|
|||
|
//-- Comment this for real start
|
|||
|
/*
|
|||
|
gamestate = GAMEMODE;
|
|||
|
/*map.finalmode = true; //Enable final level mode
|
|||
|
//map.finalx = 41; map.finaly = 52; //Midpoint
|
|||
|
//map.finalx = 48; map.finaly = 52; //Just before the tower
|
|||
|
map.finalx = 46; map.finaly = 54; //Current
|
|||
|
//map.finalstretch = true;
|
|||
|
map.final_colormode = true;
|
|||
|
map.final_mapcol = 0;
|
|||
|
map.final_colorframe = 0;
|
|||
|
*/
|
|||
|
/*
|
|||
|
game.starttest(obj, music);
|
|||
|
obj.createentity(game, game.savex, game.savey, 0); //In this game, constant, never destroyed
|
|||
|
map.gotoroom(game.saverx, game.savery, dwgfx, game, obj, music);
|
|||
|
music.play(1);
|
|||
|
*/
|
|||
|
//game.crewstats[1] = true;
|
|||
|
//game.crewstats[2] = true;
|
|||
|
//game.crewstats[3] = true;
|
|||
|
//game.crewstats[4] = true;
|
|||
|
//game.crewstats[5] = true;
|
|||
|
//script.load("intro");
|
|||
|
|
|||
|
//crew member test
|
|||
|
//obj.createentity(game, game.savex - 10, game.savey - 10, 14);
|
|||
|
//game.companion = 6; //different rules for different members
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//--
|
|||
|
//Uncomment this if testing the final level
|
|||
|
/*
|
|||
|
map.finalmode = true; //Enable final level mode
|
|||
|
map.finalx = 46; map.finaly = 54; //Current
|
|||
|
//map.finalx = 41; map.finaly = 52; //Midpoint
|
|||
|
map.final_colormode = false; map.final_mapcol = 0; map.final_colorframe = 0;
|
|||
|
*/
|
|||
|
//And this if after the midpoint:
|
|||
|
/*
|
|||
|
map.finalx = 52; map.finaly = 53; //Current
|
|||
|
map.finalstretch = true;
|
|||
|
map.final_colormode = true;
|
|||
|
map.final_mapcol = 0;
|
|||
|
map.final_colorframe = 0;
|
|||
|
//map.background = 6;
|
|||
|
*/
|
|||
|
//-- Jumping right in
|
|||
|
/*
|
|||
|
game.gamestate = GAMEMODE;
|
|||
|
game.starttest(obj, music);
|
|||
|
//game.loadquick(map, obj, music);
|
|||
|
obj.createentity(game, game.savex, game.savey, 0); //In this game, constant, never destroyed
|
|||
|
map.gotoroom(game.saverx, game.savery, dwgfx, game, obj, music);
|
|||
|
music.play(4);
|
|||
|
//fscommand("quit");
|
|||
|
|
|||
|
game.crewstats[1] = true;
|
|||
|
//game.crewstats[2] = true;
|
|||
|
game.crewstats[3] = true;
|
|||
|
game.crewstats[4] = true;
|
|||
|
//game.crewstats[5] = true;
|
|||
|
|
|||
|
map.showtargets = true;
|
|||
|
map.showteleporters = true;
|
|||
|
//map.showtrinkets = true;
|
|||
|
|
|||
|
//obj.flags[34] = 1;
|
|||
|
//obj.flags[20] = 1;
|
|||
|
//obj.flags[67] = 1; //Game complete
|
|||
|
for (i = 0; i < 20; i++) {
|
|||
|
obj.collect[i] = true;
|
|||
|
}
|
|||
|
game.trinkets = 19; obj.collect[18] = false;
|
|||
|
game.stat_trinkets = 20;
|
|||
|
//obj.altstates = 1;
|
|||
|
|
|||
|
//initilise map info
|
|||
|
for (j = 0; j < 20; j++) {
|
|||
|
for (i = 0; i < 20; i++) {
|
|||
|
map.explored[i + (j * 20)] = 1;
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
//obj.entities[obj.getplayer()].size = 13;
|
|||
|
|
|||
|
//game.gamestate = 6;
|
|||
|
|
|||
|
//game.intimetrail = true; game.timetrialcountdown = 0;
|
|||
|
//game.nodeathmode = true;
|
|||
|
//dwgfx.flipmode = true;
|
|||
|
//game.nocutscenes = true;
|
|||
|
//map.invincibility = true;
|
|||
|
//stage.frameRate = 24;
|
|||
|
//game.colourblindmode = true;
|
|||
|
//game.noflashingmode = true;
|
|||
|
//for intermission 2 test
|
|||
|
//game.lastsaved = 3;
|
|||
|
/*
|
|||
|
game.swnmode = true;
|
|||
|
game.swngame = 2;
|
|||
|
game.swndelay = 120;
|
|||
|
game.swntimer = 60 * 30;
|
|||
|
*/
|
|||
|
//script.load("intermission_2");
|
|||
|
|
|||
|
|
|||
|
//for intermission 1 test
|
|||
|
/*
|
|||
|
game.companion = 11;
|
|||
|
game.supercrewmate = true;
|
|||
|
game.scmprogress = 0;
|
|||
|
game.scmprogress = 10;
|
|||
|
game.lastsaved = 4;
|
|||
|
music.play(8);
|
|||
|
*/
|
|||
|
//game.sfpsmode = true; //Run at 60 FPS
|
|||
|
//stage.frameRate = 60; // doesn't work, it's a bit more complex than this - will have to do a double sized window instead...
|
|||
|
|
|||
|
//dwgfx.flipmode = true;
|
|||
|
|
|||
|
//Testing some unlock stuff
|
|||
|
/*
|
|||
|
game.unlock[9] = true; //Space Station Intro Time Trial
|
|||
|
game.unlock[10] = true; //Lab Time Trial
|
|||
|
game.unlock[11] = true; //Tower Time Trial
|
|||
|
game.unlock[12] = true; //Space Station 2 Time Trial
|
|||
|
game.unlock[13] = true; //Warp Zone Time Trial
|
|||
|
game.unlock[14] = true; //Final Level Time Trial
|
|||
|
|
|||
|
game.unlock[17] = true; //No death mode
|
|||
|
game.unlock[18] = true; //Flip Mode
|
|||
|
|
|||
|
*/
|
|||
|
//-- Normal start, with no fancy stuff!
|
|||
|
|
|||
|
/*
|
|||
|
game.gamestate = CLICKTOSTART;
|
|||
|
dwgfx.createtextbox(" Click to Start ", 96, 107, 164, 164, 255);
|
|||
|
dwgfx.textboxcenter();
|
|||
|
*/
|
|||
|
//No click to start any more! Instead go right to the menu
|
|||
|
|
|||
|
//INIT GRAPHIC MODE HERE
|
|||
|
game.loadstats(map, dwgfx);
|
|||
|
|
|||
|
//updategraphicsmode(game, dwgfx);
|
|||
|
|
|||
|
game.gamestate = TITLEMODE;
|
|||
|
|
|||
|
game.menustart = false;
|
|||
|
game.mainmenu = 0;
|
|||
|
|
|||
|
/*if (game.quicksummary != "") {
|
|||
|
game.mainmenu = 2;
|
|||
|
}
|
|||
|
if (game.telesummary != "") {
|
|||
|
game.mainmenu = 1;
|
|||
|
}*/ //what the hell is that for
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
game.gamestate = 6;
|
|||
|
game.menustart = true;
|
|||
|
map.ypos = (700-29) * 8;
|
|||
|
map.bypos = map.ypos / 2;
|
|||
|
map.cameramode = 0;
|
|||
|
*/
|
|||
|
//--Everything after this is screen recording
|
|||
|
|
|||
|
//ok, screenrecording here
|
|||
|
//don't record anything (comment both next parts)
|
|||
|
|
|||
|
game.recording = 0;
|
|||
|
|
|||
|
if(game.recording==1){
|
|||
|
trace("warning! recording input!");
|
|||
|
}else if(game.recording==2){
|
|||
|
trace("playing back input!");
|
|||
|
game.recordstring = "blahblahblah";
|
|||
|
help.toclipboard(game.recordstring);
|
|||
|
|
|||
|
game.initplayback();
|
|||
|
game.playbackpos = 5;
|
|||
|
game.savex = game.playback[0]; game.savey = game.playback[1];
|
|||
|
game.saverx = game.playback[2]; game.savery = game.playback[3];
|
|||
|
game.savegc = game.playback[4]; game.savedir = 1;
|
|||
|
}
|
|||
|
|
|||
|
//addEventListener(Event.ENTER_FRAME, mainloop);
|
|||
|
|
|||
|
// start the tick-timer, which updates roughly every 4 milliseconds
|
|||
|
_timer.addEventListener(TimerEvent.TIMER, mainloop);
|
|||
|
_timer.start();
|
|||
|
}else {
|
|||
|
dwgfx.init();
|
|||
|
addChild(dwgfx);
|
|||
|
//We load the font in:
|
|||
|
tempbmp = new im_bfont(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makebfont();
|
|||
|
tempbmp = new im_bfontmask(); dwgfx.buffer = tempbmp.bitmapData; dwgfx.makebfontmask();
|
|||
|
//Now that the graphics are loaded, init the background buffer
|
|||
|
dwgfx.buffer = new BitmapData(320, 240, false, 0x000000);
|
|||
|
|
|||
|
addEventListener(Event.ENTER_FRAME, lockedloop);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function visit_distractionware(e:Event):void{
|
|||
|
var distractionware_link:URLRequest = new URLRequest( "http://www.distractionware.com" );
|
|||
|
navigateToURL( distractionware_link, "_blank" );
|
|||
|
}
|
|||
|
|
|||
|
public function visit_sponsor(e:Event):void{
|
|||
|
var sponsor_link:URLRequest = new URLRequest( "http://www.kongregate.com/?gamereferral=dontlookback" );
|
|||
|
navigateToURL( sponsor_link, "_blank" );
|
|||
|
}
|
|||
|
|
|||
|
public function visit_sponsor_logo():void{
|
|||
|
var sponsor_link:URLRequest = new URLRequest( "http://www.kongregate.com/?gamereferral=dontlookback" );
|
|||
|
navigateToURL( sponsor_link, "_blank" );
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
public function androidresize(e:Event):void {
|
|||
|
if (immersivemode) {
|
|||
|
device.xres = stage.stageWidth;
|
|||
|
device.yres = stage.stageHeight;
|
|||
|
}else{
|
|||
|
device.xres = flash.system.Capabilities.screenResolutionX;
|
|||
|
device.yres = flash.system.Capabilities.screenResolutionY;
|
|||
|
}
|
|||
|
if (device.xres < device.yres) {
|
|||
|
//Switch them!
|
|||
|
t = device.yres;
|
|||
|
device.yres = device.xres;
|
|||
|
device.xres = t;
|
|||
|
}
|
|||
|
|
|||
|
key.definestickrange(device.xres / 2, 0, 6);
|
|||
|
|
|||
|
dwgfx.screensizemultiplier = device.yres / 240;
|
|||
|
dwgfx.screen.width = 320 * dwgfx.screensizemultiplier;
|
|||
|
dwgfx.screen.height = device.yres;
|
|||
|
|
|||
|
dwgfx.screen.x = (device.xres / 2) - (320 * dwgfx.screensizemultiplier / 2);
|
|||
|
dwgfx.screen.y = 0;
|
|||
|
|
|||
|
dwgfx.initbuttonpositions();
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
public function orientationChangeListener(e:StageOrientationEvent):void{
|
|||
|
if (e.afterOrientation == StageOrientation.DEFAULT || e.afterOrientation == StageOrientation.UPSIDE_DOWN) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function lockedloop(e:Event):void {
|
|||
|
dwgfx.backbuffer.lock();
|
|||
|
|
|||
|
dwgfx.bprint(5, 110, "Sorry! This game can only be", 196-help.glow, 196-help.glow, 255-help.glow, true);
|
|||
|
dwgfx.bprint(5, 120, "played on thelettervsixtim.es", 196-help.glow, 196-help.glow, 255-help.glow, true);
|
|||
|
dwgfx.render();
|
|||
|
dwgfx.backbuffer.unlock();
|
|||
|
|
|||
|
help.updateglow();
|
|||
|
}
|
|||
|
|
|||
|
public function setstage(w:int, h:int):void {
|
|||
|
//stage.stageWidth = w;
|
|||
|
//stage.stageHeight = h;
|
|||
|
}
|
|||
|
|
|||
|
public function sitelock():Boolean {
|
|||
|
//No preloader for Kong version
|
|||
|
var currUrl:String = stage.loaderInfo.url.toLowerCase();
|
|||
|
//chat.kongregate.com
|
|||
|
if ((currUrl.indexOf("ile:///") <= 0) || (currUrl.indexOf("http") == 0)){
|
|||
|
//if ((currUrl.indexOf("distractionware.com/games") <= 0) && (currUrl.indexOf("thelettervsixtim.es/secretarea") <= 0)){
|
|||
|
return true;
|
|||
|
//return false;
|
|||
|
}else{
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function input():void {
|
|||
|
if (!game.infocus) {
|
|||
|
}else {
|
|||
|
switch(game.gamestate){
|
|||
|
case TITLEMODE:
|
|||
|
titleinput(key, dwgfx, map, game, obj, help, music);
|
|||
|
break;
|
|||
|
case GAMEMODE:
|
|||
|
if (map.towermode) {
|
|||
|
if(game.recording==1){
|
|||
|
recordinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}else {
|
|||
|
gameinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
}else{
|
|||
|
if (game.recording == 1) {
|
|||
|
recordinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}else {
|
|||
|
if (script.running) {
|
|||
|
script.run(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
gameinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
case CONTROLTUTORIALMODE:
|
|||
|
controltutorialinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case MAPMODE:
|
|||
|
if (game.recording == 1) {
|
|||
|
//recordinput(key, dwgfx, game, map, obj, help, music); //will implement this later if it's actually needed
|
|||
|
}else{
|
|||
|
mapinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
break;
|
|||
|
case TELEPORTERMODE:
|
|||
|
if (game.recording == 1) {
|
|||
|
recordinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}else {
|
|||
|
if(game.useteleporter) {
|
|||
|
teleporterinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}else {
|
|||
|
if (script.running) {
|
|||
|
script.run(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
gameinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
case GAMECOMPLETE:
|
|||
|
gamecompleteinput(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case GAMECOMPLETE2:
|
|||
|
gamecompleteinput2(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case CLICKTOSTART:
|
|||
|
if (key.click) {
|
|||
|
dwgfx.textboxremove();
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
//Mute button
|
|||
|
if (key.isDown(77) && game.mutebutton<=0) {
|
|||
|
game.mutebutton = 8; if (game.muted) { game.muted = false; }else { game.muted = true;}
|
|||
|
}
|
|||
|
if(game.mutebutton>0) game.mutebutton--;
|
|||
|
|
|||
|
}
|
|||
|
//Stupid event listeners!
|
|||
|
if (key.hasclicked) key.click = false;
|
|||
|
}
|
|||
|
|
|||
|
public function logic():void {
|
|||
|
if (!game.infocus) {
|
|||
|
if (game.globalsound > 0) {
|
|||
|
game.globalsound = 0;
|
|||
|
SoundMixer.soundTransform = new SoundTransform(0);
|
|||
|
}
|
|||
|
music.processmusic();
|
|||
|
help.updateglow();
|
|||
|
}else {
|
|||
|
switch(game.gamestate){
|
|||
|
case TITLEMODE:
|
|||
|
titlelogic(key, dwgfx, game, obj, help, music);
|
|||
|
break;
|
|||
|
case GAMEMODE:
|
|||
|
if (map.towermode) {
|
|||
|
towerlogic(key, dwgfx, game, map, obj, help, music);
|
|||
|
}else{
|
|||
|
gamelogic(key, dwgfx, game, map, obj, help, music);
|
|||
|
}
|
|||
|
break;
|
|||
|
case MAPMODE:
|
|||
|
maplogic(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case CONTROLTUTORIALMODE:
|
|||
|
controltutoriallogic(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case TELEPORTERMODE:
|
|||
|
maplogic(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case GAMECOMPLETE:
|
|||
|
gamecompletelogic(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case GAMECOMPLETE2:
|
|||
|
gamecompletelogic2(key, dwgfx, game, map, obj, help, music);
|
|||
|
break;
|
|||
|
case CLICKTOSTART:
|
|||
|
help.updateglow();
|
|||
|
if (dwgfx.ntextbox == 0) {
|
|||
|
//music.play(6);
|
|||
|
map.ypos = (700-29) * 8;
|
|||
|
map.bypos = map.ypos / 2;
|
|||
|
map.cameramode = 0;
|
|||
|
|
|||
|
game.gamestate = TITLEMODE;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
if (game.platform.wakeupcall > 0) {
|
|||
|
game.platform.wakeupcall--;
|
|||
|
if (game.platform.wakeupcall == 0) {
|
|||
|
if(immersivemode){
|
|||
|
//AndroidFullScreen.immersiveMode();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
music.processmusic();
|
|||
|
dwgfx.processfade();
|
|||
|
game.gameclock();
|
|||
|
dwgfx.trinketcolset = false; //Reset this in every frame, used for a new standard random colour each frame
|
|||
|
if (game.savemystats) {
|
|||
|
game.savemystats = false;
|
|||
|
game.savestats(map, dwgfx);
|
|||
|
}
|
|||
|
|
|||
|
if (game.muted) {
|
|||
|
if (game.globalsound == 1) {
|
|||
|
game.globalsound = 0; SoundMixer.soundTransform = new SoundTransform(0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!game.muted && game.globalsound == 0) {
|
|||
|
game.globalsound = 1; SoundMixer.soundTransform = new SoundTransform(1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function render():void {
|
|||
|
if (!game.infocus) {
|
|||
|
dwgfx.backbuffer.lock();
|
|||
|
/*
|
|||
|
dwgfx.bprint(5, 110, "Game paused", 196 - help.glow, 255 - help.glow, 196 - help.glow, true);
|
|||
|
dwgfx.bprint(5, 120, "[click to resume]", 196 - help.glow, 255 - help.glow, 196 - help.glow, true);
|
|||
|
dwgfx.bprint(5, 230, "Press M to mute in game", 164 - help.glow, 196 - help.glow, 164 - help.glow, true);
|
|||
|
*/
|
|||
|
dwgfx.render();
|
|||
|
dwgfx.backbuffer.unlock();
|
|||
|
}else {
|
|||
|
switch(game.gamestate){
|
|||
|
case TITLEMODE:
|
|||
|
titlerender(key, dwgfx, map, game, obj, help);
|
|||
|
break;
|
|||
|
case GAMEMODE:
|
|||
|
if (map.towermode) {
|
|||
|
towerrender(key, dwgfx, game, map, obj, help);
|
|||
|
}else{
|
|||
|
gamerender(key, dwgfx, game, map, obj, help);
|
|||
|
}
|
|||
|
break;
|
|||
|
case CONTROLTUTORIALMODE:
|
|||
|
controltutorialrender(key, dwgfx, game, map, obj, help);
|
|||
|
break;
|
|||
|
case MAPMODE:
|
|||
|
maprender(key, dwgfx, game, map, obj, help);
|
|||
|
break;
|
|||
|
case TELEPORTERMODE:
|
|||
|
teleporterrender(key, dwgfx, game, map, obj, help);
|
|||
|
break;
|
|||
|
case GAMECOMPLETE:
|
|||
|
gamecompleterender(key, dwgfx, game, obj, help);
|
|||
|
break;
|
|||
|
case GAMECOMPLETE2:
|
|||
|
gamecompleterender2(key, dwgfx, game, obj, help);
|
|||
|
break;
|
|||
|
case CLICKTOSTART:
|
|||
|
dwgfx.backbuffer.lock();
|
|||
|
//dwgfx.bprint(5, 115, "[Click to start]", 196 - help.glow, 196 - help.glow, 255 - help.glow, true);
|
|||
|
dwgfx.drawgui(help);
|
|||
|
dwgfx.render();
|
|||
|
dwgfx.backbuffer.unlock();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function mainloop(e:TimerEvent):void {
|
|||
|
_current = getTimer();
|
|||
|
if (_last < 0) _last = _current;
|
|||
|
_delta += _current - _last;
|
|||
|
_last = _current;
|
|||
|
if (_delta >= _rate){
|
|||
|
_delta %= _skip;
|
|||
|
while (_delta >= _rate){
|
|||
|
_delta -= _rate;
|
|||
|
input();
|
|||
|
logic();
|
|||
|
if (key.hasclicked) key.click = false;
|
|||
|
}
|
|||
|
render();
|
|||
|
e.updateAfterEvent();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function setzoom(t:int, dwgfx:dwgraphicsclass):void {
|
|||
|
/*
|
|||
|
switch(t) {
|
|||
|
case 1:
|
|||
|
dwgfx.screen.width = 320;
|
|||
|
dwgfx.screen.height = 240;
|
|||
|
dwgfx.screen.x = (640 - 320) / 2;
|
|||
|
dwgfx.screen.y = (480 - 240) / 2;
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
dwgfx.screen.width = 640;
|
|||
|
dwgfx.screen.height = 480;
|
|||
|
dwgfx.screen.x = 0;
|
|||
|
dwgfx.screen.y = 0;
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
dwgfx.screen.width = 960;
|
|||
|
dwgfx.screen.height = 720;
|
|||
|
dwgfx.screen.x = (640 - 960) / 2;
|
|||
|
dwgfx.screen.y = (480 - 720) / 2;
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
dwgfx.screen.width = 1280;
|
|||
|
dwgfx.screen.height = 960;
|
|||
|
dwgfx.screen.x = (640 - 1280) / 2;
|
|||
|
dwgfx.screen.y = (480 - 960) / 2;
|
|||
|
break;
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
public function updategraphicsmode(game:gameclass, dwgfx:dwgraphicsclass):void {
|
|||
|
/*
|
|||
|
swfStage = stage;
|
|||
|
|
|||
|
if (game.advanced_mode) { //advanced graphics mode
|
|||
|
//Screen Smooting
|
|||
|
dwgfx.screen.smoothing = game.advanced_smoothing;
|
|||
|
|
|||
|
//Scaling
|
|||
|
if(game.advanced_scaling==0){
|
|||
|
swfStage.scaleMode = StageScaleMode.SHOW_ALL;
|
|||
|
setzoom(2, dwgfx);
|
|||
|
}else{
|
|||
|
swfStage.scaleMode = StageScaleMode.NO_SCALE; //Turn Scaling off
|
|||
|
setzoom(game.advanced_scaling, dwgfx);
|
|||
|
}
|
|||
|
|
|||
|
stage.fullScreenSourceRect = null;
|
|||
|
//Fullscreen
|
|||
|
if (game.fullscreen) {
|
|||
|
stage.displayState = StageDisplayState.FULL_SCREEN;
|
|||
|
Mouse.hide();
|
|||
|
}else {
|
|||
|
stage.displayState = StageDisplayState.NORMAL;
|
|||
|
Mouse.show();
|
|||
|
}
|
|||
|
}else{
|
|||
|
swfStage.scaleMode = StageScaleMode.SHOW_ALL;
|
|||
|
if (game.fullscreen) {
|
|||
|
dwgfx.screen.smoothing = true;
|
|||
|
stage.fullScreenSourceRect = new Rectangle(0, 0, 640, 480);
|
|||
|
stage.displayState = StageDisplayState.FULL_SCREEN;
|
|||
|
Mouse.hide();
|
|||
|
}else {
|
|||
|
dwgfx.screen.smoothing = false;
|
|||
|
stage.displayState = StageDisplayState.NORMAL;
|
|||
|
Mouse.show();
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
// Timer information (a shout out to ChevyRay for the implementation)
|
|||
|
public static const TARGET_FPS:Number = 30; // the fixed-FPS we want the game to run at
|
|||
|
private var _rate:Number = 1000 / TARGET_FPS; // how long (in seconds) each frame is
|
|||
|
private var _skip:Number = _rate * 10; // this tells us to allow a maximum of 10 frame skips
|
|||
|
private var _last:Number = -1;
|
|||
|
private var _current:Number = 0;
|
|||
|
private var _delta:Number = 0;
|
|||
|
private var _timer:Timer = new Timer(4);
|
|||
|
|
|||
|
public var dwgfx:dwgraphicsclass = new dwgraphicsclass();
|
|||
|
public var music:musicclass = new musicclass();
|
|||
|
public var help:helpclass = new helpclass();
|
|||
|
public var map:mapclass = new mapclass();
|
|||
|
public var game:gameclass;
|
|||
|
public var obj:entityclass = new entityclass();
|
|||
|
public var key:KeyPoll;
|
|||
|
public var script:scriptclass = new scriptclass();
|
|||
|
|
|||
|
public var slogo:MovieClip;
|
|||
|
public var logoposition:Matrix;
|
|||
|
public var pixel:uint; public var pixel2:uint;
|
|||
|
public var pi:uint, pj:uint;
|
|||
|
public var i:int, j:int, k:int, temp:int, tempx:int, tempy:int, tempstring:String;
|
|||
|
public var tr:int, tg:int, tb:int, t:int;
|
|||
|
public var tvel:Number;
|
|||
|
public var swfStage:Stage;
|
|||
|
public var immersivemode:Boolean;
|
|||
|
//Embedded resources:
|
|||
|
//Graphics
|
|||
|
[Embed(source = '../data/graphics/tiles.png')] private var im_tiles:Class;
|
|||
|
[Embed(source = '../data/graphics/tiles2.png')] private var im_tiles2:Class;
|
|||
|
[Embed(source = '../data/graphics/tiles3.png')] private var im_tiles3:Class;
|
|||
|
[Embed(source = '../data/graphics/sprites.png')] private var im_sprites:Class;
|
|||
|
[Embed(source = '../data/graphics/flipsprites.png')] private var im_flipsprites:Class;
|
|||
|
[Embed(source = '../data/graphics/font.png')] private var im_bfont:Class;
|
|||
|
[Embed(source = '../data/graphics/fontmask.png')] private var im_bfontmask:Class;
|
|||
|
[Embed(source = '../data/graphics/teleporter.png')] private var im_teleporter:Class;
|
|||
|
[Embed(source = '../data/graphics/entcolours.png')] private var im_entcolours:Class;
|
|||
|
|
|||
|
[Embed(source = '../data/graphics/levelcomplete.png')] private var im_image0:Class;
|
|||
|
[Embed(source = '../data/graphics/minimap.png')] private var im_image1:Class;
|
|||
|
[Embed(source = '../data/graphics/covered.png')] private var im_image2:Class;
|
|||
|
[Embed(source = '../data/graphics/elephant.png')] private var im_image3:Class;
|
|||
|
[Embed(source = '../data/graphics/gamecomplete.png')] private var im_image4:Class;
|
|||
|
[Embed(source = '../data/graphics/fliplevelcomplete.png')] private var im_image5:Class;
|
|||
|
[Embed(source = '../data/graphics/flipgamecomplete.png')] private var im_image6:Class;
|
|||
|
[Embed(source = '../data/graphics/site.png')] private var im_image7:Class;
|
|||
|
[Embed(source = '../data/graphics/site2.png')] private var im_image8:Class;
|
|||
|
[Embed(source = '../data/graphics/site3.png')] private var im_image9:Class;
|
|||
|
[Embed(source = '../data/graphics/ending.png')] private var im_image10:Class;
|
|||
|
|
|||
|
[Embed(source = '../data/graphics/controls/touchscreen.png')] private var im_mobileimage1:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/lefthand_off.png')] private var im_mobileimage2:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/lefthand_near.png')] private var im_mobileimage3:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/lefthand_far.png')] private var im_mobileimage4:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/righthand_off.png')] private var im_mobileimage5:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/righthand_near.png')] private var im_mobileimage6:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/righthand_far.png')] private var im_mobileimage7:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/arrowleft.png')] private var im_mobileimage8:Class;
|
|||
|
[Embed(source = '../data/graphics/controls/arrowright.png')] private var im_mobileimage9:Class;
|
|||
|
//Playerlevel images
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_0.png')] private var im_imgplayerlevel0:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_1.png')] private var im_imgplayerlevel1:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_2.png')] private var im_imgplayerlevel2:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_3.png')] private var im_imgplayerlevel3:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_4.png')] private var im_imgplayerlevel4:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_5.png')] private var im_imgplayerlevel5:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_6.png')] private var im_imgplayerlevel6:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_7.png')] private var im_imgplayerlevel7:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_8.png')] private var im_imgplayerlevel8:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_9.png')] private var im_imgplayerlevel9:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_10.png')] private var im_imgplayerlevel10:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_11.png')] private var im_imgplayerlevel11:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_12.png')] private var im_imgplayerlevel12:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_13.png')] private var im_imgplayerlevel13:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_14.png')] private var im_imgplayerlevel14:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_15.png')] private var im_imgplayerlevel15:Class;
|
|||
|
[Embed(source = '../data/graphics/playerlevels/playerlevel_16.png')] private var im_imgplayerlevel16:Class;
|
|||
|
//iOS Buttons
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/map.png')] private var im_button_0:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/back.png')] private var im_button_1:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/talk_1.png')] private var im_button_2:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/talk_2.png')] private var im_button_3:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/use_1.png')] private var im_button_4:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/use_2.png')] private var im_button_5:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/teleport_1.png')] private var im_button_6:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/teleport_2.png')] private var im_button_7:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/controls_1.png')] private var im_button_8:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/controls_2.png')] private var im_button_9:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/gamecenter.png')] private var im_button_10:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/button_left.png')] private var im_button_11:Class;
|
|||
|
[Embed(source = '../data/graphics/mobilebuttons/button_right.png')] private var im_button_12:Class;
|
|||
|
|
|||
|
//Music
|
|||
|
[Embed(source = '../data/music/levelcomplete.mp3')] private var music_1:Class;
|
|||
|
[Embed(source = '../data/music/endgame.mp3')] private var music_2:Class;
|
|||
|
//Sound effects
|
|||
|
[Embed(source = '../data/sounds/jump.mp3')] private var ef_0:Class;
|
|||
|
[Embed(source = '../data/sounds/jump2.mp3')] private var ef_1:Class;
|
|||
|
[Embed(source = '../data/sounds/hurt.mp3')] private var ef_2:Class;
|
|||
|
[Embed(source = '../data/sounds/souleyeminijingle.mp3')] private var ef_3:Class;
|
|||
|
[Embed(source = '../data/sounds/coin.mp3')] private var ef_4:Class;
|
|||
|
[Embed(source = '../data/sounds/save.mp3')] private var ef_5:Class;
|
|||
|
[Embed(source = '../data/sounds/crumble.mp3')] private var ef_6:Class;
|
|||
|
[Embed(source = '../data/sounds/vanish.mp3')] private var ef_7:Class;
|
|||
|
[Embed(source = '../data/sounds/blip.mp3')] private var ef_8:Class;
|
|||
|
[Embed(source = '../data/sounds/preteleport.mp3')] private var ef_9:Class;
|
|||
|
[Embed(source = '../data/sounds/teleport.mp3')] private var ef_10:Class;
|
|||
|
[Embed(source = '../data/sounds/crew1.mp3')] private var ef_11:Class;
|
|||
|
[Embed(source = '../data/sounds/crew2.mp3')] private var ef_12:Class;
|
|||
|
[Embed(source = '../data/sounds/crew3.mp3')] private var ef_13:Class;
|
|||
|
[Embed(source = '../data/sounds/crew4.mp3')] private var ef_14:Class;
|
|||
|
[Embed(source = '../data/sounds/crew5.mp3')] private var ef_15:Class;
|
|||
|
[Embed(source = '../data/sounds/crew6.mp3')] private var ef_16:Class;
|
|||
|
[Embed(source = '../data/sounds/terminal.mp3')] private var ef_17:Class;
|
|||
|
[Embed(source = '../data/sounds/gamesaved.mp3')] private var ef_18:Class;
|
|||
|
[Embed(source = '../data/sounds/crashing.mp3')] private var ef_19:Class;
|
|||
|
[Embed(source = '../data/sounds/blip2.mp3')] private var ef_20:Class;
|
|||
|
[Embed(source = '../data/sounds/countdown.mp3')] private var ef_21:Class;
|
|||
|
[Embed(source = '../data/sounds/go.mp3')] private var ef_22:Class;
|
|||
|
[Embed(source = '../data/sounds/crash.mp3')] private var ef_23:Class;
|
|||
|
[Embed(source = '../data/sounds/combine.mp3')] private var ef_24:Class;
|
|||
|
[Embed(source = '../data/sounds/newrecord.mp3')] private var ef_25:Class;
|
|||
|
[Embed(source = '../data/sounds/trophy.mp3')] private var ef_26:Class;
|
|||
|
[Embed(source = '../data/sounds/rescue.mp3')] private var ef_27:Class;
|
|||
|
}
|
|||
|
}
|