STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228027
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5119

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/34795681?noj=FRM34795681-20DC" width="1" height="1"></div>

Alien Slayer 3D.swf

This is the info page for
Flash #29977

(Click the ID number above for more basic data on this flash file.)


Text
BRAIN VX

Faster focus restoration

HEART VX

ARMS VX

LEGS VX

Improved resistance to attacks

Faster health restoration

Improved gun stability and precision

Increased movement speed

CHEST VX

STEALTH

Limited time invisibility

HEAL

Restore some health

REPULSE

Keeps creatures at distance for a while

Higher resistance with upgrades

Extended period of time with upgrades

Higher restoration with upgrades

99

99

99

99

99

99

99

99

Focus Cost 50

Focus Cost 40

Focus Cost 60

0 %

0 / 5665 kB

<p align="left"><font face="Arial" size="10" color="#ffffff" letterSpacing="1.000000" kerning="0"><b>file 1 of 4 : alienslayer3D.swf </b></font></p>

<p align="center"></p>

V1.05u

<p align="center"><font face="Verdana" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">This version can only be played online.</font></p><p align="center"><font face="Verdana" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Click the PLAY button to play this game</font></p>

<p align="center"><font face="Verdana" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">To embed this game on your website</font></p>

<p align="center"><font face="Verdana" size="10" color="#000000" letterSpacing="0.000000" kerning="1">http://www.bubblebox.com/freecontent.htm</font></p>

<p align="center"><font face="Verdana" size="10" color="#000000" letterSpacing="0.000000" kerning="1">http://www.bubblebox.com/play/action/1012.htm</font></p>

<p align="center"><font face="Verdana" size="14" color="#ff6600" letterSpacing="0.000000" kerning="1"><b>CLICK HERE</b></font></p>

<p align="center"><font face="Verdana" size="14" color="#ff6600" letterSpacing="0.000000" kerning="1"><b>CLICK HERE</b></font></p>

PLAY

Flash player 9 of higher is required to play this game

Your current version is WIN 8.0.0.0

Click anywhere to open the flash player 9 download page

Please install flash player 9 or higher

SKIP

This game requires a good PC to run at full speed.
2G RAM and a decent graphic card is recommanded.

!!!  CHOOSE YOUR ENGINE  !!!

GOOD PC

Textures enabled

GOOD PC

Textures enabled

NOT SO GOOD PC

Wireframe display

NOT SO GOOD PC

Wireframe display

If the game gets slower after a while,
please save your game at the next check point and refresh this page.

music

sound control

sound FX

24 fps

QiGames.com  copyright 2008

QiGames.com  copyright 2008

--- Mb RAM

999 / 999

9999

RELOADING ...

999999 / 999999

999 / 999

XP

999 / 999

FOCUS

+

PRESS C TO LEVEL UP

[Z] MAP

4

5

6

MEDIKIT OBTAINED

RIFLE BULLETS
OBTAINED

RPG OBTAINED

RED KEY OBTAINED

GREEN KEY OBTAINED

YELLOW KEY OBTAINED

BLUE KEY OBTAINED

1

9999

2

3

9999

M

9

10 Alien Eggs Left

1000 XP

Press SPACEBAR to open door

Fast Kill     10 XP

SUBMIT SCORE

PLAYER NAME

YOUR SCORE

999,999

SENDING SCORE . . .

SENDING SCORE

SENDING SCORE .

SENDING SCORE . .

VIEW SCORES

SCORE SUBMITTED

TRY AGAIN

ERROR WHILE SENDING SCORE

MISSION FAILED

QUIT GAME

WE COULD GIVE YOU AN OFFICE JOB IF YOU WANT !

IF THIS WAS A REAL MISSION, YOU WOULD BE DEAD RIGHT NOW.

OK

MUSIC VOLUME

SFX VOLUME

CAMERA ROTATION SENSIBILITY

MOUSE WHEEL SENSIBILITY

OPTIONS

OBJECTIVE

LEVEL 1

DESTROY 5 ALIEN EGGS

LEVEL 2

DESTROY 10 ALIEN EGGS

LEVEL 3

DESTROY 15 ALIEN EGGS

LEVEL 4

DESTROY 20 ALIEN EGGS

Save Game
Portal

Alien Egg

Cleared

Nothing

Exit

LEVEL 1

LEVEL 2

LEVEL 3

LEVEL 4

GAME PAUSED

RESUME GAME

HELP

OPTIONS

SAVING GAME . . .

SAVING GAME

SAVING GAME .

SAVING GAME . .

GAME SAVED
SUCCESFULLY

AIM FOR THE HEAD

KILL THE ALIENS FASTER BY AIMING FOR THE HEAD

SURVIVOR KILL

FAST KILL

USE YOUR LEVEL-UP POINTS WISELY

KILL THE ALIENS AS FAST AS POSSIBLE WHEN THEY APPEAR TO EARN BONUS POINTS (XP)

KILL THE ALIENS (EXCEPT THE EGGS) WITH YOUR PISTOL TO EARN XP BONUSES.

NOT RECOMMENDED FOR BEGINNERS

KNOW YOUR STRENGTHS AND WEAKNESSES AND IMPROVE YOUR CHARACTER ACCORDINGLY.

AIM WITH THE
GREEN DOT

COMBAT TIPS

AMMO

KEYS OPEN RESPECTIVE COLORED DOORS

KEYS

MEDIKIT

RIFLE

RPG

ITEMS TO COLLECT

SELECT WEAPONS

PAUSE / GAME MENU

MOUSE WHEEL

OPEN DOOR

USE SPECIAL SKILLS

STEALTH

HEAL

REPULSE

MOVE FORWARD / BACKWARD

STRAFE LEFT / RIGHT

AIM/FIRE WITH THE
GREEN DOT

2

3

4

5

6

RELOAD

SPACE

R

P

HOW TO PLAY

OR

W

S

D

A

OR

1

SHOW MAP

Z

CHARACTER SHEET

C

USE MEDIKIT

M

JACK BAUER

LEVEL 2

XP :

NEXT LEVEL :

999999

999999

UPGRADES POINTS AVAILABLE  :

999

CHARACTER SHEET

9:60

MENU

BACK TO MENU

GOOD JOB SLAYING ALL THAT ALIEN SCUM.
WE CAN DEFINITELY USE YOU IN BATTLE.

WE SHOULD HAVE A REAL MISSION FOR YOU SOON ...

TRAINING COMPLETED

CONTINUE

LEVEL COMPLETE BASE BONUS

TIME ELAPSED

DAMAGE SUFFERED

EFFECTIVE XP BONUS

999,999

999,999

999,999

999,999

Game will be saved automatically

99:60

999,999

LEVEL COMPLETED

LOAD game

New game

MORE gameS

www.flashsandy.org

Flash 3D Engine

www.flashsandy.org

Flash 3D Engine

QiGames.com

PRODUCED BY

QiGames.com

PRODUCED BY

WELCOME TO THE
ALIEN SLAYER CORP
TRAINING FACILITY

BEFORE WE CAN USE YOU IN A REAL MISSION, WE NEED TO KNOW IF YOU ARE FIT FOR COMBAT

SLAY THE ALIENS AND DESTROY THEIR EGGS TO COMPLETE YOUR TRAINING

BE PREPARED SOLDIER !

SPECIAL OPS
IDENTIFICATION

SOLDIER

ELITE

RECRUIT

THREAT LEVEL

PLAY

BACK

Game1

Game2

Game3

Game4

Game5

LOAD GAME

LOADING . . .

LOADING

LOADING .

LOADING . .

ActionScript [AS3]

Section 1
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; public class AdLoader { private static var cpmstarLoader:Loader; public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{ var _local3:String; Security.allowDomain("server.cpmstar.com"); _local3 = "http://server.cpmstar.com/adviewas3.swf"; cpmstarLoader = new Loader(); cpmstarLoader.contentLoaderInfo.addEventListener("ioError", onError); cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2))); return (cpmstarLoader); } public static function onError(_arg1:Event){ trace("URL ERROR CPMStar"); } } }//package CPMStar
Section 2
//BaseScrollPane (fl.containers.BaseScrollPane) package fl.containers { import fl.controls.*; import flash.display.*; import fl.core.*; import flash.events.*; import flash.geom.*; import fl.events.*; public class BaseScrollPane extends UIComponent { protected var defaultLineScrollSize:Number;// = 4 protected var _maxHorizontalScrollPosition:Number;// = 0 protected var vScrollBar:Boolean; protected var disabledOverlay:Shape; protected var hScrollBar:Boolean; protected var availableWidth:Number; protected var _verticalPageScrollSize:Number;// = 0 protected var vOffset:Number;// = 0 protected var _verticalScrollBar:ScrollBar; protected var useFixedHorizontalScrolling:Boolean;// = false protected var contentWidth:Number;// = 0 protected var contentHeight:Number;// = 0 protected var _horizontalPageScrollSize:Number;// = 0 protected var background:DisplayObject; protected var _useBitmpScrolling:Boolean;// = false protected var contentPadding:Number;// = 0 protected var availableHeight:Number; protected var _horizontalScrollBar:ScrollBar; protected var contentScrollRect:Rectangle; protected var _horizontalScrollPolicy:String; protected var _verticalScrollPolicy:String; protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5}; public function BaseScrollPane(){ contentWidth = 0; contentHeight = 0; contentPadding = 0; vOffset = 0; _maxHorizontalScrollPosition = 0; _horizontalPageScrollSize = 0; _verticalPageScrollSize = 0; defaultLineScrollSize = 4; useFixedHorizontalScrolling = false; _useBitmpScrolling = false; super(); } protected function handleWheel(_arg1:MouseEvent):void{ if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){ return; }; _verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize)); setVerticalScrollPosition(_verticalScrollBar.scrollPosition); dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition)); } public function get verticalScrollPosition():Number{ return (_verticalScrollBar.scrollPosition); } protected function drawDisabledOverlay():void{ if (enabled){ if (contains(disabledOverlay)){ removeChild(disabledOverlay); }; } else { disabledOverlay.x = (disabledOverlay.y = contentPadding); disabledOverlay.width = availableWidth; disabledOverlay.height = availableHeight; disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number); addChild(disabledOverlay); }; } public function set verticalScrollPosition(_arg1:Number):void{ drawNow(); _verticalScrollBar.scrollPosition = _arg1; setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false); } protected function setContentSize(_arg1:Number, _arg2:Number):void{ if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){ return; }; contentWidth = _arg1; contentHeight = _arg2; invalidate(InvalidationType.SIZE); } public function get horizontalScrollPosition():Number{ return (_horizontalScrollBar.scrollPosition); } public function get horizontalScrollBar():ScrollBar{ return (_horizontalScrollBar); } override public function set enabled(_arg1:Boolean):void{ if (enabled == _arg1){ return; }; _verticalScrollBar.enabled = _arg1; _horizontalScrollBar.enabled = _arg1; super.enabled = _arg1; } public function get verticalLineScrollSize():Number{ return (_verticalScrollBar.lineScrollSize); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } protected function calculateAvailableSize():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = ScrollBar.WIDTH; _local2 = (contentPadding = Number(getStyleValue("contentPadding"))); _local3 = ((height - (2 * _local2)) - vOffset); vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3))))); _local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2)); _local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4); hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0))))); if (hScrollBar){ _local3 = (_local3 - _local1); }; if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){ vScrollBar = true; _local4 = (_local4 - _local1); }; availableHeight = (_local3 + vOffset); availableWidth = _local4; } public function get maxVerticalScrollPosition():Number{ drawNow(); return (Math.max(0, (contentHeight - availableHeight))); } public function set horizontalScrollPosition(_arg1:Number):void{ drawNow(); _horizontalScrollBar.scrollPosition = _arg1; setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false); } public function get horizontalLineScrollSize():Number{ return (_horizontalScrollBar.lineScrollSize); } public function set verticalPageScrollSize(_arg1:Number):void{ _verticalPageScrollSize = _arg1; invalidate(InvalidationType.SIZE); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ } public function get useBitmapScrolling():Boolean{ return (_useBitmpScrolling); } protected function handleScroll(_arg1:ScrollEvent):void{ if (_arg1.target == _verticalScrollBar){ setVerticalScrollPosition(_arg1.position); } else { setHorizontalScrollPosition(_arg1.position); }; } public function set verticalLineScrollSize(_arg1:Number):void{ _verticalScrollBar.lineScrollSize = _arg1; } public function get verticalScrollBar():ScrollBar{ return (_verticalScrollBar); } protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ } public function set horizontalPageScrollSize(_arg1:Number):void{ _horizontalPageScrollSize = _arg1; invalidate(InvalidationType.SIZE); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES)){ setStyles(); drawBackground(); if (contentPadding != getStyleValue("contentPadding")){ invalidate(InvalidationType.SIZE, false); }; }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){ drawLayout(); }; updateChildren(); super.draw(); } public function set horizontalScrollPolicy(_arg1:String):void{ _horizontalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } override protected function configUI():void{ var _local1:Graphics; super.configUI(); contentScrollRect = new Rectangle(0, 0, 85, 85); _verticalScrollBar = new ScrollBar(); _verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); _verticalScrollBar.visible = false; _verticalScrollBar.lineScrollSize = defaultLineScrollSize; addChild(_verticalScrollBar); copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); _horizontalScrollBar = new ScrollBar(); _horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL; _horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); _horizontalScrollBar.visible = false; _horizontalScrollBar.lineScrollSize = defaultLineScrollSize; addChild(_horizontalScrollBar); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); disabledOverlay = new Shape(); _local1 = disabledOverlay.graphics; _local1.beginFill(0xFFFFFF); _local1.drawRect(0, 0, width, height); _local1.endFill(); addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true); } protected function calculateContentWidth():void{ } public function get verticalPageScrollSize():Number{ if (isNaN(availableHeight)){ drawNow(); }; return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize); } protected function drawLayout():void{ calculateAvailableSize(); calculateContentWidth(); background.width = width; background.height = height; if (vScrollBar){ _verticalScrollBar.visible = true; _verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding); _verticalScrollBar.y = contentPadding; _verticalScrollBar.height = availableHeight; } else { _verticalScrollBar.visible = false; }; _verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize); setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false); if (hScrollBar){ _horizontalScrollBar.visible = true; _horizontalScrollBar.x = contentPadding; _horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding); _horizontalScrollBar.width = availableWidth; } else { _horizontalScrollBar.visible = false; }; _horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize); setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false); drawDisabledOverlay(); } protected function drawBackground():void{ var _local1:DisplayObject; _local1 = background; background = getDisplayObjectInstance(getStyleValue("skin")); background.width = width; background.height = height; addChildAt(background, 0); if (((!((_local1 == null))) && (!((_local1 == background))))){ removeChild(_local1); }; } public function set horizontalLineScrollSize(_arg1:Number):void{ _horizontalScrollBar.lineScrollSize = _arg1; } public function get horizontalPageScrollSize():Number{ if (isNaN(availableWidth)){ drawNow(); }; return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize); } public function get maxHorizontalScrollPosition():Number{ drawNow(); return (Math.max(0, (contentWidth - availableWidth))); } protected function setStyles():void{ copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); } protected function updateChildren():void{ _verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled); _verticalScrollBar.drawNow(); _horizontalScrollBar.drawNow(); } public function set verticalScrollPolicy(_arg1:String):void{ _verticalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } public function set useBitmapScrolling(_arg1:Boolean):void{ _useBitmpScrolling = _arg1; invalidate(InvalidationType.STATE); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.containers
Section 3
//ScrollPane (fl.containers.ScrollPane) package fl.containers { import fl.controls.*; import flash.display.*; import fl.core.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.net.*; import flash.system.*; import flash.ui.*; public class ScrollPane extends BaseScrollPane implements IFocusManagerComponent { protected var scrollDragHPos:Number; protected var loader:Loader; protected var yOffset:Number; protected var currentContent:Object; protected var xOffset:Number; protected var _source:Object;// = "" protected var scrollDragVPos:Number; protected var _scrollDrag:Boolean;// = false protected var contentClip:Sprite; private static var defaultStyles:Object = {upSkin:"ScrollPane_upSkin", disabledSkin:"ScrollPane_disabledSkin", focusRectSkin:null, focusRectPadding:null, contentPadding:0}; public function ScrollPane(){ _source = ""; _scrollDrag = false; super(); } public function get source():Object{ return (_source); } public function set source(_arg1:Object):void{ var _local2:*; clearContent(); if (isLivePreview){ return; }; _source = _arg1; if ((((_source == "")) || ((_source == null)))){ return; }; currentContent = getDisplayObjectInstance(_arg1); if (currentContent != null){ _local2 = contentClip.addChild((currentContent as DisplayObject)); dispatchEvent(new Event(Event.INIT)); update(); } else { load(new URLRequest(_source.toString())); }; } public function get bytesLoaded():Number{ return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesLoaded); } protected function doDrag(_arg1:MouseEvent):void{ var _local2:*; var _local3:*; _local2 = (scrollDragVPos - (mouseY - yOffset)); _verticalScrollBar.setScrollPosition(_local2); setVerticalScrollPosition(_verticalScrollBar.scrollPosition, true); _local3 = (scrollDragHPos - (mouseX - xOffset)); _horizontalScrollBar.setScrollPosition(_local3); setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, true); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = calculateAvailableHeight(); switch (_arg1.keyCode){ case Keyboard.DOWN: verticalScrollPosition++; break; case Keyboard.UP: verticalScrollPosition--; break; case Keyboard.RIGHT: horizontalScrollPosition++; break; case Keyboard.LEFT: horizontalScrollPosition--; break; case Keyboard.END: verticalScrollPosition = maxVerticalScrollPosition; break; case Keyboard.HOME: verticalScrollPosition = 0; break; case Keyboard.PAGE_UP: verticalScrollPosition = (verticalScrollPosition - _local2); break; case Keyboard.PAGE_DOWN: verticalScrollPosition = (verticalScrollPosition + _local2); break; }; } protected function doStartDrag(_arg1:MouseEvent):void{ if (!enabled){ return; }; xOffset = mouseX; yOffset = mouseY; scrollDragHPos = horizontalScrollPosition; scrollDragVPos = verticalScrollPosition; stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true); } public function get content():DisplayObject{ var _local1:Object; _local1 = currentContent; if ((_local1 is URLRequest)){ _local1 = loader.content; }; return ((_local1 as DisplayObject)); } public function get percentLoaded():Number{ if (loader != null){ return (Math.round(((bytesLoaded / bytesTotal) * 100))); }; return (0); } protected function endDrag(_arg1:MouseEvent):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag); } public function update():void{ var _local1:DisplayObject; _local1 = contentClip.getChildAt(0); setContentSize(_local1.width, _local1.height); } override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ var _local3:*; _local3 = contentClip.scrollRect; _local3.x = _arg1; contentClip.scrollRect = _local3; } public function refreshPane():void{ if ((_source is URLRequest)){ _source = _source.url; }; source = _source; } protected function passEvent(_arg1:Event):void{ dispatchEvent(_arg1); } protected function calculateAvailableHeight():Number{ var _local1:Number; _local1 = Number(getStyleValue("contentPadding")); return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0)); } public function load(_arg1:URLRequest, _arg2:LoaderContext=null):void{ if (_arg2 == null){ _arg2 = new LoaderContext(false, ApplicationDomain.currentDomain); }; clearContent(); initLoader(); currentContent = (_source = _arg1); loader.load(_arg1, _arg2); } override protected function handleScroll(_arg1:ScrollEvent):void{ passEvent(_arg1); super.handleScroll(_arg1); } override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{ var _local3:*; _local3 = contentClip.scrollRect; _local3.y = _arg1; contentClip.scrollRect = _local3; } protected function initLoader():void{ loader = new Loader(); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, passEvent, false, 0, true); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onContentLoad, false, 0, true); loader.contentLoaderInfo.addEventListener(Event.INIT, passEvent, false, 0, true); contentClip.addChild(loader); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES)){ drawBackground(); }; if (isInvalid(InvalidationType.STATE)){ setScrollDrag(); }; super.draw(); } override protected function configUI():void{ super.configUI(); contentClip = new Sprite(); addChild(contentClip); contentClip.scrollRect = contentScrollRect; _horizontalScrollPolicy = ScrollPolicy.AUTO; _verticalScrollPolicy = ScrollPolicy.AUTO; } public function set scrollDrag(_arg1:Boolean):void{ _scrollDrag = _arg1; invalidate(InvalidationType.STATE); } protected function clearContent():void{ if (contentClip.numChildren == 0){ return; }; contentClip.removeChildAt(0); currentContent = null; if (loader != null){ try { loader.close(); } catch(e) { }; try { loader.unload(); } catch(e) { }; loader = null; }; } override protected function drawLayout():void{ super.drawLayout(); contentScrollRect = contentClip.scrollRect; contentScrollRect.width = availableWidth; contentScrollRect.height = availableHeight; contentClip.cacheAsBitmap = useBitmapScrolling; contentClip.scrollRect = contentScrollRect; contentClip.x = (contentClip.y = contentPadding); } override protected function drawBackground():void{ var _local1:DisplayObject; _local1 = background; background = getDisplayObjectInstance(getStyleValue((enabled) ? "upSkin" : "disabledSkin")); background.width = width; background.height = height; addChildAt(background, 0); if (((!((_local1 == null))) && (!((_local1 == background))))){ removeChild(_local1); }; } public function get bytesTotal():Number{ return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesTotal); } protected function onContentLoad(_arg1:Event):void{ var _local2:*; update(); _local2 = calculateAvailableHeight(); calculateAvailableSize(); horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), availableWidth); verticalScrollBar.setScrollProperties(_local2, 0, (contentHeight - _local2), _local2); passEvent(_arg1); } public function get scrollDrag():Boolean{ return (_scrollDrag); } protected function setScrollDrag():void{ if (_scrollDrag){ contentClip.addEventListener(MouseEvent.MOUSE_DOWN, doStartDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, endDrag, false, 0, true); } else { contentClip.removeEventListener(MouseEvent.MOUSE_DOWN, doStartDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, endDrag); removeEventListener(MouseEvent.MOUSE_MOVE, doDrag); }; contentClip.buttonMode = _scrollDrag; } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition())); } } }//package fl.containers
Section 4
//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.display.*; import fl.core.*; import flash.events.*; import flash.utils.*; import fl.events.*; public class BaseButton extends UIComponent { protected var _selected:Boolean;// = false private var unlockedMouseState:String; protected var pressTimer:Timer; protected var mouseState:String; protected var background:DisplayObject; private var _mouseStateLocked:Boolean;// = false protected var _autoRepeat:Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ _selected = false; _autoRepeat = false; _mouseStateLocked = false; super(); buttonMode = true; mouseChildren = false; useHandCursor = false; setupMouseEvents(); setMouseState("up"); pressTimer = new Timer(1, 0); pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } protected function endPress():void{ pressTimer.reset(); } public function set mouseStateLocked(_arg1:Boolean):void{ _mouseStateLocked = _arg1; if (_arg1 == false){ setMouseState(unlockedMouseState); } else { unlockedMouseState = mouseState; }; } public function get autoRepeat():Boolean{ return (_autoRepeat); } public function set autoRepeat(_arg1:Boolean):void{ _autoRepeat = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function get selected():Boolean{ return (_selected); } protected function mouseEventHandler(_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } public function setMouseState(_arg1:String):void{ if (_mouseStateLocked){ unlockedMouseState = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } protected function startPress():void{ if (_autoRepeat){ pressTimer.delay = Number(getStyleValue("repeatDelay")); pressTimer.start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } protected function buttonDown(_arg1:TimerEvent):void{ if (!_autoRepeat){ endPress(); return; }; if (pressTimer.currentCount == 1){ pressTimer.delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function setupMouseEvents():void{ addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true); addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true); } protected function drawLayout():void{ background.width = width; background.height = height; } protected function drawBackground():void{ var _local1:String; var _local2:DisplayObject; _local1 = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); _local2 = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 5
//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.core.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var emphasizedBorder:DisplayObject; protected var _emphasized:Boolean;// = false private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function Button(){ _emphasized = false; super(); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!(_emphasized)))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public function set emphasized(_arg1:Boolean):void{ _emphasized = _arg1; invalidate(InvalidationType.STYLES); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){ drawEmphasized(); }; super.draw(); if (emphasizedBorder != null){ setChildIndex(emphasizedBorder, (numChildren - 1)); }; } public function get emphasized():Boolean{ return (_emphasized); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function drawEmphasized():void{ var _local1:Object; var _local2:Number; if (emphasizedBorder != null){ removeChild(emphasizedBorder); }; emphasizedBorder = null; if (!_emphasized){ return; }; _local1 = getStyleValue("emphasizedSkin"); if (_local1 != null){ emphasizedBorder = getDisplayObjectInstance(_local1); }; if (emphasizedBorder != null){ addChildAt(emphasizedBorder, 0); _local2 = Number(getStyleValue("emphasizedPadding")); emphasizedBorder.x = (emphasizedBorder.y = -(_local2)); emphasizedBorder.width = (width + (_local2 * 2)); emphasizedBorder.height = (height + (_local2 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controls
Section 6
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controls
Section 7
//CheckBox (fl.controls.CheckBox) package fl.controls { import flash.display.*; public class CheckBox extends LabelButton { private static var defaultStyles:Object = {icon:null, upIcon:"CheckBox_upIcon", downIcon:"CheckBox_downIcon", overIcon:"CheckBox_overIcon", disabledIcon:"CheckBox_disabledIcon", selectedDisabledIcon:"CheckBox_selectedDisabledIcon", focusRectSkin:null, focusRectPadding:null, selectedUpIcon:"CheckBox_selectedUpIcon", selectedDownIcon:"CheckBox_selectedDownIcon", selectedOverIcon:"CheckBox_selectedOverIcon", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5}; public static var createAccessibilityImplementation:Function; override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = (background.x - _local2); uiFocusRect.y = (background.y - _local2); uiFocusRect.width = (background.width + (_local2 << 1)); uiFocusRect.height = (background.height + (_local2 << 1)); }; } override public function get autoRepeat():Boolean{ return (false); } override public function set autoRepeat(_arg1:Boolean):void{ } override public function set toggle(_arg1:Boolean):void{ throw (new Error("Warning: You cannot change a CheckBox's toggle.")); } override public function get toggle():Boolean{ return (true); } override protected function configUI():void{ var _local1:Shape; var _local2:Graphics; super.configUI(); super.toggle = true; _local1 = new Shape(); _local2 = _local1.graphics; _local2.beginFill(0, 0); _local2.drawRect(0, 0, 100, 100); _local2.endFill(); background = (_local1 as DisplayObject); addChildAt(background, 0); } override protected function drawLayout():void{ var _local1:Number; super.drawLayout(); _local1 = Number(getStyleValue("textPadding")); switch (_labelPlacement){ case ButtonLabelPlacement.RIGHT: icon.x = _local1; textField.x = (icon.x + (icon.width + _local1)); background.width = ((textField.x + textField.width) + _local1); background.height = (Math.max(textField.height, icon.height) + (_local1 * 2)); break; case ButtonLabelPlacement.LEFT: icon.x = ((width - icon.width) - _local1); textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width); background.width = ((textField.width + icon.width) + (_local1 * 3)); background.height = (Math.max(textField.height, icon.height) + (_local1 * 2)); break; case ButtonLabelPlacement.TOP: case ButtonLabelPlacement.BOTTOM: background.width = (Math.max(textField.width, icon.width) + (_local1 * 2)); background.height = ((textField.height + icon.height) + (_local1 * 3)); break; }; background.x = Math.min((icon.x - _local1), (textField.x - _local1)); background.y = Math.min((icon.y - _local1), (textField.y - _local1)); } override protected function drawBackground():void{ } override protected function initializeAccessibility():void{ if (CheckBox.createAccessibilityImplementation != null){ CheckBox.createAccessibilityImplementation(this); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 8
//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.display.*; import fl.core.*; import flash.events.*; import flash.text.*; import fl.managers.*; import fl.events.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _labelPlacement:String;// = "right" protected var _toggle:Boolean;// = false protected var icon:DisplayObject; protected var oldMouseState:String; protected var mode:String;// = "center" public var textField:TextField; protected var _label:String;// = "Label" private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function LabelButton(){ _labelPlacement = ButtonLabelPlacement.RIGHT; _toggle = false; _label = "Label"; mode = "center"; super(); } protected function toggleSelected(_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } public function get labelPlacement():String{ return (_labelPlacement); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if (oldMouseState == null){ oldMouseState = mouseState; }; setMouseState("down"); startPress(); }; } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState(oldMouseState); oldMouseState = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } override public function get selected():Boolean{ return ((_toggle) ? _selected : false); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; }; _toggle = _arg1; if (_toggle){ addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true); } else { removeEventListener(MouseEvent.CLICK, toggleSelected); }; invalidate(InvalidationType.STATE); } public function get label():String{ return (_label); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if (_toggle){ invalidate(InvalidationType.STATE); }; } override protected function draw():void{ if (textField.text != _label){ label = _label; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); drawIcon(); drawTextFormat(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } public function get toggle():Boolean{ return (_toggle); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function drawLayout():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); _local3 = (textField.textWidth + 4); _local4 = (textField.textHeight + 4); _local5 = ((icon)==null) ? 0 : (icon.width + _local1); _local6 = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } protected function drawIcon():void{ var _local1:DisplayObject; var _local2:String; var _local3:Object; _local1 = icon; _local2 = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); _local3 = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{ _label = _arg1; if (textField.text != _label){ textField.text = _label; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } protected function drawTextFormat():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controls
Section 9
//ScrollBar (fl.controls.ScrollBar) package fl.controls { import fl.core.*; import flash.events.*; import fl.events.*; public class ScrollBar extends UIComponent { private var _direction:String;// = "vertical" protected var inDrag:Boolean;// = false protected var upArrow:BaseButton; private var _pageScrollSize:Number;// = 0 protected var downArrow:BaseButton; private var _pageSize:Number;// = 10 private var thumbScrollOffset:Number; private var _maxScrollPosition:Number;// = 0 private var _scrollPosition:Number;// = 0 protected var track:BaseButton; private var _minScrollPosition:Number;// = 0 private var _lineScrollSize:Number;// = 1 protected var thumb:LabelButton; protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0}; public static const WIDTH:Number = 15; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35}; public function ScrollBar(){ _pageSize = 10; _pageScrollSize = 0; _lineScrollSize = 1; _minScrollPosition = 0; _maxScrollPosition = 0; _scrollPosition = 0; _direction = ScrollBarDirection.VERTICAL; inDrag = false; super(); setStyles(); focusEnabled = false; } public function get minScrollPosition():Number{ return (_minScrollPosition); } public function set minScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _arg1, _maxScrollPosition); } public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ var _local3:Number; _local3 = scrollPosition; _scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1)); if (_local3 == _scrollPosition){ return; }; if (_arg2){ dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition)); }; updateThumb(); } public function set scrollPosition(_arg1:Number):void{ setScrollPosition(_arg1, true); } public function get pageScrollSize():Number{ return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize); } public function set pageSize(_arg1:Number):void{ if (_arg1 > 0){ _pageSize = _arg1; }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ this.pageSize = _arg1; _minScrollPosition = _arg2; _maxScrollPosition = _arg3; if (_arg4 >= 0){ _pageScrollSize = _arg4; }; enabled = (_maxScrollPosition > _minScrollPosition); setScrollPosition(_scrollPosition, false); updateThumb(); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition)))))); updateThumb(); } protected function updateThumb():void{ var _local1:Number; _local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize); if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){ thumb.height = 12; thumb.visible = false; } else { thumb.height = Math.max(13, ((_pageSize / _local1) * track.height)); thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition)))); thumb.visible = enabled; }; } protected function thumbPressHandler(_arg1:MouseEvent):void{ inDrag = true; thumbScrollOffset = (mouseY - thumb.y); thumb.mouseStateLocked = true; mouseChildren = false; stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true); } protected function thumbReleaseHandler(_arg1:MouseEvent):void{ inDrag = false; mouseChildren = true; thumb.mouseStateLocked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler); } public function set pageScrollSize(_arg1:Number):void{ if (_arg1 >= 0){ _pageScrollSize = _arg1; }; } protected function handleThumbDrag(_arg1:MouseEvent):void{ var _local2:Number; _local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset))); setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition)); } public function set direction(_arg1:String):void{ var _local2:Boolean; if (_direction == _arg1){ return; }; _direction = _arg1; if (isLivePreview){ return; }; setScaleY(1); _local2 = (_direction == ScrollBarDirection.HORIZONTAL); if (((_local2) && (componentInspectorSetting))){ if (rotation == 90){ return; }; setScaleX(-1); rotation = -90; }; if (!componentInspectorSetting){ if (((_local2) && ((rotation == 0)))){ rotation = -90; setScaleX(-1); } else { if (((!(_local2)) && ((rotation == -90)))){ rotation = 0; setScaleX(1); }; }; }; invalidate(InvalidationType.SIZE); } public function set lineScrollSize(_arg1:Number):void{ if (_arg1 > 0){ _lineScrollSize = _arg1; }; } override public function get height():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height); } protected function scrollPressHandler(_arg1:ComponentEvent):void{ var _local2:Number; var _local3:Number; _arg1.stopImmediatePropagation(); if (_arg1.currentTarget == upArrow){ setScrollPosition((_scrollPosition - _lineScrollSize)); } else { if (_arg1.currentTarget == downArrow){ setScrollPosition((_scrollPosition + _lineScrollSize)); } else { _local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition); _local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize; if (_scrollPosition < _local2){ setScrollPosition(Math.min(_local2, (_scrollPosition + _local3))); } else { if (_scrollPosition > _local2){ setScrollPosition(Math.max(_local2, (_scrollPosition - _local3))); }; }; }; }; } public function get pageSize():Number{ return (_pageSize); } public function set maxScrollPosition(_arg1:Number):void{ setScrollProperties(_pageSize, _minScrollPosition, _arg1); } public function get scrollPosition():Number{ return (_scrollPosition); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Number; if (isInvalid(InvalidationType.SIZE)){ _local1 = super.height; downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height))); track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height)))); updateThumb(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ setStyles(); }; downArrow.drawNow(); upArrow.drawNow(); track.drawNow(); thumb.drawNow(); validate(); } override protected function configUI():void{ super.configUI(); track = new BaseButton(); track.move(0, 14); track.useHandCursor = false; track.autoRepeat = true; track.focusEnabled = false; addChild(track); thumb = new LabelButton(); thumb.label = ""; thumb.setSize(WIDTH, 15); thumb.move(0, 15); thumb.focusEnabled = false; addChild(thumb); downArrow = new BaseButton(); downArrow.setSize(WIDTH, 14); downArrow.autoRepeat = true; downArrow.focusEnabled = false; addChild(downArrow); upArrow = new BaseButton(); upArrow.setSize(WIDTH, 14); upArrow.move(0, 0); upArrow.autoRepeat = true; upArrow.focusEnabled = false; addChild(upArrow); upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true); thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true); enabled = false; } public function get direction():String{ return (_direction); } public function get lineScrollSize():Number{ return (_lineScrollSize); } override public function setSize(_arg1:Number, _arg2:Number):void{ if (_direction == ScrollBarDirection.HORIZONTAL){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; } public function get maxScrollPosition():Number{ return (_maxScrollPosition); } override public function get width():Number{ return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width); } protected function setStyles():void{ copyStylesToChild(downArrow, DOWN_ARROW_STYLES); copyStylesToChild(thumb, THUMB_STYLES); copyStylesToChild(track, TRACK_STYLES); copyStylesToChild(upArrow, UP_ARROW_STYLES); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 10
//ScrollBarDirection (fl.controls.ScrollBarDirection) package fl.controls { public class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; } }//package fl.controls
Section 11
//ScrollPolicy (fl.controls.ScrollPolicy) package fl.controls { public class ScrollPolicy { public static const OFF:String = "off"; public static const ON:String = "on"; public static const AUTO:String = "auto"; } }//package fl.controls
Section 12
//Slider (fl.controls.Slider) package fl.controls { import flash.display.*; import fl.core.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.ui.*; public class Slider extends UIComponent implements IFocusManagerComponent { protected var _direction:String; protected var _liveDragging:Boolean;// = false protected var _value:Number;// = 0 protected var _snapInterval:Number;// = 0 protected var _minimum:Number;// = 0 protected var _maximum:Number;// = 10 protected var track:BaseButton; protected var _tickInterval:Number;// = 0 protected var tickContainer:Sprite; protected var thumb:BaseButton; protected static const TICK_STYLES:Object = {upSkin:"tickSkin"}; protected static const TRACK_STYLES:Object = {upSkin:"sliderTrackSkin", overSkin:"sliderTrackSkin", downSkin:"sliderTrackSkin", disabledSkin:"sliderTrackDisabledSkin"}; protected static const THUMB_STYLES:Object = {upSkin:"thumbUpSkin", overSkin:"thumbOverSkin", downSkin:"thumbDownSkin", disabledSkin:"thumbDisabledSkin"}; protected static var defaultStyles:Object = {thumbUpSkin:"SliderThumb_upSkin", thumbOverSkin:"SliderThumb_overSkin", thumbDownSkin:"SliderThumb_downSkin", thumbDisabledSkin:"SliderThumb_disabledSkin", sliderTrackSkin:"SliderTrack_skin", sliderTrackDisabledSkin:"SliderTrack_disabledSkin", tickSkin:"SliderTick_skin", focusRectSkin:null, focusRectPadding:null}; public function Slider(){ _direction = SliderDirection.HORIZONTAL; _minimum = 0; _maximum = 10; _value = 0; _tickInterval = 0; _snapInterval = 0; _liveDragging = false; super(); setStyles(); } public function get minimum():Number{ return (_minimum); } public function set minimum(_arg1:Number):void{ _minimum = _arg1; this.value = Math.max(_arg1, this.value); invalidate(InvalidationType.DATA); } public function get maximum():Number{ return (_maximum); } protected function positionThumb():void{ thumb.x = ((((_direction)==SliderDirection.VERTICAL) ? ((maximum - minimum) - value) : (value - minimum) / (maximum - minimum)) * _width); } protected function clearTicks():void{ if (((!(tickContainer)) || (!(tickContainer.parent)))){ return; }; removeChild(tickContainer); } protected function onTrackClick(_arg1:MouseEvent):void{ calculateValue(track.mouseX, InteractionInputType.MOUSE, SliderEventClickTarget.TRACK); if (!liveDragging){ dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.TRACK, InteractionInputType.MOUSE)); }; } public function set maximum(_arg1:Number):void{ _maximum = _arg1; this.value = Math.min(_arg1, this.value); invalidate(InvalidationType.DATA); } public function get liveDragging():Boolean{ return (_liveDragging); } protected function doDrag(_arg1:MouseEvent):void{ var _local2:Number; var _local3:Number; _local2 = (_width / snapInterval); _local3 = track.mouseX; calculateValue(_local3, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB); dispatchEvent(new SliderEvent(SliderEvent.THUMB_DRAG, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE)); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ var _local2:uint; var _local3:Number; var _local4:Boolean; if (!enabled){ return; }; _local2 = ((snapInterval)>0) ? snapInterval : 1; _local4 = (direction == SliderDirection.HORIZONTAL); if ((((((_arg1.keyCode == Keyboard.DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.LEFT)) && (_local4))))){ _local3 = (value - _local2); } else { if ((((((_arg1.keyCode == Keyboard.UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.RIGHT)) && (_local4))))){ _local3 = (value + _local2); } else { if ((((((_arg1.keyCode == Keyboard.PAGE_DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.HOME)) && (_local4))))){ _local3 = minimum; } else { if ((((((_arg1.keyCode == Keyboard.PAGE_UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.END)) && (_local4))))){ _local3 = maximum; }; }; }; }; if (!isNaN(_local3)){ _arg1.stopPropagation(); doSetValue(_local3, InteractionInputType.KEYBOARD, null, _arg1.keyCode); }; } override public function set enabled(_arg1:Boolean):void{ if (enabled == _arg1){ return; }; super.enabled = _arg1; track.enabled = (thumb.enabled = _arg1); } protected function thumbPressHandler(_arg1:MouseEvent):void{ stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true); dispatchEvent(new SliderEvent(SliderEvent.THUMB_PRESS, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB)); } public function get snapInterval():Number{ return (_snapInterval); } protected function thumbReleaseHandler(_arg1:MouseEvent):void{ stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag); stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler); dispatchEvent(new SliderEvent(SliderEvent.THUMB_RELEASE, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB)); dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE)); } public function set liveDragging(_arg1:Boolean):void{ _liveDragging = _arg1; } public function set value(_arg1:Number):void{ doSetValue(_arg1); } public function set direction(_arg1:String):void{ var _local2:Boolean; _direction = _arg1; _local2 = (_direction == SliderDirection.VERTICAL); if (isLivePreview){ if (_local2){ setScaleY(-1); y = track.height; } else { setScaleY(1); y = 0; }; positionThumb(); return; }; if (((_local2) && (componentInspectorSetting))){ if ((rotation % 90) == 0){ setScaleY(-1); }; }; if (!componentInspectorSetting){ rotation = (_local2) ? 90 : 0; }; } public function set tickInterval(_arg1:Number):void{ _tickInterval = _arg1; invalidate(InvalidationType.SIZE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES)){ setStyles(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ track.setSize(_width, track.height); track.drawNow(); thumb.drawNow(); }; if (tickInterval > 0){ drawTicks(); } else { clearTicks(); }; positionThumb(); super.draw(); } override protected function configUI():void{ super.configUI(); thumb = new BaseButton(); thumb.setSize(13, 13); thumb.autoRepeat = false; addChild(thumb); thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true); track = new BaseButton(); track.move(0, 0); track.setSize(80, 4); track.autoRepeat = false; track.useHandCursor = false; track.addEventListener(MouseEvent.CLICK, onTrackClick, false, 0, true); addChildAt(track, 0); } public function set snapInterval(_arg1:Number):void{ _snapInterval = _arg1; } public function get value():Number{ return (_value); } public function get direction():String{ return (_direction); } public function get tickInterval():Number{ return (_tickInterval); } override public function setSize(_arg1:Number, _arg2:Number):void{ if ((((_direction == SliderDirection.VERTICAL)) && (!(isLivePreview)))){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; invalidate(InvalidationType.SIZE); } protected function drawTicks():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:uint; var _local5:DisplayObject; clearTicks(); tickContainer = new Sprite(); _local1 = ((maximum)<1) ? (tickInterval / 100) : tickInterval; _local2 = ((maximum - minimum) / _local1); _local3 = (_width / _local2); _local4 = 0; while (_local4 <= _local2) { _local5 = getDisplayObjectInstance(getStyleValue("tickSkin")); _local5.x = (_local3 * _local4); _local5.y = ((track.y - _local5.height) - 2); tickContainer.addChild(_local5); _local4++; }; addChild(tickContainer); } protected function calculateValue(_arg1:Number, _arg2:String, _arg3:String, _arg4:int=undefined):void{ var _local5:Number; _local5 = ((_arg1 / _width) * (maximum - minimum)); if (_direction == SliderDirection.VERTICAL){ _local5 = (maximum - _local5); } else { _local5 = (minimum + _local5); }; doSetValue(_local5, _arg2, _arg3, _arg4); } protected function getPrecision(_arg1:Number):Number{ var _local2:String; _local2 = _arg1.toString(); if (_local2.indexOf(".") == -1){ return (0); }; return (_local2.split(".").pop().length); } protected function doSetValue(_arg1:Number, _arg2:String=null, _arg3:String=null, _arg4:int=undefined):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local5 = _value; if (((!((_snapInterval == 0))) && (!((_snapInterval == 1))))){ _local6 = Math.pow(10, getPrecision(snapInterval)); _local7 = (_snapInterval * _local6); _local8 = Math.round((_arg1 * _local6)); _local9 = (Math.round((_local8 / _local7)) * _local7); _arg1 = (_local9 / _local6); _value = Math.max(minimum, Math.min(maximum, _arg1)); } else { _value = Math.max(minimum, Math.min(maximum, Math.round(_arg1))); }; if (((!((_local5 == _value))) && (((((liveDragging) && (!((_arg3 == null))))) || ((_arg2 == InteractionInputType.KEYBOARD)))))){ dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, _arg3, _arg2, _arg4)); }; positionThumb(); } protected function setStyles():void{ copyStylesToChild(thumb, THUMB_STYLES); copyStylesToChild(track, TRACK_STYLES); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 13
//SliderDirection (fl.controls.SliderDirection) package fl.controls { public class SliderDirection { public static var HORIZONTAL:String = "horizontal"; public static var VERTICAL:String = "vertical"; } }//package fl.controls
Section 14
//TextArea (fl.controls.TextArea) package fl.controls { import flash.display.*; import fl.core.*; import flash.events.*; import flash.text.*; import fl.managers.*; import fl.events.*; import flash.system.*; import flash.ui.*; public class TextArea extends UIComponent implements IFocusManagerComponent { protected var _html:Boolean;// = false protected var _verticalScrollBar:UIScrollBar; protected var _savedHTML:String; protected var background:DisplayObject; protected var _horizontalScrollBar:UIScrollBar; protected var _horizontalScrollPolicy:String;// = "auto" protected var _editable:Boolean;// = true protected var textHasChanged:Boolean;// = false public var textField:TextField; protected var _wordWrap:Boolean;// = true protected var _verticalScrollPolicy:String;// = "auto" protected static const SCROLL_BAR_STYLES:Object = {downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {upSkin:"TextArea_upSkin", disabledSkin:"TextArea_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function TextArea(){ _editable = true; _wordWrap = true; _horizontalScrollPolicy = ScrollPolicy.AUTO; _verticalScrollPolicy = ScrollPolicy.AUTO; _html = false; textHasChanged = false; super(); } override public function drawFocus(_arg1:Boolean):void{ if (focusTarget != null){ focusTarget.drawFocus(_arg1); return; }; super.drawFocus(_arg1); } public function set imeMode(_arg1:String):void{ _imeMode = _arg1; } protected function handleWheel(_arg1:MouseEvent):void{ if (((!(enabled)) || (!(_verticalScrollBar.visible)))){ return; }; _verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * _verticalScrollBar.lineScrollSize)); dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, (_arg1.delta * _verticalScrollBar.lineScrollSize), _verticalScrollBar.scrollPosition)); } public function get verticalScrollPosition():Number{ return (textField.scrollV); } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textField)) || (super.isOurFocus(_arg1)))); } public function set verticalScrollPosition(_arg1:Number):void{ drawNow(); textField.scrollV = _arg1; } protected function handleKeyDown(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.ENTER){ dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true)); }; } public function set text(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ return; }; textField.text = _arg1; _html = false; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); textHasChanged = true; } protected function updateTextFieldType():void{ textField.type = (((enabled) && (_editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC; textField.selectable = enabled; textField.wordWrap = _wordWrap; textField.multiline = true; } public function get selectionEndIndex():int{ return (textField.selectionEndIndex); } public function get editable():Boolean{ return (_editable); } override protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; setIMEMode(true); if (_arg1.target == this){ stage.focus = textField; }; _local2 = focusManager; if (_local2){ if (editable){ _local2.showFocusIndicator = true; }; _local2.defaultButtonEnabled = false; }; super.focusInHandler(_arg1); if (editable){ setIMEMode(true); }; } public function get wordWrap():Boolean{ return (_wordWrap); } public function get selectionBeginIndex():int{ return (textField.selectionBeginIndex); } public function get horizontalScrollBar():UIScrollBar{ return (_horizontalScrollBar); } public function set alwaysShowSelection(_arg1:Boolean):void{ textField.alwaysShowSelection = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseChildren = enabled; invalidate(InvalidationType.STATE); } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } public function get horizontalScrollPosition():Number{ return (textField.scrollH); } public function set condenseWhite(_arg1:Boolean):void{ textField.condenseWhite = _arg1; invalidate(InvalidationType.DATA); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } public function set displayAsPassword(_arg1:Boolean):void{ textField.displayAsPassword = _arg1; } public function get maxVerticalScrollPosition():int{ return (textField.maxScrollV); } public function set horizontalScrollPosition(_arg1:Number):void{ drawNow(); textField.scrollH = _arg1; } public function get textHeight():Number{ drawNow(); return (textField.textHeight); } public function get textWidth():Number{ drawNow(); return (textField.textWidth); } public function get restrict():String{ return (textField.restrict); } public function set editable(_arg1:Boolean):void{ _editable = _arg1; invalidate(InvalidationType.STATE); } protected function updateScrollBars(){ _horizontalScrollBar.update(); _verticalScrollBar.update(); _verticalScrollBar.enabled = enabled; _horizontalScrollBar.enabled = enabled; _horizontalScrollBar.drawNow(); _verticalScrollBar.drawNow(); } public function get maxChars():int{ return (textField.maxChars); } public function get length():Number{ return (textField.text.length); } public function set wordWrap(_arg1:Boolean):void{ _wordWrap = _arg1; invalidate(InvalidationType.STATE); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } public function getLineMetrics(_arg1:int):TextLineMetrics{ return (textField.getLineMetrics(_arg1)); } public function get imeMode():String{ return (IME.conversionMode); } protected function handleScroll(_arg1:ScrollEvent):void{ dispatchEvent(_arg1); } override protected function focusOutHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; _local2 = focusManager; if (_local2){ _local2.defaultButtonEnabled = true; }; setSelection(0, 0); super.focusOutHandler(_arg1); if (editable){ setIMEMode(false); }; } protected function delayedLayoutUpdate(_arg1:Event):void{ if (textHasChanged){ textHasChanged = false; drawLayout(); return; }; removeEventListener(Event.ENTER_FRAME, delayedLayoutUpdate); } public function set htmlText(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ return; }; if (_arg1 == ""){ text = ""; return; }; _html = true; _savedHTML = _arg1; textField.htmlText = _arg1; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); textHasChanged = true; } public function get text():String{ return (textField.text); } public function get verticalScrollBar():UIScrollBar{ return (_verticalScrollBar); } override public function get enabled():Boolean{ return (super.enabled); } public function get condenseWhite():Boolean{ return (textField.condenseWhite); } public function set horizontalScrollPolicy(_arg1:String):void{ _horizontalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } public function get displayAsPassword():Boolean{ return (textField.displayAsPassword); } override protected function draw():void{ if (isInvalid(InvalidationType.STATE)){ updateTextFieldType(); }; if (isInvalid(InvalidationType.STYLES)){ setStyles(); setEmbedFont(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawTextFormat(); drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA)){ drawLayout(); }; super.draw(); } protected function handleTextInput(_arg1:TextEvent):void{ _arg1.stopPropagation(); dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text)); } override protected function configUI():void{ super.configUI(); tabChildren = true; textField = new TextField(); addChild(textField); updateTextFieldType(); _verticalScrollBar = new UIScrollBar(); _verticalScrollBar.name = "V"; _verticalScrollBar.visible = false; _verticalScrollBar.focusEnabled = false; copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); _verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); addChild(_verticalScrollBar); _horizontalScrollBar = new UIScrollBar(); _horizontalScrollBar.name = "H"; _horizontalScrollBar.visible = false; _horizontalScrollBar.focusEnabled = false; _horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL; copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); _horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); addChild(_horizontalScrollBar); textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true); textField.addEventListener(Event.CHANGE, handleChange, false, 0, true); textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true); _horizontalScrollBar.scrollTarget = textField; _verticalScrollBar.scrollTarget = textField; addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true); } protected function setTextSize(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:Number; var _local5:Number; _local4 = (_arg1 - (_arg3 * 2)); _local5 = (_arg2 - (_arg3 * 2)); if (_local4 != textField.width){ textField.width = _local4; }; if (_local5 != textField.height){ textField.height = _local5; }; } public function appendText(_arg1:String):void{ textField.appendText(_arg1); invalidate(InvalidationType.DATA); } protected function needVScroll():Boolean{ if (_verticalScrollPolicy == ScrollPolicy.OFF){ return (false); }; if (_verticalScrollPolicy == ScrollPolicy.ON){ return (true); }; return ((textField.maxScrollV > 1)); } public function setSelection(_arg1:int, _arg2:int):void{ textField.setSelection(_arg1, _arg2); } public function get alwaysShowSelection():Boolean{ return (textField.alwaysShowSelection); } public function get htmlText():String{ return (textField.htmlText); } public function set restrict(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ _arg1 = null; }; textField.restrict = _arg1; } protected function drawBackground():void{ var _local1:DisplayObject; var _local2:String; _local1 = background; _local2 = (enabled) ? "upSkin" : "disabledSkin"; background = getDisplayObjectInstance(getStyleValue(_local2)); if (background != null){ addChildAt(background, 0); }; if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){ removeChild(_local1); }; } public function set maxChars(_arg1:int):void{ textField.maxChars = _arg1; } public function get maxHorizontalScrollPosition():int{ return (textField.maxScrollH); } protected function drawLayout():void{ var _local1:Number; var _local2:Number; var _local3:Boolean; var _local4:Number; var _local5:Boolean; _local1 = Number(getStyleValue("textPadding")); textField.x = (textField.y = _local1); background.width = width; background.height = height; _local2 = height; _local3 = needVScroll(); _local4 = (width - (_local3) ? _verticalScrollBar.width : 0); _local5 = needHScroll(); if (_local5){ _local2 = (_local2 - _horizontalScrollBar.height); }; setTextSize(_local4, _local2, _local1); if (((((_local5) && (!(_local3)))) && (needVScroll()))){ _local3 = true; _local4 = (_local4 - _verticalScrollBar.width); setTextSize(_local4, _local2, _local1); }; if (_local3){ _verticalScrollBar.visible = true; _verticalScrollBar.x = (width - _verticalScrollBar.width); _verticalScrollBar.height = _local2; _verticalScrollBar.visible = true; _verticalScrollBar.enabled = enabled; } else { _verticalScrollBar.visible = false; }; if (_local5){ _horizontalScrollBar.visible = true; _horizontalScrollBar.y = (height - _horizontalScrollBar.height); _horizontalScrollBar.width = _local4; _horizontalScrollBar.visible = true; _horizontalScrollBar.enabled = enabled; } else { _horizontalScrollBar.visible = false; }; updateScrollBars(); addEventListener(Event.ENTER_FRAME, delayedLayoutUpdate, false, 0, true); } protected function setStyles():void{ copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); } protected function needHScroll():Boolean{ if (_horizontalScrollPolicy == ScrollPolicy.OFF){ return (false); }; if (_horizontalScrollPolicy == ScrollPolicy.ON){ return (true); }; return ((textField.maxScrollH > 0)); } protected function drawTextFormat():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; setEmbedFont(); if (_html){ textField.htmlText = _savedHTML; }; } public function set verticalScrollPolicy(_arg1:String):void{ _verticalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } protected function handleChange(_arg1:Event):void{ _arg1.stopPropagation(); dispatchEvent(new Event(Event.CHANGE, true)); invalidate(InvalidationType.DATA); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controls
Section 15
//UIScrollBar (fl.controls.UIScrollBar) package fl.controls { import fl.core.*; import flash.events.*; import flash.text.*; import fl.events.*; public class UIScrollBar extends ScrollBar { protected var inScroll:Boolean;// = false protected var _scrollTarget:TextField; protected var inEdit:Boolean;// = false private static var defaultStyles:Object = {}; public function UIScrollBar(){ inEdit = false; inScroll = false; super(); } protected function handleTargetScroll(_arg1:Event):void{ if (inDrag){ return; }; if (!enabled){ return; }; inEdit = true; updateScrollTargetProperties(); scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV; inEdit = false; } override public function set minScrollPosition(_arg1:Number):void{ super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1; } override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ super.setScrollPosition(_arg1, _arg2); if (!_scrollTarget){ inScroll = false; return; }; updateTargetScroll(); } override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ var _local5:Number; var _local6:Number; _local5 = _arg3; _local6 = ((_arg2)<0) ? 0 : _arg2; if (_scrollTarget != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local5 = ((_arg3)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local5; } else { _local5 = ((_arg3)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local5; }; }; super.setScrollProperties(_arg1, _local6, _local5, _arg4); } public function get scrollTargetName():String{ return (_scrollTarget.name); } public function get scrollTarget():TextField{ return (_scrollTarget); } protected function updateScrollTargetProperties():void{ var _local1:Boolean; var _local2:Number; if (_scrollTarget == null){ setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize); scrollPosition = 0; } else { _local1 = (direction == ScrollBarDirection.HORIZONTAL); _local2 = (_local1) ? _scrollTarget.width : 10; setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV, pageScrollSize); scrollPosition = (_local1) ? _scrollTarget.scrollH : _scrollTarget.scrollV; }; } public function update():void{ inEdit = true; updateScrollTargetProperties(); inEdit = false; } public function set scrollTargetName(_arg1:String):void{ var target = _arg1; try { scrollTarget = (parent.getChildByName(target) as TextField); } catch(error:Error) { throw (new Error("ScrollTarget not found, or is not a TextField")); }; } override public function set direction(_arg1:String):void{ if (isLivePreview){ return; }; super.direction = _arg1; updateScrollTargetProperties(); } protected function handleTargetChange(_arg1:Event):void{ inEdit = true; setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV, true); updateScrollTargetProperties(); inEdit = false; } override public function set maxScrollPosition(_arg1:Number):void{ var _local2:Number; _local2 = _arg1; if (_scrollTarget != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local2 = ((_local2)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local2; } else { _local2 = ((_local2)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local2; }; }; super.maxScrollPosition = _local2; } protected function updateTargetScroll(_arg1:ScrollEvent=null):void{ if (inEdit){ return; }; if (direction == ScrollBarDirection.HORIZONTAL){ _scrollTarget.scrollH = scrollPosition; } else { _scrollTarget.scrollV = scrollPosition; }; } override protected function draw():void{ if (isInvalid(InvalidationType.DATA)){ updateScrollTargetProperties(); }; super.draw(); } public function set scrollTarget(_arg1:TextField):void{ if (_scrollTarget != null){ _scrollTarget.removeEventListener(Event.CHANGE, handleTargetChange, false); _scrollTarget.removeEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false); _scrollTarget.removeEventListener(Event.SCROLL, handleTargetScroll, false); removeEventListener(ScrollEvent.SCROLL, updateTargetScroll, false); }; _scrollTarget = _arg1; if (_scrollTarget != null){ _scrollTarget.addEventListener(Event.CHANGE, handleTargetChange, false, 0, true); _scrollTarget.addEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false, 0, true); _scrollTarget.addEventListener(Event.SCROLL, handleTargetScroll, false, 0, true); addEventListener(ScrollEvent.SCROLL, updateTargetScroll, false, 0, true); }; invalidate(InvalidationType.DATA); } override public function get direction():String{ return (super.direction); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controls
Section 16
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 17
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 18
//UIComponent (fl.core.UIComponent) package fl.core { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; import fl.managers.*; import fl.events.*; import flash.system.*; public class UIComponent extends Sprite { protected var _enabled:Boolean;// = true private var _mouseFocusEnabled:Boolean;// = true protected var startHeight:Number; protected var _height:Number; protected var _oldIMEMode:String;// = null protected var startWidth:Number; public var focusTarget:IFocusManagerComponent; protected var errorCaught:Boolean;// = false protected var uiFocusRect:DisplayObject; protected var _width:Number; public var version:String;// = "3.0.0.15" protected var isFocused:Boolean;// = false protected var callLaterMethods:Dictionary; private var _focusEnabled:Boolean;// = true private var tempText:TextField; protected var invalidateFlag:Boolean;// = false protected var _inspector:Boolean;// = false protected var sharedStyles:Object; protected var invalidHash:Object; protected var isLivePreview:Boolean;// = false protected var _imeMode:String;// = null protected var instanceStyles:Object; protected var _x:Number; protected var _y:Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){ version = "3.0.0.15"; isLivePreview = false; invalidateFlag = false; _enabled = true; isFocused = false; _focusEnabled = true; _mouseFocusEnabled = true; _imeMode = null; _oldIMEMode = null; errorCaught = false; _inspector = false; super(); instanceStyles = {}; sharedStyles = {}; invalidHash = {}; callLaterMethods = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN, focusInHandler); addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; initializeFocusManager(); addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } private function callLaterDispatcher(_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher); stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); return; }; inCallLaterPhase = true; _local2 = callLaterMethods; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } private function addedHandler(_arg1:Event):void{ removeEventListener("addedToStage", addedHandler); initializeFocusManager(); } protected function getStyleValue(_arg1:String):Object{ return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]); } protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function get scaleX():Number{ return ((width / startWidth)); } override public function get scaleY():Number{ return ((height / startHeight)); } override public function set height(_arg1:Number):void{ if (_height == _arg1){ return; }; setSize(width, _arg1); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function focusInHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; if (isOurFocus((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function setStyle(_arg1:String, _arg2:Object):void{ if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; instanceStyles[_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } public function get componentInspectorSetting():Boolean{ return (_inspector); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN(_y)) ? super.y : _y); } protected function setIMEMode(_arg1:Boolean){ var enabled = _arg1; if (_imeMode != null){ if (enabled){ IME.enabled = true; _oldIMEMode = IME.conversionMode; try { if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _imeMode; }; errorCaught = false; } catch(e:Error) { errorCaught = true; throw (new Error(("IME mode not supported: " + _imeMode))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = _oldIMEMode; }; IME.enabled = false; }; }; } public function set enabled(_arg1:Boolean):void{ if (_arg1 == _enabled){ return; }; _enabled = _arg1; invalidate(InvalidationType.STATE); } public function setSharedStyle(_arg1:String, _arg2:Object):void{ if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; sharedStyles[_arg1] = _arg2; if (instanceStyles[_arg1] == null){ invalidate(InvalidationType.STYLES); }; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function set focusEnabled(_arg1:Boolean):void{ _focusEnabled = _arg1; } override public function set scaleX(_arg1:Number):void{ setSize((startWidth * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return (_mouseFocusEnabled); } override public function set scaleY(_arg1:Number):void{ setSize(width, (startHeight * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var classDef:Object; var skin = _arg1; classDef = null; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.setStyle(_local3, getStyleValue(_arg2[_local3])); }; } protected function beforeComponentParameters():void{ } protected function callLater(_arg1:Function):void{ if (inCallLaterPhase){ return; }; callLaterMethods[_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); }; } protected function createFocusManager():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } override public function set visible(_arg1:Boolean):void{ var _local2:String; if (super.visible == _arg1){ return; }; super.visible = _arg1; _local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function hookAccessibility(_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, hookAccessibility); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{ _inspector = _arg1; if (_inspector){ beforeComponentParameters(); } else { afterComponentParameters(); }; } override public function set x(_arg1:Number):void{ move(_arg1, _y); } public function drawNow():void{ draw(); } override public function set y(_arg1:Number):void{ move(_x, _arg1); } protected function checkLivePreview():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } protected function focusOutHandler(_arg1:FocusEvent):void{ if (isOurFocus((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{ _mouseFocusEnabled = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } protected function validate():void{ invalidHash = {}; } override public function get height():Number{ return (_height); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ invalidHash[_arg1] = true; if (_arg2){ this.callLater(draw); }; } public function get enabled():Boolean{ return (_enabled); } protected function getScaleX():Number{ return (super.scaleX); } protected function getScaleY():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return (_focusEnabled); } protected function afterComponentParameters():void{ } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } protected function configUI():void{ var _local1:Number; var _local2:Number; var _local3:Number; isLivePreview = checkLivePreview(); _local1 = rotation; rotation = 0; _local2 = super.width; _local3 = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1; startWidth = _local2; startHeight = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } private function initializeFocusManager():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true); } else { createFocusManager(); }; } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if (invalidHash[_args.pop()]){ return (true); }; }; return (false); } public function setSize(_arg1:Number, _arg2:Number):void{ _width = _arg1; _height = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } override public function set width(_arg1:Number):void{ if (_width == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject; _local1 = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return (_width); } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1; _y = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function validateNow():void{ invalidate(InvalidationType.ALL, false); draw(); } public function getStyle(_arg1:String):Object{ return (instanceStyles[_arg1]); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local2:Object; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = {}; _local3 = _args.length; _local4 = 0; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.core
Section 19
//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.events
Section 20
//InteractionInputType (fl.events.InteractionInputType) package fl.events { public class InteractionInputType { public static const MOUSE:String = "mouse"; public static const KEYBOARD:String = "keyboard"; } }//package fl.events
Section 21
//ScrollEvent (fl.events.ScrollEvent) package fl.events { import flash.events.*; public class ScrollEvent extends Event { private var _position:Number; private var _direction:String; private var _delta:Number; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(ScrollEvent.SCROLL, false, false); _direction = _arg1; _delta = _arg2; _position = _arg3; } override public function clone():Event{ return (new ScrollEvent(_direction, _delta, _position)); } public function get position():Number{ return (_position); } override public function toString():String{ return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position")); } public function get delta():Number{ return (_delta); } public function get direction():String{ return (_direction); } } }//package fl.events
Section 22
//SliderEvent (fl.events.SliderEvent) package fl.events { import flash.events.*; public class SliderEvent extends Event { protected var _triggerEvent:String; protected var _keyCode:Number; protected var _value:Number; protected var _clickTarget:String; public static const CHANGE:String = "change"; public static const THUMB_PRESS:String = "thumbPress"; public static const THUMB_DRAG:String = "thumbDrag"; public static const THUMB_RELEASE:String = "thumbRelease"; public function SliderEvent(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:int=0){ _value = _arg2; _keyCode = _arg5; _triggerEvent = _arg4; _clickTarget = _arg3; super(_arg1); } public function get clickTarget():String{ return (_clickTarget); } override public function clone():Event{ return (new SliderEvent(type, _value, _clickTarget, _triggerEvent, _keyCode)); } override public function toString():String{ return (formatToString("SliderEvent", "type", "value", "bubbles", "cancelable", "keyCode", "triggerEvent", "clickTarget")); } public function get triggerEvent():String{ return (_triggerEvent); } public function get value():Number{ return (_value); } public function get keyCode():Number{ return (_keyCode); } } }//package fl.events
Section 23
//SliderEventClickTarget (fl.events.SliderEventClickTarget) package fl.events { public class SliderEventClickTarget { public static const TRACK:String = "track"; public static const THUMB:String = "thumb"; } }//package fl.events
Section 24
//FocusManager (fl.managers.FocusManager) package fl.managers { import fl.controls.*; import flash.display.*; import fl.core.*; import flash.events.*; import flash.utils.*; import flash.text.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var focusableObjects:Dictionary; private var _showFocusIndicator:Boolean;// = true private var defButton:Button; private var focusableCandidates:Array; private var _form:DisplayObjectContainer; private var _defaultButtonEnabled:Boolean;// = true private var activated:Boolean;// = false private var _defaultButton:Button; private var calculateCandidates:Boolean;// = true private var lastFocus:InteractiveObject; private var lastAction:String; public function FocusManager(_arg1:DisplayObjectContainer){ activated = false; calculateCandidates = true; _showFocusIndicator = true; _defaultButtonEnabled = true; super(); focusableObjects = new Dictionary(true); if (_arg1 != null){ _form = _arg1; addFocusables(DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, addedHandler); _arg1.addEventListener(Event.REMOVED, removedHandler); activate(); }; } public function get showFocusIndicator():Boolean{ return (_showFocusIndicator); } private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local5:int; var _local6:int; var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; _local5 = focusableCandidates.length; _local6 = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){ _local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < focusableCandidates.length) { _local10 = focusableCandidates[_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } public function set form(_arg1:DisplayObjectContainer):void{ _form = _arg1; } private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && (isTabVisible(o)))){ focusableObjects[o] = true; calculateCandidates = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){ focusableObjects[io] = true; calculateCandidates = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){ addFocusables(doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } private function mouseFocusChangeHandler(_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } private function focusOutHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; _local2 = (_arg1.target as InteractiveObject); } private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!isEnabledAndVisible(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject; _local2 = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function sortFocusableObjectsTabIndex():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ focusableCandidates.push(_local2); }; }; focusableCandidates.sort(sortByTabIndex); } private function removeFocusables(_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler); for (_local2 in focusableObjects) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 == lastFocus){ lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local2]; calculateCandidates = true; }; }; }; } private function addedHandler(_arg1:Event):void{ var _local2:DisplayObject; _local2 = DisplayObject(_arg1.target); if (_local2.stage){ addFocusables(DisplayObject(_arg1.target)); }; } private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } private function tabChildrenChangeHandler(_arg1:Event):void{ var _local2:DisplayObjectContainer; if (_arg1.target != _arg1.currentTarget){ return; }; calculateCandidates = true; _local2 = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ addFocusables(_local2, true); } else { removeFocusables(_local2); }; } public function sendDefaultButtonEvent():void{ defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function getFocus():InteractiveObject{ var _local1:InteractiveObject; _local1 = form.stage.focus; return (findFocusManagerComponent(_local1)); } private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; var _local3:TextField; var _local4:SimpleButton; _local2 = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } public function set defaultButton(_arg1:Button):void{ var _local2:Button; _local2 = (_arg1) ? Button(_arg1) : null; if (_local2 != _defaultButton){ if (_defaultButton){ _defaultButton.emphasized = false; }; if (defButton){ defButton.emphasized = false; }; _defaultButton = _local2; defButton = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function deactivateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } private function setFocusToNextObject(_arg1:FocusEvent):void{ var _local2:InteractiveObject; if (!hasFocusableObjects()){ return; }; _local2 = getNextFocusManagerComponent(_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function hasFocusableObjects():Boolean{ var _local1:Object; for (_local1 in focusableObjects) { return (true); }; return (false); } private function tabIndexChangeHandler(_arg1:Event):void{ calculateCandidates = true; } private function sortFocusableObjects():void{ var _local1:Object; var _local2:InteractiveObject; focusableCandidates = []; for (_local1 in focusableObjects) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ sortFocusableObjectsTabIndex(); return; }; focusableCandidates.push(_local2); }; focusableCandidates.sort(sortByDepth); } private function keyFocusChangeHandler(_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){ setFocusToNextObject(_arg1); _arg1.preventDefault(); }; } private function getIndexOfFocusedObject(_arg1:DisplayObject):int{ var _local2:int; var _local3:int; _local2 = focusableCandidates.length; _local3 = 0; _local3 = 0; while (_local3 < _local2) { if (focusableCandidates[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function hideFocus():void{ } private function removedHandler(_arg1:Event):void{ var _local2:int; var _local3:DisplayObject; var _local4:InteractiveObject; _local3 = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){ if (_local3 == lastFocus){ IFocusManagerComponent(lastFocus).drawFocus(false); lastFocus = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); delete focusableObjects[_local3]; calculateCandidates = true; } else { if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 == lastFocus){ lastFocus = null; }; delete focusableObjects[_local4]; calculateCandidates = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler); }; }; removeFocusables(_local3); } private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local3:String; var _local4:String; var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local9:DisplayObject; var _local10:DisplayObject; _local3 = ""; _local4 = ""; _local8 = "0000"; _local9 = DisplayObject(_arg1); _local10 = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return (_defaultButton); } private function activateHandler(_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); if (lastFocus){ if ((lastFocus is IFocusManagerComponent)){ IFocusManagerComponent(lastFocus).setFocus(); } else { form.stage.focus = lastFocus; }; }; lastAction = "ACTIVATE"; } public function showFocus():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{ _defaultButtonEnabled = _arg1; } public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{ var _local2:DisplayObject; var _local3:String; var _local4:int; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:IFocusManagerGroup; if (!hasFocusableObjects()){ return (null); }; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; _local2 = form.stage.focus; _local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2))); _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; _local4 = getIndexOfFocusedObject(_local2); _local5 = false; _local6 = _local4; if (_local4 == -1){ if (_arg1){ _local4 = focusableCandidates.length; }; _local5 = true; }; _local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3); return (findFocusManagerComponent(focusableCandidates[_local7])); } private function mouseDownHandler(_arg1:MouseEvent):void{ var _local2:InteractiveObject; if (_arg1.isDefaultPrevented()){ return; }; _local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); }; lastAction = "MOUSEDOWN"; } private function isTabVisible(_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; _local2 = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){ lastAction = "KEY"; if (calculateCandidates){ sortFocusableObjects(); calculateCandidates = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){ sendDefaultButtonEvent(); }; } private function focusInHandler(_arg1:FocusEvent):void{ var _local2:InteractiveObject; var _local3:Button; _local2 = InteractiveObject(_arg1.target); if (form.contains(_local2)){ lastFocus = findFocusManagerComponent(InteractiveObject(_local2)); if ((lastFocus is Button)){ _local3 = Button(lastFocus); if (defButton){ defButton.emphasized = false; defButton = _local3; _local3.emphasized = true; }; } else { if (((defButton) && (!((defButton == _defaultButton))))){ defButton.emphasized = false; defButton = _defaultButton; _defaultButton.emphasized = true; }; }; }; } private function tabEnabledChangeHandler(_arg1:Event):void{ var _local2:InteractiveObject; var _local3:Boolean; calculateCandidates = true; _local2 = InteractiveObject(_arg1.target); _local3 = (focusableObjects[_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && (isTabVisible(_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; }; focusableObjects[_local2] = true; }; } else { if (_local3){ delete focusableObjects[_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ _showFocusIndicator = _arg1; } public function get form():DisplayObjectContainer{ return (_form); } private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2)); } public function activate():void{ if (activated){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = true; if (lastFocus){ setFocus(lastFocus); }; } public function deactivate():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler); form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true); form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true); form.stage.removeEventListener(Event.ACTIVATE, activateHandler); form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler); form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); activated = false; } public function get defaultButtonEnabled():Boolean{ return (_defaultButtonEnabled); } } }//package fl.managers
Section 25
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import fl.controls.*; import flash.display.*; public interface IFocusManager { function getFocus():InteractiveObject; function deactivate():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function setFocus(_arg1:InteractiveObject):void; function activate():void; function showFocus():void; function set defaultButtonEnabled(_arg1:Boolean):void; function hideFocus():void; function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject; function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject; } }//package fl.managers
Section 26
//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managers
Section 27
//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; function get groupName():String; function get selected():Boolean; } }//package fl.managers
Section 28
//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.utils.*; import flash.text.*; public class StyleManager { private var globalStyles:Object; private var classToDefaultStylesDict:Dictionary; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToInstancesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true); classToDefaultStylesDict = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function clearStyle(_arg1:String):void{ setStyle(_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class; var _local5:Object; _local4 = getClassDef(_arg1); _local5 = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local2:StyleManager; var _local3:Class; var _local4:Object; var _local5:String; _local2 = getInstance(); _local3 = getClassDef(_arg1); _local4 = _local2.classToDefaultStylesDict[_local3]; for (_local5 in _local4) { _arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local3:Dictionary; var _local4:Object; var _local5:UIComponent; _local3 = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local2:Dictionary; var _local3:Object; _local2 = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var inst:StyleManager; var classDef:Class; var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; inst = getInstance(); classDef = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst.classToDefaultStylesDict[classDef] = defaultStyles; inst.classToStylesDict[classDef] = {}; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function getStyle(_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class; var _local4:StyleManager; var _local5:Object; _local3 = getClassDef(_arg1); _local4 = getInstance(); _local5 = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4.classToDefaultStylesDict[_local3][_arg2]); } public static function setStyle(_arg1:String, _arg2:Object):void{ var _local3:Object; _local3 = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managers
Section 29
//wblCeiling (gdk.fps.wbl.wblCeiling) package gdk.fps.wbl { import gdk.fps.*; import gdk.*; public class wblCeiling extends fpsNode { public static var COUNTER = 0; public function wblCeiling(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:gdkTexture){ super(_arg1, _arg2, _arg3, _arg4, _arg5); ROOM.GAME.MAP.ceiling(this, u, v); } override public function loadNode(){ } public static function section(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:gdkTexture, _arg6:Number=1, _arg7:Number=1){ var _local8:*; var _local9:Number; _local8 = 0; while (_local8 < _arg6) { _local9 = 0; while (_local9 < _arg7) { new wblCeiling(_arg1, (_arg2 + _local8), (_arg3 + _local9), _arg4, _arg5); _local9++; }; _local8++; }; } } }//package gdk.fps.wbl
Section 30
//wblDoor (gdk.fps.wbl.wblDoor) package gdk.fps.wbl { import gdk.fps.*; public class wblDoor { public var DUMMY:Boolean; public var LOCKED:Boolean; public var CLOSING:Boolean; public var DOORLOCK:Object; public var ROOM:fpsRoom; public var OPENED:Boolean; public var CLOSED:Boolean; public var ROOMID:Number; public var ROOM2:fpsRoom; public var OPENING:Boolean; public var KEY:String; public function wblDoor(_arg1:fpsRoom, _arg2:fpsRoom, _arg3:Object){ ROOM = _arg1; ROOMID = _arg1.ID; ROOM.door(this); ROOM2 = _arg2; OPENED = false; CLOSED = true; OPENING = false; CLOSING = false; DOORLOCK = _arg3; if (DOORLOCK.dummy == null){ DUMMY = false; } else { DUMMY = DOORLOCK.dummy; }; if (DOORLOCK.locked == null){ LOCKED = false; } else { LOCKED = DOORLOCK.locked; }; if (DOORLOCK.key == null){ KEY = null; } else { KEY = DOORLOCK.key; }; } public function init(){ OPENED = false; CLOSED = true; OPENING = false; CLOSING = false; } } }//package gdk.fps.wbl
Section 31
//wblDoorA (gdk.fps.wbl.wblDoorA) package gdk.fps.wbl { import gdk.fps.*; import gdk.*; import flash.geom.*; import gdk.math.*; public class wblDoorA extends wblDoor { public var PART_L:wblDoorPanel; public var v2:Number; public var PART_R:wblDoorPanel; public var z:Number; private var ANIM_RX0:Number; private var ANIM_LZ0:Number; private var ANIM_LDX:Number; private var ANIM_LDZ:Number; private var ANIM_RZ0:Number; private var ANIM_RATIO:Number; public var dDEPTH:Number; private var ANIM_RDX:Number; public var LINE:mathLine; private var ANIM_RDZ:Number; public var u2:Number; public var h:Number; public var k:Number; public var o:Number; public var CDOOR:wblDoorA; public var v:Number; public var w:Number; public var y:Number; public var PART_F:wblDoorFrame; public var u:Number; private var ANIM_LX0:Number; public var x:Number; public function wblDoorA(_arg1:fpsRoom, _arg2:fpsRoom, _arg3:Object, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:gdkTexture, _arg9:gdkTexture, _arg10:gdkTexture){ var _local11:Point; var _local12:Point; super(_arg1, _arg2, _arg3); u = _arg4; v = _arg5; k = _arg6; w = fpsSetup.FLOOR_WIDTH; h = fpsSetup.WALL_HEIGHT; ANIM_RATIO = 0.6; o = _arg7; switch (o){ case wblWall.W_E: x = ((u * w) + (w / 2)); y = ((k * h) + (h / 2)); z = (v * w); u2 = (u + 1); v2 = v; break; case wblWall.E_W: x = ((u * w) - (w / 2)); y = ((k * h) + (h / 2)); z = (v * w); u2 = (u - 1); v2 = v; break; case wblWall.S_N: x = (u * w); y = ((k * h) + (h / 2)); z = ((v * w) + (w / 2)); u2 = u; v2 = (v + 1); break; case wblWall.N_S: x = (u * w); y = ((k * h) + (h / 2)); z = ((v * w) - (w / 2)); u2 = u; v2 = (v - 1); break; }; w = fpsSetup.FLOOR_WIDTH; h = fpsSetup.WALL_HEIGHT; PART_F = new wblDoorFrame(ROOM, u, v, k, o, _arg8); PART_L = new wblDoorPanel(ROOM, u, v, k, o, _arg9, -1, PART_F); PART_R = new wblDoorPanel(ROOM, u, v, k, o, _arg10, 1, PART_F); _local11 = new Point((u * w), (v * w)); _local12 = new Point((u2 * w), (v2 * w)); LINE = new mathLine(_local11, _local12); ROOM.GAME.MAP.door(this); ROOM.GAME.MAP.closedDoor(u, v, u2, v2); dDEPTH = 80; } public function openDoor(){ if (((OPENING) || (CLOSING))){ return; }; OPENING = true; ROOM.GAME.MAP.loadRoomBehindDoor(this); if (CDOOR != null){ CDOOR.openDoor(); }; if (PART_L.SHAPE != null){ ANIM_LX0 = PART_L.SHAPE.x; ANIM_LZ0 = PART_L.SHAPE.z; ANIM_RX0 = PART_R.SHAPE.x; ANIM_RZ0 = PART_R.SHAPE.z; }; switch (o){ case wblWall.W_E: ANIM_LDX = (-(w) * ANIM_RATIO); ANIM_LDZ = 0; ANIM_RDX = (w * ANIM_RATIO); ANIM_RDZ = 0; break; case wblWall.E_W: ANIM_LDX = (w * 0.6); ANIM_LDZ = 0; ANIM_RDX = (-(w) * 0.6); ANIM_RDZ = 0; break; case wblWall.S_N: ANIM_LDX = 0; ANIM_LDZ = (-(w) * 0.6); ANIM_RDX = 0; ANIM_RDZ = (w * 0.6); break; case wblWall.N_S: ANIM_LDX = 0; ANIM_LDZ = (w * 0.6); ANIM_RDX = 0; ANIM_RDZ = (-(w) * 0.6); break; }; ROOM.GAME.animation(this, 30); if (PART_L.SHAPE != null){ PART_L.MOVING = true; PART_R.MOVING = true; ROOM.GAME.MAP.zDepth(); }; } public function getPartsDepth(){ } public function closeDoor(){ if (((OPENING) || (CLOSING))){ return; }; CLOSING = true; if (CDOOR != null){ CDOOR.closeDoor(); }; if (PART_L.SHAPE != null){ PART_L.SHAPE.visible = true; PART_R.SHAPE.visible = true; ANIM_LX0 = PART_L.SHAPE.x; ANIM_LZ0 = PART_L.SHAPE.z; ANIM_RX0 = PART_R.SHAPE.x; ANIM_RZ0 = PART_R.SHAPE.z; }; switch (o){ case wblWall.W_E: ANIM_LDX = (w * ANIM_RATIO); ANIM_LDZ = 0; ANIM_RDX = (-(w) * ANIM_RATIO); ANIM_RDZ = 0; break; case wblWall.E_W: ANIM_LDX = (-(w) * 0.6); ANIM_LDZ = 0; ANIM_RDX = (w * 0.6); ANIM_RDZ = 0; break; case wblWall.S_N: ANIM_LDX = 0; ANIM_LDZ = (w * 0.6); ANIM_RDX = 0; ANIM_RDZ = (-(w) * 0.6); break; case wblWall.N_S: ANIM_LDX = 0; ANIM_LDZ = (-(w) * 0.6); ANIM_RDX = 0; ANIM_RDZ = (w * 0.6); break; }; ROOM.GAME.animation(this, 30); if (PART_L.SHAPE != null){ PART_L.MOVING = true; PART_R.MOVING = true; ROOM.GAME.MAP.zDepth(); }; } public function unloadRoomBehind(_arg1:Object=null){ ROOM.GAME.MAP.unloadRoomBehindDoor(this); } public function animate(_arg1:Number, _arg2:Number){ if (PART_L.SHAPE != null){ PART_L.SHAPE.x = (ANIM_LX0 + (ANIM_LDX * (_arg1 / _arg2))); PART_L.SHAPE.z = (ANIM_LZ0 + (ANIM_LDZ * (_arg1 / _arg2))); PART_R.SHAPE.x = (ANIM_RX0 + (ANIM_RDX * (_arg1 / _arg2))); PART_R.SHAPE.z = (ANIM_RZ0 + (ANIM_RDZ * (_arg1 / _arg2))); ROOM.GAME.MAP.zDepth(); }; if (((((OPENING) && (!(OPENED)))) && ((_arg1 > (_arg2 * 0.05))))){ OPENED = true; CLOSED = false; }; if (((OPENING) && ((_arg1 > (_arg2 * 0.5))))){ ROOM.GAME.MAP.openedDoor(u, v, u2, v2); }; if (((CLOSING) && ((_arg1 > (_arg2 * 0.25))))){ ROOM.GAME.MAP.closedDoor(u, v, u2, v2); }; if (_arg1 >= _arg2){ if (OPENING){ OPENING = false; if (PART_L.SHAPE != null){ PART_L.SHAPE.visible = false; PART_R.SHAPE.visible = false; }; } else { CLOSING = false; CLOSED = true; OPENED = false; }; if (PART_L.SHAPE != null){ PART_L.MOVING = false; PART_R.MOVING = false; }; }; } public static function create(_arg1:fpsRoom, _arg2:fpsRoom, _arg3:Object, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:gdkTexture, _arg9:gdkTexture, _arg10:gdkTexture, _arg11:gdkTexture=null, _arg12:gdkTexture=null, _arg13:gdkTexture=null){ var _local14:*; var _local15:wblDoorA; _local14 = new wblDoorA(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10); if (_arg11 == null){ _arg11 = _arg8; }; if (_arg12 == null){ _arg12 = _arg9; }; if (_arg13 == null){ _arg13 = _arg10; }; switch (_arg7){ case wblWall.W_E: _local15 = new wblDoorA(_arg2, _arg1, _arg3, (_arg4 + 1), _arg5, _arg6, wblWall.E_W, _arg11, _arg12, _arg13); break; case wblWall.E_W: _local15 = new wblDoorA(_arg2, _arg1, _arg3, (_arg4 - 1), _arg5, _arg6, wblWall.W_E, _arg11, _arg12, _arg13); break; case wblWall.S_N: _local15 = new wblDoorA(_arg2, _arg1, _arg3, _arg4, (_arg5 + 1), _arg6, wblWall.N_S, _arg11, _arg12, _arg13); break; case wblWall.N_S: _local15 = new wblDoorA(_arg2, _arg1, _arg3, _arg4, (_arg5 - 1), _arg6, wblWall.S_N, _arg11, _arg12, _arg13); break; }; _local14.CDOOR = _local15; _local15.CDOOR = _local14; } } }//package gdk.fps.wbl
Section 32
//wblDoorFrame (gdk.fps.wbl.wblDoorFrame) package gdk.fps.wbl { import gdk.fps.*; import gdk.*; import flash.geom.*; import gdk.math.*; public class wblDoorFrame extends fpsNode { public var o:Number; public static var COUNTER = 0; public function wblDoorFrame(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:gdkTexture){ var _local7:*; var _local8:Number; var _local9:Point; var _local10:Point; super(_arg1, _arg2, _arg3, _arg4, _arg6); o = _arg5; ROOM.GAME.MAP.doorPart(this); switch (o){ case wblWall.W_E: _local7 = 1; _local8 = 0; break; case wblWall.E_W: _local7 = -1; _local8 = 0; break; case wblWall.S_N: _local7 = 0; _local8 = 1; break; case wblWall.N_S: _local7 = 0; _local8 = -1; break; }; _local9 = new Point((u * w), (v * w)); _local10 = new Point(((u + _local7) * w), ((v + _local8) * w)); LINE = new mathLine(_local9, _local10); } override public function loadNode(){ LOADED = true; opt_cli = true; opt_tex = true; GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_100x75); SHAPE = GO.obj; SHAPE.rotateZ = 0; SHAPE.rotateX = 0; SHAPE.appearance = TEX.LQ; switch (o){ case wblWall.W_E: SHAPE.x = ((u * w) + (w / 2)); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = (v * w); SHAPE.rotateY = 0; break; case wblWall.E_W: SHAPE.x = ((u * w) - (w / 2)); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = (v * w); SHAPE.rotateY = 180; break; case wblWall.S_N: SHAPE.x = (u * w); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) + (w / 2)); SHAPE.rotateY = 90; break; case wblWall.N_S: SHAPE.x = (u * w); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) - (w / 2)); SHAPE.rotateY = 270; break; }; } } }//package gdk.fps.wbl
Section 33
//wblDoorPanel (gdk.fps.wbl.wblDoorPanel) package gdk.fps.wbl { import gdk.fps.*; import gdk.*; import flash.geom.*; import gdk.math.*; public class wblDoorPanel extends fpsNode { public var zWALL:Object; public var FRAME:Object; public var o:Number; public var MOVING:Boolean; public var SIDE:Number; public var zLOC:Object; public static var COUNTER = 0; public function wblDoorPanel(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:gdkTexture, _arg7:Number, _arg8:fpsNode){ var _local9:*; var _local10:Number; var _local11:Point; var _local12:Point; var _local13:*; var _local14:*; super(_arg1, _arg2, _arg3, _arg4, _arg6); o = _arg5; SIDE = _arg7; FRAME = _arg8; ROOM.GAME.MAP.doorPart(this); zLOC = new Object(); switch (o){ case wblWall.W_E: _local9 = 1; _local10 = 0; zLOC.u = (u + SIDE); zLOC.v = (v - 1); break; case wblWall.E_W: _local9 = -1; _local10 = 0; zLOC.u = ((u - 1) - SIDE); zLOC.v = v; break; case wblWall.S_N: _local9 = 0; _local10 = 1; zLOC.u = u; zLOC.v = (v + SIDE); break; case wblWall.N_S: _local9 = 0; _local10 = -1; zLOC.u = (u - 1); zLOC.v = ((v - 1) - SIDE); break; }; _local11 = new Point((u * w), (v * w)); _local12 = new Point(((u + _local9) * w), ((v + _local10) * w)); LINE = new mathLine(_local11, _local12); _local13 = GAME.MAP.zWalls(zLOC.u, zLOC.v); for (_local14 in _local13) { if (_local13[_local14].o == o){ zWALL = _local13[_local14]; break; }; }; MOVING = false; } override public function loadNode(){ LOADED = true; opt_cli = true; opt_tex = true; GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_100x75); SHAPE = GO.obj; SHAPE.rotateZ = 0; SHAPE.rotateX = 0; SHAPE.appearance = TEX.LQ; switch (o){ case wblWall.W_E: SHAPE.x = ((u * w) + (w / 2)); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) + 1); SHAPE.rotateY = 0; break; case wblWall.E_W: SHAPE.x = ((u * w) - (w / 2)); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) - 1); SHAPE.rotateY = 180; break; case wblWall.S_N: SHAPE.x = ((u * w) - 1); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) + (w / 2)); SHAPE.rotateY = 90; break; case wblWall.N_S: SHAPE.x = ((u * w) + 1); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) - (w / 2)); SHAPE.rotateY = 270; break; }; } override public function zDepth(_arg1:Object=null, _arg2:Number=0, _arg3:Number=0){ super.zDepth(_arg1, _arg2, _arg3); if (((zWALL) && (FRAME))){ FRAME.zDepth(_arg1); zWALL.zDepth(_arg1); SHAPE.forcedDepth = (zDEPTH = Math.max((FRAME.zDEPTH + 25), (zWALL.zDEPTH + 25))); }; } } }//package gdk.fps.wbl
Section 34
//wblFloor (gdk.fps.wbl.wblFloor) package gdk.fps.wbl { import gdk.fps.*; import gdk.*; public class wblFloor extends fpsNode { public static var COUNTER = 0; public function wblFloor(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:gdkTexture){ super(_arg1, _arg2, _arg3, 0, _arg4); ROOM.GAME.MAP.floor(this, u, v); } override public function loadNode(){ } public static function section(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:gdkTexture, _arg5:Number=1, _arg6:Number=1){ var _local7:*; var _local8:Number; _local7 = 0; while (_local7 < _arg5) { _local8 = 0; while (_local8 < _arg6) { new wblFloor(_arg1, (_arg2 + _local7), (_arg3 + _local8), _arg4); _local8++; }; _local7++; }; } } }//package gdk.fps.wbl
Section 35
//wblWall (gdk.fps.wbl.wblWall) package gdk.fps.wbl { import gdk.fps.*; import gdk.*; import flash.geom.*; import gdk.math.*; public class wblWall extends fpsNode { public var o:Number; public var N:Number; public var BASETEX:gdkTexture; public static var W_E = 1; public static var S_N = 3; public static var COUNTER = 0; public static var E_W = 2; public static var N_S = 4; public function wblWall(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:gdkTexture, _arg7:Number=1){ var _local8:*; var _local9:*; var _local10:*; var _local11:Point; var _local12:Point; super(_arg1, _arg2, _arg3, _arg4, _arg6); o = _arg5; N = _arg7; BASETEX = _arg6; switch (_arg5){ case wblWall.W_E: _local9 = 1; _local10 = 0; break; case wblWall.E_W: _local9 = -1; _local10 = 0; break; case wblWall.S_N: _local9 = 0; _local10 = 1; break; case wblWall.N_S: _local9 = 0; _local10 = -1; break; }; GAME.MAP.wallNode(this); _local8 = 0; while (_local8 < N) { GAME.MAP.wall(this, (u + (_local8 * _local9)), (v + (_local8 * _local10)), ((u + (_local8 * _local9)) + _local9), ((v + (_local8 * _local10)) + _local10)); _local8++; }; _local11 = new Point((u * w), (v * w)); _local12 = new Point(((u + (N * _local9)) * w), ((v + (N * _local10)) * w)); LINE = new mathLine(_local11, _local12); } override public function loadNode(){ LOADED = true; opt_cli = true; opt_tex = true; switch (N){ case 1: GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_100x75); TEX = BASETEX; break; case 2: GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_200x75); TEX = BASETEX.TEXx2; break; case 3: GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_300x75); TEX = BASETEX.TEXx3; break; case 4: GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_400x75); TEX = BASETEX.TEXx4; break; case 5: GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_500x75); TEX = BASETEX.TEXx5; break; case 6: GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEXY_600x75); TEX = BASETEX.TEXx6; break; }; SHAPE = GO.obj; SHAPE.rotateZ = 0; SHAPE.rotateX = 0; SHAPE.appearance = TEX.LQ; switch (o){ case wblWall.W_E: SHAPE.x = ((u * w) + ((N * w) / 2)); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = (v * w); SHAPE.rotateY = 0; break; case wblWall.E_W: SHAPE.x = ((u * w) - ((N * w) / 2)); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = (v * w); SHAPE.rotateY = 180; break; case wblWall.S_N: SHAPE.x = (u * w); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) + ((N * w) / 2)); SHAPE.rotateY = 90; break; case wblWall.N_S: SHAPE.x = (u * w); SHAPE.y = ((k * h) + (h / 2)); SHAPE.z = ((v * w) - ((N * w) / 2)); SHAPE.rotateY = 270; break; }; } public function isFacing(_arg1:Object):Boolean{ var _local2:*; var _local3:*; var _local4:*; _local2 = (_arg1.x - (u * w)); _local3 = (_arg1.z - (v * w)); _local4 = ((Math.atan2(_local3, _local2) * 180) / Math.PI); if (_local4 < 0){ _local4 = (_local4 + 360); }; switch (o){ case wblWall.W_E: if ((((_local4 > 180)) && ((_local4 < 360)))){ return (true); }; break; case wblWall.E_W: if ((((_local4 > 0)) && ((_local4 < 180)))){ return (true); }; break; case wblWall.S_N: if ((((_local4 < 90)) || ((_local4 > 270)))){ return (true); }; break; case wblWall.N_S: if ((((_local4 > 90)) && ((_local4 < 270)))){ return (true); }; break; }; return (false); } public static function section(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:gdkTexture, _arg7:Number=1, _arg8:Number=1):Array{ var _local9:Number; var _local10:Number; var _local11:Array; var _local12:*; var _local13:Number; _local9 = 0; _local10 = 0; switch (_arg5){ case wblWall.W_E: _local9 = 1; _local10 = 0; break; case wblWall.E_W: _local9 = -1; _local10 = 0; break; case wblWall.S_N: _local9 = 0; _local10 = 1; break; case wblWall.N_S: _local9 = 0; _local10 = -1; break; }; _local11 = []; _local12 = 0; while (_local12 < _arg7) { _local13 = 0; while (_local13 < _arg8) { _local11.push(new wblWall(_arg1, (_arg2 + (_local12 * _local9)), (_arg3 + (_local12 * _local10)), (_arg4 + _local13), _arg5, _arg6)); _local13++; }; _local12++; }; return (_local11); } } }//package gdk.fps.wbl
Section 36
//fpsAnimation (gdk.fps.fpsAnimation) package gdk.fps { import gdk.fps.*; class fpsAnimation { public var method:Function; public var time:Object; public var totaltime:Number; public var obj:Object; function fpsAnimation(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Function=null){ obj = _arg1; totaltime = _arg2; time = _arg3; method = _arg4; } } }//package gdk.fps
Section 37
//fpsBullet (gdk.fps.fpsBullet) package gdk.fps { import gdk.sprite.*; import sandy.core.data.*; public class fpsBullet { public var GPOS:Vector; public var AREAFX_DAMAGE:Number; public var DELAYTIMER:Number; public var SPEED:Number; public var EXPLODEBACK:Number; public var DELETE:Boolean; public var ALIVE:Boolean; public var REACHTIMER:Number; public var AREAFX_RADIUS:Number; private var EXP_OBJECT:Object; public var EXPLOSIONTIME:Number; public var SPRITE:gBitmapSprite; public var TPOS:Object; private var EXP_METHOD:Function; public var TRAIL:Array; public var TRAILSIZE:Number; public var LPOS:Vector; public var EXPLODEONUNIT:Boolean; public var DAMAGE:Number; public var GAME:fpsGame; public var EXPLOSION:Class; public var DIRG:Vector; public var DIRL:Vector; public static var COUNTER:Number = 0; public static var TRAIL_INTERVAL:Number = 10; public function fpsBullet(_arg1:fpsGame, _arg2:gBitmapSprite, _arg3:Object, _arg4:Object, _arg5:Object, _arg6:Number, _arg7:Number=5){ var _local8:Number; var _local9:*; super(); GAME = _arg1; TPOS = _arg5; GPOS = new Vector(_arg3.x, _arg3.y, _arg3.z); LPOS = new Vector(_arg4.x, _arg4.y, _arg4.z); SPRITE = _arg2; SPRITE.x = GPOS.x; SPRITE.y = GPOS.y; SPRITE.z = GPOS.z; SPEED = _arg6; DELAYTIMER = 0; DIRG = new Vector((_arg5.x - GPOS.x), (_arg5.y - GPOS.y), (_arg5.z - GPOS.z)); DIRL = new Vector((_arg5.x - LPOS.x), (_arg5.y - LPOS.y), (_arg5.z - LPOS.z)); REACHTIMER = Math.ceil((DIRG.getNorm() / SPEED)); DIRG.normalize(); DIRL.normalize(); TRAILSIZE = _arg7; TRAIL = []; _local9 = 0; while (_local9 < (TRAILSIZE + 1)) { _local8 = (_local9 * fpsBullet.TRAIL_INTERVAL); TRAIL.push(new Vector((LPOS.x - (DIRL.x * _local8)), (LPOS.y - (DIRL.y * _local8)), (LPOS.z - (DIRL.z * _local8)))); _local9++; }; DAMAGE = 10; ALIVE = true; DELETE = false; GAME.bullet(this); EXPLOSIONTIME = 40; EXPLODEONUNIT = false; EXPLODEBACK = 6; AREAFX_RADIUS = 0; AREAFX_DAMAGE = 0; } public function destroy(){ ALIVE = false; DELETE = true; if (SPRITE){ SPRITE.release(); }; SPRITE = null; } public function explosionHandler(_arg1:Function, _arg2:Object){ EXP_METHOD = _arg1; EXP_OBJECT = _arg2; } public function getPos():Vector{ return (LPOS); } public function nextState(){ var _local1:*; if (DELAYTIMER > 0){ DELAYTIMER--; return; }; GPOS.x = (SPRITE.x = (SPRITE.x + (DIRG.x * SPEED))); GPOS.y = (SPRITE.y = (SPRITE.y + (DIRG.y * SPEED))); GPOS.z = (SPRITE.z = (SPRITE.z + (DIRG.z * SPEED))); LPOS.x = (LPOS.x + (DIRL.x * SPEED)); LPOS.y = (LPOS.y + (DIRL.y * SPEED)); LPOS.z = (LPOS.z + (DIRL.z * SPEED)); _local1 = 0; while (_local1 < (TRAILSIZE + 1)) { TRAIL[_local1].x = (LPOS.x - ((DIRL.x * _local1) * fpsBullet.TRAIL_INTERVAL)); TRAIL[_local1].y = (LPOS.y - ((DIRL.y * _local1) * fpsBullet.TRAIL_INTERVAL)); TRAIL[_local1].z = (LPOS.z - ((DIRL.z * _local1) * fpsBullet.TRAIL_INTERVAL)); _local1++; }; REACHTIMER--; EXPLODEBACK = (EXPLODEBACK + 0.25); if (REACHTIMER < 1){ explode(Math.round(EXPLODEBACK), true); GAME.areaFX(this); }; } public function explode(_arg1:Number=1, _arg2:Boolean=false){ var _local3:Vector; _arg1 = EXPLODEBACK; if (((!((EXP_METHOD == null))) && (!((EXP_OBJECT == null))))){ EXP_METHOD.call(EXP_OBJECT, this); }; if ((((REACHTIMER > 0)) && (!(EXPLODEONUNIT)))){ destroy(); return; }; if (EXPLOSION){ _local3 = new Vector(0, 0, 0); if (_arg2){ _local3.x = (TPOS.x - ((DIRG.x * _arg1) * fpsBullet.TRAIL_INTERVAL)); _local3.y = (TPOS.y - ((DIRG.y * _arg1) * fpsBullet.TRAIL_INTERVAL)); _local3.z = (TPOS.z - ((DIRG.z * _arg1) * fpsBullet.TRAIL_INTERVAL)); } else { _local3.x = (SPRITE.x - ((DIRG.x * _arg1) * fpsBullet.TRAIL_INTERVAL)); _local3.y = (SPRITE.y - ((DIRG.y * _arg1) * fpsBullet.TRAIL_INTERVAL)); _local3.z = (SPRITE.z - ((DIRG.z * _arg1) * fpsBullet.TRAIL_INTERVAL)); }; new EXPLOSION(_local3); }; destroy(); } } }//package gdk.fps
Section 38
//fpsBulletInstant (gdk.fps.fpsBulletInstant) package gdk.fps { import sandy.core.data.*; public class fpsBulletInstant { public var TPOS:Object; public var LPOS:Vector; public var DAMAGE:Number; public var GAME:fpsGame; public var EXPLOSION:Class; public var MOUSELOC:Object; public var DIRL:Vector; public function fpsBulletInstant(_arg1:fpsGame, _arg2:Object, _arg3:Object){ GAME = _arg1; MOUSELOC = _arg3; TPOS = GAME.CAM.loc2pos(MOUSELOC); if (TPOS == null){ return; }; LPOS = new Vector(_arg2.x, _arg2.y, _arg2.z); DIRL = new Vector((TPOS.x - LPOS.x), (TPOS.y - LPOS.y), (TPOS.z - LPOS.z)); DIRL.normalize(); DAMAGE = 10; } public function shoot(){ var _local1:Object; var _local2:Object; _local1 = {x:MOUSELOC.x, y:MOUSELOC.y, damage:DAMAGE}; _local2 = GAME.hitDetection(_local1); if (_local2.maxdamage == 0){ explode(4); }; } public function explode(_arg1:Number=1){ if (EXPLOSION){ new EXPLOSION(new Vector(TPOS.x, TPOS.y, TPOS.z)); }; } } }//package gdk.fps
Section 39
//fpsCamera (gdk.fps.fpsCamera) package gdk.fps { import sandy.core.scenegraph.*; import sandy.math.*; public class fpsCamera extends Camera3D { public var GAME:fpsGame; public var VIEW_H:Number; public var VIEW_W:Number; public var PAN:Number; public var VIEW_W2:Number; public var TILT:Number; public var VIEW_H2:Number; public function fpsCamera(_arg1:fpsGame, _arg2:Number=600, _arg3:Number=350){ super(_arg2, _arg3); GAME = _arg1; VIEW_W = _arg2; VIEW_H = _arg3; VIEW_W2 = (VIEW_W / 2); VIEW_H2 = (VIEW_H / 2); PAN = 0; TILT = 0; this.y = 50; } public function lookTarget(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = ((PAN * FastMath.TWO_PI) / 360); _local2 = ((TILT * FastMath.TWO_PI) / 360); _local3 = (x + (FastMath.cos(_local1) * 500)); _local4 = (y + (FastMath.sin(_local2) * 250)); _local5 = (z + (FastMath.sin(_local1) * 500)); lookAt(_local3, _local4, _local5); } public function sidewaysPos(_arg1:Number):Object{ var _local2:Object; var _local3:Number; _local2 = new Object(); _local3 = (((PAN + 90) * FastMath.TWO_PI) / 360); _local2.x = (x - (FastMath.cos(_local3) * _arg1)); _local2.y = y; _local2.z = (z - (FastMath.sin(_local3) * _arg1)); return (_local2); } public function getPos():Object{ return ({x:x, y:y, z:z}); } public function forwardMove(_arg1:Number):Object{ var _local2:Object; var _local3:Number; _local2 = new Object(); _local3 = ((PAN * FastMath.TWO_PI) / 360); _local2.x = (FastMath.cos(_local3) * _arg1); _local2.y = 0; _local2.z = (FastMath.sin(_local3) * _arg1); return (_local2); } public function forwardPos(_arg1:Number):Object{ var _local2:Object; var _local3:Number; _local2 = new Object(); _local3 = ((PAN * FastMath.TWO_PI) / 360); _local2.x = (x + (FastMath.cos(_local3) * _arg1)); _local2.y = y; _local2.z = (z + (FastMath.sin(_local3) * _arg1)); return (_local2); } public function loc2pos(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:Number; var _local6:*; var _local7:Number; var _local8:*; var _local9:Object; var _local10:*; var _local11:Object; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = (_arg1.x - VIEW_W2); _local3 = (_arg1.y - VIEW_H2); _local6 = ((PAN * 1) - ((47 * _local2) / VIEW_W2)); _local7 = ((TILT * 0.4) - ((25 * _local3) / VIEW_H2)); _local8 = {x:x, y:y, z:z}; _local9 = {x:x, y:y, z:z}; {x:x, y:y, z:z}.x = (_local9.x + (FastMath.cos(((_local6 * FastMath.TWO_PI) / 360)) * 9999)); _local9.y = (_local9.y + (FastMath.sin(((_local7 * FastMath.TWO_PI) / 360)) * 9999)); _local9.z = (_local9.z + (FastMath.sin(((_local6 * FastMath.TWO_PI) / 360)) * 9999)); _local14 = Infinity; if (_local7 != 0){ _local10 = new Object(); if (_local7 < 0){ _local10.y = 0; _local13 = ((_local10.y - _local8.y) / FastMath.sin(((_local7 * FastMath.TWO_PI) / 360))); _local10.x = (_local8.x + (FastMath.cos(((_local6 * FastMath.TWO_PI) / 360)) * _local13)); _local10.z = (_local8.z + (FastMath.sin(((_local6 * FastMath.TWO_PI) / 360)) * _local13)); } else { _local10.y = 75; _local13 = ((_local10.y - _local8.y) / FastMath.sin(((_local7 * FastMath.TWO_PI) / 360))); _local10.x = (_local8.x + (FastMath.cos(((_local6 * FastMath.TWO_PI) / 360)) * _local13)); _local10.z = (_local8.z + (FastMath.sin(((_local6 * FastMath.TWO_PI) / 360)) * _local13)); }; _local10.d = _local13; _local14 = _local13; }; _local11 = GAME.MAP.stingRay(_local8, _local9); if (_local11.intersect){ for (_local12 in _local11.pts) { _local2 = (_local11.pts[_local12].x - _local8.x); _local3 = (_local11.pts[_local12].y - _local8.y); _local4 = (_local11.pts[_local12].z - _local8.z); _local5 = Math.sqrt((((_local2 * _local2) + (_local3 * _local3)) + (_local4 * _local4))); if (_local5 < _local14){ _local10 = _local11.pts[_local12]; _local10.y = (_local8.y + (FastMath.sin(((_local7 * FastMath.TWO_PI) / 360)) * _local5)); _local10.d = _local5; _local14 = _local5; }; }; return (_local10); }; return (null); } public function setTilt(_arg1:Number){ TILT = _arg1; if (TILT > 60){ TILT = 60; }; if (TILT < -60){ TILT = -60; }; lookTarget(); } public function sidewaysMove(_arg1:Number):Object{ var _local2:Object; var _local3:Number; _local2 = new Object(); _local3 = (((PAN + 90) * FastMath.TWO_PI) / 360); _local2.x = (-(FastMath.cos(_local3)) * _arg1); _local2.y = 0; _local2.z = (-(FastMath.sin(_local3)) * _arg1); return (_local2); } public function _tilt(_arg1:Number){ TILT = (TILT - _arg1); if (TILT > 60){ TILT = 60; }; if (TILT < -60){ TILT = -60; }; lookTarget(); } public function setPan(_arg1:Number){ PAN = (_arg1 % 360); lookTarget(); } public function _pan(_arg1:Number){ PAN = (PAN - _arg1); PAN = (PAN % 360); lookTarget(); } } }//package gdk.fps
Section 40
//fpsGame (gdk.fps.fpsGame) package gdk.fps { import sandy.core.data.*; import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; public class fpsGame extends Sprite { private var KEY4EVTUP:Array; public var TEXLIB:Object; public var GPOOL:Object; public var GAMEALIVE:Boolean; public var CREATEDUNITCOUNT:Number; public var OBJECTS:Array; private var ZONES:Array; private var KEY2TRACK:Array; public var MAP:fpsMap; public var viewH:Number; public var viewW:Number; public var UNITS:Array; private var ANIMATIONS:Array; private var EVT_QUEUE:Array; private var KEY4EVTDOWN:Array; public var SCENE:fpsScene; public var BULLETS:Array; private var MAPS:Array; public var GAMEPAUSED:Boolean; private var EVT_TIMER:Number; public var CAM:fpsCamera; public var ZONE:fpsZone; public var BITMAPLIB:Object; public var ITEMS:Array; public var ROOM:fpsRoom; public var PLAYER:Object; private static var UNIQUEIDCOUNTER:Number = 1; public function fpsGame(_arg1:Number, _arg2:Number){ viewW = _arg1; viewH = _arg2; EVT_TIMER = 0; EVT_QUEUE = []; ANIMATIONS = []; GAMEALIVE = false; GAMEPAUSED = false; UNITS = []; CREATEDUNITCOUNT = 0; ZONES = []; MAPS = []; ITEMS = []; OBJECTS = []; BULLETS = []; KEY2TRACK = []; KEY4EVTDOWN = []; KEY4EVTUP = []; CAM = new fpsCamera(this, _arg1, _arg2); SCENE = new fpsScene(this, CAM); stage.addEventListener(KeyboardEvent.KEY_DOWN, evtKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, evtKeyUp); addEventListener(Event.ENTER_FRAME, evtEnterFrame); } public function resumePlay(){ var _local1:*; if (!GAMEPAUSED){ return; }; GAMEPAUSED = false; for (_local1 in UNITS) { if (UNITS[_local1].LOADED){ UNITS[_local1].resumePlay(); }; }; } public function destroy(){ var i:Number; trace("fpsGame->destroy()"); GAMEALIVE = false; MAP.destroy(); for (i in UNITS) { UNITS[i].destroy(); }; for (i in BULLETS) { BULLETS[i].destroy(); BULLETS[i].destroyExplosion(); }; for (i in ITEMS) { ITEMS[i].destroy(); }; for (i in OBJECTS) { OBJECTS[i].destroy(); }; for (i in ZONE.NODES) { ZONE.NODES[i].destroy(); }; PLAYER = null; ZONE = null; ROOM = null; UNITS = []; ITEMS = []; OBJECTS = []; BULLETS = []; EVT_QUEUE = []; KEY2TRACK = []; KEY4EVTDOWN = []; KEY4EVTUP = []; ANIMATIONS = []; onDestroy(); try { System.gc(); } catch(e:Error) { }; try { new LocalConnection().connect("foo"); new LocalConnection().connect("foo"); } catch(e) { }; } public function anyActiveUnitInRoom(_arg1:fpsRoom):Boolean{ var _local2:Number; var _local3:Object; var _local4:fpsRoom; var _local5:fpsUnit; if (_arg1 == null){ return (false); }; for (_local2 in UNITS) { _local5 = UNITS[_local2]; if (((_local5.ATTACKING) && (_local5.ALIVE))){ _local3 = MAP.pos2uv(_local5.POS); _local4 = MAP.roomObjAtLoc(_local3); if (_local4.ID == _arg1.ID){ return (true); }; }; }; return (false); } public function isKeyDown(_arg1:uint):Boolean{ var _local2:*; for (_local2 in KEY2TRACK) { if ((((KEY2TRACK[_local2].keycode == _arg1)) && (KEY2TRACK[_local2].isdown))){ return (true); }; }; return (false); } public function item(_arg1:fpsItem):Boolean{ if (keepItem(_arg1)){ ITEMS.push(_arg1); return (true); }; return (false); } protected function onDestroy(){ } public function evt(_arg1:Number, _arg2:Function, _arg3:Object=null, _arg4:Object=null){ var _local5:fpsTimedEvent; var _local6:Number; var _local7:*; _local5 = new fpsTimedEvent((EVT_TIMER + _arg1), _arg2, _arg3, _arg4, false); _local6 = EVT_QUEUE.length; _local7 = 0; while (_local7 < _local6) { if (_local5.t < EVT_QUEUE[_local7].t){ EVT_QUEUE.splice(_local7, 0, _local5); return; }; _local7++; }; EVT_QUEUE.push(_local5); return (_local5); } public function areaFX(_arg1:fpsBullet){ var _local2:*; if (_arg1.AREAFX_RADIUS == 0){ return; }; for (_local2 in UNITS) { UNITS[_local2].areaFX(_arg1); }; PLAYER.areaFX(_arg1); } public function getUniqueID():Number{ return (fpsGame.UNIQUEIDCOUNTER++); } public function trackKey(_arg1:uint){ KEY2TRACK.push({keycode:_arg1, isdown:false}); } public function hitDetection(_arg1:Object):Object{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:fpsUnit; var _local7:fpsUnit; var _local8:Number; var _local9:Number; _local5 = {hit:false, maxdamage:0}; _local6 = null; _local7 = null; _local8 = 0; _local9 = Infinity; for (_local2 in UNITS) { _local6 = UNITS[_local2]; _local3 = _local6.hitDetection(_arg1); if (_local3 > 0){ _local4 = _local6.distanceFromPlayer(); if (_local4 < _local9){ _local7 = _local6; _local8 = _local3; _local9 = _local4; }; }; }; if (_local7 != null){ _local5.hit = true; _local7.damage(_local8); }; _local5.maxdamage = _local8; return (_local5); } public function evtKeyUp(_arg1:KeyboardEvent){ var _local2:*; for (_local2 in KEY2TRACK) { if (KEY2TRACK[_local2].keycode == _arg1.keyCode){ KEY2TRACK[_local2].isdown = false; break; }; }; } public function bullet(_arg1:fpsBullet){ BULLETS.push(_arg1); } public function evtKeyDown(_arg1:KeyboardEvent){ var _local2:*; for (_local2 in KEY2TRACK) { if (KEY2TRACK[_local2].keycode == _arg1.keyCode){ KEY2TRACK[_local2].isdown = true; break; }; }; for (_local2 in KEY4EVTDOWN) { if (KEY4EVTDOWN[_local2].keycode == _arg1.keyCode){ KEY4EVTDOWN[_local2].handler.call(KEY4EVTDOWN[_local2].obj, _arg1); break; }; }; } public function keepItem(_arg1:fpsItem):Boolean{ return (true); } public function unitInRange(_arg1:Vector, _arg2:Number):fpsUnit{ var _local3:*; var _local4:*; var _local5:*; var _local6:Number; var _local7:*; var _local8:fpsUnit; _local7 = (_arg2 * _arg2); for (_local3 in UNITS) { _local8 = UNITS[_local3]; _local4 = (_local8.POS.x - _arg1.x); _local5 = (_local8.POS.z - _arg1.z); _local6 = ((_local4 * _local4) + (_local5 * _local5)); if (_local6 < _local7){ return (_local8); }; }; return (null); } public function setZone(_arg1:Number){ var _local2:Number; CREATEDUNITCOUNT = 0; ZONE = ZONES[_arg1]; MAP = MAPS[_arg1]; MAP.init(); PLAYER.init(); PLAYER.setInitialPosAndDir(ZONE.STARTPOS.x, ZONE.STARTPOS.y, ZONE.STARTPOS.z, ZONE.STARTDIR); for (_local2 in ZONE.UNITS) { ZONE.UNITS[_local2].init(); }; for (_local2 in ZONE.ITEMS) { ZONE.ITEMS[_local2].init(); }; for (_local2 in ZONE.OBJECTS) { ZONE.OBJECTS[_local2].init(); }; for (_local2 in ZONE.NODES) { ZONE.NODES[_local2].loadNode(); }; } public function object(_arg1:Object){ OBJECTS.push(_arg1); } public function zDepth(_arg1:Object, _arg2:Number, _arg3:Number){ var _local4:Number; var _local5:fpsUnit; var _local6:fpsObject; var _local7:fpsItem; for (_local4 in ITEMS) { _local7 = ITEMS[_local4]; if (_local7.LOADED){ _local7.zDepth(_arg1); }; }; for (_local4 in OBJECTS) { _local6 = OBJECTS[_local4]; if (_local6.LOADED){ _local6.zDepth(_arg1); }; }; for (_local4 in UNITS) { _local5 = UNITS[_local4]; if (_local5.LOADED){ _local5.zDepth(_arg1); }; }; } public function pausePlay(){ var _local1:*; if (GAMEPAUSED){ return; }; GAMEPAUSED = true; for (_local1 in UNITS) { if (UNITS[_local1].LOADED){ UNITS[_local1].pausePlay(); }; }; } public function animation(_arg1:Object, _arg2:Number, _arg3:Function=null){ ANIMATIONS.push(new fpsAnimation(_arg1, _arg2, 0, _arg3)); } public function keyUpHandler(_arg1:uint, _arg2:Function, _arg3:Object){ KEY4EVTUP.push({keycode:_arg1, handler:_arg2, obj:_arg3}); } public function keyDownHandler(_arg1:uint, _arg2:Function, _arg3:Object){ KEY4EVTDOWN.push({keycode:_arg1, handler:_arg2, obj:_arg3}); } public function unit(_arg1:fpsUnit):Boolean{ CREATEDUNITCOUNT++; if (keepUnit(_arg1)){ UNITS.push(_arg1); return (true); }; return (false); } public function keepUnit(_arg1:fpsUnit):Boolean{ return (true); } public function eventQueue(){ var _local1:fpsTimedEvent; var _local2:Number; var _local3:Array; var _local4:Number; var _local5:Number; EVT_TIMER++; _local2 = 0; _local3 = []; _local4 = EVT_QUEUE.length; _local5 = 0; while (_local5 < _local4) { _local1 = EVT_QUEUE[_local5]; if (_local1.cancel){ _local2++; } else { if (EVT_TIMER >= _local1.t){ _local3.push(_local1); _local2++; } else { break; }; }; _local5++; }; EVT_QUEUE.splice(0, _local2); for (_local5 in _local3) { _local1 = _local3[_local5]; _local1.method.call(_local1.obj, _local1.data); }; } public function ready(){ GAMEALIVE = true; GAMEPAUSED = false; MAP.cleaner(); evt((10 * 24), cleanUp, this); } public function loadedUnitInRange(_arg1:Object, _arg2:Number):fpsUnit{ var _local3:fpsUnit; var _local4:*; var _local5:*; var _local6:*; var _local7:Number; var _local8:*; _local8 = (_arg2 * _arg2); for (_local4 in UNITS) { _local3 = UNITS[_local4]; if (((_local3.LOADED) && (_local3.ALIVE))){ _local5 = (_local3.POS.x - _arg1.x); _local6 = (_local3.POS.z - _arg1.z); _local7 = ((_local5 * _local5) + (_local6 * _local6)); if (_local7 < _local8){ return (_local3); }; }; }; return (null); } protected function nextState(){ } public function anyActiveUnit():Boolean{ var _local1:Number; var _local2:fpsUnit; for (_local1 in UNITS) { _local2 = UNITS[_local1]; if (((_local2.ATTACKING) && (_local2.ALIVE))){ return (true); }; }; return (false); } public function evtEnterFrame(_arg1:Event){ var _local2:*; var _local3:Number; var _local4:fpsBullet; var _local5:Array; var _local6:fpsObject; var _local7:fpsItem; var _local8:fpsUnit; var _local9:Object; var _local10:Array; var _local11:fpsAnimation; if (!GAMEALIVE){ return; }; if (GAMEPAUSED){ return; }; eventQueue(); _local5 = []; for (_local2 in BULLETS) { _local4 = BULLETS[_local2]; if (_local4.ALIVE){ _local4.nextState(); _local5.push(_local4); }; }; BULLETS = _local5; PLAYER.nextState(mouseX, mouseY); if (PLAYER.HASMOVED){ _local9 = PLAYER.getPos(); for (_local2 in ITEMS) { _local7 = ITEMS[_local2]; _local7.nextState(_local9); }; for (_local2 in OBJECTS) { _local6 = OBJECTS[_local2]; _local6.nextState(); }; }; for (_local2 in OBJECTS) { _local6 = OBJECTS[_local2]; if (_local6.LOADED){ _local6.render(); }; }; for (_local2 in ITEMS) { _local7 = ITEMS[_local2]; if (_local7.LOADED){ _local7.render(); }; }; for (_local2 in UNITS) { _local8 = UNITS[_local2]; _local8.nextState(); }; for (_local2 in BULLETS) { _local4 = BULLETS[_local2]; if (_local4.ALIVE){ for (_local3 in UNITS) { _local8 = UNITS[_local3]; if (_local8.bulletCollision(_local4)){ _local4.explode(4); areaFX(_local4); break; }; }; }; }; if (ANIMATIONS.length > 0){ _local10 = []; for (_local2 in ANIMATIONS) { _local11 = ANIMATIONS[_local2]; _local11.time++; if (_local11.method == null){ _local11.obj.animate(_local11.time, _local11.totaltime); } else { _local11.method.call(_local11.obj, _local11.time, _local11.totaltime); }; if (_local11.time < _local11.totaltime){ _local10.push(_local11); }; }; ANIMATIONS = _local10; }; if (ZONE == null){ return; }; MAP.nextState(CAM.getPosition()); SCENE.render(); } public function createZone(_arg1:fpsZone){ ZONE = _arg1; ZONES.push(ZONE); MAP = new fpsMap(this, ZONE.NU, ZONE.NV); MAPS.push(MAP); ZONE.loadWorld(this); ZONE.loadUnits(this); } public function cleanUp(_arg1:Object){ var _evt = _arg1; try { System.gc(); } catch(e:Error) { }; try { new LocalConnection().connect("foo"); new LocalConnection().connect("foo"); } catch(e) { }; evt((10 * 24), cleanUp, this); } } }//package gdk.fps
Section 41
//fpsItem (gdk.fps.fpsItem) package gdk.fps { import gdk.sprite.*; import sandy.core.data.*; public class fpsItem { public var PICKED:Boolean; public var LOADED:Boolean; public var OBSTACLE:Boolean; public var INIT:Boolean; public var GAME:fpsGame; public var LOC:Object; public var DATA:Object; public var DELETE:Boolean; public var ACTIVATED:Boolean; public var OBJID:String; public var POS:Vector; public var TYPE:String; public var INTERACTIVE:Boolean; public var SPRITE:gSprite; public var FACING_CAM:Boolean; public var ROOM:fpsRoom; public var zDEPTH:Number; public var DESTRUCTIBLE:Boolean; public var DESTROYED:Boolean; public var PICKABLE:Boolean; public var PICK_RANGE:Number; public function fpsItem(_arg1:fpsRoom=null, _arg2:Vector=null){ ROOM = _arg1; GAME = glo.bal.GAME; POS = _arg2; if (POS == null){ POS = new Vector(0, 0, 0); }; LOC = GAME.MAP.pos2uv(POS); zDEPTH = 999999; FACING_CAM = false; DESTRUCTIBLE = false; DESTROYED = false; INTERACTIVE = false; ACTIVATED = false; PICKABLE = false; PICK_RANGE = 50; PICKED = false; LOADED = false; DELETE = false; INIT = false; GAME.ZONE.item(this); } public function init(){ if (INIT){ return; }; INIT = true; PICKED = false; LOADED = false; ACTIVATED = false; DESTROYED = false; if (GAME.item(this)){ if (ROOM != null){ ROOM.item(this); }; }; } public function setPos(_arg1:Vector){ POS.x = _arg1.x; POS.y = 0; POS.z = _arg1.z; LOC = GAME.MAP.pos2uv(POS); if (LOADED){ SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; }; } public function loadItem(_arg1:Vector=null){ if (PICKED){ return; }; if (LOADED){ return; }; LOADED = true; createSprite(); SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; SPRITE.setBoundingSphereRadius(75); if (_arg1){ setPos(_arg1); }; } public function render(){ } public function getPos():Vector{ return (POS); } public function movement(_arg1:Number, _arg2:Number, _arg3:Number){ POS.x = (POS.x + _arg1); POS.y = (POS.y + _arg2); POS.z = (POS.z + _arg3); SPRITE.x = (SPRITE.x + _arg1); SPRITE.y = (SPRITE.y + _arg2); SPRITE.z = (SPRITE.z + _arg3); LOC = GAME.MAP.pos2uv(POS); } public function faceCam(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = (GAME.CAM.x - POS.x); _local2 = (GAME.CAM.z - POS.z); _local3 = ((Math.atan2(_local2, _local1) * 180) / Math.PI); if (_local3 < 0){ _local3 = (_local3 + 360); }; _local4 = Math.round((_local3 / 10)); if (_local4 == 36){ _local4 = 0; }; } public function unloadItem(){ destroy(); } public function nextState(_arg1:Object){ var _local2:Object; var _local3:*; var _local4:*; var _local5:Number; if (!LOADED){ return; }; if (((PICKABLE) && (!(PICKED)))){ _local3 = (_arg1.x - POS.x); _local4 = (_arg1.z - POS.z); _local5 = ((_local3 * _local3) + (_local4 * _local4)); if (_local5 < (PICK_RANGE * PICK_RANGE)){ if (GAME.PLAYER.tryPick(this)){ PICKED = true; itemPicked(); destroy(); }; }; }; } public function createSprite(){ } public function zDepth(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:Object; var _local9:*; _local2 = Math.abs((POS.x - _arg1.x)); _local3 = Math.abs((POS.z - _arg1.z)); _local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local5 = Math.max(_local2, _local3); _local6 = ((_local4 + _local5) * 0.5); LOC = GAME.MAP.pos2uv(POS); _local7 = GAME.MAP.zWalls(LOC.u, LOC.v); for (_local9 in _local7) { if (_local7[_local9].zDEPTH < _local6){ if (_local7[_local9].isFacing(_arg1)){ _local8 = GAME.MAP.stingRayBoxI(POS, _arg1, 25); if (!_local8.intersect){ _local6 = (_local7[_local9].zDEPTH - 10); }; }; }; }; SPRITE.forcedDepth = (zDEPTH = _local6); } public function itemPicked(){ } public function destroy(){ LOADED = false; INIT = false; if (SPRITE){ SPRITE.release(); }; SPRITE = null; } } }//package gdk.fps
Section 42
//fpsMap (gdk.fps.fpsMap) package gdk.fps { import gdk.fps.wbl.*; import flash.geom.*; import gdk.math.*; public class fpsMap { public var PATHFINDER:fpsPathFinder; private var D_TEX:Number; public var NODES:Array; private var CAMPOS:Object; private var BORDER:Number; private var DUV_TEX:Number; public var MAP:Array; public var ROOMID:Number; public var NU:Number; public var NV:Number; public var WALLS:Array; public var ROOM:fpsRoom; private var DUV_CLIPPING:Number; private var D_CLIPPING:Number; public var ROOMS:Array; public var DOORS:Array; public var TILEW:Number; public var GAME:fpsGame; private var CV:Number; private var CU:Number; private var zDONE:Boolean; public static var STINGRAY_BOXSIZE:Number = 25; public function fpsMap(_arg1:fpsGame, _arg2:Number, _arg3:Number){ GAME = _arg1; reset(_arg2, _arg3); D_CLIPPING = 1000; D_TEX = 1000; DUV_CLIPPING = 10; DUV_TEX = 10; zDONE = false; } public function stingRayBox(_arg1:Object, _arg2:Object, _arg3:Number=25):Object{ var _local4:Object; var _local5:Object; var _local6:Object; var _local7:Object; var _local8:Object; _local4 = {x:(_arg1.x + _arg3), y:_arg1.y, z:(_arg1.z + _arg3)}; _local5 = {x:(_arg1.x + _arg3), y:_arg1.y, z:(_arg1.z - _arg3)}; _local6 = {x:(_arg1.x - _arg3), y:_arg1.y, z:(_arg1.z - _arg3)}; _local7 = {x:(_arg1.x - _arg3), y:_arg1.y, z:(_arg1.z + _arg3)}; _local8 = stingRay(_local4, _arg2, false); if (_local8.intersect){ return (_local8); }; _local8 = stingRay(_local5, _arg2, false); if (_local8.intersect){ return (_local8); }; _local8 = stingRay(_local6, _arg2, false); if (_local8.intersect){ return (_local8); }; _local8 = stingRay(_local7, _arg2, false); if (_local8.intersect){ return (_local8); }; return (_local8); } public function pos2uv(_arg1:Object):Object{ var _local2:Object; _local2 = new Object(); _local2.divU = (_arg1.x / TILEW); _local2.divV = (_arg1.z / TILEW); _local2.u = Math.floor(_local2.divU); _local2.v = Math.floor(_local2.divV); _local2.ru = Math.floor((_local2.divU - _local2.u)); _local2.rv = Math.floor((_local2.divV - _local2.v)); return (_local2); } public function stingRay(_arg1:Object, _arg2:Object, _arg3:Boolean=true):Object{ var _local4:Object; var _local5:Point; var _local6:Point; var _local7:mathLine; var _local8:Point; var _local9:*; _local4 = new Object(); _local4.intersect = false; _local4.pts = []; _local5 = new Point(_arg1.x, _arg1.z); _local6 = new Point(_arg2.x, _arg2.z); _local7 = new mathLine(_local5, _local6); for (_local9 in WALLS) { if (WALLS[_local9].ROOM.LOADED){ _local8 = _local7.intersect(WALLS[_local9].LINE); if (_local8 != null){ _local4.intersect = true; _local4.pts.push({x:_local8.x, y:0, z:_local8.y}); if (!_arg3){ return (_local4); }; }; }; }; for (_local9 in DOORS) { if (DOORS[_local9].CLOSED){ _local8 = _local7.intersect(DOORS[_local9].LINE); if (_local8 != null){ _local4.intersect = true; _local4.pts.push({x:_local8.x, y:0, z:_local8.y}); if (!_arg3){ return (_local4); }; }; }; }; return (_local4); } public function doorInRange(_arg1:Object, _arg2:Number):wblDoor{ var _local3:Number; var _local4:Number; var _local5:wblDoor; var _local6:*; var _local7:*; var _local8:Number; var _local9:*; _local3 = (_arg2 * _arg2); _local4 = Infinity; _local5 = null; for (_local9 in DOORS) { if ((((DOORS[_local9].ROOMID == ROOMID)) && (!(DOORS[_local9].DUMMY)))){ _local6 = (DOORS[_local9].x - _arg1.x); _local7 = (DOORS[_local9].z - _arg1.z); _local8 = ((_local6 * _local6) + (_local7 * _local7)); if ((((_local8 < _local3)) && ((_local8 < _local4)))){ _local4 = _local8; _local5 = DOORS[_local9]; }; }; }; return (_local5); } public function floor(_arg1:Object, _arg2:Number, _arg3:Number){ NODES.push(_arg1); MAP[_arg2][_arg3].isfree = true; MAP[_arg2][_arg3].room = _arg1.ROOMID; MAP[_arg2][_arg3].roomobj = _arg1.ROOM; } public function roomAtLoc(_arg1:Object):Number{ return (MAP[_arg1.u][_arg1.v].room); } public function roomConnect(){ var _local1:*; var _local2:Object; for (_local1 in ROOMS) { ROOMS[_local1].TO_UNLOAD = true; ROOMS[_local1].TO_LOAD = false; }; if (ROOM == null){ return; }; ROOM.TO_UNLOAD = false; ROOM.TO_LOAD = true; for (_local1 in ROOM.CONNECTIONS) { _local2 = ROOM.CONNECTIONS[_local1]; _local2.room.TO_UNLOAD = false; _local2.room.TO_LOAD = true; }; for (_local1 in ROOMS) { if (ROOMS[_local1].LOADED){ if (ROOMS[_local1].TO_UNLOAD){ }; } else { if (ROOMS[_local1].TO_LOAD){ ROOMS[_local1].loadRoom(); }; }; }; } public function init(){ var _local1:*; var _local2:Number; _local1 = 0; while (_local1 < NU) { _local2 = 0; while (_local2 < NV) { MAP[_local1][_local2].fogofwar = true; _local2++; }; _local1++; }; for (_local1 in DOORS) { DOORS[_local1].init(); }; } public function zWalls(_arg1:Number, _arg2:Number):Array{ return (MAP[_arg1][_arg2].zWALLS); } public function stingRayBoxI(_arg1:Object, _arg2:Object, _arg3:Number=25):Object{ var _local4:Object; var _local5:Object; var _local6:Object; var _local7:Object; var _local8:Object; _local4 = {x:(_arg1.x + _arg3), y:_arg1.y, z:(_arg1.z + _arg3)}; _local5 = {x:(_arg1.x + _arg3), y:_arg1.y, z:(_arg1.z - _arg3)}; _local6 = {x:(_arg1.x - _arg3), y:_arg1.y, z:(_arg1.z - _arg3)}; _local7 = {x:(_arg1.x - _arg3), y:_arg1.y, z:(_arg1.z + _arg3)}; _local8 = stingRay(_local4, _arg2, false); if (!_local8.intersect){ return (_local8); }; _local8 = stingRay(_local5, _arg2, false); if (!_local8.intersect){ return (_local8); }; _local8 = stingRay(_local6, _arg2, false); if (!_local8.intersect){ return (_local8); }; _local8 = stingRay(_local7, _arg2, false); if (!_local8.intersect){ return (_local8); }; return (_local8); } public function unloadRoomBehindDoor(_arg1:wblDoor){ var _local2:*; var _local3:*; trace("fpsMap->unloadRoomBehindDoor"); if (ROOMID == _arg1.ROOM.ID){ _arg1.ROOM2.unloadRoom(); } else { if (ROOMID != _arg1.ROOM2.ID){ _local2 = true; for (_local3 in DOORS) { if ((((DOORS[_local3].ROOM.ID == _arg1.ROOM2.ID)) && (DOORS[_local3].OPENED))){ _local2 = false; }; }; if (_local2){ _arg1.ROOM2.unloadRoom(); }; }; }; } public function door(_arg1:Object){ DOORS.push(_arg1); } public function collision(_arg1:Object, _arg2:Object):Object{ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local3 = {collision:false, bbpos:{x:_arg2.x, y:_arg2.y, z:_arg2.z}}; _local4 = pos2uv(_arg1); if (_local4.u >= NU){ return (_local3); }; if (_local4.v >= NV){ return (_local3); }; _local5 = MAP[_local4.u][_local4.v]; if (_local5 == null){ return (_local3); }; _local6 = (_arg2.x - _arg1.x); _local7 = (_arg2.z - _arg1.z); if ((((_local6 < 0)) && (_local5.bW))){ _local8 = ((_local5.u * TILEW) + BORDER); if (_arg2.x < _local8){ _local3.bbpos.x = _local8; _local3.collision = true; }; }; if ((((_local6 > 0)) && (_local5.bE))){ _local8 = (((_local5.u * TILEW) + TILEW) - BORDER); if (_arg2.x > _local8){ _local3.bbpos.x = _local8; _local3.collision = true; }; }; if ((((_local7 < 0)) && (_local5.bS))){ _local9 = ((_local5.v * TILEW) + BORDER); if (_arg2.z < _local9){ _local3.bbpos.z = _local9; _local3.collision = true; }; }; if ((((_local7 > 0)) && (_local5.bN))){ _local9 = (((_local5.v * TILEW) + TILEW) - BORDER); if (_arg2.z > _local9){ _local3.bbpos.z = _local9; _local3.collision = true; }; }; if ((((_local6 > 0)) && ((_local7 > 0)))){ if (((((_local5.bNE) && (!(_local5.bN)))) && (!(_local5.bE)))){ _local8 = (((_local5.u * TILEW) + TILEW) - BORDER); _local9 = (((_local5.v * TILEW) + TILEW) - BORDER); if ((((_arg2.x > _local8)) && ((_arg2.z > _local9)))){ if (_local6 > _local7){ _local3.bbpos.z = _local9; _local3.collision = true; } else { _local3.bbpos.x = _local8; _local3.collision = true; }; }; }; }; if ((((_local6 < 0)) && ((_local7 > 0)))){ if (((((_local5.bNW) && (!(_local5.bN)))) && (!(_local5.bW)))){ _local8 = ((_local5.u * TILEW) + BORDER); _local9 = (((_local5.v * TILEW) + TILEW) - BORDER); if ((((_arg2.x < _local8)) && ((_arg2.z > _local9)))){ if (Math.abs(_local6) > _local7){ _local3.bbpos.z = _local9; _local3.collision = true; } else { _local3.bbpos.x = _local8; _local3.collision = true; }; }; }; }; if ((((_local6 > 0)) && ((_local7 < 0)))){ if (((((_local5.bSE) && (!(_local5.bS)))) && (!(_local5.bE)))){ _local8 = (((_local5.u * TILEW) + TILEW) - BORDER); _local9 = ((_local5.v * TILEW) + BORDER); if ((((_arg2.x > _local8)) && ((_arg2.z < _local9)))){ if (_local6 > Math.abs(_local7)){ _local3.bbpos.z = _local9; _local3.collision = true; } else { _local3.bbpos.x = _local8; _local3.collision = true; }; }; }; }; if ((((_local6 > 0)) && ((_local7 < 0)))){ if (((((_local5.bSW) && (!(_local5.bS)))) && (!(_local5.bW)))){ _local8 = ((_local5.u * TILEW) + BORDER); _local9 = ((_local5.v * TILEW) + BORDER); if ((((_arg2.x < _local8)) && ((_arg2.z < _local9)))){ if (_local6 < _local7){ _local3.bbpos.z = _local9; _local3.collision = true; } else { _local3.bbpos.x = _local8; _local3.collision = true; }; }; }; }; return (_local3); } public function openedDoor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ if (_arg1 == _arg3){ if (_arg4 > _arg2){ MAP[_arg1][_arg2].bW = false; MAP[_arg1][(_arg2 - 1)].bNW = false; MAP[_arg3][_arg4].bSW = false; } else { MAP[(_arg3 - 1)][_arg4].bE = false; MAP[(_arg3 - 1)][(_arg4 - 1)].bNE = false; MAP[(_arg1 - 1)][_arg2].bSE = false; }; } else { if (_arg3 > _arg1){ MAP[_arg1][(_arg2 - 1)].bN = false; MAP[(_arg1 - 1)][(_arg2 - 1)].bNE = false; MAP[_arg3][(_arg4 - 1)].bNW = false; } else { MAP[_arg3][_arg4].bS = false; MAP[(_arg3 - 1)][_arg4].bSE = false; MAP[_arg1][_arg2].bSW = false; }; }; } public function closedDoor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ if (_arg1 == _arg3){ if (_arg4 > _arg2){ MAP[_arg1][_arg2].bW = true; MAP[_arg1][(_arg2 - 1)].bNW = true; MAP[_arg3][_arg4].bSW = true; } else { MAP[(_arg3 - 1)][_arg4].bE = true; MAP[(_arg3 - 1)][(_arg4 - 1)].bNE = true; MAP[(_arg1 - 1)][_arg2].bSE = true; }; } else { if (_arg3 > _arg1){ MAP[_arg1][(_arg2 - 1)].bN = true; MAP[(_arg1 - 1)][(_arg2 - 1)].bNE = true; MAP[_arg3][(_arg4 - 1)].bNW = true; } else { MAP[_arg3][_arg4].bS = true; MAP[(_arg3 - 1)][_arg4].bSE = true; MAP[_arg1][_arg2].bSW = true; }; }; } public function cleaner_doors(_arg1:fpsRoom){ var _local2:wblDoor; var _local3:*; if (_arg1 == null){ return; }; if (!_arg1.TO_UNLOAD){ return; }; _arg1.TO_UNLOAD = false; for (_local3 in _arg1.DOORS) { _local2 = _arg1.DOORS[_local3]; if (((_local2.OPENING) || (_local2.OPENED))){ cleaner_doors(_local2.ROOM2); }; }; } public function ceiling(_arg1:Object, _arg2:Number, _arg3:Number){ NODES.push(_arg1); } public function cleaner(_arg1:Object=null){ var _local2:*; var _local3:*; for (_local2 in ROOMS) { ROOMS[_local2].TO_UNLOAD = true; }; cleaner_doors(ROOM); for (_local2 in ROOMS) { if (ROOMS[_local2].TO_UNLOAD){ if (ROOMS[_local2].LOADED){ ROOMS[_local2].unloadRoom(); }; }; }; GAME.evt(32, cleaner, this); } public function reset(_arg1:Number, _arg2:Number){ var _local3:*; var _local4:Number; var _local5:Object; MAP = []; NU = _arg1; NV = _arg2; NODES = []; CU = 0; CV = 0; ROOMID = -1; ROOMS = []; WALLS = []; DOORS = []; _local3 = 0; while (_local3 < NU) { MAP.push([]); _local4 = 0; while (_local4 < NV) { _local5 = new fpsMapTile(); _local5.room = null; _local5.roomobj = null; _local5.u = _local3; _local5.v = _local4; _local5.isfree = false; _local5.underobj = false; _local5.bN = false; _local5.bE = false; _local5.bS = false; _local5.bW = false; _local5.bNE = false; _local5.bNW = false; _local5.bSE = false; _local5.bSW = false; _local5.fogofwar = true; _local5.zWALLS = []; MAP[_local3].push(_local5); _local4++; }; _local3++; }; TILEW = fpsSetup.FLOOR_WIDTH; BORDER = (TILEW * 0.5); PATHFINDER = new fpsPathFinder(MAP, NU, NV); } public function loadRoomBehindDoor(_arg1:wblDoor){ if (ROOMID == _arg1.ROOM.ID){ _arg1.ROOM2.loadRoom(); _arg1.ROOM2.LOADED = true; zDepth(); }; } public function wall(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){ if (_arg2 == _arg4){ if (_arg5 > _arg3){ MAP[_arg2][_arg3].bW = true; MAP[_arg2][(_arg3 - 1)].bNW = true; MAP[_arg4][_arg5].bSW = true; MAP[_arg2][_arg3].zWALLS.push(_arg1); } else { MAP[(_arg4 - 1)][_arg5].bE = true; MAP[(_arg4 - 1)][(_arg5 - 1)].bNE = true; MAP[(_arg2 - 1)][_arg3].bSE = true; MAP[(_arg4 - 1)][_arg5].zWALLS.push(_arg1); }; } else { if (_arg4 > _arg2){ MAP[_arg2][(_arg3 - 1)].bN = true; MAP[(_arg2 - 1)][(_arg3 - 1)].bNE = true; MAP[_arg4][(_arg5 - 1)].bNW = true; MAP[_arg2][(_arg3 - 1)].zWALLS.push(_arg1); } else { MAP[_arg4][_arg5].bS = true; MAP[(_arg4 - 1)][_arg5].bSE = true; MAP[_arg2][_arg3].bSW = true; MAP[_arg4][_arg5].zWALLS.push(_arg1); }; }; } public function nextState(_arg1:Object){ var _local2:Object; var _local3:*; var _local4:Number; var _local5:*; var _local6:Number; var _local7:Number; zDONE = false; if (GAME.ZONE == null){ trace("fpsMap_>nextState() : No zone defined"); return; }; CAMPOS = _arg1; _local2 = pos2uv(_arg1); if ((((_local2.u == CU)) && ((_local2.v == CV)))){ return; }; CU = _local2.u; CV = _local2.v; if (ROOMID != MAP[CU][CV].room){ ROOMID = MAP[CU][CV].room; for (_local3 in ROOMS) { if (ROOMS[_local3].ID == ROOMID){ if (ROOM != null){ ROOM.onLeaveRoom(); }; ROOM = ROOMS[_local3]; ROOM.onEnterRoom(); }; }; roomConnect(); }; _local7 = 2; _local3 = -(_local7); while (_local3 <= _local7) { _local4 = -(_local7); while (_local4 <= _local7) { _local5 = (CU + _local3); _local6 = (CV + _local4); if ((((((((_local5 > 0)) && ((_local5 < NU)))) && ((_local6 > 0)))) && ((_local6 < NV)))){ if (MAP[_local5][_local6].room == ROOMID){ MAP[_local5][_local6].fogofwar = false; }; }; _local4++; }; _local3++; }; zDepth(); } public function roomObjAtLoc(_arg1:Object):fpsRoom{ return (MAP[_arg1.u][_arg1.v].roomobj); } public function room(_arg1:fpsRoom){ ROOMS.push(_arg1); } public function doorPart(_arg1:Object){ NODES.push(_arg1); } public function traceNode(_arg1:Number, _arg2:Number){ var _local3:*; _local3 = MAP[_arg1][_arg2]; trace((((("Trace node [" + _local3.u) + ",") + _local3.v) + "]")); trace(("isfree = " + _local3.isfree)); trace(("bN = " + _local3.bN)); trace(("bNE = " + _local3.bNE)); trace(("bE = " + _local3.bE)); trace(("bSE = " + _local3.bSE)); trace(("bS = " + _local3.bS)); trace(("bSW = " + _local3.bSW)); trace(("bW = " + _local3.bW)); trace(("bNW = " + _local3.bNW)); } public function zDepth(){ var _local1:fpsNode; var _local2:*; if (zDONE){ return; }; zDONE = true; for (_local2 in NODES) { _local1 = NODES[_local2]; if (_local1.LOADED){ _local1.zDepth(CAMPOS, D_CLIPPING, D_TEX); }; }; GAME.zDepth(CAMPOS, D_CLIPPING, D_TEX); } public function destroy(){ var _local1:*; CU = 0; CV = 0; ROOM = null; ROOMID = -1; for (_local1 in ROOMS) { ROOMS[_local1].destroy(); }; for (_local1 in NODES) { NODES[_local1].destroy(); }; } public function wallNode(_arg1:Object){ NODES.push(_arg1); WALLS.push(_arg1); } public function findPath(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Array{ return (PATHFINDER.findPath(_arg1, _arg2, _arg3, _arg4)); } } }//package gdk.fps
Section 43
//fpsMapTile (gdk.fps.fpsMapTile) package gdk.fps { import gdk.fps.*; class fpsMapTile { public var sub:Number; public var parent:fpsMapTile; public var roomobj:fpsRoom; public var closed:Boolean; public var bSW:Boolean; public var cost:Number; public var isfree:Boolean; public var bNE:Boolean; public var room:Number; public var zWALLS:Array; public var underobj:Boolean; public var bE:Boolean; public var bNW:Boolean; public var bN:Boolean; public var bS:Boolean; public var bSE:Boolean; public var bW:Boolean; public var fogofwar:Boolean; public var u:Number; public var v:Number; } }//package gdk.fps
Section 44
//fpsNode (gdk.fps.fpsNode) package gdk.fps { import gdk.*; import sandy.core.scenegraph.*; import flash.geom.*; import gdk.math.*; public class fpsNode { public var GO:gdkShape; public var ROOMID:Number; public var SHAPE:Shape3D; public var LOADED:Boolean; public var TEX:gdkTexture; public var ROOM:fpsRoom; public var zDEPTH:Number; public var k:Number; public var h:Number; public var GAME:fpsGame; public var LINE:mathLine; public var u:Number; public var w:Number; public var v:Number; public function fpsNode(_arg1:fpsRoom, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:gdkTexture){ GAME = glo.bal.GAME; if (_arg1){ ROOM = _arg1; ROOMID = _arg1.ID; ROOM.node(this); } else { ROOM = null; ROOMID = 0; GAME.ZONE.node(this); }; u = _arg2; v = _arg3; k = _arg4; zDEPTH = 999999; w = fpsSetup.FLOOR_WIDTH; h = fpsSetup.WALL_HEIGHT; TEX = _arg5; LOADED = false; } public function destroy(){ LOADED = false; if (GO){ GO.release(); }; SHAPE = null; GO = null; } public function init(){ } public function loadNode(){ } public function unloadNode(){ destroy(); } public function zDepth(_arg1:Object=null, _arg2:Number=0, _arg3:Number=0){ var _local4:*; if (LINE == null){ return; }; if (_arg1 == null){ _arg1 = GAME.CAM.getPos(); }; _local4 = LINE.distFromPt(new Point(_arg1.x, _arg1.z)); if (_local4 == -1){ trace("fpsNode : Invalid LINE for zDepth"); }; if (_arg2 > 0){ SHAPE.enableClipping = (_local4 < _arg2); }; if (_arg3 > 0){ if (_local4 < _arg3){ SHAPE.appearance = TEX.HQ; } else { SHAPE.appearance = TEX.LQ; }; }; SHAPE.forcedDepth = (zDEPTH = _local4); } } }//package gdk.fps
Section 45
//fpsObject (gdk.fps.fpsObject) package gdk.fps { import gdk.sprite.*; import sandy.core.data.*; public class fpsObject { public var DESTROYED:Boolean; public var LOADED:Boolean; private var ININTERACTIONRANGE:Boolean; private var FACING_DR:Number; public var OBSTACLE:Boolean; public var LOC:Object; private var INTERACTIONRANGE2:Number; public var DELETE:Boolean; private var ACTIVATED:Boolean; public var POS:Vector; public var TYPE:String; private var INTERACTIVE:Boolean; public var SPRITE:gSprite; private var FACING_CAM:Boolean; public var ROOM:fpsRoom; public var zDEPTH:Number; private var INTERACTIONRANGE:Number; public var DESTRUCTIBLE:Boolean; public var GAME:fpsGame; public function fpsObject(_arg1:fpsRoom, _arg2:Vector){ ROOM = _arg1; GAME = ROOM.GAME; POS = _arg2; LOC = GAME.MAP.pos2uv(POS); zDEPTH = 999999; FACING_CAM = false; FACING_DR = 0; DESTRUCTIBLE = false; DESTROYED = false; INTERACTIVE = false; ACTIVATED = false; INTERACTIONRANGE = 0; INTERACTIONRANGE2 = 0; ININTERACTIONRANGE = false; LOADED = false; DELETE = false; GAME.ZONE.object(this); } public function interaction(){ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = (GAME.CAM.x - SPRITE.x); _local2 = (GAME.CAM.z - SPRITE.z); _local3 = ((_local1 * _local1) + (_local2 * _local2)); if (_local3 < INTERACTIONRANGE2){ if (!ININTERACTIONRANGE){ ININTERACTIONRANGE = true; inInteractionRange(); }; } else { if (ININTERACTIONRANGE){ ININTERACTIONRANGE = false; outOfInteractionRange(); }; }; } public function init(){ GAME.object(this); ROOM.object(this); } public function getLoc():Object{ return (GAME.MAP.pos2uv(getPos())); } public function render(){ } public function getPos():Vector{ return (POS); } protected function inInteractionRange(){ } protected function outOfInteractionRange(){ } public function loadObj(){ if (LOADED){ return; }; createSprite(); if (SPRITE){ SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; }; LOADED = true; } public function movement(_arg1:Number, _arg2:Number, _arg3:Number){ POS.x = (POS.x + _arg1); POS.y = (POS.y + _arg2); POS.z = (POS.z + _arg3); SPRITE.x = (SPRITE.x + _arg1); SPRITE.y = (SPRITE.y + _arg2); SPRITE.z = (SPRITE.z + _arg3); } public function setInteractive(_arg1:Boolean, _arg2:Number){ INTERACTIVE = _arg1; INTERACTIONRANGE = _arg2; INTERACTIONRANGE2 = (_arg2 * _arg2); } public function setFacing(_arg1:Boolean, _arg2:Number=0){ FACING_CAM = _arg1; FACING_DR = _arg2; } public function nextState(){ if (!LOADED){ return; }; if (INTERACTIVE){ interaction(); }; } public function createSprite(){ } public function zDepth(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:Object; var _local7:*; _local2 = (POS.x - _arg1.x); _local3 = (POS.z - _arg1.z); _local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local5 = GAME.MAP.zWalls(LOC.u, LOC.v); for (_local7 in _local5) { if (_local5[_local7].zDEPTH < _local4){ if (_local5[_local7].isFacing(_arg1)){ _local6 = GAME.MAP.stingRayBoxI(POS, _arg1, 25); if (!_local6.intersect){ _local4 = (_local5[_local7].zDEPTH - 10); }; }; }; }; SPRITE.forcedDepth = (zDEPTH = _local4); } public function unloadObj(){ destroy(); } public function destroy(){ LOADED = false; if (SPRITE){ SPRITE.release(); }; SPRITE = null; } } }//package gdk.fps
Section 46
//fpsPathFinder (gdk.fps.fpsPathFinder) package gdk.fps { public class fpsPathFinder { private var MAP:Array; private var NU:Number; private var NV:Number; private var ADJV:Array; private var ADJU:Array; public function fpsPathFinder(_arg1:Array, _arg2:Number, _arg3:Number){ MAP = _arg1; NU = _arg2; NV = _arg3; ADJU = new Array(-1, 0, 1, 1, 1, 0, -1, -1); ADJV = new Array(1, 1, 1, 0, -1, -1, -1, 0); } public function resetNodes(){ var _local1:*; var _local2:Number; _local1 = 0; while (_local1 < NU) { _local2 = 0; while (_local2 < NV) { MAP[_local1][_local2].closed = false; MAP[_local1][_local2].cost = 0; MAP[_local1][_local2].sub = 0; MAP[_local1][_local2].parent = undefined; _local2++; }; _local1++; }; } public function findPath(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Array{ var _local5:Array; var _local6:Array; var _local7:*; var _local8:Object; var _local9:Object; var _local10:Number; var _local11:Number; var _local12:Object; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:*; var _local17:*; var _local18:Number; var _local19:Boolean; _local5 = new Array(); _local7 = MAP[_arg1][_arg2]; _local8 = MAP[_arg3][_arg4]; if ((((_local7 == null)) || ((_local8 == null)))){ return (_local5); }; if (!_local8.isfree){ return (_local5); }; if (_local7 == _local8){ return (_local5); }; resetNodes(); _local6 = new Array(_local7); _local7.closed = true; while (_local6.length > 0) { _local9 = _local6[0]; _local10 = 0; if (_local6.length > 1){ _local11 = _local6[0].cost; _local17 = _local6.length; _local16 = 1; while (_local16 < _local17) { if (_local6[_local16].cost < _local11){ _local9 = _local6[_local16]; _local10 = _local16; _local11 = _local6[_local16].cost; }; _local16++; }; }; _local16 = 0; while (_local16 < 8) { _local19 = true; switch (_local16){ case 0: if (((((_local9.bN) || (_local9.bW))) || (_local9.bNW))){ _local19 = false; }; break; case 1: if (_local9.bN){ _local19 = false; }; break; case 2: if (((((_local9.bN) || (_local9.bE))) || (_local9.bNE))){ _local19 = false; }; break; case 3: if (_local9.bE){ _local19 = false; }; break; case 4: if (((((_local9.bS) || (_local9.bE))) || (_local9.bSE))){ _local19 = false; }; break; case 5: if (_local9.bS){ _local19 = false; }; break; case 6: if (((((_local9.bS) || (_local9.bW))) || (_local9.bSW))){ _local19 = false; }; break; case 7: if (_local9.bW){ _local19 = false; }; break; }; _local12 = MAP[(_local9.u + ADJU[_local16])][(_local9.v + ADJV[_local16])]; if (((!((_local12 == null))) && (_local19))){ if (_local12 == _local8){ _local5.push({u:_local12.u, v:_local12.v}); _local5.push({u:_local9.u, v:_local9.v}); while (true) { _local9 = _local9.parent; if (_local9 == null){ _local5.reverse(); return (_local5); }; _local5.push({u:_local9.u, v:_local9.v}); }; } else { if (_local12.isfree){ _local13 = ((_local9.sub + 1) + 1); _local14 = Math.min(Math.abs((_local8.u - _local12.u)), Math.abs((_local8.v - _local12.v))); _local15 = (_local13 + _local14); if (((!(_local12.closed)) || ((_local12.cost > _local15)))){ _local12.cost = _local15; _local12.sub = _local13; _local12.parent = _local9; if (!_local12.closed){ _local6.push(_local12); _local12.closed = true; }; }; }; }; }; _local16++; }; _local6.splice(_local10, 1); }; return (_local5); } public function traceMap(){ } } }//package gdk.fps
Section 47
//fpsRoom (gdk.fps.fpsRoom) package gdk.fps { import sandy.core.scenegraph.*; public class fpsRoom { public var TO_UNLOAD:Boolean; public var LOADED:Boolean; public var NODES:Array; public var ID:Number; public var ITEMS:Array; public var ROOT:Group; public var DOORS:Array; public var TO_LOAD:Boolean; public var GAME:fpsGame; public var OBJECTS:Array; public var CONNECTIONS:Array; public static var COUNTER:Number = 0; public function fpsRoom(_arg1:fpsGame, _arg2:Number){ ID = _arg2; GAME = _arg1; CONNECTIONS = []; NODES = []; DOORS = []; OBJECTS = []; ITEMS = []; LOADED = false; TO_LOAD = false; TO_UNLOAD = false; GAME.MAP.room(this); } public function node(_arg1:Object){ NODES.push(_arg1); } public function destroy(){ unloadRoom(); } public function item(_arg1:Object){ ITEMS.push(_arg1); } public function onLeaveRoom(){ } public function connection(_arg1:fpsRoom, _arg2:Object=null, _arg3:Boolean=false){ CONNECTIONS.push({room:_arg1, door:_arg2, loadwithdoor:_arg3}); } public function loadRoom(){ var _local1:*; if (LOADED){ return; }; LOADED = true; for (_local1 in NODES) { NODES[_local1].loadNode(); }; for (_local1 in ITEMS) { ITEMS[_local1].loadItem(); }; for (_local1 in OBJECTS) { OBJECTS[_local1].loadObj(); }; } public function door(_arg1:Object){ DOORS.push(_arg1); } public function unloadRoom(){ var _local1:*; if (!LOADED){ return; }; LOADED = false; for (_local1 in NODES) { NODES[_local1].unloadNode(); }; for (_local1 in ITEMS) { ITEMS[_local1].destroy(); }; for (_local1 in OBJECTS) { OBJECTS[_local1].destroy(); }; } public function onEnterRoom(){ } public function object(_arg1:Object){ OBJECTS.push(_arg1); } } }//package gdk.fps
Section 48
//fpsScene (gdk.fps.fpsScene) package gdk.fps { import flash.display.*; import sandy.core.scenegraph.*; import sandy.core.*; public class fpsScene extends Scene3D { public var SCENEROOT:Group; public var ROOT:Group; public function fpsScene(_arg1:Sprite, _arg2:fpsCamera){ ROOT = new Group(); super("fpsscene", _arg1, _arg2, ROOT); } public function reset(){ trace("fpsScene->reset ???"); } } }//package gdk.fps
Section 49
//fpsSetup (gdk.fps.fpsSetup) package gdk.fps { public class fpsSetup { public static var FLOOR_WIDTH:Number = 100; public static var WALL_HEIGHT:Number = 75; } }//package gdk.fps
Section 50
//fpsTimedEvent (gdk.fps.fpsTimedEvent) package gdk.fps { import gdk.fps.*; class fpsTimedEvent { public var method:Function; public var data:Object; public var t:Number; public var obj:Object; public var cancel:Boolean; function fpsTimedEvent(_arg1:Number, _arg2:Function, _arg3:Object, _arg4:Object=null, _arg5:Boolean=false){ t = _arg1; method = _arg2; obj = _arg3; data = _arg4; cancel = _arg5; } } }//package gdk.fps
Section 51
//fpsUnit (gdk.fps.fpsUnit) package gdk.fps { import gdk.sprite.*; import sandy.core.data.*; public class fpsUnit { public var LOADED:Boolean; public var INITIALPOS:Vector; public var RELEASEITEMS:Array; public var LOC:Object; public var DELETE:Boolean; public var ALIVE:Boolean; public var NATURALSHIELD:Number; public var POS:Vector; public var OBJID:String; public var SPRITE:gBitmapSprite; public var ROOM:fpsRoom; public var HEALTH:Number; public var KEPT:Boolean; public var PLAYER:aiPlayer; public var GAME:fpsGame; public function fpsUnit(_arg1:fpsGame, _arg2:Vector){ GAME = _arg1; INITIALPOS = new Vector(_arg2.x, _arg2.y, _arg2.z); POS = _arg2; ALIVE = false; DELETE = false; LOADED = false; HEALTH = 100; NATURALSHIELD = 1; RELEASEITEMS = []; GAME.ZONE.unit(this); } public function distanceFromPlayer():Number{ var _local1:Object; var _local2:Number; var _local3:Number; _local1 = PLAYER.getPos(); _local2 = (_local1.x - POS.x); _local3 = (_local1.z - POS.z); return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3)))); } public function resumePlay(){ } public function setPos(_arg1:Object){ POS.x = _arg1.x; POS.y = _arg1.y; POS.z = _arg1.z; SPRITE.x = _arg1.x; SPRITE.y = _arg1.y; SPRITE.z = _arg1.z; } public function init(_arg1:Object=null){ PLAYER = glo.bal.PLAYER; POS = new Vector(INITIALPOS.x, INITIALPOS.y, INITIALPOS.z); LOC = GAME.MAP.pos2uv(POS); ROOM = GAME.MAP.roomObjAtLoc(LOC); if (!ROOM){ trace("fpsUnit->init -> ROOM = null ???"); releaseItems(); return; }; HEALTH = 100; KEPT = GAME.unit(this); if (!KEPT){ releaseItems(); }; } public function getPos():Object{ return (POS); } public function loadUnit(){ } public function clearTween(_arg1:Number, _arg2:Number){ var _local3:*; _local3 = (_arg1 / _arg2); if (_local3 < 1){ SPRITE.BMP.alpha = (1 - _local3); } else { destroy(); }; } public function getLoc():Object{ return (GAME.MAP.pos2uv(getPos())); } public function movement(_arg1:Number, _arg2:Number, _arg3:Number){ POS.x = (POS.x + _arg1); POS.y = (POS.y + _arg2); POS.z = (POS.z + _arg3); SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; zDepth(GAME.CAM.getPos()); } public function damageSuffered(_arg1:Number){ } public function itemToRelease(_arg1:fpsItem){ RELEASEITEMS.push(_arg1); } public function pausePlay(){ } public function nextState(){ } public function zDepth(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:Object; var _local9:*; _local2 = Math.abs((POS.x - _arg1.x)); _local3 = Math.abs((POS.z - _arg1.z)); _local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local5 = Math.max(_local2, _local3); _local6 = ((_local4 + _local5) * 0.5); LOC = GAME.MAP.pos2uv(POS); _local7 = GAME.MAP.zWalls(LOC.u, LOC.v); for (_local9 in _local7) { if (_local7[_local9].zDEPTH < _local6){ if (_local7[_local9].isFacing(_arg1)){ _local8 = GAME.MAP.stingRayBoxI(POS, _arg1, 25); if (!_local8.intersect){ _local6 = (_local7[_local9].zDEPTH - 10); }; }; }; }; SPRITE.forcedDepth = _local6; } public function damage(_arg1:Number){ if (!ALIVE){ return; }; HEALTH = (HEALTH - (_arg1 * NATURALSHIELD)); if (HEALTH > 0){ damageSuffered(_arg1); } else { ALIVE = false; releaseItems(); death(); }; } public function clearUnit(_arg1:Number){ GAME.animation(this, _arg1, clearTween); } public function death(){ } public function releaseItems(){ var _local1:*; for (_local1 in RELEASEITEMS) { RELEASEITEMS[_local1].init(); RELEASEITEMS[_local1].loadItem(POS); }; } public function destroy(_arg1:Object=null){ LOADED = false; DELETE = true; ALIVE = false; if (SPRITE){ SPRITE.release(); }; SPRITE = null; } } }//package gdk.fps
Section 52
//fpsZone (gdk.fps.fpsZone) package gdk.fps { import sandy.core.data.*; public class fpsZone { public var NU:Number; public var NV:Number; public var NODES:Array; public var ID:Number; public var ITEMS:Array; public var UNITS:Array; public var STARTDIR:Number; public var STARTPOS:Vector; public var OBJECTS:Array; public function fpsZone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Vector, _arg5:Number){ ID = _arg1; NU = _arg2; NV = _arg3; STARTPOS = _arg4; STARTDIR = _arg5; NODES = []; UNITS = []; ITEMS = []; OBJECTS = []; } public function node(_arg1:fpsNode){ NODES.push(_arg1); } public function unit(_arg1:fpsUnit){ UNITS.push(_arg1); } public function loadWorld(_arg1:fpsGame){ } public function item(_arg1:fpsItem){ ITEMS.push(_arg1); } public function loadObjects(_arg1:fpsGame){ } public function loadUnits(_arg1:fpsGame){ } public function object(_arg1:fpsObject){ OBJECTS.push(_arg1); } } }//package gdk.fps
Section 53
//mathLine (gdk.math.mathLine) package gdk.math { import flash.geom.*; public class mathLine { public var B:Number; public var M:Number; public var YMAX:Number; public var MDX:Number; public var MDY:Number; public var L2:Number; public var XMAX:Number; public var PT1:Point; public var PT2:Point; public var YMIN:Number; public var XMIN:Number; public function mathLine(_arg1:Point, _arg2:Point){ PT1 = _arg1; PT2 = _arg2; XMIN = Math.min(PT1.x, PT2.x); XMAX = Math.max(PT1.x, PT2.x); YMIN = Math.min(PT1.y, PT2.y); YMAX = Math.max(PT1.y, PT2.y); MDX = (PT2.x - PT1.x); MDY = (PT2.y - PT1.y); if (Math.abs(MDX) < 0.001){ M = Infinity; } else { M = (MDY / MDX); B = (PT1.y - (M * PT1.x)); }; L2 = ((MDX * MDX) + (MDY * MDY)); } public function distFromPt(_arg1:Point):Number{ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; if (L2 == 0){ return (-1); }; _local2 = (_arg1.x - PT1.x); _local3 = (_arg1.y - PT1.y); _local4 = (((_local2 * MDX) + (_local3 * MDY)) / L2); if ((((_local4 < 0)) || ((_local4 > 1)))){ _local5 = (_arg1.x - PT2.x); _local6 = (_arg1.y - PT2.y); _local7 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local8 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); return (Math.min(_local7, _local8)); }; _local9 = (PT1.x + (_local4 * MDX)); _local10 = (PT1.y + (_local4 * MDY)); _local11 = (_arg1.x - _local9); _local12 = (_arg1.y - _local10); return (Math.sqrt(((_local11 * _local11) + (_local12 * _local12)))); } public function intersect(_arg1:mathLine):Point{ var _local2:Point; var _local3:Number; _local2 = null; _local3 = 0.005; if (M == Infinity){ if (_arg1.M == Infinity){ return (null); }; _local2 = new Point(0, 0); _local2.x = PT1.x; _local2.y = ((_arg1.M * _local2.x) + _arg1.B); if ((((((((_local2.x >= (XMIN - _local3))) && ((_local2.x <= (XMAX + _local3))))) && ((_local2.y >= (YMIN - _local3))))) && ((_local2.y <= (YMAX + _local3))))){ if ((((((((_local2.x >= (_arg1.XMIN - _local3))) && ((_local2.x <= (_arg1.XMAX + _local3))))) && ((_local2.y >= (_arg1.YMIN - _local3))))) && ((_local2.y <= (_arg1.YMAX + _local3))))){ return (_local2); }; }; return (null); }; if (M == _arg1.M){ return (null); }; if (_arg1.M == Infinity){ _local2 = new Point(0, 0); _local2.x = _arg1.PT1.x; _local2.y = ((M * _local2.x) + B); if ((((((((_local2.x >= (XMIN - _local3))) && ((_local2.x <= (XMAX + _local3))))) && ((_local2.y >= (YMIN - _local3))))) && ((_local2.y <= (YMAX + _local3))))){ if ((((((((_local2.x >= (_arg1.XMIN - _local3))) && ((_local2.x <= (_arg1.XMAX + _local3))))) && ((_local2.y >= (_arg1.YMIN - _local3))))) && ((_local2.y <= (_arg1.YMAX + _local3))))){ return (_local2); }; }; return (null); }; _local2 = new Point(0, 0); _local2.x = ((B - _arg1.B) / (_arg1.M - M)); _local2.y = ((M * _local2.x) + B); if ((((((((_local2.x >= (XMIN - _local3))) && ((_local2.x <= (XMAX + _local3))))) && ((_local2.y >= (YMIN - _local3))))) && ((_local2.y <= (YMAX + _local3))))){ if ((((((((_local2.x >= (_arg1.XMIN - _local3))) && ((_local2.x <= (_arg1.XMAX + _local3))))) && ((_local2.y >= (_arg1.YMIN - _local3))))) && ((_local2.y <= (_arg1.YMAX + _local3))))){ return (_local2); }; }; return (null); } public function toStr():String{ return ((((((((("[(" + PT1.x) + ",") + PT1.y) + "),(") + PT2.x) + ",") + PT2.y) + ")]")); } } }//package gdk.math
Section 54
//gBitmapSprite (gdk.sprite.gBitmapSprite) package gdk.sprite { import flash.display.*; public class gBitmapSprite extends gSprite { public var BUFFER:BitmapData; public var H:Number; public var BMP:Bitmap; public var W:Number; public function gBitmapSprite(_arg1:String, _arg2:Number, _arg3:Number){ super(_arg1); W = _arg2; H = _arg3; BUFFER = new BitmapData(W, H, true, 0); BMP = new Bitmap(BUFFER); CONTENT.addChild(BMP); BMP.x = (W * -0.5); BMP.y = (H * -0.5); } override public function release(){ super.release(); BUFFER.dispose(); if (BMP.parent){ BMP.parent.removeChild(BMP); }; BMP = null; BUFFER = null; } } }//package gdk.sprite
Section 55
//gSequencer (gdk.sprite.gSequencer) package gdk.sprite { import flash.display.*; import flash.geom.*; public class gSequencer { public var SET:Object; public var C_SEQ:Number; public var SEQi:Number; public var N_IMG:Number; public var LOOP:Boolean; public var C_IMG:Number; public function gSequencer(_arg1:Object, _arg2:Number){ SEQi = _arg2; SET = _arg1; setSequence(0); } public function setSequence(_arg1:Number, _arg2:Boolean=true){ C_SEQ = _arg1; C_IMG = 0; N_IMG = SET.getLength(SEQi, C_SEQ); LOOP = _arg2; } public function nextState(_arg1:BitmapData, _arg2:Point, _arg3:Boolean=false){ SET.getFrame(SEQi, C_SEQ, C_IMG, _arg1, _arg2, _arg3); C_IMG++; if (C_IMG >= N_IMG){ if (LOOP){ C_IMG = 0; } else { C_IMG = (N_IMG - 1); }; }; } } }//package gdk.sprite
Section 56
//gSprite (gdk.sprite.gSprite) package gdk.sprite { import flash.display.*; import sandy.core.scenegraph.*; public class gSprite extends Sprite2D { public var CONTENT:Sprite; public function gSprite(_arg1:String){ CONTENT = new Sprite(); super(_arg1, CONTENT); glo.bal.GAME.SCENE.ROOT.addChild(this); this.enableForcedDepth = true; } public function release(){ destroy(); if (CONTENT.parent){ CONTENT.parent.removeChild(CONTENT); }; CONTENT = null; } } }//package gdk.sprite
Section 57
//gdkBitmapTexture (gdk.gdkBitmapTexture) package gdk { import flash.display.*; import sandy.materials.*; import sandy.materials.attributes.*; public class gdkBitmapTexture extends gdkTexture { public function gdkBitmapTexture(_arg1:BitmapData, _arg2:Boolean=false, _arg3:MaterialAttributes=null){ var _local4:BitmapMaterial; var _local5:BitmapMaterial; _local4 = new BitmapMaterial(_arg1, _arg3, 0); _local5 = new BitmapMaterial(_arg1, _arg3, 50); super(_local4, _local5, _arg2); _arg1.dispose(); } } }//package gdk
Section 58
//gdkGraphic (gdk.gdkGraphic) package gdk { public class gdkGraphic { public var free:Boolean; public var obj:Object; public var type:Number; public var pool:Object; public function gdkGraphic(_arg1:Object, _arg2:Number, _arg3:Object){ pool = _arg1; type = _arg2; obj = _arg3; free = false; } public function release(){ free = true; pool.objectReleased(type); } public function take(){ free = false; } } }//package gdk
Section 59
//gdkShape (gdk.gdkShape) package gdk { public class gdkShape extends gdkGraphic { public function gdkShape(_arg1:Object, _arg2:Number, _arg3:Object){ super(_arg1, _arg2, _arg3); glo.bal.GAME.SCENE.ROOT.addChild(_arg3); } override public function release(){ free = true; pool.objectReleased(type); obj.visible = false; } override public function take(){ free = false; obj.enableForcedDepth = true; obj.visible = true; } } }//package gdk
Section 60
//gdkTexture (gdk.gdkTexture) package gdk { import sandy.materials.*; public class gdkTexture { public var LQ:Appearance; public var HQ:Appearance; public function gdkTexture(_arg1:Material, _arg2:Material, _arg3:Boolean=false){ _arg1.lightingEnable = _arg3; _arg2.lightingEnable = _arg3; LQ = new Appearance(_arg1); HQ = new Appearance(_arg2); } public function setTiling(_arg1:Number=1, _arg2:Number=1){ LQ.frontMaterial.setTiling(_arg1, _arg2); HQ.frontMaterial.setTiling(_arg1, _arg2); } } }//package gdk
Section 61
//BBox (sandy.bounds.BBox) package sandy.bounds { import sandy.core.data.*; public class BBox { public var aTCorners:Array; public var max:Vector; public var tmax:Vector; public var min:Vector; public var uptodate:Boolean;// = false public var aCorners:Array; public var tmin:Vector; public function BBox(_arg1:Vector=null, _arg2:Vector=null){ uptodate = false; super(); min = ((_arg1)!=null) ? _arg1 : new Vector(-0.5, -0.5, -0.5); max = ((_arg2)!=null) ? _arg2 : new Vector(0.5, 0.5, 0.5); tmin = new Vector(); tmax = new Vector(); aCorners = new Array(8); aTCorners = new Array(8); __computeCorners(false); } public function transform(_arg1:Matrix4):void{ var _local2:Vector; var _local3:uint; aTCorners[0].copy(aCorners[0]); _arg1.vectorMult(aTCorners[0]); tmin.copy(aTCorners[0]); tmax.copy(tmin); _local3 = 1; while (_local3 < 8) { aTCorners[_local3].copy(aCorners[_local3]); _arg1.vectorMult(aTCorners[_local3]); _local2 = aTCorners[_local3]; if (_local2.x < tmin.x){ tmin.x = _local2.x; } else { if (_local2.x > tmax.x){ tmax.x = _local2.x; }; }; if (_local2.y < tmin.y){ tmin.y = _local2.y; } else { if (_local2.y > tmax.y){ tmax.y = _local2.y; }; }; if (_local2.z < tmin.z){ tmin.z = _local2.z; } else { if (_local2.z > tmax.z){ tmax.z = _local2.z; }; }; _local3++; }; uptodate = true; } public function getCenter():Vector{ return (new Vector(((max.x + min.x) / 2), ((max.y + min.y) / 2), ((max.z + min.z) / 2))); } private function __computeCorners(_arg1:Boolean=false):Array{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; if (_arg1 == true){ _local2 = tmin.x; _local3 = tmin.y; _local4 = tmin.z; _local5 = tmax.x; _local6 = tmax.y; _local7 = tmax.z; } else { _local2 = min.x; _local3 = min.y; _local4 = min.z; _local5 = max.x; _local6 = max.y; _local7 = max.z; }; aTCorners[0] = new Vector(); aCorners[0] = new Vector(_local2, _local6, _local7); aTCorners[1] = new Vector(); aCorners[1] = new Vector(_local5, _local6, _local7); aTCorners[2] = new Vector(); aCorners[2] = new Vector(_local5, _local3, _local7); aTCorners[3] = new Vector(); aCorners[3] = new Vector(_local2, _local3, _local7); aTCorners[4] = new Vector(); aCorners[4] = new Vector(_local2, _local6, _local4); aTCorners[5] = new Vector(); aCorners[5] = new Vector(_local5, _local6, _local4); aTCorners[6] = new Vector(); aCorners[6] = new Vector(_local5, _local3, _local4); aTCorners[7] = new Vector(); aCorners[7] = new Vector(_local2, _local3, _local4); return (aCorners); } public function clone():BBox{ var _local1:BBox; _local1 = new BBox(); _local1.max = max.clone(); _local1.min = min.clone(); _local1.tmax = tmax.clone(); _local1.tmin = tmin.clone(); return (_local1); } public function getSize():Vector{ return (new Vector(Math.abs((max.x - min.x)), Math.abs((max.y - min.y)), Math.abs((max.z - min.z)))); } public function toString():String{ return ("sandy.bounds.BBox"); } public static function create(_arg1:Array):BBox{ var _local2:Number; var _local3:Vector; var _local4:Vector; var _local5:Array; if (_arg1.length == 0){ return (null); }; _local2 = _arg1.length; _local3 = new Vector(); _local4 = new Vector(); _local5 = _arg1.sortOn(["x"], [(Array.NUMERIC | Array.RETURNINDEXEDARRAY)]); _local3.x = _arg1[_local5[0]].x; _local4.x = _arg1[_local5[(_local5.length - 1)]].x; _local5 = _arg1.sortOn(["y"], [(Array.NUMERIC | Array.RETURNINDEXEDARRAY)]); _local3.y = _arg1[_local5[0]].y; _local4.y = _arg1[_local5[(_local5.length - 1)]].y; _local5 = _arg1.sortOn(["z"], [(Array.NUMERIC | Array.RETURNINDEXEDARRAY)]); _local3.z = _arg1[_local5[0]].z; _local4.z = _arg1[_local5[(_local5.length - 1)]].z; return (new BBox(_local3, _local4)); } } }//package sandy.bounds
Section 62
//BSphere (sandy.bounds.BSphere) package sandy.bounds { import sandy.core.data.*; public final class BSphere { public var uptodate:Boolean;// = false public var position:Vector; public var radius:Number;// = 1 public var center:Vector; public function BSphere(){ uptodate = false; center = new Vector(); radius = 1; position = new Vector(); super(); } public function transform(_arg1:Matrix4):void{ position.copy(center); _arg1.vectorMult(position); uptodate = true; } private function computeRadius(_arg1:Array):Number{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:int; _local6 = 0; _local8 = _arg1.length; while (_local7 < _local8) { _local2 = (_arg1[int(_local7)].x - center.x); _local3 = (_arg1[int(_local7)].x - center.x); _local4 = (_arg1[int(_local7)].x - center.x); _local5 = (((_local2 * _local2) + (_local3 * _local3)) + (_local4 * _local4)); if (_local5 > _local6){ _local6 = _local5; }; _local7++; }; return (Math.sqrt(_local6)); } private function pointsOutofSphere(_arg1:Array):Array{ var _local2:Array; var _local3:int; var _local4:int; _local2 = new Array(); _local4 = _arg1.length; while (_local3 < _local4) { if (distance(_arg1[int(_local3)]) > 0){ _local2.push(_arg1[int(_local3)]); }; _local3++; }; return (_local2); } public function compute(_arg1:Array):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:int; var _local7:int; var _local8:int; var _local9:Vertex; var _local10:Vertex; var _local11:Number; var _local12:Vertex; var _local13:Vertex; if (_arg1.length == 0){ return; }; _local6 = 0; _local7 = 0; _local8 = _arg1.length; _local9 = _arg1[0].clone(); _local10 = _arg1[0].clone(); _local11 = 0; while (_local6 < _local8) { _local7 = (_local6 + 1); while (_local7 < _local8) { _local12 = _arg1[int(_local6)]; _local13 = _arg1[int(_local7)]; _local2 = (_local13.x - _local12.x); _local3 = (_local13.y - _local12.y); _local4 = (_local13.z - _local12.z); _local5 = (((_local2 * _local2) + (_local3 * _local3)) + (_local4 * _local4)); if (_local5 > _local11){ _local11 = _local5; _local9.copy(_local12); _local10.copy(_local13); }; _local7 = (_local7 + 1); }; _local6 = (_local6 + 1); }; center = new Vector(((_local9.x + _local10.x) / 2), ((_local9.y + _local10.y) / 2), ((_local9.z + _local10.z) / 2)); radius = (Math.sqrt(_local11) / 2); } public function toString():String{ return ((((("sandy.bounds.BSphere (center : " + center) + ", radius : ") + radius) + ")")); } public function distance(_arg1:Vector):Number{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = (_arg1.x - center.x); _local3 = (_arg1.y - center.y); _local4 = (_arg1.z - center.z); return ((Math.sqrt((((_local2 * _local2) + (_local3 * _local3)) + (_local4 * _local4))) - radius)); } public static function create(_arg1:Array):BSphere{ var _local2:BSphere; _local2 = new (BSphere); _local2.compute(_arg1); return (_local2); } } }//package sandy.bounds
Section 63
//Command (sandy.commands.Command) package sandy.commands { import flash.events.*; public interface Command { function execute(_arg1:Event=null):void; } }//package sandy.commands
Section 64
//Delegate (sandy.commands.Delegate) package sandy.commands { import flash.events.*; public class Delegate implements Command { private var _a:Array; private var _f:Function; public function Delegate(_arg1:Function, ... _args){ _f = _arg1; _a = _args; } public function getArguments():Array{ return (_a); } public function setArgumentsArray(_arg1:Array):void{ if (_arg1.length > 0){ _a = _arg1; }; } public function addArgumentsArray(_arg1:Array):void{ if (_arg1.length > 0){ _a = _a.concat(_arg1); }; } public function toString():String{ return ("sandy.commands.Delegate"); } public function handleEvent(_arg1:Event):void{ this.execute(_arg1); } public function setArguments(... _args):void{ if (_args.length > 0){ _a = _args; }; } public function addArguments(... _args):void{ if (_args.length > 0){ _a = _a.concat(_args); }; } public function callFunction(){ return (_f.apply(null, _a)); } public function execute(_arg1:Event=null):void{ var _local2:Array; _local2 = new Array(); if (_arg1 != null){ _local2.push(_arg1); }; _f.apply(null, ((_a.length)>0) ? _local2.concat(_a) : ((_local2.length)>0) ? _local2 : null); } public static function create(_arg1:Function, ... _args):Function{ var method = _arg1; var args = _args; return (function (... _args){ return (method.apply(null, ((_args.length > 0)) ? ((args.length > 0)) ? args.concat(_args) : _args : ((args.length > 0)) ? args : null)); }); } } }//package sandy.commands
Section 65
//Edge3D (sandy.core.data.Edge3D) package sandy.core.data { public final class Edge3D { public var vertex1:Vertex; public var vertex2:Vertex; public var vertexId1:uint; public var vertexId2:uint; public function Edge3D(_arg1:uint, _arg2:uint){ vertexId1 = _arg1; vertexId2 = _arg2; } public function clone():Edge3D{ var _local1:Edge3D; _local1 = new Edge3D(vertexId1, vertexId2); return (_local1); } } }//package sandy.core.data
Section 66
//Matrix4 (sandy.core.data.Matrix4) package sandy.core.data { import sandy.math.*; import sandy.util.*; public final class Matrix4 { private const _fastMathInitialized:Boolean; public var n11:Number; public var n12:Number; public var n13:Number; public var n14:Number; public var n21:Number; public var n22:Number; public var n23:Number; public var n24:Number; public var n31:Number; public var n32:Number; public var n33:Number; public var n34:Number; public var n41:Number; public var n42:Number; public var n43:Number; public var n44:Number; public static var USE_FAST_MATH:Boolean = false; public function Matrix4(_arg1:Number=1, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Number=1, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0, _arg10:Number=0, _arg11:Number=1, _arg12:Number=0, _arg13:Number=0, _arg14:Number=0, _arg15:Number=0, _arg16:Number=1){ _fastMathInitialized = FastMath.initialized; super(); n11 = _arg1; n12 = _arg2; n13 = _arg3; n14 = _arg4; n21 = _arg5; n22 = _arg6; n23 = _arg7; n24 = _arg8; n31 = _arg9; n32 = _arg10; n33 = _arg11; n34 = _arg12; n41 = _arg13; n42 = _arg14; n43 = _arg15; n44 = _arg16; } final public function multiply3x3(_arg1:Matrix4):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = n11; _local3 = _arg1.n11; _local4 = n21; _local5 = _arg1.n21; _local6 = n31; _local7 = _arg1.n31; _local8 = n12; _local9 = _arg1.n12; _local10 = n22; _local11 = _arg1.n22; _local12 = n32; _local13 = _arg1.n32; _local14 = n13; _local15 = _arg1.n13; _local16 = n23; _local17 = _arg1.n23; _local18 = n33; _local19 = _arg1.n33; n11 = (((_local2 * _local3) + (_local8 * _local5)) + (_local14 * _local7)); n12 = (((_local2 * _local9) + (_local8 * _local11)) + (_local14 * _local13)); n13 = (((_local2 * _local15) + (_local8 * _local17)) + (_local14 * _local19)); n21 = (((_local4 * _local3) + (_local10 * _local5)) + (_local16 * _local7)); n22 = (((_local4 * _local9) + (_local10 * _local11)) + (_local16 * _local13)); n23 = (((_local4 * _local15) + (_local10 * _local17)) + (_local16 * _local19)); n31 = (((_local6 * _local3) + (_local12 * _local5)) + (_local18 * _local7)); n32 = (((_local6 * _local9) + (_local12 * _local11)) + (_local18 * _local13)); n33 = (((_local6 * _local15) + (_local12 * _local17)) + (_local18 * _local19)); n14 = (n24 = (n34 = (n41 = (n42 = (n43 = 0))))); n44 = 1; } final public function vectorMult(_arg1:Vector):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = _arg1.x; _local3 = _arg1.y; _local4 = _arg1.z; _arg1.x = ((((_local2 * n11) + (_local3 * n12)) + (_local4 * n13)) + n14); _arg1.y = ((((_local2 * n21) + (_local3 * n22)) + (_local4 * n23)) + n24); _arg1.z = ((((_local2 * n31) + (_local3 * n32)) + (_local4 * n33)) + n34); } final public function rotationY(_arg1:Number):void{ var _local2:Number; var _local3:Number; identity(); _arg1 = NumberUtil.toRadian(_arg1); _local2 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local3 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); n11 = _local2; n13 = -(_local3); n31 = _local3; n33 = _local2; } final public function rotationZ(_arg1:Number):void{ var _local2:Number; var _local3:Number; identity(); _arg1 = NumberUtil.toRadian(_arg1); _local2 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local3 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); n11 = _local2; n12 = -(_local3); n21 = _local3; n22 = _local2; } final public function eulerRotation(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; identity(); _arg1 = NumberUtil.toRadian(_arg1); _arg2 = NumberUtil.toRadian(_arg2); _arg3 = NumberUtil.toRadian(_arg3); _local4 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local5 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); _local6 = ((USE_FAST_MATH)==false) ? Math.cos(_arg2) : FastMath.cos(_arg2); _local7 = ((USE_FAST_MATH)==false) ? Math.sin(_arg2) : FastMath.sin(_arg2); _local8 = ((USE_FAST_MATH)==false) ? Math.cos(_arg3) : FastMath.cos(_arg3); _local9 = ((USE_FAST_MATH)==false) ? Math.sin(_arg3) : FastMath.sin(_arg3); _local10 = (_local4 * _local7); _local11 = (_local5 * _local7); n11 = (_local6 * _local8); n12 = (-(_local6) * _local9); n13 = -(_local7); n21 = ((-(_local11) * _local8) + (_local4 * _local9)); n22 = ((-(_local11) * _local9) + (_local4 * _local8)); n23 = (-(_local5) * _local6); n31 = ((_local10 * _local8) + (_local5 * _local9)); n32 = ((-(_local10) * _local9) + (_local5 * _local8)); n33 = (_local4 * _local6); } final public function rotationX(_arg1:Number):void{ var _local2:Number; var _local3:Number; identity(); _arg1 = NumberUtil.toRadian(_arg1); _local2 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local3 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); n22 = _local2; n23 = -(_local3); n32 = _local3; n33 = _local2; } final public function multiply(_arg1:Matrix4):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; _local2 = n11; _local3 = n21; _local4 = n31; _local5 = n41; _local6 = n12; _local7 = n22; _local8 = n32; _local9 = n42; _local10 = n13; _local11 = n23; _local12 = n33; _local13 = n43; _local14 = n14; _local15 = n24; _local16 = n34; _local17 = n44; _local18 = _arg1.n11; _local19 = _arg1.n21; _local20 = _arg1.n31; _local21 = _arg1.n41; _local22 = _arg1.n12; _local23 = _arg1.n22; _local24 = _arg1.n32; _local25 = _arg1.n42; _local26 = _arg1.n13; _local27 = _arg1.n23; _local28 = _arg1.n33; _local29 = _arg1.n43; _local30 = _arg1.n14; _local31 = _arg1.n24; _local32 = _arg1.n34; _local33 = _arg1.n44; n11 = ((((_local2 * _local18) + (_local6 * _local19)) + (_local10 * _local20)) + (_local14 * _local21)); n12 = ((((_local2 * _local22) + (_local6 * _local23)) + (_local10 * _local24)) + (_local14 * _local25)); n13 = ((((_local2 * _local26) + (_local6 * _local27)) + (_local10 * _local28)) + (_local14 * _local29)); n14 = ((((_local2 * _local30) + (_local6 * _local31)) + (_local10 * _local32)) + (_local14 * _local33)); n21 = ((((_local3 * _local18) + (_local7 * _local19)) + (_local11 * _local20)) + (_local15 * _local21)); n22 = ((((_local3 * _local22) + (_local7 * _local23)) + (_local11 * _local24)) + (_local15 * _local25)); n23 = ((((_local3 * _local26) + (_local7 * _local27)) + (_local11 * _local28)) + (_local15 * _local29)); n24 = ((((_local3 * _local30) + (_local7 * _local31)) + (_local11 * _local32)) + (_local15 * _local33)); n31 = ((((_local4 * _local18) + (_local8 * _local19)) + (_local12 * _local20)) + (_local16 * _local21)); n32 = ((((_local4 * _local22) + (_local8 * _local23)) + (_local12 * _local24)) + (_local16 * _local25)); n33 = ((((_local4 * _local26) + (_local8 * _local27)) + (_local12 * _local28)) + (_local16 * _local29)); n34 = ((((_local4 * _local30) + (_local8 * _local31)) + (_local12 * _local32)) + (_local16 * _local33)); n41 = ((((_local5 * _local18) + (_local9 * _local19)) + (_local13 * _local20)) + (_local17 * _local21)); n42 = ((((_local5 * _local22) + (_local9 * _local23)) + (_local13 * _local24)) + (_local17 * _local25)); n43 = ((((_local5 * _local26) + (_local9 * _local27)) + (_local13 * _local28)) + (_local17 * _local29)); n44 = ((((_local5 * _local30) + (_local9 * _local31)) + (_local13 * _local32)) + (_local17 * _local33)); } final public function axisRotationWithReference(_arg1:Vector, _arg2:Vector, _arg3:Number):void{ var _local4:Matrix4; var _local5:Number; _local4 = new Matrix4(); _local5 = ((_arg3 + 360) % 360); translation(_arg2.x, _arg2.y, _arg2.z); _local4.axisRotation(_arg1.x, _arg1.y, _arg1.z, _local5); multiply(_local4); _local4.translation(-(_arg2.x), -(_arg2.y), -(_arg2.z)); multiply(_local4); _local4 = null; } final public function getTrace():Number{ return ((((n11 + n22) + n33) + n44)); } final public function zero():void{ n11 = 0; n12 = 0; n13 = 0; n14 = 0; n21 = 0; n22 = 0; n23 = 0; n24 = 0; n31 = 0; n32 = 0; n33 = 0; n34 = 0; n41 = 0; n42 = 0; n43 = 0; n44 = 0; } final public function translation(_arg1:Number, _arg2:Number, _arg3:Number):void{ identity(); n14 = _arg1; n24 = _arg2; n34 = _arg3; } final public function scaleVector(_arg1:Vector):void{ identity(); n11 = _arg1.x; n22 = _arg1.y; n33 = _arg1.z; } final public function det():Number{ return (((((((((n11 * n22) - (n21 * n12)) * ((n33 * n44) - (n43 * n34))) - (((n11 * n32) - (n31 * n12)) * ((n23 * n44) - (n43 * n24)))) + (((n11 * n42) - (n41 * n12)) * ((n23 * n34) - (n33 * n24)))) + (((n21 * n32) - (n31 * n22)) * ((n13 * n44) - (n43 * n14)))) - (((n21 * n42) - (n41 * n22)) * ((n13 * n34) - (n33 * n14)))) + (((n31 * n42) - (n41 * n32)) * ((n13 * n24) - (n23 * n14))))); } final public function inverse():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local1 = det(); if (Math.abs(_local1) < 0.001){ return; }; _local1 = (1 / _local1); _local2 = n11; _local3 = n21; _local4 = n31; _local5 = n41; _local6 = n12; _local7 = n22; _local8 = n32; _local9 = n42; _local10 = n13; _local11 = n23; _local12 = n33; _local13 = n43; _local14 = n14; _local15 = n24; _local16 = n34; _local17 = n44; n11 = (_local1 * (((_local7 * ((_local12 * _local17) - (_local13 * _local16))) - (_local8 * ((_local11 * _local17) - (_local13 * _local15)))) + (_local9 * ((_local11 * _local16) - (_local12 * _local15))))); n12 = (-(_local1) * (((_local6 * ((_local12 * _local17) - (_local13 * _local16))) - (_local8 * ((_local10 * _local17) - (_local13 * _local14)))) + (_local9 * ((_local10 * _local16) - (_local12 * _local14))))); n13 = (_local1 * (((_local6 * ((_local11 * _local17) - (_local13 * _local15))) - (_local7 * ((_local10 * _local17) - (_local13 * _local14)))) + (_local9 * ((_local10 * _local15) - (_local11 * _local14))))); n14 = (-(_local1) * (((_local6 * ((_local11 * _local16) - (_local12 * _local15))) - (_local7 * ((_local10 * _local16) - (_local12 * _local14)))) + (_local8 * ((_local10 * _local15) - (_local11 * _local14))))); n21 = (-(_local1) * (((_local3 * ((_local12 * _local17) - (_local13 * _local16))) - (_local4 * ((_local11 * _local17) - (_local13 * _local15)))) + (_local5 * ((_local11 * _local16) - (_local12 * _local15))))); n22 = (_local1 * (((_local2 * ((_local12 * _local17) - (_local13 * _local16))) - (_local4 * ((_local10 * _local17) - (_local13 * _local14)))) + (_local5 * ((_local10 * _local16) - (_local12 * _local14))))); n23 = (-(_local1) * (((_local2 * ((_local11 * _local17) - (_local13 * _local15))) - (_local3 * ((_local10 * _local17) - (_local13 * _local14)))) + (_local5 * ((_local10 * _local15) - (_local11 * _local14))))); n24 = (_local1 * (((_local2 * ((_local11 * _local16) - (_local12 * _local15))) - (_local3 * ((_local10 * _local16) - (_local12 * _local14)))) + (_local4 * ((_local10 * _local15) - (_local11 * _local14))))); n31 = (_local1 * (((_local3 * ((_local8 * _local17) - (_local9 * _local16))) - (_local4 * ((_local7 * _local17) - (_local9 * _local15)))) + (_local5 * ((_local7 * _local16) - (_local8 * _local15))))); n32 = (-(_local1) * (((_local2 * ((_local8 * _local17) - (_local9 * _local16))) - (_local4 * ((_local6 * _local17) - (_local9 * _local14)))) + (_local5 * ((_local6 * _local16) - (_local8 * _local14))))); n33 = (_local1 * (((_local2 * ((_local7 * _local17) - (_local9 * _local15))) - (_local3 * ((_local6 * _local17) - (_local9 * _local14)))) + (_local5 * ((_local6 * _local15) - (_local7 * _local14))))); n34 = (-(_local1) * (((_local2 * ((_local7 * _local16) - (_local8 * _local15))) - (_local3 * ((_local6 * _local16) - (_local8 * _local14)))) + (_local4 * ((_local6 * _local15) - (_local7 * _local14))))); n41 = (-(_local1) * (((_local3 * ((_local8 * _local13) - (_local9 * _local12))) - (_local4 * ((_local7 * _local13) - (_local9 * _local11)))) + (_local5 * ((_local7 * _local12) - (_local8 * _local11))))); n42 = (_local1 * (((_local2 * ((_local8 * _local13) - (_local9 * _local12))) - (_local4 * ((_local6 * _local13) - (_local9 * _local10)))) + (_local5 * ((_local6 * _local12) - (_local8 * _local10))))); n43 = (-(_local1) * (((_local2 * ((_local7 * _local13) - (_local9 * _local11))) - (_local3 * ((_local6 * _local13) - (_local9 * _local10)))) + (_local5 * ((_local6 * _local11) - (_local7 * _local10))))); n44 = (_local1 * (((_local2 * ((_local7 * _local12) - (_local8 * _local11))) - (_local3 * ((_local6 * _local12) - (_local8 * _local10)))) + (_local4 * ((_local6 * _local11) - (_local7 * _local10))))); } final public function vectorMult3x3(_arg1:Vector):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = _arg1.x; _local3 = _arg1.y; _local4 = _arg1.z; _arg1.x = (((_local2 * n11) + (_local3 * n12)) + (_local4 * n13)); _arg1.y = (((_local2 * n21) + (_local3 * n22)) + (_local4 * n23)); _arg1.z = (((_local2 * n31) + (_local3 * n32)) + (_local4 * n33)); } final public function identity():void{ n11 = 1; n12 = 0; n13 = 0; n14 = 0; n21 = 0; n22 = 1; n23 = 0; n24 = 0; n31 = 0; n32 = 0; n33 = 1; n34 = 0; n41 = 0; n42 = 0; n43 = 0; n44 = 1; } final public function axisRotation(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; identity(); _arg4 = NumberUtil.toRadian(_arg4); _local5 = ((USE_FAST_MATH)==false) ? Math.cos(_arg4) : FastMath.cos(_arg4); _local6 = ((USE_FAST_MATH)==false) ? Math.sin(_arg4) : FastMath.sin(_arg4); _local7 = (1 - _local5); _local8 = ((_arg1 * _arg2) * _local7); _local9 = ((_arg2 * _arg3) * _local7); _local10 = ((_arg1 * _arg3) * _local7); _local11 = (_local6 * _arg3); _local12 = (_local6 * _arg2); _local13 = (_local6 * _arg1); n11 = (_local5 + ((_arg1 * _arg1) * _local7)); n12 = (-(_local11) + _local8); n13 = (_local12 + _local10); n21 = (_local11 + _local8); n22 = (_local5 + ((_arg2 * _arg2) * _local7)); n23 = (-(_local13) + _local9); n31 = (-(_local12) + _local10); n32 = (_local13 + _local9); n33 = (_local5 + ((_arg3 * _arg3) * _local7)); } final public function addMatrix(_arg1:Matrix4):void{ n11 = (n11 + _arg1.n11); n12 = (n12 + _arg1.n12); n13 = (n13 + _arg1.n13); n14 = (n14 + _arg1.n14); n21 = (n21 + _arg1.n21); n22 = (n22 + _arg1.n22); n23 = (n23 + _arg1.n23); n24 = (n24 + _arg1.n24); n31 = (n31 + _arg1.n31); n32 = (n32 + _arg1.n32); n33 = (n33 + _arg1.n33); n34 = (n34 + _arg1.n34); n41 = (n41 + _arg1.n41); n42 = (n42 + _arg1.n42); n43 = (n43 + _arg1.n43); n44 = (n44 + _arg1.n44); } final public function scale(_arg1:Number, _arg2:Number, _arg3:Number):void{ identity(); n11 = _arg1; n22 = _arg2; n33 = _arg3; } final public function multiply4x3(_arg1:Matrix4):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; _local2 = n11; _local3 = _arg1.n11; _local4 = n21; _local5 = _arg1.n21; _local6 = n31; _local7 = _arg1.n31; _local8 = n12; _local9 = _arg1.n12; _local10 = n22; _local11 = _arg1.n22; _local12 = n32; _local13 = _arg1.n32; _local14 = n13; _local15 = _arg1.n13; _local16 = n23; _local17 = _arg1.n23; _local18 = n33; _local19 = _arg1.n33; _local20 = _arg1.n14; _local21 = _arg1.n24; _local22 = _arg1.n34; n11 = (((_local2 * _local3) + (_local8 * _local5)) + (_local14 * _local7)); n12 = (((_local2 * _local9) + (_local8 * _local11)) + (_local14 * _local13)); n13 = (((_local2 * _local15) + (_local8 * _local17)) + (_local14 * _local19)); n14 = ((((_local20 * _local2) + (_local21 * _local8)) + (_local22 * _local14)) + n14); n21 = (((_local4 * _local3) + (_local10 * _local5)) + (_local16 * _local7)); n22 = (((_local4 * _local9) + (_local10 * _local11)) + (_local16 * _local13)); n23 = (((_local4 * _local15) + (_local10 * _local17)) + (_local16 * _local19)); n24 = ((((_local20 * _local4) + (_local21 * _local10)) + (_local22 * _local16)) + n24); n31 = (((_local6 * _local3) + (_local12 * _local5)) + (_local18 * _local7)); n32 = (((_local6 * _local9) + (_local12 * _local11)) + (_local18 * _local13)); n33 = (((_local6 * _local15) + (_local12 * _local17)) + (_local18 * _local19)); n34 = ((((_local20 * _local6) + (_local21 * _local12)) + (_local22 * _local18)) + n34); n41 = (n42 = (n43 = 0)); n44 = 1; } final public function det3x3():Number{ return ((((n11 * ((n22 * n33) - (n23 * n32))) + (n21 * ((n32 * n13) - (n12 * n33)))) + (n31 * ((n12 * n23) - (n22 * n13))))); } final public function translationVector(_arg1:Vector):void{ identity(); n14 = _arg1.x; n24 = _arg1.y; n34 = _arg1.z; } final public function clone():Matrix4{ return (new Matrix4(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44)); } final public function axisRotationVector(_arg1:Vector, _arg2:Number):void{ axisRotation(_arg1.x, _arg1.y, _arg1.z, _arg2); } final public function toString():String{ var _local1:String; _local1 = ("sandy.core.data.Matrix4" + "\n ("); _local1 = (_local1 + (((((((n11 + "\t") + n12) + "\t") + n13) + "\t") + n14) + "\n")); _local1 = (_local1 + (((((((n21 + "\t") + n22) + "\t") + n23) + "\t") + n24) + "\n")); _local1 = (_local1 + (((((((n31 + "\t") + n32) + "\t") + n33) + "\t") + n34) + "\n")); _local1 = (_local1 + (((((((n41 + "\t") + n42) + "\t") + n43) + "\t") + n44) + "\n)")); return (_local1); } final public function copy(_arg1:Matrix4):void{ n11 = _arg1.n11; n12 = _arg1.n12; n13 = _arg1.n13; n14 = _arg1.n14; n21 = _arg1.n21; n22 = _arg1.n22; n23 = _arg1.n23; n24 = _arg1.n24; n31 = _arg1.n31; n32 = _arg1.n32; n33 = _arg1.n33; n34 = _arg1.n34; n41 = _arg1.n41; n42 = _arg1.n42; n43 = _arg1.n43; n44 = _arg1.n44; } final public function getTranslation():Vector{ return (new Vector(n14, n24, n34)); } public static function getEulerAngles(_arg1:Matrix4):Vector{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local2 = Math.asin(_arg1.n13); _local3 = Math.cos(_local2); if (Math.abs(_local3) > 0.005){ _local4 = (_arg1.n33 / _local3); _local5 = (-(_arg1.n22) / _local3); _local6 = Math.atan2(_local5, _local4); _local4 = (_arg1.n11 / _local3); _local5 = (-(_arg1.n12) / _local3); _local7 = Math.atan2(_local5, _local4); } else { _local6 = 0; _local4 = _arg1.n22; _local5 = _arg1.n21; _local7 = Math.atan2(_local5, _local4); }; if (_local6 < 0){ _local6 = (_local6 + 360); }; if (_local2 < 0){ _local2 = (_local2 + 360); }; if (_local7 < 0){ _local7 = (_local7 + 360); }; return (new Vector(_local6, _local2, _local7)); } } }//package sandy.core.data
Section 67
//Plane (sandy.core.data.Plane) package sandy.core.data { public final class Plane { public var a:Number; public var c:Number; public var b:Number; public var d:Number; public function Plane(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.a = _arg1; this.b = _arg2; this.c = _arg3; this.d = _arg4; } public function toString():String{ return (((((((((("sandy.core.data.Plane" + "(a:") + a) + ", b:") + b) + ", c:") + c) + ", d:") + d) + ")")); } } }//package sandy.core.data
Section 68
//Polygon (sandy.core.data.Polygon) package sandy.core.data { import flash.display.*; import flash.events.*; import sandy.core.scenegraph.*; import sandy.events.*; import sandy.materials.*; import sandy.core.*; import sandy.view.*; import flash.geom.*; import flash.utils.*; import sandy.core.interaction.*; import sandy.math.*; public final class Polygon implements IDisplayable { public const id:uint; public var vertices:Array; protected var m_oEB:BubbleEventBroadcaster; public var scene:Scene3D; protected var m_oContainer:Sprite; public var m_nDepth:Number; private var mouseEvents:Boolean;// = false public var shape:Shape3D; public var vertexNormals:Array; public var aNeighboors:Array; public var isClipped:Boolean;// = false public var uvBounds:Rectangle; public var hasAppearanceChanged:Boolean;// = false private var m_oGeometry:Geometry3D; public var caUVCoord:Array; public var minZ:Number; public var aUVCoord:Array; private var mouseInteractivity:Boolean;// = false public var cvertices:Array; public var a:Vertex; public var c:Vertex; public var normal:Vertex; private var m_oAppearance:Appearance; public var b:Vertex; public var visible:Boolean; private var m_aUVCoords:Array; public var aEdges:Array; private static var _ID_:uint = 0; public static var POLYGON_MAP:Dictionary = new Dictionary(true); public function Polygon(_arg1:Shape3D, _arg2:Geometry3D, _arg3:Array, _arg4:Array=null, _arg5:Number=0, _arg6:uint=0){ id = _ID_++; isClipped = false; aNeighboors = new Array(); hasAppearanceChanged = false; m_oEB = new BubbleEventBroadcaster(); mouseEvents = false; mouseInteractivity = false; super(); shape = _arg1; m_oGeometry = _arg2; __update(_arg3, _arg4, _arg5, _arg6); m_oContainer = new Sprite(); POLYGON_MAP[id] = this; } public function createNormal():Vector{ var _local1:Vector; var _local2:Vector; var _local3:Vertex; var _local4:Vertex; var _local5:Vertex; var _local6:Vector; if (vertices.length > 2){ _local3 = vertices[0]; _local4 = vertices[1]; _local5 = vertices[2]; _local1 = new Vector((_local4.wx - _local3.wx), (_local4.wy - _local3.wy), (_local4.wz - _local3.wz)); _local2 = new Vector((_local4.wx - _local5.wx), (_local4.wy - _local5.wy), (_local4.wz - _local5.wz)); _local6 = VectorMath.cross(_local1, _local2); VectorMath.normalize(_local6); return (_local6); }; return (new Vector()); } public function toString():String{ return ((((("sandy.core.data.Polygon::id=" + id) + " [Points: ") + vertices.length) + "]")); } public function set depth(_arg1:Number):void{ m_nDepth = _arg1; } public function get container():Sprite{ return (m_oContainer); } protected function _onTextureInteraction(_arg1:Event=null):void{ var _local2:Point; var _local3:UVCoord; if ((((_arg1 == null)) || (!((_arg1 is MouseEvent))))){ _arg1 = new MouseEvent(MouseEvent.MOUSE_MOVE, true, false, 0, 0, null, false, false, false, false, 0); }; _local2 = new Point(scene.container.mouseX, scene.container.mouseY); _local3 = getUVFrom2D(_local2); VirtualMouse.getInstance().interactWithTexture(this, _local3, (_arg1 as MouseEvent)); _onInteraction(_arg1); } public function swapCulling():void{ normal.negate(); } public function get3DFrom2D(_arg1:Point):Vector{ var _local2:Matrix; var _local3:Number; var _local4:Number; var _local5:Vector; _local2 = new Matrix((vertices[1].sx - vertices[0].sx), (vertices[2].sx - vertices[0].sx), (vertices[1].sy - vertices[0].sy), (vertices[2].sy - vertices[0].sy), 0, 0); _local2.invert(); _local3 = ((_local2.a * (_arg1.x - vertices[0].sx)) + (_local2.b * (_arg1.y - vertices[0].sy))); _local4 = ((_local2.c * (_arg1.x - vertices[0].sx)) + (_local2.d * (_arg1.y - vertices[0].sy))); _local5 = new Vector(((vertices[0].x + (_local3 * (vertices[1].x - vertices[0].x))) + (_local4 * (vertices[2].x - vertices[0].x))), ((vertices[0].y + (_local3 * (vertices[1].y - vertices[0].y))) + (_local4 * (vertices[2].y - vertices[0].y))), ((vertices[0].z + (_local3 * (vertices[1].z - vertices[0].z))) + (_local4 * (vertices[2].z - vertices[0].z)))); this.shape.matrix.vectorMult(_local5); return (_local5); } private function __update(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint):void{ var _local5:int; var _local6:int; var _local7:*; var _local8:uint; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:*; var _local14:UVCoord; var _local15:Vector; var _local16:Number; var _local17:Edge3D; _local5 = 0; vertexNormals = new Array(); vertices = new Array(); for each (_local7 in _arg1) { vertices[_local5] = Vertex(m_oGeometry.aVertex[_arg1[_local5]]); vertexNormals[_local5] = m_oGeometry.aVertexNormals[_arg1[_local5]]; _local5++; }; a = vertices[0]; b = vertices[1]; c = vertices[2]; if (_arg2){ _local9 = Number.POSITIVE_INFINITY; _local10 = Number.POSITIVE_INFINITY; _local11 = Number.NEGATIVE_INFINITY; _local12 = Number.NEGATIVE_INFINITY; aUVCoord = new Array(); _local5 = 0; for each (_local13 in _arg2) { _local14 = UVCoord(m_oGeometry.aUVCoords[_arg2[_local5]]); aUVCoord[_local5] = _local14; if (_local14.u < _local9){ _local9 = _local14.u; } else { if (_local14.u > _local11){ _local11 = _local14.u; }; }; if (_local14.v < _local10){ _local10 = _local14.v; } else { if (_local14.v > _local12){ _local12 = _local14.v; }; }; _local5++; }; uvBounds = new Rectangle(_local9, _local10, (_local11 - _local9), (_local12 - _local10)); }; normal = Vertex(m_oGeometry.aFacesNormals[_arg3]); if (normal == null){ _local15 = createNormal(); _local16 = m_oGeometry.setFaceNormal(m_oGeometry.getNextFaceNormalID(), _local15.x, _local15.y, _local15.z); normal = Vertex(m_oGeometry.aFacesNormals[_local16]); }; aEdges = new Array(); for each (_local8 in m_oGeometry.aFaceEdges[_arg4]) { _local17 = m_oGeometry.aEdges[_local8]; _local17.vertex1 = m_oGeometry.aVertex[_local17.vertexId1]; _local17.vertex2 = m_oGeometry.aVertex[_local17.vertexId2]; aEdges.push(_local17); }; } public function clipFrontPlane(_arg1:Frustum):Array{ isClipped = true; cvertices = null; cvertices = vertices.concat(); if (vertices.length < 3){ _arg1.clipLineFrontPlane(cvertices); } else { caUVCoord = null; caUVCoord = aUVCoord.concat(); _arg1.clipFrontPlane(cvertices, caUVCoord); }; return (cvertices); } public function get broadcaster():BubbleEventBroadcaster{ return (m_oEB); } public function get enableInteractivity():Boolean{ return (mouseInteractivity); } protected function _startMouseInteraction(_arg1:MouseEvent=null):void{ container.addEventListener(MouseEvent.CLICK, _onTextureInteraction); container.addEventListener(MouseEvent.MOUSE_UP, _onTextureInteraction); container.addEventListener(MouseEvent.MOUSE_DOWN, _onTextureInteraction); container.addEventListener(MouseEvent.DOUBLE_CLICK, _onTextureInteraction); container.addEventListener(MouseEvent.MOUSE_MOVE, _onTextureInteraction); container.addEventListener(MouseEvent.MOUSE_OVER, _onTextureInteraction); container.addEventListener(MouseEvent.MOUSE_OUT, _onTextureInteraction); container.addEventListener(MouseEvent.MOUSE_WHEEL, _onTextureInteraction); container.addEventListener(KeyboardEvent.KEY_DOWN, _onTextureInteraction); container.addEventListener(KeyboardEvent.KEY_UP, _onTextureInteraction); m_oContainer.addEventListener(Event.ENTER_FRAME, _onTextureInteraction); } public function precompute():void{ minZ = a.wz; if (b.wz < minZ){ minZ = b.wz; }; if (c != null){ if (c.wz < minZ){ minZ = c.wz; }; m_nDepth = (0.333 * ((a.wz + b.wz) + c.wz)); } else { m_nDepth = (0.5 * (a.wz + b.wz)); }; } protected function _onInteraction(_arg1:Event):void{ var _local2:Point; var _local3:UVCoord; var _local4:Vector; _local2 = new Point(m_oContainer.mouseX, m_oContainer.mouseY); _local3 = getUVFrom2D(_local2); _local4 = get3DFrom2D(_local2); m_oEB.broadcastEvent(new Shape3DEvent(_arg1.type, shape, this, _local3, _local4, _arg1)); } public function get depth():Number{ return (m_nDepth); } public function removeEventListener(_arg1:String, _arg2):void{ m_oEB.removeEventListener(_arg1, _arg2); } public function addEventListener(_arg1:String, _arg2):void{ m_oEB.addEventListener.apply(m_oEB, arguments); } public function set appearance(_arg1:Appearance):void{ if (scene){ if (scene.materialManager.isRegistered(m_oAppearance.frontMaterial)){ scene.materialManager.unregister(m_oAppearance.frontMaterial); }; if (scene.materialManager.isRegistered(m_oAppearance.backMaterial)){ scene.materialManager.unregister(m_oAppearance.backMaterial); }; }; if (m_oAppearance){ _arg1.frontMaterial.unlink(this); if (_arg1.backMaterial != _arg1.frontMaterial){ _arg1.backMaterial.unlink(this); }; }; m_oAppearance = _arg1; _arg1.frontMaterial.init(this); if (_arg1.backMaterial != _arg1.frontMaterial){ _arg1.backMaterial.init(this); }; hasAppearanceChanged = true; } public function display(_arg1:Scene3D, _arg2:Sprite=null):void{ var _local3:Sprite; scene = _arg1; _local3 = (_arg2) ? _arg2 : m_oContainer; if (visible){ m_oAppearance.frontMaterial.renderPolygon(_arg1, this, _local3); } else { m_oAppearance.backMaterial.renderPolygon(_arg1, this, _local3); }; } public function clear():void{ m_oContainer.graphics.clear(); } public function clip(_arg1:Frustum):Array{ isClipped = true; if (vertices.length < 3){ clipFrontPlane(_arg1); } else { cvertices = null; caUVCoord = null; cvertices = vertices.concat(); caUVCoord = aUVCoord.concat(); _arg1.clipFrustum(cvertices, caUVCoord); }; return (cvertices); } public function getUVFrom2D(_arg1:Point):UVCoord{ var _local2:Point; var _local3:Point; var _local4:Point; var _local5:UVCoord; var _local6:UVCoord; var _local7:UVCoord; var _local8:Point; var _local9:Point; var _local10:Point; var _local11:Point; var _local12:Point; var _local13:Point; var _local14:Point; var _local15:Point; var _local16:Number; var _local17:Number; _local2 = new Point(vertices[0].sx, vertices[0].sy); _local3 = new Point(vertices[1].sx, vertices[1].sy); _local4 = new Point(vertices[2].sx, vertices[2].sy); _local5 = aUVCoord[0]; _local6 = aUVCoord[1]; _local7 = aUVCoord[2]; _local8 = new Point((_local3.x - _local2.x), (_local3.y - _local2.y)); _local9 = _local8.clone(); _local9.normalize(1); _local10 = new Point((_local4.x - _local2.x), (_local4.y - _local2.y)); _local11 = _local10.clone(); _local11.normalize(1); _local12 = new Point((_arg1.x - _local8.x), (_arg1.y - _local8.y)); _local13 = IntersectionMath.intersectionLine2D(_local2, _local4, _arg1, _local12); _local14 = new Point((_local13.x - _local2.x), (_local13.y - _local2.y)); _local15 = new Point((_arg1.x - _local13.x), (_arg1.y - _local13.y)); _local16 = (_local15.length / _local8.length); _local17 = (_local14.length / _local10.length); return (new UVCoord(((_local5.u + (_local16 * (_local6.u - _local5.u))) + (_local17 * (_local7.u - _local5.u))), ((_local5.v + (_local16 * (_local6.v - _local5.v))) + (_local17 * (_local7.v - _local5.v))))); } protected function _stopMouseInteraction(_arg1:MouseEvent=null):void{ container.removeEventListener(MouseEvent.CLICK, _onTextureInteraction); container.removeEventListener(MouseEvent.MOUSE_UP, _onTextureInteraction); container.removeEventListener(MouseEvent.MOUSE_DOWN, _onTextureInteraction); container.removeEventListener(MouseEvent.DOUBLE_CLICK, _onTextureInteraction); container.removeEventListener(MouseEvent.MOUSE_MOVE, _onTextureInteraction); container.removeEventListener(MouseEvent.MOUSE_OVER, _onTextureInteraction); container.removeEventListener(MouseEvent.MOUSE_OUT, _onTextureInteraction); container.removeEventListener(MouseEvent.MOUSE_WHEEL, _onTextureInteraction); m_oContainer.removeEventListener(Event.ENTER_FRAME, _onTextureInteraction); container.removeEventListener(KeyboardEvent.KEY_DOWN, _onTextureInteraction); container.removeEventListener(KeyboardEvent.KEY_UP, _onTextureInteraction); } public function set enableInteractivity(_arg1:Boolean):void{ if (_arg1 != mouseInteractivity){ if (_arg1){ container.addEventListener(MouseEvent.ROLL_OVER, _startMouseInteraction, false); container.addEventListener(MouseEvent.ROLL_OUT, _stopMouseInteraction, false); } else { _stopMouseInteraction(); }; mouseInteractivity = _arg1; }; } public function get appearance():Appearance{ return (m_oAppearance); } public function set enableEvents(_arg1:Boolean):void{ if (((_arg1) && (!(mouseEvents)))){ container.addEventListener(MouseEvent.CLICK, _onInteraction); container.addEventListener(MouseEvent.MOUSE_UP, _onInteraction); container.addEventListener(MouseEvent.MOUSE_DOWN, _onInteraction); container.addEventListener(MouseEvent.ROLL_OVER, _onInteraction); container.addEventListener(MouseEvent.ROLL_OUT, _onInteraction); container.addEventListener(MouseEvent.DOUBLE_CLICK, _onInteraction); container.addEventListener(MouseEvent.MOUSE_MOVE, _onInteraction); container.addEventListener(MouseEvent.MOUSE_OVER, _onInteraction); container.addEventListener(MouseEvent.MOUSE_OUT, _onInteraction); container.addEventListener(MouseEvent.MOUSE_WHEEL, _onInteraction); } else { if (((!(_arg1)) && (mouseEvents))){ container.removeEventListener(MouseEvent.CLICK, _onInteraction); container.removeEventListener(MouseEvent.MOUSE_UP, _onInteraction); container.removeEventListener(MouseEvent.MOUSE_DOWN, _onInteraction); container.removeEventListener(MouseEvent.ROLL_OVER, _onInteraction); container.removeEventListener(MouseEvent.ROLL_OUT, _onInteraction); container.removeEventListener(MouseEvent.DOUBLE_CLICK, _onInteraction); container.removeEventListener(MouseEvent.MOUSE_MOVE, _onInteraction); container.removeEventListener(MouseEvent.MOUSE_OVER, _onInteraction); container.removeEventListener(MouseEvent.MOUSE_OUT, _onInteraction); container.removeEventListener(MouseEvent.MOUSE_WHEEL, _onInteraction); }; }; mouseEvents = _arg1; } public function destroy():void{ clear(); if (m_oContainer.parent){ m_oContainer.parent.removeChild(m_oContainer); }; if (m_oContainer){ m_oContainer = null; }; cvertices = null; vertices = null; m_oEB = null; delete POLYGON_MAP[id]; } public function get enableEvents():Boolean{ return (mouseEvents); } } }//package sandy.core.data
Section 69
//UVCoord (sandy.core.data.UVCoord) package sandy.core.data { public final class UVCoord { public var u:Number; public var v:Number; public function UVCoord(_arg1:Number=0, _arg2:Number=0){ u = _arg1; v = _arg2; } public function sub(_arg1:UVCoord):void{ u = (u - _arg1.u); v = (v - _arg1.v); } public function length():Number{ return (Math.sqrt(((u * u) + (v * v)))); } public function add(_arg1:UVCoord):void{ u = (u + _arg1.u); v = (v + _arg1.v); } public function normalize():void{ var _local1:Number; _local1 = length(); u = (u / _local1); v = (v / _local1); } public function scale(_arg1:Number):void{ u = (u * _arg1); v = (v * _arg1); } public function toString():String{ return (((((("sandy.core.data.UVCoord" + "(u:") + u) + ", v:") + v) + ")")); } public function copy(_arg1:UVCoord):void{ u = _arg1.u; v = _arg1.v; } public function clone():UVCoord{ return (new UVCoord(u, v)); } } }//package sandy.core.data
Section 70
//Vector (sandy.core.data.Vector) package sandy.core.data { import sandy.util.*; public final class Vector { public var y:Number; public var x:Number; public var z:Number; public function Vector(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ x = _arg1; y = _arg2; z = _arg3; } final public function sub(_arg1:Vector):void{ x = (x - _arg1.x); y = (y - _arg1.y); z = (z - _arg1.z); } final public function negate():Vector{ return (new Vector(-(x), -(y), -(z))); } final public function deserialize(_arg1:String):void{ var _local2:Array; _local2 = _arg1.split(","); if (_local2.length != 3){ trace(("Unexpected length of string to deserialize into a vector " + _arg1)); }; x = _local2[0]; y = _local2[1]; z = _local2[2]; } final public function dot(_arg1:Vector):Number{ return ((((x * _arg1.x) + (y * _arg1.y)) + (z * _arg1.z))); } final public function scale(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); z = (z * _arg1); } public function resetToPositiveInfinity():void{ x = (y = (z = Number.POSITIVE_INFINITY)); } final public function normalize():void{ var _local1:Number; _local1 = getNorm(); if ((((_local1 == 0)) || ((_local1 == 1)))){ return; }; x = (x / _local1); y = (y / _local1); z = (z / _local1); } public function resetToNegativeInfinity():void{ x = (y = (z = Number.NEGATIVE_INFINITY)); } final public function cross(_arg1:Vector):Vector{ return (new Vector(((y * _arg1.z) - (z * _arg1.y)), ((z * _arg1.x) - (x * _arg1.z)), ((x * _arg1.y) - (y * _arg1.x)))); } final public function getMinComponent():Number{ return (Math.min(x, Math.min(y, z))); } public function reset(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0):void{ x = _arg1; y = _arg2; z = _arg3; } final public function pow(_arg1:Number):void{ x = Math.pow(x, _arg1); y = Math.pow(y, _arg1); z = Math.pow(z, _arg1); } final public function clone():Vector{ var _local1:Vector; _local1 = new Vector(x, y, z); return (_local1); } final public function serialize(_arg1:Number=0):String{ if (_arg1 == 0){ _arg1 = 0.01; }; return (((((NumberUtil.roundTo(x, _arg1) + ",") + NumberUtil.roundTo(y, _arg1)) + ",") + NumberUtil.roundTo(z, _arg1))); } final public function add(_arg1:Vector):void{ x = (x + _arg1.x); y = (y + _arg1.y); z = (z + _arg1.z); } final public function getAngle(_arg1:Vector):Number{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = getNorm(); _local3 = _arg1.getNorm(); _local4 = (_local2 * _local3); if (_local4 == 0){ return (0); }; _local5 = (dot(_arg1) / _local4); _local6 = (1 - (_local5 * _local5)); if (_local6 < 0){ trace((" wrong " + _local5)); _local6 = 0; }; return (Math.atan2(Math.sqrt(_local6), _local5)); } final public function toString(_arg1:Number=0):String{ if (_arg1 == 0){ _arg1 = 0.01; }; return ((((((("{" + NumberUtil.roundTo(x, _arg1)) + ", ") + NumberUtil.roundTo(y, _arg1)) + ", ") + NumberUtil.roundTo(z, _arg1)) + "}")); } final public function getMaxComponent():Number{ return (Math.max(x, Math.max(y, z))); } final public function getNorm():Number{ return (Math.sqrt((((x * x) + (y * y)) + (z * z)))); } final public function copy(_arg1:Vector):void{ x = _arg1.x; y = _arg1.y; z = _arg1.z; } final public function equals(_arg1:Vector):Boolean{ return ((((((_arg1.x == x)) && ((_arg1.y == y)))) && ((_arg1.z == z)))); } } }//package sandy.core.data
Section 71
//Vertex (sandy.core.data.Vertex) package sandy.core.data { import sandy.util.*; public final class Vertex { public const id:uint; private const m_oWorld:Vector; public var aFaces:Array; public var wx:Number; public var wy:Number; public var wz:Number; public var sx:Number; public var sy:Number; public var nbFaces:uint;// = 0 public var x:Number; public var y:Number; public var z:Number; public var projected:Boolean; private static var ID:uint = 0; public function Vertex(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, ... _args){ id = ID++; nbFaces = 0; aFaces = new Array(); m_oWorld = new Vector(); super(); x = _arg1; y = _arg2; z = _arg3; wx = (_args[0]) ? _args[0] : x; wy = (_args[1]) ? _args[1] : y; wz = (_args[2]) ? _args[2] : z; sy = (sx = 0); } final public function getVector():Vector{ return (new Vector(x, y, z)); } final public function deserialize(_arg1:String):void{ var _local2:Array; _local2 = _arg1.split(","); if (_local2.length != 9){ trace(("Unexpected length of string to deserialize into a vector " + _arg1)); }; x = _local2[0]; y = _local2[1]; z = _local2[2]; wx = _local2[3]; wy = _local2[4]; wz = _local2[5]; sx = _local2[6]; sy = _local2[7]; } final public function negate():void{ x = -(x); y = -(y); z = -(z); wx = -(wx); wy = -(wy); wz = -(wz); } final public function normalize():void{ var _local1:Number; _local1 = getNorm(); if ((((_local1 == 0)) || ((_local1 == 1)))){ return; }; x = (x / _local1); y = (y / _local1); z = (z / _local1); wx = (wx / _local1); wy = (wy / _local1); wz = (wz / _local1); } public function getScreenPoint():Vector{ return (new Vector(sx, sy, wz)); } final public function dot(_arg1:Vertex):Number{ return ((((x * _arg1.x) + (y * _arg1.y)) + (z * _arg1.z))); } final public function scale(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); z = (z * _arg1); wx = (wx * _arg1); wy = (wy * _arg1); wz = (wz * _arg1); } final public function getNorm():Number{ return (Math.sqrt((((x * x) + (y * y)) + (z * z)))); } final public function getWorldVector():Vector{ m_oWorld.x = wx; m_oWorld.y = wy; m_oWorld.z = wz; return (m_oWorld); } public function sub(_arg1:Vertex):void{ x = (x - _arg1.x); y = (y - _arg1.y); z = (z - _arg1.z); wx = (wx - _arg1.wx); wy = (wy - _arg1.wy); wz = (wz - _arg1.wz); } final public function clone():Vertex{ var _local1:Vertex; _local1 = new Vertex(x, y, z); _local1.wx = wx; _local1.sx = sx; _local1.wy = wy; _local1.sy = sy; _local1.wz = wz; _local1.nbFaces = nbFaces; _local1.aFaces = aFaces.concat(); return (_local1); } final public function pow(_arg1:Number):void{ x = Math.pow(x, _arg1); y = Math.pow(y, _arg1); z = Math.pow(z, _arg1); wx = Math.pow(wx, _arg1); wy = Math.pow(wy, _arg1); wz = Math.pow(wz, _arg1); } final public function serialize(_arg1:Number=0):String{ if (_arg1 == 0){ _arg1 = 0.01; }; return (((((((((((((((NumberUtil.roundTo(x, _arg1) + ",") + NumberUtil.roundTo(y, _arg1)) + ",") + NumberUtil.roundTo(z, _arg1)) + ",") + NumberUtil.roundTo(wx, _arg1)) + ",") + NumberUtil.roundTo(wy, _arg1)) + ",") + NumberUtil.roundTo(wz, _arg1)) + ",") + NumberUtil.roundTo(sx, _arg1)) + ",") + NumberUtil.roundTo(sy, _arg1))); } final public function getAngle(_arg1:Vertex):Number{ var _local2:Number; var _local3:Number; _local2 = (dot(_arg1) / (getNorm() * _arg1.getNorm())); _local3 = (1 - (_local2 * _local2)); if (_local3 < 0){ trace((" wrong " + _local2)); _local3 = 0; }; return (Math.atan2(Math.sqrt(_local3), _local2)); } final public function add(_arg1:Vertex):void{ x = (x + _arg1.x); y = (y + _arg1.y); z = (z + _arg1.z); wx = (wx + _arg1.wx); wy = (wy + _arg1.wy); wz = (wz + _arg1.wz); } final public function equals(_arg1:Vertex):Boolean{ return (Boolean((((((((((((((((_arg1.x == x)) && ((_arg1.y == y)))) && ((_arg1.z == z)))) && ((_arg1.wx == wx)))) && ((_arg1.wy == wy)))) && ((_arg1.wz == wz)))) && ((_arg1.sx == wx)))) && ((_arg1.sy == sy))))); } final public function cross(_arg1:Vertex):Vertex{ return (new Vertex(((y * _arg1.z) - (z * _arg1.y)), ((z * _arg1.x) - (x * _arg1.z)), ((x * _arg1.y) - (y * _arg1.x)))); } final public function clone2():Vertex{ return (new Vertex(wx, wy, wz)); } final public function toString(_arg1:Number=0):String{ if (_arg1 == 0){ _arg1 = 0.01; }; return ((((((((((((((((("{" + NumberUtil.roundTo(x, _arg1)) + ", ") + NumberUtil.roundTo(y, _arg1)) + ", ") + NumberUtil.roundTo(z, _arg1)) + ", ") + NumberUtil.roundTo(wx, _arg1)) + ", ") + NumberUtil.roundTo(wy, _arg1)) + ", ") + NumberUtil.roundTo(wz, _arg1)) + ", ") + NumberUtil.roundTo(sx, _arg1)) + ", ") + NumberUtil.roundTo(sy, _arg1)) + "}")); } final public function copy(_arg1:Vertex):void{ x = _arg1.x; y = _arg1.y; z = _arg1.z; wx = _arg1.wx; wy = _arg1.wy; wz = _arg1.wz; sx = _arg1.sx; sy = _arg1.sy; } public static function createFromVector(_arg1:Vector):Vertex{ return (new Vertex(_arg1.x, _arg1.y, _arg1.z)); } } }//package sandy.core.data
Section 72
//TextLink (sandy.core.interaction.TextLink) package sandy.core.interaction { import flash.geom.*; import flash.utils.*; import flash.text.*; public class TextLink { private var __sTarget:String; private var __sHRef:String; public var width:Number; private var __tfOwner:TextField; private var __iOpenIndex:int; private var __iCloseIndex:int; private var __rBounds:Rectangle; public var height:Number; public var x:Number; public var y:Number; public static var textLinks:Dictionary; public function TextLink(){ x = 0; y = 0; height = 0; width = 0; } public function get href():String{ return (__sHRef); } public function get closeIndex():int{ return (__iCloseIndex); } public function get target():String{ return (__sTarget); } public function set href(_arg1:String):void{ __sHRef = _arg1; } public function set openIndex(_arg1:int):void{ __iOpenIndex = _arg1; } public function set target(_arg1:String):void{ __sTarget = _arg1; } public function set owner(_arg1:TextField):void{ __tfOwner = _arg1; } public function get openIndex():int{ return (__iOpenIndex); } public function getBounds():Rectangle{ return (__rBounds); } protected function _init():void{ var _local1:Number; var _local2:Rectangle; _local1 = 0; while (_local1 < (__iCloseIndex - __iOpenIndex)) { _local2 = __tfOwner.getCharBoundaries((openIndex + _local1)); if (_local1 == 0){ x = _local2.x; y = _local2.y; }; width = (width + _local2.width); height = ((height < _local2.height)) ? _local2.height : height; _local1++; }; __rBounds = new Rectangle(); __rBounds.x = x; __rBounds.y = y; __rBounds.height = height; __rBounds.width = width; } public function set closeIndex(_arg1:int):void{ __iCloseIndex = _arg1; } public function get owner():TextField{ return (__tfOwner); } public static function getTextLinks(_arg1:TextField, _arg2:Boolean=false):Array{ var _local3:String; var _local4:RegExp; var _local5:RegExp; var _local6:RegExp; var _local7:RegExp; var _local8:RegExp; var _local9:RegExp; var _local10:Object; var _local11:TextLink; var _local12:String; var _local13:String; if (!_arg1.htmlText){ return (null); }; if (!textLinks){ textLinks = new Dictionary(); }; if (((textLinks[_arg1]) && (!(_arg2)))){ return (textLinks[_arg1]); }; textLinks[_arg1] = new Array(); _local3 = _arg1.htmlText; _local4 = /href=['"].*?['"]/i; _local5 = /target=['"].*?['"]/i; _local6 = /<A.*?A>/i; _local7 = /<A.*?\>/i; _local8 = /<\/A>/i; _local9 = /<[^A][^\/A].*?>/gi; _local3 = _local3.replace(_local9, ""); _local10 = _local6.exec(_local3); while (_local10 != null) { _local11 = new (TextLink); _local11.owner = _arg1; textLinks[_arg1].push(_local11); _local12 = _local10[0].match(_local4); _local11.href = _local12.substring(6, (_local12.length - 1)); _local13 = _local10[0].match(_local5); _local11.target = _local13.substring(8, (_local13.length - 1)); _local11.openIndex = _local3.search(_local7); _local3 = _local3.replace(_local7, ""); _local11.closeIndex = _local3.search(_local8); _local3 = _local3.replace(_local8, ""); _local11._init(); _local10 = _local6.exec(_local3); }; return (textLinks[_arg1]); } } }//package sandy.core.interaction
Section 73
//VirtualMouse (sandy.core.interaction.VirtualMouse) package sandy.core.interaction { import sandy.core.data.*; import flash.display.*; import flash.events.*; import sandy.materials.*; import flash.geom.*; import flash.text.*; public class VirtualMouse extends EventDispatcher { private var m_ioOldTarget:Sprite; private var lastDownTarget:InteractiveObject; private var lastWithinStage:Boolean;// = true private var _lastEvent:Event; private var m_ioTarget:Sprite; private var lastLocation:Point; private var location:Point; private static var _oI:VirtualMouse; public function VirtualMouse(_arg1:PrivateConstructorAccess){ lastWithinStage = true; super(); location = new Point(0, 0); lastLocation = location.clone(); } public function interactWithTexture(_arg1:Polygon, _arg2:UVCoord, _arg3:MouseEvent):void{ var _local4:MovieMaterial; var _local5:Array; var _local6:Sprite; var _local7:DisplayObject; var _local8:int; var _local9:Point; var _local10:Point; var _local11:Boolean; _local4 = ((_arg1.visible) ? _arg1.appearance.frontMaterial : _arg1.appearance.backMaterial as MovieMaterial); if (_local4 == null){ return; }; m_ioTarget = _local4.movie; location = new Point((_arg2.u * _local4.texture.width), (_arg2.v * _local4.texture.height)); _local5 = m_ioTarget.getObjectsUnderPoint(m_ioTarget.localToGlobal(location)); _local8 = _local5.length; while (--_local8 > -1) { _local7 = _local5[_local8]; while (_local7) { if (((_local6) && ((_local7 is SimpleButton)))){ _local6 = null; } else { if (((((_local6) && ((_local7 is DisplayObjectContainer)))) && (!(DisplayObjectContainer(_local7).mouseChildren)))){ _local6 = null; }; }; if (((((!(_local6)) && ((_local7 is DisplayObjectContainer)))) && (DisplayObjectContainer(_local7).mouseEnabled))){ _local6 = (_local7 as Sprite); }; _local7 = _local7.parent; }; }; if (!_local6){ _local6 = m_ioTarget; }; if (!m_ioOldTarget){ _local6.stage; }; _local9 = _arg1.container.globalToLocal(location); _local10 = _local6.globalToLocal(location); if (((!((lastLocation.x == location.x))) || (!((lastLocation.y == location.y))))){ _local11 = Boolean((((((((location.x >= 0)) && ((location.y >= 0)))) && ((location.x <= _arg1.container.stage.stageWidth)))) && ((location.y <= _arg1.container.stage.stageHeight)))); if (((!(_local11)) && (lastWithinStage))){ _lastEvent = new MouseEvent(Event.MOUSE_LEAVE, false, false); _arg1.container.stage.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); }; if (_local11){ _lastEvent = new MouseEvent(Event.MOUSE_LEAVE, false, false); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); }; lastWithinStage = _local11; }; if (_local6 != m_ioOldTarget){ _lastEvent = new MouseEvent(MouseEvent.MOUSE_OUT, true, false, _local9.x, _local9.y, _local6, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); m_ioTarget.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); _lastEvent = new MouseEvent(MouseEvent.ROLL_OUT, false, false, _local9.x, _local9.y, _local6, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); m_ioTarget.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); _lastEvent = new MouseEvent(MouseEvent.MOUSE_OVER, true, false, _local10.x, _local10.y, m_ioOldTarget, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); _lastEvent = new MouseEvent(MouseEvent.ROLL_OVER, false, false, _local10.x, _local10.y, m_ioOldTarget, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); }; if (_arg3.type == MouseEvent.MOUSE_DOWN){ _lastEvent = new MouseEvent(MouseEvent.MOUSE_DOWN, true, false, _local10.x, _local10.y, _local6, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); lastDownTarget = _local6; } else { if (_arg3.type == MouseEvent.MOUSE_UP){ _lastEvent = new MouseEvent(MouseEvent.MOUSE_UP, true, false, _local10.x, _local10.y, _local6, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); } else { if (_arg3.type == MouseEvent.CLICK){ _lastEvent = new MouseEvent(MouseEvent.CLICK, true, false, _local10.x, _local10.y, _local6, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); lastDownTarget = null; } else { if ((((_arg3.type == MouseEvent.DOUBLE_CLICK)) && (_local6.doubleClickEnabled))){ _lastEvent = new MouseEvent(MouseEvent.DOUBLE_CLICK, true, false, _local10.x, _local10.y, _local6, _arg3.ctrlKey, _arg3.altKey, _arg3.shiftKey, _arg3.buttonDown, _arg3.delta); _local6.dispatchEvent(_lastEvent); dispatchEvent(_lastEvent); }; }; }; }; lastLocation = location.clone(); m_ioOldTarget = _local6; } private function _checkLinks(_arg1:TextField):void{ var _local2:Point; var _local3:Array; var _local4:Number; var _local5:Number; _local2 = _arg1.globalToLocal(location); _local3 = TextLink.getTextLinks(_arg1); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (((_local3[_local5] as TextLink).getBounds() as Rectangle).containsPoint(_local2)){ }; _local5++; }; } public static function getInstance():VirtualMouse{ if (!_oI){ _oI = new VirtualMouse(new PrivateConstructorAccess()); }; return (_oI); } } }//package sandy.core.interaction class PrivateConstructorAccess { private function PrivateConstructorAccess(){ } }
Section 74
//Light3D (sandy.core.light.Light3D) package sandy.core.light { import sandy.core.data.*; import flash.events.*; import sandy.events.*; import sandy.util.*; public class Light3D extends EventDispatcher { private var _dir:Vector; private var _nPower:Number; private var _color:uint; private var _power:Number; public static var MAX_POWER:Number = 150; public function Light3D(_arg1:Vector, _arg2:Number){ _dir = _arg1; _dir.normalize(); setPower(_arg2); } public function setPower(_arg1:Number):void{ _power = NumberUtil.constrain(_arg1, 0, Light3D.MAX_POWER); _nPower = (_power / Light3D.MAX_POWER); dispatchEvent(new SandyEvent(SandyEvent.LIGHT_UPDATED)); } public function destroy():void{ } public function getPower():Number{ return (_power); } public function set color(_arg1:uint):void{ _color = _arg1; dispatchEvent(new SandyEvent(SandyEvent.LIGHT_COLOR_CHANGED)); } public function getNormalizedPower():Number{ return (_nPower); } public function setDirectionVector(_arg1:Vector):void{ _dir = _arg1; _dir.normalize(); dispatchEvent(new SandyEvent(SandyEvent.LIGHT_UPDATED)); } public function get color():uint{ return (_color); } public function calculate(_arg1:Vector):Number{ var _local2:Number; _local2 = _dir.dot(_arg1); _local2 = -(_local2); if (_local2 < 0){ _local2 = 0; }; return ((_nPower * _local2)); } public function getDirectionVector():Vector{ return (_dir); } public function setDirection(_arg1:Number, _arg2:Number, _arg3:Number):void{ _dir.x = _arg1; _dir.y = _arg2; _dir.z = _arg3; _dir.normalize(); dispatchEvent(new SandyEvent(SandyEvent.LIGHT_UPDATED)); } } }//package sandy.core.light
Section 75
//ATransformable (sandy.core.scenegraph.ATransformable) package sandy.core.scenegraph { import sandy.core.data.*; import sandy.core.*; public class ATransformable extends Node { private var _nYaw:Number; private var _nRoll:Number; private var _vLookatDown:Vector; private var m_oMatrix:Matrix4; protected var _oScale:Vector; private var _nTilt:Number; protected var m_oPreviousOffsetRotation:Vector; private var _vRotation:Vector; protected var m_tmpMt:Matrix4; protected var _vOut:Vector; public var disable:Boolean;// = false protected var _vSide:Vector; protected var _p:Vector; protected var _vUp:Vector; public function ATransformable(_arg1:String=""){ disable = false; m_oPreviousOffsetRotation = new Vector(); super(_arg1); initFrame(); _p = new Vector(); _oScale = new Vector(1, 1, 1); _vRotation = new Vector(0, 0, 0); _vLookatDown = new Vector(1E-11, -1, 0); _nRoll = 0; _nTilt = 0; _nYaw = 0; m_tmpMt = new Matrix4(); m_oMatrix = new Matrix4(); } public function set roll(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 - _nRoll); if (_local2 == 0){ return; }; changed = true; m_tmpMt.axisRotation(_vOut.x, _vOut.y, _vOut.z, _local2); m_tmpMt.vectorMult3x3(_vSide); m_tmpMt.vectorMult3x3(_vUp); _nRoll = _arg1; } public function moveSideways(_arg1:Number):void{ changed = true; _p.x = (_p.x + (_vSide.x * _arg1)); _p.y = (_p.y + (_vSide.y * _arg1)); _p.z = (_p.z + (_vSide.z * _arg1)); } public function moveHorizontally(_arg1:Number):void{ changed = true; _p.x = (_p.x + (_vOut.x * _arg1)); _p.z = (_p.z + (_vOut.z * _arg1)); } public function lookAt(_arg1:Number, _arg2:Number, _arg3:Number):void{ changed = true; _vOut.x = _arg1; _vOut.y = _arg2; _vOut.z = _arg3; _vOut.sub(_p); _vOut.normalize(); _vSide = null; _vSide = _vOut.cross(_vLookatDown); _vSide.normalize(); _vUp = null; _vUp = _vOut.cross(_vSide); _vUp.normalize(); } public function moveVertically(_arg1:Number):void{ changed = true; _p.y = (_p.y + _arg1); } public function set target(_arg1:Vector):void{ lookAt(_arg1.x, _arg1.y, _arg1.z); } public function initFrame():void{ _vSide = new Vector(1, 0, 0); _vUp = new Vector(0, 1, 0); _vOut = new Vector(0, 0, 1); } public function set pan(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 - _nYaw); if (_local2 == 0){ return; }; changed = true; m_tmpMt.axisRotation(_vUp.x, _vUp.y, _vUp.z, _local2); m_tmpMt.vectorMult3x3(_vOut); m_tmpMt.vectorMult3x3(_vSide); _nYaw = _arg1; } public function get out():Vector{ return (_vOut); } public function get scaleY():Number{ return (_oScale.y); } public function get scaleX():Number{ return (_oScale.x); } public function get side():Vector{ return (_vSide); } public function translate(_arg1:Number, _arg2:Number, _arg3:Number):void{ changed = true; _p.x = (_p.x + _arg1); _p.y = (_p.y + _arg2); _p.z = (_p.z + _arg3); } public function get rotateY():Number{ return (_vRotation.y); } public function get scaleZ():Number{ return (_oScale.z); } public function get rotateX():Number{ return (_vRotation.x); } public function get rotateZ():Number{ return (_vRotation.z); } override public function toString():String{ return ("sandy.core.scenegraph.ATransformable"); } public function get x():Number{ return (_p.x); } public function get y():Number{ return (_p.y); } public function get z():Number{ return (_p.z); } public function get roll():Number{ return (_nRoll); } public function set matrix(_arg1:Matrix4):void{ m_oMatrix = _arg1; m_oMatrix.vectorMult3x3(_vSide); m_oMatrix.vectorMult3x3(_vUp); m_oMatrix.vectorMult3x3(_vOut); _vSide.normalize(); _vUp.normalize(); _vOut.normalize(); _p.x = _arg1.n14; _p.y = _arg1.n24; _p.z = _arg1.n34; } public function set tilt(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 - _nTilt); if (_local2 == 0){ return; }; changed = true; m_tmpMt.axisRotation(_vSide.x, _vSide.y, _vSide.z, _local2); m_tmpMt.vectorMult3x3(_vOut); m_tmpMt.vectorMult3x3(_vUp); _nTilt = _arg1; } public function get up():Vector{ return (_vUp); } public function set scaleX(_arg1:Number):void{ _oScale.x = _arg1; changed = true; } public function get pan():Number{ return (_nYaw); } public function set scaleY(_arg1:Number):void{ _oScale.y = _arg1; changed = true; } public function getPosition(_arg1:String="local"):Vector{ var _local2:Vector; switch (_arg1){ case "local": _local2 = new Vector(_p.x, _p.y, _p.z); break; case "camera": _local2 = new Vector(viewMatrix.n14, viewMatrix.n24, viewMatrix.n34); break; case "absolute": _local2 = new Vector(modelMatrix.n14, modelMatrix.n24, modelMatrix.n34); break; default: _local2 = new Vector(_p.x, _p.y, _p.z); break; }; return (_local2); } public function set scaleZ(_arg1:Number):void{ _oScale.z = _arg1; changed = true; } public function moveLateraly(_arg1:Number):void{ changed = true; _p.x = (_p.x + _arg1); } public function rotateAxis(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Number; changed = true; _arg4 = ((_arg4 + 360) % 360); _local5 = Math.sqrt((((_arg1 * _arg1) + (_arg2 * _arg2)) + (_arg3 * _arg3))); m_tmpMt.axisRotation((_arg1 / _local5), (_arg2 / _local5), (_arg3 / _local5), _arg4); m_tmpMt.vectorMult3x3(_vSide); m_tmpMt.vectorMult3x3(_vUp); m_tmpMt.vectorMult3x3(_vOut); } public function moveUpwards(_arg1:Number):void{ changed = true; _p.x = (_p.x + (_vUp.x * _arg1)); _p.y = (_p.y + (_vUp.y * _arg1)); _p.z = (_p.z + (_vUp.z * _arg1)); } public function updateTransform():void{ if (changed){ m_oMatrix.n11 = (_vSide.x * _oScale.x); m_oMatrix.n12 = (_vUp.x * _oScale.y); m_oMatrix.n13 = (_vOut.x * _oScale.z); m_oMatrix.n14 = _p.x; m_oMatrix.n21 = (_vSide.y * _oScale.x); m_oMatrix.n22 = (_vUp.y * _oScale.y); m_oMatrix.n23 = (_vOut.y * _oScale.z); m_oMatrix.n24 = _p.y; m_oMatrix.n31 = (_vSide.z * _oScale.x); m_oMatrix.n32 = (_vUp.z * _oScale.y); m_oMatrix.n33 = (_vOut.z * _oScale.z); m_oMatrix.n34 = _p.z; }; } public function setPosition(_arg1:Number, _arg2:Number, _arg3:Number):void{ changed = true; _p.x = _arg1; _p.y = _arg2; _p.z = _arg3; } public function moveForward(_arg1:Number):void{ changed = true; _p.x = (_p.x + (_vOut.x * _arg1)); _p.y = (_p.y + (_vOut.y * _arg1)); _p.z = (_p.z + (_vOut.z * _arg1)); } public function set rotateY(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 - _vRotation.y); if (_local2 == 0){ return; }; changed = true; m_tmpMt.rotationY(_local2); m_tmpMt.vectorMult3x3(_vSide); m_tmpMt.vectorMult3x3(_vUp); m_tmpMt.vectorMult3x3(_vOut); _vRotation.y = _arg1; } public function get tilt():Number{ return (_nTilt); } public function set rotateZ(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 - _vRotation.z); if (_local2 == 0){ return; }; changed = true; m_tmpMt.rotationZ(_local2); m_tmpMt.vectorMult3x3(_vSide); m_tmpMt.vectorMult3x3(_vUp); m_tmpMt.vectorMult3x3(_vOut); _vRotation.z = _arg1; } public function get matrix():Matrix4{ return (m_oMatrix); } override public function update(_arg1:Scene3D, _arg2:Matrix4, _arg3:Boolean):void{ updateTransform(); if (((_arg3) || (changed))){ if (((_arg2) && (!(disable)))){ modelMatrix.copy(_arg2); modelMatrix.multiply4x3(m_oMatrix); } else { modelMatrix.copy(m_oMatrix); }; }; super.update(_arg1, modelMatrix, _arg3); } public function set rotateX(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 - _vRotation.x); if (_local2 == 0){ return; }; changed = true; m_tmpMt.rotationX(_local2); m_tmpMt.vectorMult3x3(_vSide); m_tmpMt.vectorMult3x3(_vUp); m_tmpMt.vectorMult3x3(_vOut); _vRotation.x = _arg1; } public function set x(_arg1:Number):void{ _p.x = _arg1; changed = true; } public function set y(_arg1:Number):void{ _p.y = _arg1; changed = true; } public function set z(_arg1:Number):void{ _p.z = _arg1; changed = true; } } }//package sandy.core.scenegraph
Section 76
//Camera3D (sandy.core.scenegraph.Camera3D) package sandy.core.scenegraph { import sandy.core.data.*; import flash.display.*; import sandy.core.*; import sandy.view.*; import flash.geom.*; import sandy.util.*; public class Camera3D extends ATransformable { public var frustrum:Frustum; private var mp11:Number; private var mp12:Number; private var mp13:Number; private var m_aDisplayList:Array; private var mp14:Number; private var mp22:Number; private var mp24:Number; private var m_nOffy:int; private var mp23:Number; private var _mp:Matrix4; private var mp33:Number; private var m_nOffx:int; private var mp31:Number; private var mp32:Number; private var mp34:Number; private var _mpInv:Matrix4; private var mp21:Number; private var mp41:Number; private var mp42:Number; private var mp43:Number; private var mp44:Number; private var _nFov:Number; private var _perspectiveChanged:Boolean;// = false public var invModelMatrix:Matrix4; public var viewport:ViewPort; private var _nFar:Number; private var _nNear:Number; private var m_aDisplayedList:Array; public function Camera3D(_arg1:Number, _arg2:Number, _arg3:Number=45, _arg4:Number=50, _arg5:Number=10000){ invModelMatrix = new Matrix4(); viewport = new ViewPort(640, 480); frustrum = new Frustum(); _perspectiveChanged = false; _mp = new Matrix4(); _mpInv = new Matrix4(); m_aDisplayList = new Array(); super(null); viewport.width = _arg1; viewport.height = _arg2; _nFov = _arg3; _nFar = _arg5; _nNear = _arg4; setPerspectiveProjection(_nFov, viewport.ratio, _nNear, _nFar); m_nOffx = viewport.width2; m_nOffy = viewport.height2; viewport.hasChanged = false; visible = false; z = -300; lookAt(0, 0, 0); } override public function destroy():void{ var _local1:IDisplayable; for each (_local1 in m_aDisplayedList) { if (_local1){ _local1.clear(); }; }; for each (_local1 in m_aDisplayList) { if (_local1){ _local1.clear(); }; }; m_aDisplayedList = null; m_aDisplayList = null; viewport = null; super.destroy(); } public function get invProjectionMatrix():Matrix4{ return (_mpInv); } public function renderDisplayList(_arg1:Scene3D):void{ var _local2:IDisplayable; var _local3:Sprite; for each (_local2 in m_aDisplayedList) { _local2.clear(); }; _local3 = _arg1.container; m_aDisplayList.sortOn("depth", (Array.NUMERIC | Array.DESCENDING)); for each (_local2 in m_aDisplayList) { _local2.display(_arg1); _local3.addChild(_local2.container); }; m_aDisplayedList = m_aDisplayList.splice(0); } public function get far():Number{ return (_nFar); } public function get near():Number{ return (_nNear); } public function set far(_arg1:Number):void{ _nFar = _arg1; _perspectiveChanged = true; } public function projectVertex(_arg1:Vertex):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = (viewport.offset.x + m_nOffx); _local3 = (viewport.offset.y + m_nOffy); _local4 = (1 / ((((_arg1.wx * mp41) + (_arg1.wy * mp42)) + (_arg1.wz * mp43)) + mp44)); _arg1.sx = (((_local4 * ((((_arg1.wx * mp11) + (_arg1.wy * mp12)) + (_arg1.wz * mp13)) + mp14)) * m_nOffx) + _local2); _arg1.sy = (((-(_local4) * ((((_arg1.wx * mp21) + (_arg1.wy * mp22)) + (_arg1.wz * mp23)) + mp24)) * m_nOffy) + _local3); } protected function setPerspectiveProjection(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Number; var _local6:Number; frustrum.computePlanes(_arg2, _arg3, _arg4, _arg1); _arg1 = NumberUtil.toRadian(_arg1); _local5 = (1 / Math.tan((_arg1 / 2))); _local6 = (_arg4 / (_arg4 - _arg3)); _mp.zero(); _mp.n11 = (_local5 / _arg2); _mp.n22 = _local5; _mp.n33 = _local6; _mp.n34 = (-(_local6) * _arg3); _mp.n43 = 1; mp11 = _mp.n11; mp21 = _mp.n21; mp31 = _mp.n31; mp41 = _mp.n41; mp12 = _mp.n12; mp22 = _mp.n22; mp32 = _mp.n32; mp42 = _mp.n42; mp13 = _mp.n13; mp23 = _mp.n23; mp33 = _mp.n33; mp43 = _mp.n43; mp14 = _mp.n14; mp24 = _mp.n24; mp34 = _mp.n34; mp44 = _mp.n44; _mpInv.copy(_mp); _mpInv.inverse(); changed = true; } override public function toString():String{ return ("sandy.core.scenegraph.Camera3D"); } override public function cull(_arg1:Scene3D, _arg2:Frustum, _arg3:Matrix4, _arg4:Boolean):void{ } override public function render(_arg1:Scene3D, _arg2:Camera3D):void{ } public function set fov(_arg1:Number):void{ _nFov = _arg1; _perspectiveChanged = true; } public function set near(_arg1:Number):void{ _nNear = _arg1; _perspectiveChanged = true; } public function addArrayToDisplayList(_arg1:Array):void{ m_aDisplayList = m_aDisplayList.concat(_arg1); } protected function updatePerspective():void{ setPerspectiveProjection(_nFov, viewport.ratio, _nNear, _nFar); _perspectiveChanged = false; } public function projectArray(_arg1:Array):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Vertex; _local2 = (viewport.offset.x + m_nOffx); _local3 = (viewport.offset.y + m_nOffy); for each (_local5 in _arg1) { if (!_local5.projected){ _local4 = (1 / ((((_local5.wx * mp41) + (_local5.wy * mp42)) + (_local5.wz * mp43)) + mp44)); _local5.sx = (((_local4 * ((((_local5.wx * mp11) + (_local5.wy * mp12)) + (_local5.wz * mp13)) + mp14)) * m_nOffx) + _local2); _local5.sy = (((-(_local4) * ((((_local5.wx * mp21) + (_local5.wy * mp22)) + (_local5.wz * mp23)) + mp24)) * m_nOffy) + _local3); _local5.projected = true; }; }; } override public function update(_arg1:Scene3D, _arg2:Matrix4, _arg3:Boolean):void{ if (viewport.hasChanged){ _perspectiveChanged = true; m_nOffx = viewport.width2; m_nOffy = viewport.height2; if (_arg1.rectClipping){ _arg1.container.scrollRect = new Rectangle(0, 0, viewport.width, viewport.height); }; viewport.hasChanged = false; }; if (_perspectiveChanged){ updatePerspective(); }; super.update(_arg1, _arg2, _arg3); invModelMatrix.n11 = modelMatrix.n11; invModelMatrix.n12 = modelMatrix.n21; invModelMatrix.n13 = modelMatrix.n31; invModelMatrix.n21 = modelMatrix.n12; invModelMatrix.n22 = modelMatrix.n22; invModelMatrix.n23 = modelMatrix.n32; invModelMatrix.n31 = modelMatrix.n13; invModelMatrix.n32 = modelMatrix.n23; invModelMatrix.n33 = modelMatrix.n33; invModelMatrix.n14 = -((((modelMatrix.n11 * modelMatrix.n14) + (modelMatrix.n21 * modelMatrix.n24)) + (modelMatrix.n31 * modelMatrix.n34))); invModelMatrix.n24 = -((((modelMatrix.n12 * modelMatrix.n14) + (modelMatrix.n22 * modelMatrix.n24)) + (modelMatrix.n32 * modelMatrix.n34))); invModelMatrix.n34 = -((((modelMatrix.n13 * modelMatrix.n14) + (modelMatrix.n23 * modelMatrix.n24)) + (modelMatrix.n33 * modelMatrix.n34))); } public function get fov():Number{ return (_nFov); } public function get projectionMatrix():Matrix4{ return (_mp); } public function addToDisplayList(_arg1:IDisplayable):void{ if (_arg1 != null){ m_aDisplayList[m_aDisplayList.length] = _arg1; }; } } }//package sandy.core.scenegraph
Section 77
//Geometry3D (sandy.core.scenegraph.Geometry3D) package sandy.core.scenegraph { import sandy.core.data.*; import flash.utils.*; public final class Geometry3D { public var aUVCoords:Array; public var aFacesUVCoordsID:Array; public var aFaceEdges:Array; private var EDGES_DICO:Dictionary; private var m_nLastVertexNormalId:int;// = 0 public var aFacesVertexID:Array; public var aVertexNormals:Array; private var m_nLastVertexId:int;// = 0 private var m_nLastNormalId:int;// = 0 public var aFacesNormals:Array; private var m_nLastFaceId:int;// = 0 private var m_aVertexFaces:Array; public var aVertex:Array; private var m_nLastFaceUVId:int;// = 0 private var m_nLastUVId:int;// = 0 public var aEdges:Array; public function Geometry3D(_arg1:Array=null){ EDGES_DICO = new Dictionary(true); aVertex = new Array(); aFacesVertexID = new Array(); aFacesUVCoordsID = new Array(); aFacesNormals = new Array(); aVertexNormals = new Array(); aEdges = new Array(); aFaceEdges = new Array(); aUVCoords = new Array(); m_nLastVertexId = 0; m_nLastNormalId = 0; m_nLastFaceId = 0; m_nLastFaceUVId = 0; m_nLastUVId = 0; m_nLastVertexNormalId = 0; m_aVertexFaces = new Array(); super(); init(); } public function setUVCoords(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (aUVCoords[_arg1]){ return (-1); }; aUVCoords[_arg1] = new UVCoord(_arg2, _arg3); return ((++m_nLastUVId - 1)); } public function init():void{ } public function getNextFaceID():Number{ return (m_nLastFaceId); } public function generateFaceNormals():void{ var _local1:Array; var _local2:Vertex; var _local3:Vertex; var _local4:Vertex; var _local5:Vector; var _local6:Vector; var _local7:Vector; if (aFacesNormals.length > 0){ return; }; for each (_local1 in aFacesVertexID) { if (_local1.length < 3){ } else { _local2 = aVertex[_local1[0]]; _local3 = aVertex[_local1[1]]; _local4 = aVertex[_local1[2]]; _local5 = new Vector((_local3.wx - _local2.wx), (_local3.wy - _local2.wy), (_local3.wz - _local2.wz)); _local6 = new Vector((_local3.wx - _local4.wx), (_local3.wy - _local4.wy), (_local3.wz - _local4.wz)); _local7 = _local5.cross(_local6); _local7.normalize(); setFaceNormal(getNextFaceNormalID(), _local7.x, _local7.y, _local7.z); }; }; } public function setVertex(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (aVertex[_arg1]){ return (-1); }; aVertex[_arg1] = new Vertex(_arg2, _arg3, _arg4); return ((++m_nLastVertexId - 1)); } public function setFaceNormal(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (aFacesNormals[_arg1]){ return (-1); }; aFacesNormals[_arg1] = new Vertex(_arg2, _arg3, _arg4); return ((++m_nLastNormalId - 1)); } public function getNextUVCoordID():Number{ return (m_nLastUVId); } public function generateVertexNormals():void{ var _local1:uint; var _local2:Array; var _local3:Vertex; var _local4:Vertex; if (aVertexNormals.length > 0){ return; }; _local1 = 0; _local1 = 0; while (_local1 < aFacesVertexID.length) { _local2 = aFacesVertexID[_local1]; _local3 = aFacesNormals[_local1]; if (_local3 == null){ } else { if (null == aVertexNormals[_local2[0]]){ m_nLastVertexNormalId++; aVertexNormals[_local2[0]] = new Vertex(); }; Vertex(aVertexNormals[_local2[0]]).add(_local3); if (null == aVertexNormals[_local2[1]]){ m_nLastVertexNormalId++; aVertexNormals[_local2[1]] = new Vertex(); }; Vertex(aVertexNormals[_local2[1]]).add(_local3); if (null == aVertexNormals[_local2[2]]){ m_nLastVertexNormalId++; aVertexNormals[_local2[2]] = new Vertex(); }; Vertex(aVertexNormals[_local2[2]]).add(_local3); if ((aVertex[_local2[0]] as Vertex).aFaces.indexOf(_local1) == 0){ (aVertex[_local2[0]] as Vertex).aFaces.push(_local1); }; if ((aVertex[_local2[1]] as Vertex).aFaces.indexOf(_local1) == 0){ (aVertex[_local2[1]] as Vertex).aFaces.push(_local1); }; if ((aVertex[_local2[2]] as Vertex).aFaces.indexOf(_local1) == 0){ (aVertex[_local2[2]] as Vertex).aFaces.push(_local1); }; aVertex[_local2[0]].nbFaces++; aVertex[_local2[1]].nbFaces++; aVertex[_local2[2]].nbFaces++; }; _local1++; }; _local1 = 0; while (_local1 < aVertexNormals.length) { _local4 = aVertex[_local1]; if (_local4.nbFaces){ Vertex(aVertexNormals[_local1]).scale((1 / _local4.nbFaces)); }; _local1++; }; } public function setVertexNormal(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (aVertexNormals[_arg1]){ return (-1); }; aVertexNormals[_arg1] = new Vertex(_arg2, _arg3, _arg4); return ((++m_nLastVertexNormalId - 1)); } private function isEdgeExist(_arg1:uint, _arg2:uint):Boolean{ var _local3:String; if (_arg1 < _arg2){ _local3 = ((_arg1 + "_") + _arg2); } else { _local3 = ((_arg2 + "_") + _arg1); }; if (EDGES_DICO[_local3] == null){ return (false); }; return (true); } public function dispose():void{ var _local1:Array; var _local2:Vertex; var _local3:Array; var _local4:UVCoord; for each (_local2 in aVertex) { _local2 = null; }; aVertex = null; for each (_local1 in aFacesVertexID) { _local1 = null; }; aFacesVertexID = null; for each (_local2 in aFacesNormals) { _local2 = null; }; aFacesNormals = null; for each (_local2 in aVertexNormals) { _local2 = null; }; aVertexNormals = null; for each (_local3 in aFacesUVCoordsID) { _local3 = null; }; aFacesUVCoordsID = null; for each (_local4 in aUVCoords) { _local4 = null; }; aUVCoords = null; } public function getNextVertexID():Number{ return (m_nLastVertexId); } public function getNextFaceUVCoordID():Number{ return (m_nLastFaceUVId); } public function getNextFaceNormalID():Number{ return (m_nLastNormalId); } public function getVertexId(_arg1:Vertex):Number{ var _local2:Number; _local2 = 0; _local2 = 0; while ((((_local2 < aVertex.length)) && (!((aVertex[_local2] == _arg1))))) { _local2++; }; return (((_local2 == aVertex.length)) ? -1 : _local2); } public function setFaceUVCoordsIds(_arg1:Number, ... _args):Number{ var _local3:Array; if (aFacesUVCoordsID[_arg1]){ return (-1); }; _local3 = ((_args[0] is Array)) ? _args[0] : _args.splice(0); aFacesUVCoordsID[_arg1] = _local3; return ((++m_nLastFaceUVId - 1)); } public function clone():Geometry3D{ var _local1:Geometry3D; var _local2:uint; var _local3:Vertex; var _local4:Array; var _local5:Array; var _local6:UVCoord; var _local7:Edge3D; var _local8:Array; _local1 = new Geometry3D(); _local2 = 0; for each (_local3 in aVertex) { _local1.aVertex[_local2] = _local3.clone(); _local2++; }; _local2 = 0; for each (_local4 in aFacesVertexID) { _local1.aFacesVertexID[_local2] = _local4.concat(); _local2++; }; _local2 = 0; for each (_local3 in aFacesNormals) { _local1.aFacesNormals[_local2] = _local3.clone(); _local2++; }; _local2 = 0; for each (_local3 in aVertexNormals) { _local1.aVertexNormals[_local2] = _local3.clone(); _local2++; }; _local2 = 0; for each (_local5 in aFacesUVCoordsID) { _local1.aFacesUVCoordsID[_local2] = _local5.concat(); _local2++; }; _local2 = 0; for each (_local6 in aUVCoords) { _local1.aUVCoords[_local2] = _local6.clone(); _local2++; }; _local2 = 0; for each (_local7 in aEdges) { _local1.aEdges[_local2] = _local7.clone(); _local2++; }; _local2 = 0; for each (_local8 in aFaceEdges) { _local1.aFaceEdges[_local2] = _local8.concat(); _local2++; }; return (_local1); } public function getNextVertexNormalID():Number{ return (m_nLastVertexNormalId); } public function setFaceVertexIds(_arg1:Number, ... _args):Number{ var _local3:Array; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:String; if (aFacesVertexID[_arg1]){ return (-1); }; _local3 = ((_args[0] is Array)) ? _args[0] : _args.splice(0); aFacesVertexID[_arg1] = _local3; _local4 = 0; while (_local4 < _local3.length) { _local5 = _local3[_local4]; _local6 = _local3[((_local4 + 1) % _local3.length)]; if (isEdgeExist(_local5, _local6) == false){ _local7 = (aEdges.push(new Edge3D(_local5, _local6)) - 1); if (_local5 < _local6){ _local8 = ((_local5 + "_") + _local6); } else { _local8 = ((_local6 + "_") + _local5); }; EDGES_DICO[_local8] = _local7; } else { if (_local5 < _local6){ _local8 = ((_local5 + "_") + _local6); } else { _local8 = ((_local6 + "_") + _local5); }; _local7 = EDGES_DICO[_local8]; }; if (null == aFaceEdges[_arg1]){ aFaceEdges[_arg1] = new Array(); }; (aFaceEdges[_arg1] as Array).push(_local7); _local4++; }; return ((++m_nLastFaceId - 1)); } public function toString():String{ return ((((((((("[Geometry: " + aFacesVertexID.length) + " faces, ") + aVertex.length) + " points, ") + aFacesNormals.length) + " normals, ") + aUVCoords.length) + " uv coords]")); } } }//package sandy.core.scenegraph
Section 78
//Group (sandy.core.scenegraph.Group) package sandy.core.scenegraph { import sandy.core.data.*; import sandy.core.*; import sandy.view.*; public class Group extends Node { public function Group(_arg1:String=""){ super(_arg1); } override public function render(_arg1:Scene3D, _arg2:Camera3D):void{ var _local3:Node; for each (_local3 in children) { if (_local3.culled != CullingState.OUTSIDE){ _local3.render(_arg1, _arg2); }; _local3.changed = false; _local3.culled = CullingState.INSIDE; }; } public function clone(_arg1:String):Group{ var _local2:Group; var _local3:*; _local2 = new Group(_arg1); for each (_local3 in children) { if ((((((_local3 is Shape3D)) || ((_local3 is Group)))) || ((_local3 is TransformGroup)))){ _local2.addChild(_local3.clone(((_arg1 + "_") + _local3.name))); }; }; return (_local2); } override public function cull(_arg1:Scene3D, _arg2:Frustum, _arg3:Matrix4, _arg4:Boolean):void{ var _local5:Boolean; var _local6:Node; if (visible == false){ culled = CullingState.OUTSIDE; } else { _local5 = ((_arg4) || (changed)); for each (_local6 in children) { _local6.cull(_arg1, _arg2, _arg3, _local5); }; }; } } }//package sandy.core.scenegraph
Section 79
//IDisplayable (sandy.core.scenegraph.IDisplayable) package sandy.core.scenegraph { import flash.display.*; import sandy.core.*; public interface IDisplayable { function get container():Sprite; function display(_arg1:Scene3D, _arg2:Sprite=null):void; function get depth():Number; function clear():void; } }//package sandy.core.scenegraph
Section 80
//Node (sandy.core.scenegraph.Node) package sandy.core.scenegraph { import sandy.core.data.*; import sandy.events.*; import sandy.materials.*; import sandy.core.*; import sandy.view.*; import sandy.bounds.*; public class Node { public const id:uint; public const viewMatrix:Matrix4; public const modelMatrix:Matrix4; public const children:Array; public var name:String; public var boundingBox:BBox; public var culled:CullingState; public var scene:Scene3D;// = null public var boundingSphere:BSphere; public var changed:Boolean;// = false private var _parent:Node; public var visible:Boolean;// = true protected var m_oEB:BubbleEventBroadcaster; private static var _ID_:uint = 0; public function Node(_arg1:String=""){ culled = CullingState.OUTSIDE; children = new Array(); modelMatrix = new Matrix4(); viewMatrix = new Matrix4(); id = _ID_++; visible = true; scene = null; m_oEB = new BubbleEventBroadcaster(); changed = false; super(); parent = null; if (_arg1){ name = _arg1; } else { name = id.toString(); }; changed = true; m_oEB = new BubbleEventBroadcaster(); culled = CullingState.INSIDE; } public function addChild(_arg1:Node):void{ if (_arg1.parent){ _arg1.parent.removeChildByName(_arg1.name); }; _arg1.parent = this; changed = true; children.push(_arg1); if (_arg1.broadcaster){ m_oEB.addChild(_arg1.broadcaster); }; } public function remove():void{ var _local1:Array; var _local2:Node; parent.removeChildByName(name); _local1 = children.concat(); for each (_local2 in _local1) { parent.addChild(_local2); }; children.splice(0); m_oEB = null; changed = true; } public function getChildByName(_arg1:String, _arg2:Boolean=false):Node{ var _local3:Node; var _local4:Node; var _local5:Node; for each (_local3 in children) { if (_local3.name == _arg1){ return (_local3); }; }; if (_arg2){ _local5 = null; for each (_local3 in children) { _local5 = _local3.getChildByName(_arg1, _arg2); if (_local5 != null){ return (_local5); }; }; }; return (null); } public function destroy():void{ var _local1:Array; var _local2:Node; if (hasParent() == true){ parent.removeChildByName(name); }; _local1 = children.concat(); for each (_local2 in _local1) { _local2.destroy(); }; children.splice(0); m_oEB = null; } public function removeChildByName(_arg1:String):Boolean{ var _local2:Boolean; var _local3:int; var _local4:int; _local2 = false; _local4 = children.length; while ((((_local3 < _local4)) && (!(_local2)))) { if (children[int(_local3)].name == _arg1){ broadcaster.removeChild(children[int(_local3)].broadcaster); children.splice(_local3, 1); changed = true; _local2 = true; }; _local3++; }; return (_local2); } public function swapParent(_arg1:Node):void{ if (parent.removeChildByName(this.name)){ }; _arg1.addChild(this); } public function set useSingleContainer(_arg1:Boolean):void{ var _local2:Node; for each (_local2 in children) { _local2.useSingleContainer = _arg1; }; } public function render(_arg1:Scene3D, _arg2:Camera3D):void{ } public function get parent():Node{ return (_parent); } public function get broadcaster():BubbleEventBroadcaster{ return (m_oEB); } public function set appearance(_arg1:Appearance):void{ var _local2:Node; for each (_local2 in children) { _local2.appearance = _arg1; }; } public function update(_arg1:Scene3D, _arg2:Matrix4, _arg3:Boolean):void{ var _local4:Node; scene = _arg1; if (boundingBox){ boundingBox.uptodate = false; }; if (boundingSphere){ boundingSphere.uptodate = false; }; changed = ((changed) || (_arg3)); for each (_local4 in children) { _local4.update(_arg1, _arg2, changed); }; } public function addEventListener(_arg1:String, _arg2):void{ m_oEB.addEventListener.apply(_arg1, arguments); } public function set enableInteractivity(_arg1:Boolean):void{ var _local2:Node; for each (_local2 in children) { _local2.enableInteractivity = _arg1; }; } public function removeEventListener(_arg1:String, _arg2):void{ m_oEB.removeEventListener(_arg1, _arg2); } public function set enableBackFaceCulling(_arg1:Boolean):void{ var _local2:Node; for each (_local2 in children) { _local2.enableBackFaceCulling = _arg1; }; } public function set parent(_arg1:Node):void{ if (_arg1){ _parent = _arg1; changed = true; }; } public function hasParent():Boolean{ return (!((_parent == null))); } public function toString():String{ return ("sandy.core.scenegraph.Node"); } public function set enableEvents(_arg1:Boolean):void{ var _local2:Node; for each (_local2 in children) { _local2.enableEvents = _arg1; }; } public function cull(_arg1:Scene3D, _arg2:Frustum, _arg3:Matrix4, _arg4:Boolean):void{ if (visible == false){ culled = CullingState.OUTSIDE; } else { if (((_arg4) || (changed))){ viewMatrix.copy(_arg3); viewMatrix.multiply4x3(modelMatrix); }; }; } public function isParent(_arg1:Node):Boolean{ return ((((_parent == _arg1)) && (!((_arg1 == null))))); } } }//package sandy.core.scenegraph
Section 81
//Shape3D (sandy.core.scenegraph.Shape3D) package sandy.core.scenegraph { import sandy.core.data.*; import flash.display.*; import flash.events.*; import sandy.events.*; import sandy.materials.*; import sandy.core.*; import sandy.view.*; import flash.geom.*; import sandy.bounds.*; import sandy.math.*; public class Shape3D extends ATransformable implements IDisplayable { protected var m_oContainer:Sprite; protected var m_bUseSingleContainer:Boolean;// = true public var aPolygons:Array; protected var m_nDepth:Number;// = 0 private var m_aVisiblePoly:Array; public var enableNearClipping:Boolean;// = false private var m_oAppearance:Appearance; public var enableClipping:Boolean;// = false public var forcedDepth:Number;// = 0 private var m_bMouseInteractivity:Boolean;// = false private var m_bBackFaceCulling:Boolean;// = true private var m_bClipped:Boolean;// = false private var m_oGeometry:Geometry3D; private var m_nVisiblePoly:int; protected var m_oGeomCenter:Vector; private var m_aToProject:Array; private var m_bForcedSingleContainer:Boolean;// = false private var m_bEv:Boolean;// = false public var enableForcedDepth:Boolean;// = false public static var DEFAULT_APPEARANCE:Appearance = new Appearance(DEFAULT_MATERIAL); public static var DEFAULT_MATERIAL:Material = new WireFrameMaterial(); public function Shape3D(_arg1:String="", _arg2:Geometry3D=null, _arg3:Appearance=null, _arg4:Boolean=true){ aPolygons = new Array(); enableNearClipping = false; enableClipping = false; enableForcedDepth = false; forcedDepth = 0; m_bEv = false; m_oGeomCenter = new Vector(); m_bBackFaceCulling = true; m_bClipped = false; m_bUseSingleContainer = true; m_nDepth = 0; m_aToProject = new Array(); m_aVisiblePoly = new Array(); m_bMouseInteractivity = false; m_bForcedSingleContainer = false; super(_arg1); m_oContainer = new Sprite(); geometry = _arg2; m_bUseSingleContainer = !(_arg4); useSingleContainer = _arg4; appearance = (_arg3) ? _arg3 : Shape3D.DEFAULT_APPEARANCE; updateBoundingVolumes(); } override public function destroy():void{ m_oGeometry.dispose(); clear(); if (m_oContainer.parent){ m_oContainer.parent.removeChild(m_oContainer); }; if (m_oContainer){ m_oContainer = null; }; __destroyPolygons(); super.destroy(); } override public function set useSingleContainer(_arg1:Boolean):void{ var _local2:Polygon; if (_arg1 == m_bUseSingleContainer){ return; }; if (_arg1){ for each (_local2 in aPolygons) { if (_local2.container.parent){ _local2.container.graphics.clear(); _local2.container.parent.removeChild(_local2.container); this.broadcaster.removeChild(_local2.broadcaster); }; }; } else { if (m_oContainer.parent){ m_oContainer.graphics.clear(); m_oContainer.parent.removeChild(m_oContainer); }; for each (_local2 in aPolygons) { this.broadcaster.addChild(_local2.broadcaster); _local2.container.graphics.clear(); }; }; m_bUseSingleContainer = _arg1; } public function get enableInteractivity():Boolean{ return (m_bMouseInteractivity); } public function swapCulling():void{ var _local1:Polygon; for each (_local1 in aPolygons) { _local1.swapCulling(); }; changed = true; } public function updateBoundingVolumes():void{ if (m_oGeometry){ boundingSphere = BSphere.create(m_oGeometry.aVertex); boundingBox = BBox.create(m_oGeometry.aVertex); }; } override public function set enableInteractivity(_arg1:Boolean):void{ var _local2:Polygon; if (_arg1 != m_bMouseInteractivity){ if (_arg1){ if (m_bUseSingleContainer == true){ m_bUseSingleContainer = false; m_bForcedSingleContainer = true; }; } else { if (m_bForcedSingleContainer == true){ useSingleContainer = true; m_bForcedSingleContainer = false; }; }; for each (_local2 in aPolygons) { _local2.enableInteractivity = _arg1; }; m_bMouseInteractivity = _arg1; }; } override public function set enableBackFaceCulling(_arg1:Boolean):void{ if (_arg1 != m_bBackFaceCulling){ m_bBackFaceCulling = _arg1; changed = true; }; } public function clear():void{ if (m_oContainer){ m_oContainer.graphics.clear(); }; } public function get geometryCenter():Vector{ return (m_oGeomCenter); } public function get appearance():Appearance{ return (m_oAppearance); } override public function toString():String{ return ((("sandy.core.scenegraph.Shape3D" + " ") + m_oGeometry.toString())); } override public function cull(_arg1:Scene3D, _arg2:Frustum, _arg3:Matrix4, _arg4:Boolean):void{ super.cull(_arg1, _arg2, _arg3, _arg4); if (culled == Frustum.OUTSIDE){ return; }; if (!boundingSphere.uptodate){ boundingSphere.transform(viewMatrix); }; culled = _arg2.sphereInFrustum(boundingSphere); if ((((culled == Frustum.INTERSECT)) && (boundingBox))){ if (!boundingBox.uptodate){ boundingBox.transform(viewMatrix); }; culled = _arg2.boxInFrustum(boundingBox); }; m_bClipped = (((culled == CullingState.INTERSECT)) && (((enableClipping) || (enableNearClipping)))); } public function clone(_arg1:String="", _arg2:Boolean=false):Shape3D{ var _local3:Shape3D; _local3 = new Shape3D(_arg1, geometry.clone(), appearance, m_bUseSingleContainer); if (_arg2 == true){ _local3.matrix = this.matrix; }; return (_local3); } public function get geometry():Geometry3D{ return (m_oGeometry); } public function get container():Sprite{ return (m_oContainer); } override public function render(_arg1:Scene3D, _arg2:Camera3D):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Array; var _local23:Matrix4; var _local24:Frustum; var _local25:Array; var _local26:Vertex; var _local27:Vertex; var _local28:Polygon; var _local29:Number; var _local30:int; var _local31:int; var _local32:Polygon; if (m_oAppearance == null){ return; }; _local21 = _arg2.near; _local22 = m_oGeometry.aVertex; _local23 = viewMatrix; _local24 = _arg2.frustrum; _local25 = m_oGeometry.aVertexNormals; _local23 = viewMatrix; _local3 = _local23.n11; _local4 = _local23.n21; _local5 = _local23.n31; _local6 = _local23.n12; _local7 = _local23.n22; _local8 = _local23.n32; _local9 = _local23.n13; _local10 = _local23.n23; _local11 = _local23.n33; _local12 = _local23.n14; _local13 = _local23.n24; _local14 = _local23.n34; for each (_local27 in _local22) { _local15 = _local27.x; _local16 = _local27.y; _local17 = _local27.z; _local27.wx = ((((_local15 * _local3) + (_local16 * _local6)) + (_local17 * _local9)) + _local12); _local27.wy = ((((_local15 * _local4) + (_local16 * _local7)) + (_local17 * _local10)) + _local13); _local27.wz = ((((_local15 * _local5) + (_local16 * _local8)) + (_local17 * _local11)) + _local14); _local27.projected = false; }; m_aVisiblePoly = []; m_nVisiblePoly = 0; m_nDepth = 0; for each (_local28 in aPolygons) { _local28.isClipped = false; _local15 = _local28.normal.x; _local16 = _local28.normal.y; _local17 = _local28.normal.z; _local18 = (((_local15 * _local3) + (_local16 * _local6)) + (_local17 * _local9)); _local19 = (((_local15 * _local4) + (_local16 * _local7)) + (_local17 * _local10)); _local20 = (((_local15 * _local5) + (_local16 * _local8)) + (_local17 * _local11)); _local15 = (((_local28.a.wx * _local18) + (_local28.a.wy * _local19)) + (_local28.a.wz * _local20)); _local28.visible = (_local15 < 0); if (((_local28.visible) || (!(m_bBackFaceCulling)))){ _local28.precompute(); _local29 = _local28.minZ; if (((m_bClipped) && (enableClipping))){ _local28.clip(_local24); if (_local28.cvertices.length > 2){ _arg2.projectArray(_local28.cvertices); if (!enableForcedDepth){ m_nDepth = (m_nDepth + _local28.m_nDepth); } else { _local28.depth = forcedDepth; }; m_aVisiblePoly[int(m_nVisiblePoly++)] = _local28; }; } else { if (((enableNearClipping) && ((_local29 < _local21)))){ _local28.clipFrontPlane(_local24); if (_local28.cvertices.length > 2){ _arg2.projectArray(_local28.cvertices); if (!enableForcedDepth){ m_nDepth = (m_nDepth + _local28.m_nDepth); } else { _local28.depth = forcedDepth; }; m_aVisiblePoly[int(m_nVisiblePoly++)] = _local28; }; } else { if (_local29 >= _local21){ _arg2.projectArray(_local28.vertices); if (!enableForcedDepth){ m_nDepth = (m_nDepth + _local28.m_nDepth); } else { _local28.depth = forcedDepth; }; m_aVisiblePoly[int(m_nVisiblePoly++)] = _local28; } else { continue; }; }; }; if (_local28.hasAppearanceChanged){ if (_arg1.materialManager.isRegistered(_local28.appearance.frontMaterial) == false){ _arg1.materialManager.register(_local28.appearance.frontMaterial); }; if (_local28.appearance.frontMaterial != _local28.appearance.backMaterial){ if (_arg1.materialManager.isRegistered(_local28.appearance.backMaterial) == false){ _arg1.materialManager.register(_local28.appearance.backMaterial); }; }; _local28.hasAppearanceChanged = false; }; }; }; if (m_bUseSingleContainer){ if (enableForcedDepth){ m_nDepth = forcedDepth; } else { m_nDepth = (m_nDepth / m_aVisiblePoly.length); }; _arg2.addToDisplayList(this); } else { _arg2.addArrayToDisplayList(m_aVisiblePoly); }; _local30 = appearance.flags; if (_local30 == 0){ return; }; _local23 = modelMatrix; _local3 = _local23.n11; _local4 = _local23.n21; _local5 = _local23.n31; _local6 = _local23.n12; _local7 = _local23.n22; _local8 = _local23.n32; _local9 = _local23.n13; _local10 = _local23.n23; _local11 = _local23.n33; if ((appearance.flags & SandyFlags.POLYGON_NORMAL_WORLD)){ for each (_local32 in m_aVisiblePoly) { _local27 = _local32.normal; _local15 = _local27.x; _local16 = _local27.y; _local17 = _local27.z; _local32.normal.wx = (((_local15 * _local3) + (_local16 * _local6)) + (_local17 * _local9)); _local27.wy = (((_local15 * _local4) + (_local16 * _local7)) + (_local17 * _local10)); _local27.wz = (((_local15 * _local5) + (_local16 * _local8)) + (_local17 * _local11)); }; }; if ((appearance.flags & SandyFlags.VERTEX_NORMAL_WORLD)){ _local31 = m_oGeometry.aVertexNormals.length; while (--_local31 > -1) { if (m_oGeometry.aVertex[int(_local31)].projected){ _local27 = m_oGeometry.aVertexNormals[int(_local31)]; _local15 = _local27.x; _local16 = _local27.y; _local17 = _local27.z; m_oGeometry.aVertexNormals[int(_local31)].wx = (((_local15 * _local3) + (_local16 * _local6)) + (_local17 * _local9)); _local27.wy = (((_local15 * _local4) + (_local16 * _local7)) + (_local17 * _local10)); _local27.wz = (((_local15 * _local5) + (_local16 * _local8)) + (_local17 * _local11)); }; }; }; } public function get useSingleContainer():Boolean{ return (m_bUseSingleContainer); } public function get enableBackFaceCulling():Boolean{ return (m_bBackFaceCulling); } private function __destroyPolygons():void{ var _local1:int; var _local2:int; if (((!((aPolygons == null))) && ((aPolygons.length > 0)))){ _local2 = aPolygons.length; while (_local1 < _local2) { if (broadcaster != null){ broadcaster.removeChild(aPolygons[_local1].broadcaster); }; if (aPolygons[_local1]){ Polygon(aPolygons[int(_local1)]).destroy(); }; aPolygons[int(_local1)] = null; _local1++; }; }; aPolygons.splice(0); aPolygons = null; } public function display(_arg1:Scene3D, _arg2:Sprite=null):void{ var _local3:Polygon; m_aVisiblePoly.sortOn("depth", (Array.NUMERIC | Array.DESCENDING)); for each (_local3 in m_aVisiblePoly) { _local3.display(_arg1, m_oContainer); }; } public function get depth():Number{ return (m_nDepth); } public function get visiblePolygonsCount():uint{ return (m_nVisiblePoly); } override public function set appearance(_arg1:Appearance):void{ var _local2:Polygon; m_oAppearance = _arg1; if (m_oGeometry){ for each (_local2 in aPolygons) { _local2.appearance = m_oAppearance; }; }; } public function set geometryCenter(_arg1:Vector):void{ var _local2:Vector; var _local3:Vertex; _local2 = _arg1.clone(); _local2.sub(m_oGeomCenter); if (m_oGeometry){ for each (_local3 in m_oGeometry.aVertex) { _local3.x = (_local3.x + _local2.x); _local3.y = (_local3.y + _local2.y); _local3.z = (_local3.z + _local2.z); }; }; m_oGeomCenter.copy(_arg1); updateBoundingVolumes(); } protected function _onInteraction(_arg1:Event):void{ var _local2:Point; var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Polygon; var _local7:Array; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:UVCoord; var _local14:Vector; _local2 = new Point(m_oContainer.mouseX, m_oContainer.mouseY); _local3 = new Point(); _local4 = new Point(); _local5 = new Point(); _local7 = aPolygons.sortOn("depth", (Array.NUMERIC | Array.RETURNINDEXEDARRAY)); _local8 = aPolygons.length; _local9 = 0; while (_local9 < _local8) { _local6 = aPolygons[_local7[int(_local9)]]; if (((!(_local6.visible)) && (m_bBackFaceCulling))){ } else { _local10 = _local6.vertices.length; _local11 = (_local10 - 2); _local12 = 0; while (_local12 < _local11) { _local3.x = _local6.vertices[_local12].sx; _local3.y = _local6.vertices[_local12].sy; _local4.x = _local6.vertices[(_local12 + 1)].sx; _local4.y = _local6.vertices[(_local12 + 1)].sy; _local5.x = _local6.vertices[((_local12 + 2) % _local10)].sx; _local5.y = _local6.vertices[((_local12 + 2) % _local10)].sy; if (IntersectionMath.isPointInTriangle2D(_local2, _local3, _local4, _local5)){ _local13 = _local6.getUVFrom2D(_local2); _local14 = _local6.get3DFrom2D(_local2); m_oEB.broadcastEvent(new Shape3DEvent(_arg1.type, this, _local6, _local13, _local14, _arg1)); return; }; _local12++; }; }; _local9 = (_local9 + 1); }; } private function __generatePolygons(_arg1:Geometry3D):void{ var _local2:int; var _local3:int; var _local4:int; _local2 = 0; _local3 = 0; _local4 = _arg1.aFacesVertexID.length; aPolygons = new Array(_local4); _local2 = 0; while (_local2 < _local4) { aPolygons[_local2] = new Polygon(this, _arg1, _arg1.aFacesVertexID[_local2], _arg1.aFacesUVCoordsID[_local2], _local2, _local2); if (m_oAppearance){ aPolygons[int(_local2)].appearance = m_oAppearance; }; this.broadcaster.addChild(aPolygons[int(_local2)].broadcaster); _local2 = (_local2 + 1); }; } override public function set enableEvents(_arg1:Boolean):void{ var _local2:Polygon; _local2 = null; if (_arg1){ if (!m_bEv){ if (m_bUseSingleContainer == false){ for each (_local2 in aPolygons) { _local2.enableEvents = true; }; } else { m_oContainer.addEventListener(MouseEvent.CLICK, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_UP, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_DOWN, _onInteraction); m_oContainer.addEventListener(MouseEvent.ROLL_OVER, _onInteraction); m_oContainer.addEventListener(MouseEvent.ROLL_OUT, _onInteraction); m_oContainer.addEventListener(MouseEvent.DOUBLE_CLICK, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_MOVE, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_OVER, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_OUT, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_WHEEL, _onInteraction); }; }; } else { if (((!(_arg1)) && (m_bEv))){ if (m_bUseSingleContainer == false){ for each (_local2 in aPolygons) { _local2.enableEvents = false; }; } else { m_oContainer.removeEventListener(MouseEvent.CLICK, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_UP, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_DOWN, _onInteraction); m_oContainer.removeEventListener(MouseEvent.ROLL_OVER, _onInteraction); m_oContainer.removeEventListener(MouseEvent.ROLL_OUT, _onInteraction); m_oContainer.removeEventListener(MouseEvent.DOUBLE_CLICK, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_MOVE, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_OVER, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_OUT, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_WHEEL, _onInteraction); }; }; }; m_bEv = _arg1; } public function set geometry(_arg1:Geometry3D):void{ if (_arg1 == null){ return; }; m_oGeometry = _arg1; updateBoundingVolumes(); m_oGeometry.generateFaceNormals(); m_oGeometry.generateVertexNormals(); __destroyPolygons(); __generatePolygons(m_oGeometry); } } }//package sandy.core.scenegraph
Section 82
//Sprite2D (sandy.core.scenegraph.Sprite2D) package sandy.core.scenegraph { import sandy.core.data.*; import flash.display.*; import flash.events.*; import sandy.events.*; import sandy.materials.*; import sandy.core.*; import sandy.view.*; import sandy.bounds.*; public class Sprite2D extends ATransformable implements IDisplayable { protected var m_nRotation:Number;// = 0 private var m_nH2:Number;// = 0 private var m_oContainer:Sprite; protected var m_nDepth:Number; protected var _vx:Vertex; protected var _vy:Vertex; public var forcedDepth:Number;// = 0 protected var m_oMaterial:Material; protected var m_nPerspScaleY:Number;// = 0 protected var m_nPerspScaleX:Number;// = 0 public var floorCenter:Boolean;// = false protected var _nScale:Number; private var m_bLightingEnabled:Boolean;// = false public var fixedAngle:Boolean;// = false protected var m_oContent:DisplayObject; private var m_nW2:Number;// = 0 private var m_bEv:Boolean;// = false public var enableForcedDepth:Boolean;// = false protected var _v:Vertex; public var autoCenter:Boolean;// = true public function Sprite2D(_arg1:String="", _arg2:DisplayObject=null, _arg3:Number=1){ fixedAngle = false; autoCenter = true; floorCenter = false; enableForcedDepth = false; forcedDepth = 0; m_bEv = false; m_nW2 = 0; m_nH2 = 0; m_bLightingEnabled = false; m_nPerspScaleX = 0; m_nPerspScaleY = 0; m_nRotation = 0; super(_arg1); m_oContainer = new Sprite(); _v = new Vertex(); _vx = new Vertex(); _vy = new Vertex(); boundingSphere = new BSphere(); boundingBox = null; _nScale = _arg3; if (_arg2){ content = _arg2; }; setBoundingSphereRadius(30); } public function setBoundingSphereRadius(_arg1:Number):void{ boundingSphere.radius = _arg1; } public function set content(_arg1:DisplayObject):void{ _arg1.transform.matrix.identity(); if (m_oContent){ m_oContainer.removeChild(m_oContent); }; m_oContent = _arg1; m_oContainer.addChildAt(m_oContent, 0); m_oContent.x = 0; m_oContent.y = 0; m_nW2 = (m_oContainer.width / 2); m_nH2 = (m_oContainer.height / 2); } public function get material():Material{ return (m_oMaterial); } public function get scale():Number{ return (_nScale); } public function clear():void{ } public function set material(_arg1:Material):void{ m_oMaterial = _arg1; } override public function cull(_arg1:Scene3D, _arg2:Frustum, _arg3:Matrix4, _arg4:Boolean):void{ super.cull(_arg1, _arg2, _arg3, _arg4); if (viewMatrix){ boundingSphere.transform(viewMatrix); culled = _arg2.sphereInFrustum(boundingSphere); }; if (culled == CullingState.OUTSIDE){ container.visible = false; } else { if (culled == CullingState.INTERSECT){ if (boundingSphere.position.z <= _arg1.camera.near){ container.visible = false; } else { container.visible = true; }; } else { container.visible = true; }; }; } public function get enableEvents():Boolean{ return (m_bEv); } override public function remove():void{ if (m_oContainer.parent){ m_oContainer.parent.removeChild(m_oContainer); }; super.remove(); } override public function render(_arg1:Scene3D, _arg2:Camera3D):void{ if (((!((m_oMaterial == null))) && (!(_arg1.materialManager.isRegistered(m_oMaterial))))){ _arg1.materialManager.register(m_oMaterial); }; _v.wx = ((((_v.x * viewMatrix.n11) + (_v.y * viewMatrix.n12)) + (_v.z * viewMatrix.n13)) + viewMatrix.n14); _v.wy = ((((_v.x * viewMatrix.n21) + (_v.y * viewMatrix.n22)) + (_v.z * viewMatrix.n23)) + viewMatrix.n24); _v.wz = ((((_v.x * viewMatrix.n31) + (_v.y * viewMatrix.n32)) + (_v.z * viewMatrix.n33)) + viewMatrix.n34); m_nDepth = (enableForcedDepth) ? forcedDepth : _v.wz; _arg2.projectVertex(_v); _arg2.addToDisplayList(this); _vx.copy(_v); _vx.wx++; _arg2.projectVertex(_vx); _vy.copy(_v); _vy.wy++; _arg2.projectVertex(_vy); m_nPerspScaleX = (_nScale * (_vx.sx - _v.sx)); m_nPerspScaleY = (_nScale * (_v.sy - _vy.sy)); m_nRotation = Math.atan2(viewMatrix.n12, viewMatrix.n22); } public function get container():Sprite{ return (m_oContainer); } public function set scale(_arg1:Number):void{ if (_arg1){ _nScale = _arg1; }; } public function display(_arg1:Scene3D, _arg2:Sprite=null):void{ m_oContainer.scaleX = m_nPerspScaleX; m_oContainer.scaleY = m_nPerspScaleY; m_oContainer.x = (_v.sx - (autoCenter) ? (m_oContainer.width / 2) : 0); m_oContainer.y = (_v.sy - (autoCenter) ? (m_oContainer.height / 2) : 0); m_oContainer.y = (_v.sy - (autoCenter) ? (m_oContainer.height / 2) : (floorCenter) ? m_oContainer.height : 0); if (fixedAngle){ m_oContainer.rotation = ((m_nRotation * 180) / Math.PI); }; if (m_oMaterial){ m_oMaterial.renderSprite(this, m_oMaterial, _arg1); }; } public function get depth():Number{ return (m_nDepth); } protected function _onInteraction(_arg1:Event):void{ m_oEB.broadcastEvent(new BubbleEvent(_arg1.type, this)); } override public function set enableEvents(_arg1:Boolean):void{ if (((_arg1) && (!(m_bEv)))){ m_oContainer.addEventListener(MouseEvent.CLICK, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_UP, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_DOWN, _onInteraction); m_oContainer.addEventListener(MouseEvent.ROLL_OVER, _onInteraction); m_oContainer.addEventListener(MouseEvent.ROLL_OUT, _onInteraction); m_oContainer.addEventListener(MouseEvent.DOUBLE_CLICK, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_MOVE, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_OVER, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_OUT, _onInteraction); m_oContainer.addEventListener(MouseEvent.MOUSE_WHEEL, _onInteraction); } else { if (((!(_arg1)) && (m_bEv))){ m_oContainer.removeEventListener(MouseEvent.CLICK, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_UP, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_DOWN, _onInteraction); m_oContainer.removeEventListener(MouseEvent.ROLL_OVER, _onInteraction); m_oContainer.removeEventListener(MouseEvent.ROLL_OUT, _onInteraction); m_oContainer.removeEventListener(MouseEvent.DOUBLE_CLICK, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_MOVE, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_OVER, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_OUT, _onInteraction); m_oContainer.removeEventListener(MouseEvent.MOUSE_WHEEL, _onInteraction); }; }; } } }//package sandy.core.scenegraph
Section 83
//TransformGroup (sandy.core.scenegraph.TransformGroup) package sandy.core.scenegraph { import sandy.core.data.*; import sandy.core.*; import sandy.view.*; public class TransformGroup extends ATransformable { public function TransformGroup(_arg1:String=""){ super(_arg1); } override public function toString():String{ return ("sandy.core.scenegraph.TransformGroup"); } override public function cull(_arg1:Scene3D, _arg2:Frustum, _arg3:Matrix4, _arg4:Boolean):void{ var _local5:Boolean; var _local6:Node; if (visible == false){ culled = CullingState.OUTSIDE; } else { _local5 = ((_arg4) || (changed)); for each (_local6 in children) { _local6.cull(_arg1, _arg2, _arg3, _local5); }; }; } public function clone(_arg1:String):TransformGroup{ var _local2:TransformGroup; var _local3:*; _local2 = new TransformGroup(_arg1); for each (_local3 in children) { if ((((((_local3 is Shape3D)) || ((_local3 is Group)))) || ((_local3 is TransformGroup)))){ _local2.addChild(_local3.clone(((_arg1 + "_") + _local3.name))); }; }; return (_local2); } override public function render(_arg1:Scene3D, _arg2:Camera3D):void{ var _local3:Node; for each (_local3 in children) { if (_local3.culled != CullingState.OUTSIDE){ _local3.render(_arg1, _arg2); }; _local3.changed = false; _local3.culled = CullingState.INSIDE; }; } } }//package sandy.core.scenegraph
Section 84
//SandyFlags (sandy.core.SandyFlags) package sandy.core { public final class SandyFlags { public static const VERTEX_NORMAL_WORLD:uint = 2; public static const POLYGON_NORMAL_WORLD:uint = 1; } }//package sandy.core
Section 85
//Scene3D (sandy.core.Scene3D) package sandy.core { import sandy.core.data.*; import flash.display.*; import flash.events.*; import sandy.core.scenegraph.*; import sandy.events.*; import sandy.materials.*; import sandy.core.light.*; public class Scene3D extends EventDispatcher { public const materialManager:MaterialManager; public var container:Sprite; private var m_bRectClipped:Boolean;// = true private var _light:Light3D; protected var m_sName:String; public var root:Group; public var camera:Camera3D; public function Scene3D(_arg1:String, _arg2:Sprite, _arg3:Camera3D=null, _arg4:Group=null){ materialManager = new MaterialManager(); m_bRectClipped = true; super(); if (_arg1 != null){ if (SceneLocator.getInstance().registerScene(_arg1, this)){ container = _arg2; camera = _arg3; root = _arg4; if (((!((root == null))) && (!((camera == null))))){ root.addChild(camera); }; }; m_sName = _arg1; }; _light = new Light3D(new Vector(0, 0, 1), 100); } public function get name():String{ return (m_sName); } public function set light(_arg1:Light3D):void{ if (_light){ _light.destroy(); }; _light = _arg1; dispatchEvent(new SandyEvent(SandyEvent.LIGHT_ADDED)); } public function set rectClipping(_arg1:Boolean):void{ m_bRectClipped = _arg1; if (camera){ camera.viewport.hasChanged = true; }; } public function render(_arg1:SandyEvent=null):void{ if (((((root) && (camera))) && (container))){ dispatchEvent(new SandyEvent(SandyEvent.SCENE_UPDATE)); root.update(this, null, false); dispatchEvent(new SandyEvent(SandyEvent.SCENE_CULL)); root.cull(this, camera.frustrum, camera.invModelMatrix, camera.changed); dispatchEvent(new SandyEvent(SandyEvent.SCENE_RENDER)); root.render(this, camera); dispatchEvent(new SandyEvent(SandyEvent.SCENE_RENDER_DISPLAYLIST)); materialManager.begin(this); camera.renderDisplayList(this); materialManager.finish(this); }; } public function get light():Light3D{ return (_light); } public function dispose():Boolean{ SceneLocator.getInstance().unregisterScene(m_sName); root.destroy(); if (root){ root = null; }; if (camera){ camera = null; }; if (_light){ _light = null; }; return (true); } public function get rectClipping():Boolean{ return (m_bRectClipped); } } }//package sandy.core
Section 86
//SceneLocator (sandy.core.SceneLocator) package sandy.core { import flash.utils.*; public class SceneLocator { private var _m:Dictionary; private static var _oI:SceneLocator; public function SceneLocator(_arg1:PrivateConstructorAccess){ _m = new Dictionary(true); } public function unregisterScene(_arg1:String):void{ _m[_arg1] = null; } public function getScene(_arg1:String):Scene3D{ if (!isRegistered(_arg1)){ trace(((("Can't locate scene instance with '" + _arg1) + "' name in ") + this)); }; return ((_m[_arg1] as Scene3D)); } public function registerScene(_arg1:String, _arg2:Scene3D):Boolean{ if (isRegistered(_arg1)){ trace(((("scene instance is already registered with '" + _arg1) + "' name in ") + this)); return (false); }; _m[_arg1] = _arg2; return (true); } public function isRegistered(_arg1:String):Boolean{ return (!((_m[_arg1] == null))); } public static function getInstance():SceneLocator{ if (!_oI){ _oI = new SceneLocator(new PrivateConstructorAccess()); }; return (_oI); } } }//package sandy.core final class PrivateConstructorAccess { private function PrivateConstructorAccess(){ } }
Section 87
//BubbleEvent (sandy.events.BubbleEvent) package sandy.events { import flash.events.*; public class BubbleEvent extends Event { private var m_oTarget:Object; public function BubbleEvent(_arg1:String, _arg2:Object){ super(_arg1, true, true); m_oTarget = _arg2; } override public function toString():String{ return ("BubbleEvent"); } override public function get target():Object{ return (m_oTarget); } } }//package sandy.events
Section 88
//BubbleEventBroadcaster (sandy.events.BubbleEventBroadcaster) package sandy.events { import flash.events.*; public final class BubbleEventBroadcaster extends EventBroadcaster { private var m_oParent:BubbleEventBroadcaster;// = null public function BubbleEventBroadcaster(){ m_oParent = null; super(); } public function get parent():BubbleEventBroadcaster{ return (m_oParent); } public function set parent(_arg1:BubbleEventBroadcaster):void{ m_oParent = _arg1; } override public function broadcastEvent(_arg1:Event):void{ if ((_arg1 is BubbleEvent)){ super.broadcastEvent(_arg1); if (parent){ parent.broadcastEvent(_arg1); }; } else { parent.broadcastEvent(_arg1); }; } public function addChild(_arg1:BubbleEventBroadcaster):void{ _arg1.parent = this; } public function removeChild(_arg1:BubbleEventBroadcaster):void{ } } }//package sandy.events
Section 89
//EventBroadcaster (sandy.events.EventBroadcaster) package sandy.events { import flash.events.*; import flash.utils.*; import sandy.commands.*; public class EventBroadcaster { private var m_oAll:Dictionary; private var m_oEventListener:Dictionary; private var m_oDelegateDico:Dictionary; private var m_oType:Dictionary; private var listeners:Array; public function EventBroadcaster(){ m_oAll = new Dictionary(true); m_oType = new Dictionary(true); m_oEventListener = new Dictionary(true); m_oDelegateDico = new Dictionary(true); super(); } public function getListenerCollection(_arg1:String=null):Dictionary{ return (((_arg1)!=null) ? m_oType[_arg1] : m_oAll); } private function _storeRef(_arg1:String, _arg2:Object):void{ if (!m_oEventListener[_arg2]){ m_oEventListener[_arg2] = new Dictionary(true); }; m_oEventListener[_arg2][_arg1] = _arg2; } public function removeEventListener(_arg1:String, _arg2:Object):Boolean{ var _local3:Dictionary; if (hasListenerCollection(_arg1)){ _local3 = getListenerCollection(_arg1); if ((_arg2 is Function)){ _arg2 = m_oDelegateDico[_arg2]; }; if (_local3[_arg2]){ _removeRef(_arg1, _arg2); if (isDicoEmpty(_local3)){ removeListenerCollection(_arg1); }; delete _local3[_arg2]; return (true); } else { return (false); }; //unresolved jump }; return (false); } public function isRegistered(_arg1:Object, _arg2:String=null):Boolean{ var _local3:*; if (_arg2 == null){ return (m_oAll[_arg1]); }; if (m_oType[_arg2]){ for each (_local3 in m_oType[_arg2]) { if (_local3 == _arg1){ return (true); }; }; return (false); //unresolved jump }; return (false); } public function addEventListener(_arg1:String, _arg2:Object, ... _args):Boolean{ var _local4:Delegate; var _local5:Dictionary; if ((_arg2 is Function)){ _local4 = new Delegate((_arg2 as Function)); if (_args){ _local4.setArgumentsArray(_args); }; m_oDelegateDico[_arg2] = _local4; _arg2 = _local4; } else { if (((_arg2.hasOwnProperty(_arg1)) && ((_arg2[_arg1] is Function)))){ } else { if (((_arg2.hasOwnProperty("handleEvent")) && ((_arg2.handleEvent is Function)))){ } else { return (false); }; }; }; if (!isRegistered(_arg2)){ if (!m_oType[_arg1]){ m_oType[_arg1] = new Dictionary(true); }; _local5 = getListenerCollection(_arg1); if (!_local5[_arg2]){ _local5[_arg2] = _arg2; _storeRef(_arg1, _arg2); return (true); }; }; return (false); } private function _removeRef(_arg1:String, _arg2:Object):void{ var _local3:Dictionary; _local3 = m_oEventListener[_arg2]; delete _local3[_arg1]; if (isDicoEmpty(_local3)){ delete m_oEventListener[_arg2]; }; } private function isDicoEmpty(_arg1:Dictionary):Boolean{ var _local2:uint; var _local3:*; _local2 = 0; for each (_local3 in _arg1) { _local2++; }; return ((_local2 == 0)); } public function removeListenerCollection(_arg1:String):void{ delete m_oType[_arg1]; } public function _broadcastEvent(_arg1:Dictionary, _arg2:Event):void{ var _local3:String; var _local4:Object; _local3 = _arg2.type; for each (_local4 in _arg1) { if (((_local4.hasOwnProperty(_local3)) && ((_local4[_local3] is Function)))){ var _local7 = _local4; _local7[_local3](_arg2); } else { if (((_local4.hasOwnProperty("handleEvent")) && ((_local4.handleEvent is Function)))){ _local4.handleEvent(_arg2); }; }; }; } public function broadcastEvent(_arg1:Event):void{ if (hasListenerCollection(_arg1.type)){ _broadcastEvent(getListenerCollection(_arg1.type), _arg1); }; if (!isDicoEmpty(m_oAll)){ _broadcastEvent(m_oAll, _arg1); }; } public function hasListenerCollection(_arg1:String):Boolean{ return (!((m_oType[_arg1] == null))); } } }//package sandy.events
Section 90
//SandyEvent (sandy.events.SandyEvent) package sandy.events { import flash.events.*; public class SandyEvent extends Event { public static const QUEUE_LOADER_ERROR:String = "queueLoaderError"; public static const SCENE_CULL:String = "scene_cull"; public static const QUEUE_COMPLETE:String = "queueComplete"; public static const SCENE_RENDER:String = "scene_render"; public static const CONTAINER_CREATED:String = "containerCreated"; public static const LIGHT_COLOR_CHANGED:String = "lightColorChanged"; public static const SCENE_RENDER_DISPLAYLIST:String = "scene_render_display_list"; public static const LIGHT_ADDED:String = "lightAdded"; public static const LIGHT_UPDATED:String = "lightUpdated"; public static const SCENE_UPDATE:String = "scene_update"; public function SandyEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new SandyEvent(type, bubbles, cancelable)); } } }//package sandy.events
Section 91
//Shape3DEvent (sandy.events.Shape3DEvent) package sandy.events { import sandy.core.data.*; import flash.events.*; import sandy.core.scenegraph.*; public class Shape3DEvent extends BubbleEvent { public var point:Vector; public var shape:Shape3D; public var uv:UVCoord; public var event:Event; public var polygon:Polygon; public function Shape3DEvent(_arg1:String, _arg2:Shape3D, _arg3:Polygon, _arg4:UVCoord, _arg5:Vector, _arg6:Event){ super(_arg1, _arg2); shape = _arg2; polygon = _arg3; uv = _arg4; point = _arg5; event = _arg6; } } }//package sandy.events
Section 92
//AAttributes (sandy.materials.attributes.AAttributes) package sandy.materials.attributes { import sandy.core.data.*; import flash.display.*; import sandy.core.scenegraph.*; import sandy.materials.*; import sandy.core.*; public class AAttributes implements IAttributes { protected var m_nFlags:uint;// = 0 public function AAttributes(){ m_nFlags = 0; super(); } public function unlink(_arg1:Polygon):void{ } public function draw(_arg1:Graphics, _arg2:Polygon, _arg3:Material, _arg4:Scene3D):void{ } public function get flags():uint{ return (m_nFlags); } public function drawOnSprite(_arg1:Sprite2D, _arg2:Material, _arg3:Scene3D):void{ } public function init(_arg1:Polygon):void{ } public function finish(_arg1:Scene3D):void{ } public function begin(_arg1:Scene3D):void{ } } }//package sandy.materials.attributes
Section 93
//IAttributes (sandy.materials.attributes.IAttributes) package sandy.materials.attributes { import sandy.core.data.*; import flash.display.*; import sandy.core.scenegraph.*; import sandy.materials.*; import sandy.core.*; public interface IAttributes { function init(_arg1:Polygon):void; function unlink(_arg1:Polygon):void; function draw(_arg1:Graphics, _arg2:Polygon, _arg3:Material, _arg4:Scene3D):void; function drawOnSprite(_arg1:Sprite2D, _arg2:Material, _arg3:Scene3D):void; function begin(_arg1:Scene3D):void; function finish(_arg1:Scene3D):void; function get flags():uint; } }//package sandy.materials.attributes
Section 94
//LineAttributes (sandy.materials.attributes.LineAttributes) package sandy.materials.attributes { import sandy.core.data.*; import flash.display.*; import sandy.materials.*; import sandy.core.*; public class LineAttributes extends AAttributes { public var modified:Boolean; private var m_nAlpha:Number; private var m_nColor:Number; private var m_nThickness:Number; public function LineAttributes(_arg1:uint=1, _arg2:uint=0, _arg3:Number=1){ m_nThickness = _arg1; m_nAlpha = _arg3; m_nColor = _arg2; modified = true; } public function set color(_arg1:Number):void{ m_nColor = _arg1; modified = true; } override public function draw(_arg1:Graphics, _arg2:Polygon, _arg3:Material, _arg4:Scene3D):void{ var _local5:Array; var _local6:Vertex; var _local7:int; _local5 = (_arg2.isClipped) ? _arg2.cvertices : _arg2.vertices; _arg1.lineStyle(m_nThickness, m_nColor, m_nAlpha); _arg1.moveTo(_local5[0].sx, _local5[0].sy); _local7 = _local5.length; while ((_local6 = _local5[--_local7])) { _arg1.lineTo(_local6.sx, _local6.sy); }; } public function get alpha():Number{ return (m_nAlpha); } public function get color():Number{ return (m_nColor); } public function get thickness():Number{ return (m_nThickness); } public function set thickness(_arg1:Number):void{ m_nThickness = _arg1; modified = true; } public function set alpha(_arg1:Number):void{ m_nAlpha = _arg1; modified = true; } } }//package sandy.materials.attributes
Section 95
//MaterialAttributes (sandy.materials.attributes.MaterialAttributes) package sandy.materials.attributes { import sandy.core.data.*; import flash.display.*; import sandy.core.scenegraph.*; import sandy.materials.*; import sandy.core.*; public class MaterialAttributes { public var attributes:Array; public function MaterialAttributes(... _args){ var _local2:int; attributes = new Array(); super(); _local2 = 0; while (_local2 < _args.length) { if ((_args[_local2] is IAttributes)){ attributes.push(_args[_local2]); }; _local2++; }; } public function unlink(_arg1:Polygon):void{ var _local2:IAttributes; for each (_local2 in attributes) { _local2.unlink(_arg1); }; } public function draw(_arg1:Graphics, _arg2:Polygon, _arg3:Material, _arg4:Scene3D):void{ var _local5:IAttributes; for each (_local5 in attributes) { _local5.draw(_arg1, _arg2, _arg3, _arg4); }; } public function drawOnSprite(_arg1:Sprite2D, _arg2:Material, _arg3:Scene3D):void{ var _local4:IAttributes; for each (_local4 in attributes) { _local4.drawOnSprite(_arg1, _arg2, _arg3); }; } public function begin(_arg1:Scene3D):void{ var _local2:IAttributes; for each (_local2 in attributes) { _local2.begin(_arg1); }; } public function init(_arg1:Polygon):void{ var _local2:IAttributes; for each (_local2 in attributes) { _local2.init(_arg1); }; } public function finish(_arg1:Scene3D):void{ var _local2:IAttributes; for each (_local2 in attributes) { _local2.finish(_arg1); }; } public function get flags():uint{ var _local1:uint; var _local2:IAttributes; _local1 = 0; for each (_local2 in attributes) { _local1 = (_local1 | _local2.flags); }; return (_local1); } } }//package sandy.materials.attributes
Section 96
//Appearance (sandy.materials.Appearance) package sandy.materials { public class Appearance { private var m_oBackMaterial:Material; private var m_oFrontMaterial:Material; public function Appearance(_arg1:Material=null, _arg2:Material=null){ m_oFrontMaterial = ((_arg1)!=null) ? _arg1 : new ColorMaterial(); m_oBackMaterial = ((_arg2)!=null) ? _arg2 : m_oFrontMaterial; } public function set frontMaterial(_arg1:Material):void{ m_oFrontMaterial = _arg1; if (m_oBackMaterial == null){ m_oBackMaterial = _arg1; }; } public function get flags():uint{ var _local1:uint; _local1 = m_oFrontMaterial.flags; if (m_oFrontMaterial != m_oBackMaterial){ _local1 = (_local1 | m_oBackMaterial.flags); }; return (_local1); } public function toString():String{ return ("sandy.materials.Appearance"); } public function get frontMaterial():Material{ return (m_oFrontMaterial); } public function get useVertexNormal():Boolean{ return (Boolean(((m_oBackMaterial.useVertexNormal) && (m_oFrontMaterial.useVertexNormal)))); } public function get backMaterial():Material{ return (m_oBackMaterial); } public function set backMaterial(_arg1:Material):void{ m_oBackMaterial = _arg1; if (m_oFrontMaterial == null){ m_oFrontMaterial = _arg1; }; } } }//package sandy.materials
Section 97
//BitmapMaterial (sandy.materials.BitmapMaterial) package sandy.materials { import sandy.core.data.*; import flash.display.*; import sandy.core.*; import flash.geom.*; import flash.utils.*; import sandy.materials.attributes.*; import sandy.util.*; import flash.filters.*; public class BitmapMaterial extends Material { protected const m_oOffset:Point; protected const m_oTiling:Point; protected var m_oPolygonMatrixMap:Dictionary; private var m_nWidth:Number; var graphics:Graphics; private var m_nInvWidth:Number; private var m_nRecLevel:int;// = 0 public var smooth:Boolean;// = false protected var m_orgTexture:BitmapData; var polygon:Polygon; private var m_nInvHeight:Number; protected var m_oTexture:BitmapData; protected var matrix:Matrix; protected var m_oCmf:ColorMatrixFilter; public var maxRecurssionDepth:uint;// = 5 private var m_nHeight:Number; var map:Matrix; protected var m_oPoint:Point; public var precision:uint;// = 0 public function BitmapMaterial(_arg1:BitmapData=null, _arg2:MaterialAttributes=null, _arg3:uint=0){ var _local4:BitmapData; smooth = false; precision = 0; maxRecurssionDepth = 5; map = new Matrix(); m_nRecLevel = 0; m_oPoint = new Point(); matrix = new Matrix(); m_oTiling = new Point(1, 1); m_oOffset = new Point(0, 0); super(_arg2); m_oType = MaterialType.BITMAP; _local4 = new BitmapData(_arg1.width, _arg1.height, true, 0); _local4.draw(_arg1); texture = _local4; m_oCmf = new ColorMatrixFilter(); m_oPolygonMatrixMap = new Dictionary(true); precision = _arg3; } override public function init(_arg1:Polygon):void{ var _local2:Matrix; var _local3:Array; if (_arg1.vertices.length >= 3){ _local2 = null; if ((((m_nWidth > 0)) && ((m_nHeight > 0)))){ _local3 = _arg1.aUVCoord; if (_local3){ _local2 = _createTextureMatrix(_local3); }; }; m_oPolygonMatrixMap[_arg1.id] = _local2; }; super.init(_arg1); } override public function unlink(_arg1:Polygon):void{ if (m_oPolygonMatrixMap[_arg1.id]){ delete m_oPolygonMatrixMap[_arg1.id]; }; super.unlink(_arg1); } protected function _tesselatePolygon(_arg1:Array, _arg2:Array):void{ var _local3:Array; var _local4:Array; var _local5:Vertex; var _local6:Vertex; var _local7:Vertex; _local3 = _arg1.slice(); _local4 = _arg2.slice(); if (_local3.length > 3){ _local3 = _local3.slice(0, 3); _local4 = _local4.slice(0, 3); _arg1.splice(1, 1); _arg2.splice(1, 1); _tesselatePolygon(_arg1, _arg2); }; map = _createTextureMatrix(_local4); _local5 = _local3[0]; _local6 = _local3[1]; _local7 = _local3[2]; if (precision == 0){ renderTriangle(map.a, map.b, map.c, map.d, map.tx, map.ty, _local5.sx, _local5.sy, _local6.sx, _local6.sy, _local7.sx, _local7.sy); } else { renderRec(map.a, map.b, map.c, map.d, map.tx, map.ty, _local5.sx, _local5.sy, _local5.wz, _local6.sx, _local6.sy, _local6.wz, _local7.sx, _local7.sy, _local7.wz); }; _local3 = null; _local4 = null; } protected function renderRec(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:Number):void{ var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; var _local48:Number; var _local49:Number; m_nRecLevel++; _local16 = (_arg1 + _arg1); _local17 = (_arg2 + _arg2); _local18 = (_arg3 + _arg3); _local19 = (_arg4 + _arg4); _local20 = (_arg5 + _arg5); _local21 = (_arg6 + _arg6); _local22 = (2 / (_arg9 + _arg12)); _local23 = (2 / (_arg12 + _arg15)); _local24 = (2 / (_arg15 + _arg9)); _local25 = (((_arg7 * _arg9) + (_arg10 * _arg12)) * _local22); _local26 = (((_arg8 * _arg9) + (_arg11 * _arg12)) * _local22); _local27 = (((_arg10 * _arg12) + (_arg13 * _arg15)) * _local23); _local28 = (((_arg11 * _arg12) + (_arg14 * _arg15)) * _local23); _local29 = (((_arg13 * _arg15) + (_arg7 * _arg9)) * _local24); _local30 = (((_arg14 * _arg15) + (_arg8 * _arg9)) * _local24); _local31 = ((_arg7 + _arg10) - _local25); _local32 = ((_arg8 + _arg11) - _local26); _local33 = ((_arg10 + _arg13) - _local27); _local34 = ((_arg11 + _arg14) - _local28); _local35 = ((_arg13 + _arg7) - _local29); _local36 = ((_arg14 + _arg8) - _local30); _local37 = ((_local31 * _local31) + (_local32 * _local32)); _local38 = ((_local33 * _local33) + (_local34 * _local34)); _local39 = ((_local35 * _local35) + (_local36 * _local36)); _local40 = (_local25 * 0.5); _local41 = (_local26 * 0.5); _local42 = ((_arg9 + _arg12) * 0.5); _local43 = (_local29 * 0.5); _local44 = (_local30 * 0.5); _local45 = ((_arg15 + _arg9) * 0.5); _local46 = (_local27 * 0.5); _local47 = (_local28 * 0.5); _local48 = ((_arg12 + _arg15) * 0.5); if ((((m_nRecLevel > maxRecurssionDepth)) || ((((((_local37 <= precision)) && ((_local39 <= precision)))) && ((_local38 <= precision)))))){ renderTriangle(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg10, _arg11, _arg13, _arg14); m_nRecLevel--; return; }; if ((((((_local37 > precision)) && ((_local39 > precision)))) && ((_local38 > precision)))){ renderRec(_local16, _local17, _local18, _local19, _local20, _local21, _arg7, _arg8, _arg9, _local40, _local41, _local42, _local43, _local44, _local45); renderRec(_local16, _local17, _local18, _local19, (_local20 - 1), _local21, _local40, _local41, _local42, _arg10, _arg11, _arg12, _local46, _local47, _local48); renderRec(_local16, _local17, _local18, _local19, _local20, (_local21 - 1), _local43, _local44, _local45, _local46, _local47, _local48, _arg13, _arg14, _arg15); renderRec(-(_local16), -(_local17), -(_local18), -(_local19), (-(_local20) + 1), (-(_local21) + 1), _local46, _local47, _local48, _local43, _local44, _local45, _local40, _local41, _local42); m_nRecLevel--; return; }; _local49 = Math.max(_local37, Math.max(_local39, _local38)); if (_local37 == _local49){ renderRec(_local16, _arg2, _local18, _arg4, _local20, _arg6, _arg7, _arg8, _arg9, _local40, _local41, _local42, _arg13, _arg14, _arg15); renderRec((_local16 + _arg2), _arg2, (_local18 + _arg4), _arg4, ((_local20 + _arg6) - 1), _arg6, _local40, _local41, _local42, _arg10, _arg11, _arg12, _arg13, _arg14, _arg15); m_nRecLevel--; return; }; if (_local39 == _local49){ renderRec(_arg1, _local17, _arg3, _local19, _arg5, _local21, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12, _local43, _local44, _local45); renderRec(_arg1, (_local17 + _arg1), _arg3, (_local19 + _arg3), _arg5, ((_local21 + _arg5) - 1), _local43, _local44, _local45, _arg10, _arg11, _arg12, _arg13, _arg14, _arg15); m_nRecLevel--; return; }; renderRec((_arg1 - _arg2), _local17, (_arg3 - _arg4), _local19, (_arg5 - _arg6), _local21, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12, _local46, _local47, _local48); renderRec(_local16, (_arg2 - _arg1), _local18, (_arg4 - _arg3), _local20, (_arg6 - _arg5), _arg7, _arg8, _arg9, _local46, _local47, _local48, _arg13, _arg14, _arg15); m_nRecLevel--; } public function get texture():BitmapData{ return (m_oTexture); } public function set texture(_arg1:BitmapData):void{ var _local2:Boolean; var _local3:String; var _local4:Polygon; if (_arg1 == m_oTexture){ return; }; if (m_oTexture){ m_oTexture.dispose(); }; if (m_orgTexture){ m_orgTexture.dispose(); }; _local2 = false; if (m_nHeight != _arg1.height){ _local2 = true; } else { if (m_nWidth != _arg1.width){ _local2 = true; }; }; m_oTexture = _arg1; m_orgTexture = _arg1.clone(); m_nHeight = m_oTexture.height; m_nWidth = m_oTexture.width; m_nInvHeight = (1 / m_nHeight); m_nInvWidth = (1 / m_nWidth); if (_local2){ for (_local3 in m_oPolygonMatrixMap) { _local4 = Polygon.POLYGON_MAP[_local3]; init(_local4); }; }; } protected function renderTriangle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number):void{ var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local13 = (_arg9 - _arg7); _local14 = (_arg10 - _arg8); _local15 = (_arg11 - _arg7); _local16 = (_arg12 - _arg8); matrix.a = ((_arg1 * _local13) + (_arg2 * _local15)); matrix.b = ((_arg1 * _local14) + (_arg2 * _local16)); matrix.c = ((_arg3 * _local13) + (_arg4 * _local15)); matrix.d = ((_arg3 * _local14) + (_arg4 * _local16)); matrix.tx = (((_arg5 * _local13) + (_arg6 * _local15)) + _arg7); matrix.ty = (((_arg5 * _local14) + (_arg6 * _local16)) + _arg8); graphics.lineStyle(); graphics.beginBitmapFill(m_oTexture, matrix, repeat, smooth); graphics.moveTo(_arg7, _arg8); graphics.lineTo(_arg9, _arg10); graphics.lineTo(_arg11, _arg12); graphics.endFill(); } override public function renderPolygon(_arg1:Scene3D, _arg2:Polygon, _arg3:Sprite):void{ var _local4:Array; var _local5:Array; var _local6:Vertex; var _local7:Vertex; var _local8:Vertex; if (m_oTexture == null){ return; }; polygon = _arg2; graphics = _arg3.graphics; m_nRecLevel = 0; if (polygon.isClipped){ _local4 = _arg2.cvertices.slice(); _local5 = _arg2.caUVCoord.slice(); _tesselatePolygon(_local4, _local5); } else { if (polygon.vertices.length > 3){ _local4 = _arg2.vertices.slice(); _local5 = _arg2.aUVCoord.slice(); _tesselatePolygon(_local4, _local5); } else { _local4 = _arg2.vertices; _local5 = _arg2.aUVCoord; map = (m_oPolygonMatrixMap[polygon.id] as Matrix); _local6 = _local4[0]; _local7 = _local4[1]; _local8 = _local4[2]; if (precision == 0){ renderTriangle(map.a, map.b, map.c, map.d, map.tx, map.ty, _local6.sx, _local6.sy, _local7.sx, _local7.sy, _local8.sx, _local8.sy); } else { renderRec(map.a, map.b, map.c, map.d, map.tx, map.ty, _local6.sx, _local6.sy, _local6.wz, _local7.sx, _local7.sy, _local7.wz, _local8.sx, _local8.sy, _local8.wz); }; }; }; if (attributes){ attributes.draw(graphics, polygon, this, _arg1); }; _local4 = null; _local5 = null; } public function setTransparency(_arg1:Number):void{ var _local2:Array; _arg1 = NumberUtil.constrain(_arg1, 0, 1); if (m_oCmf){ m_oCmf = null; }; _local2 = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, _arg1, 0]; m_oCmf = new ColorMatrixFilter(_local2); texture.applyFilter(m_orgTexture, texture.rect, m_oPoint, m_oCmf); } protected function _createTextureMatrix(_arg1:Array):Matrix{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Matrix; _local2 = (((_arg1[0].u * m_oTiling.x) + m_oOffset.x) * m_nWidth); _local3 = (((_arg1[0].v * m_oTiling.y) + m_oOffset.y) * m_nHeight); _local4 = (((_arg1[1].u * m_oTiling.x) + m_oOffset.x) * m_nWidth); _local5 = (((_arg1[1].v * m_oTiling.y) + m_oOffset.y) * m_nHeight); _local6 = (((_arg1[2].u * m_oTiling.x) + m_oOffset.x) * m_nWidth); _local7 = (((_arg1[2].v * m_oTiling.y) + m_oOffset.y) * m_nHeight); if ((((((_local2 == _local4)) && ((_local3 == _local5)))) || ((((_local2 == _local6)) && ((_local3 == _local7)))))){ _local2 = (_local2 - ((_local2)>0.05) ? 0.05 : -0.05); _local3 = (_local3 - ((_local3)>0.07) ? 0.07 : -0.07); }; if ((((_local6 == _local4)) && ((_local7 == _local5)))){ _local6 = (_local6 - ((_local6)>0.05) ? 0.04 : -0.04); _local7 = (_local7 - ((_local7)>0.06) ? 0.06 : -0.06); }; _local8 = new Matrix((_local4 - _local2), (_local5 - _local3), (_local6 - _local2), (_local7 - _local3), _local2, _local3); _local8.invert(); return (_local8); } public function toString():String{ return ("sandy.materials.BitmapMaterial"); } public function setTiling(_arg1:Number, _arg2:Number, _arg3:Number=0, _arg4:Number=0):void{ var _local5:String; var _local6:Polygon; m_oTiling.x = _arg1; m_oTiling.y = _arg2; m_oOffset.x = _arg3; m_oOffset.y = _arg4; for (_local5 in m_oPolygonMatrixMap) { _local6 = Polygon.POLYGON_MAP[_local5]; init(_local6); }; } } }//package sandy.materials
Section 98
//ColorMaterial (sandy.materials.ColorMaterial) package sandy.materials { import sandy.core.data.*; import flash.display.*; import sandy.core.*; import sandy.materials.attributes.*; public final class ColorMaterial extends Material { private var m_nColor:Number; private var m_nAlpha:Number; public function ColorMaterial(_arg1:uint=0, _arg2:Number=1, _arg3:MaterialAttributes=null){ super(_arg3); m_oType = MaterialType.COLOR; m_nColor = _arg1; m_nAlpha = _arg2; } override public function renderPolygon(_arg1:Scene3D, _arg2:Polygon, _arg3:Sprite):void{ var _local4:Array; var _local5:Vertex; var _local6:int; var _local7:Graphics; _local4 = (_arg2.isClipped) ? _arg2.cvertices : _arg2.vertices; if (!_local4.length){ return; }; _local6 = _local4.length; _local7 = _arg3.graphics; _local7.lineStyle(); _local7.beginFill(m_nColor, m_nAlpha); _local7.moveTo(_local4[0].sx, _local4[0].sy); while ((_local5 = _local4[--_local6])) { _local7.lineTo(_local5.sx, _local5.sy); }; _local7.endFill(); if (attributes){ attributes.draw(_local7, _arg2, this, _arg1); }; } public function set color(_arg1:Number):void{ m_nColor = _arg1; m_bModified = true; } public function get color():Number{ return (m_nColor); } public function get alpha():Number{ return (m_nAlpha); } public function set alpha(_arg1:Number):void{ m_nAlpha = _arg1; m_bModified = true; } } }//package sandy.materials
Section 99
//Material (sandy.materials.Material) package sandy.materials { import sandy.core.data.*; import flash.display.*; import sandy.core.scenegraph.*; import sandy.core.*; import sandy.materials.attributes.*; public class Material { protected var m_nFlags:uint;// = 0 public var useVertexNormal:Boolean;// = false public var attributes:MaterialAttributes; public var repeat:Boolean;// = true private var _id:Number; public var lightingEnable:Boolean;// = false protected var _useLight:Boolean;// = false protected var m_oType:MaterialType; protected var m_bModified:Boolean; private var _filters:Array; private static var create:Boolean; private static var _ID_:Number = 0; public function Material(_arg1:MaterialAttributes=null){ useVertexNormal = false; lightingEnable = false; repeat = true; m_nFlags = 0; _useLight = false; super(); _filters = []; _useLight = false; _id = _ID_++; attributes = ((_arg1)==null) ? new MaterialAttributes() : _arg1; m_bModified = true; m_oType = MaterialType.NONE; } public function get filters():Array{ return (_filters); } public function renderPolygon(_arg1:Scene3D, _arg2:Polygon, _arg3:Sprite):void{ if (attributes){ attributes.draw(_arg3.graphics, _arg2, this, _arg1); }; } public function get modified():Boolean{ return (m_bModified); } public function get flags():uint{ var _local1:uint; _local1 = m_nFlags; _local1 = (_local1 | attributes.flags); return (_local1); } public function init(_arg1:Polygon):void{ attributes.init(_arg1); } public function unlink(_arg1:Polygon):void{ attributes.unlink(_arg1); } public function finish(_arg1:Scene3D):void{ attributes.finish(_arg1); } public function get id():Number{ return (_id); } public function begin(_arg1:Scene3D):void{ attributes.begin(_arg1); } public function get type():MaterialType{ return (m_oType); } public function renderSprite(_arg1:Sprite2D, _arg2:Material, _arg3:Scene3D):void{ if (attributes){ attributes.drawOnSprite(_arg1, _arg2, _arg3); }; } public function set filters(_arg1:Array):void{ _filters = _arg1; m_bModified = true; } } }//package sandy.materials
Section 100
//MaterialManager (sandy.materials.MaterialManager) package sandy.materials { import sandy.core.*; public final class MaterialManager { private const m_aList:Array; public function MaterialManager(){ m_aList = new Array(); super(); } public function finish(_arg1:Scene3D):void{ var _local2:Material; for each (_local2 in m_aList) { _local2.finish(_arg1); }; } public function unregister(_arg1:Material):void{ var _local2:int; _local2 = 0; while (_local2 < m_aList.length) { if (m_aList[_local2] == _arg1){ m_aList.splice(_local2, 1); return; }; _local2 = (_local2 + 1); }; } public function begin(_arg1:Scene3D):void{ var _local2:Material; for each (_local2 in m_aList) { _local2.begin(_arg1); }; } public function register(_arg1:Material):void{ m_aList.push(_arg1); } public function isRegistered(_arg1:Material):Boolean{ var _local2:int; _local2 = 0; while (_local2 < m_aList.length) { if (m_aList[_local2] == _arg1){ return (true); }; _local2 = (_local2 + 1); }; return (false); } } }//package sandy.materials
Section 101
//MaterialType (sandy.materials.MaterialType) package sandy.materials { public class MaterialType { private var m_sType:String; public static const COLOR:MaterialType = new MaterialType("color"); ; public static const WIREFRAME:MaterialType = new MaterialType("wireframe"); ; public static const OUTLINE:MaterialType = new MaterialType("outline"); ; public static const BITMAP:MaterialType = new MaterialType("bitmap"); ; public static const NONE:MaterialType = new MaterialType("default"); ; public static const VIDEO:MaterialType = new MaterialType("video"); ; public static const MOVIE:MaterialType = new MaterialType("movie"); ; public function MaterialType(_arg1:String){ m_sType = _arg1; } } }//package sandy.materials
Section 102
//MovieMaterial (sandy.materials.MovieMaterial) package sandy.materials { import sandy.core.data.*; import flash.display.*; import flash.events.*; import sandy.core.*; import flash.geom.*; import flash.utils.*; import sandy.materials.attributes.*; import sandy.math.*; import sandy.util.*; public class MovieMaterial extends BitmapMaterial { private var m_bUpdate:Boolean; private var m_oTimer:Timer; private var m_oMovie:Sprite; private var m_oAlpha:ColorTransform; public static var DEFAULT_FILL_COLOR:uint = 0; public function MovieMaterial(_arg1:Sprite, _arg2:uint=40, _arg3:MaterialAttributes=null, _arg4:Boolean=false, _arg5:Number=0, _arg6:Number=0){ var _local7:Number; var _local8:Number; var _local9:BitmapData; var _local10:Rectangle; m_oAlpha = new ColorTransform(); if (_arg4){ _local9 = new BitmapData(_arg1.width, _arg1.height, true, 0); _local9.draw(_arg1); _local10 = _local9.getColorBoundsRect(4278190080, 0, false); _local7 = _local10.width; _local8 = _local10.height; } else { _local7 = (_arg6) ? _arg6 : _arg1.width; _local8 = (_arg5) ? _arg5 : _arg1.height; }; super(new BitmapData(_local7, _local8, true, DEFAULT_FILL_COLOR), _arg3); m_oMovie = _arg1; m_oType = MaterialType.MOVIE; m_bUpdate = true; m_oTimer = new Timer(_arg2); m_oTimer.addEventListener(TimerEvent.TIMER, _update); m_oTimer.start(); if (_local9){ _local9.dispose(); _local9 = null; }; _local10 = null; _local7 = undefined; _local8 = undefined; } public function stop():void{ m_oTimer.stop(); } public function get movie():Sprite{ return (m_oMovie); } override public function renderPolygon(_arg1:Scene3D, _arg2:Polygon, _arg3:Sprite):void{ m_bUpdate = true; super.renderPolygon(_arg1, _arg2, _arg3); } override public function setTransparency(_arg1:Number):void{ m_oAlpha.alphaMultiplier = NumberUtil.constrain(_arg1, 0, 1); } public function start():void{ m_oTimer.start(); } private function _update(_arg1:Event):void{ if (m_bUpdate){ m_oTexture.fillRect(m_oTexture.rect, ColorMath.applyAlpha(DEFAULT_FILL_COLOR, m_oAlpha.alphaMultiplier)); m_oTexture.draw(m_oMovie, null, m_oAlpha, null, null, smooth); }; m_bUpdate = false; } } }//package sandy.materials
Section 103
//WireFrameMaterial (sandy.materials.WireFrameMaterial) package sandy.materials { import sandy.core.data.*; import flash.display.*; import sandy.core.*; import sandy.materials.attributes.*; public final class WireFrameMaterial extends Material { public function WireFrameMaterial(_arg1:uint=1, _arg2:uint=0, _arg3:Number=1, _arg4:MaterialAttributes=null){ super(_arg4); m_oType = MaterialType.WIREFRAME; attributes.attributes.push(new LineAttributes(_arg1, _arg2, _arg3)); } override public function renderPolygon(_arg1:Scene3D, _arg2:Polygon, _arg3:Sprite):void{ attributes.draw(_arg3.graphics, _arg2, this, _arg1); } } }//package sandy.materials
Section 104
//ColorMath (sandy.math.ColorMath) package sandy.math { public class ColorMath { public static function applyAlpha(_arg1:uint, _arg2:Number):uint{ var _local3:uint; _local3 = (_arg1 / 16777216); return (((_arg1 & 0xFFFFFF) + (Math.floor((_arg2 * _local3)) * 16777216))); } public static function calculateLitColour(_arg1:Number, _arg2:Number):Number{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Array; var _local16:Number; var _local17:Number; var _local18:Number; _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); _local3 = (_local3 * 0.00390625); _local4 = (_local4 * 0.00390625); _local5 = (_local5 * 0.00390625); _local14 = 0; _local15 = [_local3, _local4, _local5]; _local15.sort(); _local6 = _local15[0]; _local7 = _local15[1]; _local8 = _local15[2]; _local16 = (_local8 - _local6); _local10 = ((_local6 + _local8) * 0.5); if (_local10 == 0){ _local11 = 1; } else { _local9 = (_local16 * 0.5); if (_local10 < 0.5){ _local11 = (_local9 / _local10); } else { _local11 = (_local9 / (1 - _local10)); }; if (_local16 != 0){ while (true) { if (_local3 == _local8){ if (_local5 == _local6){ _local14 = 0; } else { _local14 = 5; }; break; }; if (_local4 == _local8){ if (_local5 == _local6){ _local14 = 1; } else { _local14 = 2; }; break; }; if (_local3 == _local6){ _local14 = 3; } else { _local14 = 4; }; break; }; if ((_local14 % 2) == 0){ _local13 = (_local7 - _local6); } else { _local13 = (_local8 - _local7); }; _local13 = (_local13 / _local16); _local12 = (60 * (_local14 + _local13)); }; }; if (_arg2 < 0.5){ _local9 = (_local11 * _arg2); } else { _local9 = (_local11 * (1 - _arg2)); }; _local6 = (_arg2 - _local9); _local8 = (_arg2 + _local9); _local14 = Math.floor((_local12 / 60)); _local13 = (((_local12 - (_local14 * 60)) * _local9) / 30); _local14 = (_local14 % 6); _local17 = (_local6 + _local13); _local18 = (_local8 - _local13); switch (_local14){ case 0: _local3 = _local8; _local4 = _local17; _local5 = _local6; break; case 1: _local3 = _local18; _local4 = _local8; _local5 = _local6; break; case 2: _local3 = _local6; _local4 = _local8; _local5 = _local17; break; case 3: _local3 = _local6; _local4 = _local18; _local5 = _local8; break; case 4: _local3 = _local17; _local4 = _local6; _local5 = _local8; break; case 5: _local3 = _local8; _local4 = _local6; _local5 = _local18; break; }; return (((((_local3 * 0x0100) << 16) | ((_local4 * 0x0100) << 8)) | (_local5 * 0x0100))); } public static function hex2rgb(_arg1:Number):Object{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = ((0xFF0000 & _arg1) >> 16); _local3 = ((0xFF00 & _arg1) >> 8); _local4 = (0xFF & _arg1); return ({r:_local2, g:_local3, b:_local4}); } public static function rgb2hex(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return ((((_arg1 << 16) | (_arg2 << 8)) | _arg3)); } public static function hex2rgbn(_arg1:Number):Object{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = ((0xFF0000 & _arg1) >> 16); _local3 = ((0xFF00 & _arg1) >> 8); _local4 = (0xFF & _arg1); return ({r:(_local2 / 0xFF), g:(_local3 / 0xFF), b:(_local4 / 0xFF)}); } } }//package sandy.math
Section 105
//FastMath (sandy.math.FastMath) package sandy.math { public class FastMath { public static const PRECISION_DIV_2PI:Number = 20860.7567009409; public static const HALF_PI:Number = 1.5707963267949; public static const TWO_PI:Number = 6.28318530717959; public static const PRECISION_S:int = 131071; public static const initialized:Boolean = initialize(); public static const PRECISION:int = 131072; private static var RAD_SLICE:Number = 4.79368996214263E-5; private static var tanTable:Array = new Array(PRECISION); private static var sinTable:Array = new Array(PRECISION); public static function tan(_arg1:Number):Number{ return (tanTable[int(radToIndex(_arg1))]); } public static function sin(_arg1:Number):Number{ return (sinTable[int(radToIndex(_arg1))]); } private static function radToIndex(_arg1:Number):int{ return (int(((_arg1 * PRECISION_DIV_2PI) & PRECISION_S))); } public static function cos(_arg1:Number):Number{ return (sinTable[int(radToIndex((HALF_PI - _arg1)))]); } private static function initialize():Boolean{ var _local1:Number; var _local2:int; _local1 = 0; _local2 = 0; while (_local2 < PRECISION) { _local1 = Number((_local2 * RAD_SLICE)); sinTable[_local2] = Number(Math.sin(_local1)); tanTable[_local2] = Number(Math.tan(_local1)); _local2++; }; return (true); } } }//package sandy.math
Section 106
//IntersectionMath (sandy.math.IntersectionMath) package sandy.math { import sandy.core.data.*; import flash.geom.*; import sandy.bounds.*; import sandy.util.*; public final class IntersectionMath { public static function isPointInTriangle2D(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point):Boolean{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local5 = (1 / (((_arg2.y - _arg4.y) * (_arg3.x - _arg4.x)) + ((_arg3.y - _arg4.y) * (_arg4.x - _arg2.x)))); _local6 = (_local5 * (((_arg1.y - _arg4.y) * (_arg3.x - _arg4.x)) + ((_arg3.y - _arg4.y) * (_arg4.x - _arg1.x)))); _local7 = (_local5 * (((_arg1.y - _arg2.y) * (_arg4.x - _arg2.x)) + ((_arg4.y - _arg2.y) * (_arg2.x - _arg1.x)))); _local8 = (_local5 * (((_arg1.y - _arg3.y) * (_arg2.x - _arg3.x)) + ((_arg2.y - _arg3.y) * (_arg3.x - _arg1.x)))); return ((((((_local6 > 0)) && ((_local7 > 0)))) && ((_local8 > 0)))); } public static function intersectionLine3D(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Vector):Array{ var _local5:Array; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; _local5 = [new Vector((0.5 * (_arg1.x + _arg2.x)), (0.5 * (_arg1.y + _arg2.y)), (0.5 * (_arg1.z + _arg2.z))), new Vector((0.5 * (_arg3.x + _arg4.x)), (0.5 * (_arg3.y + _arg4.y)), (0.5 * (_arg3.z + _arg4.z)))]; _local6 = (_arg1.x - _arg3.x); _local7 = (_arg1.y - _arg3.y); _local8 = (_arg1.z - _arg3.z); _local9 = (_arg4.x - _arg3.x); _local10 = (_arg4.y - _arg3.y); _local11 = (_arg4.z - _arg3.z); if (((((NumberUtil.isZero(_local9)) && (NumberUtil.isZero(_local10)))) && (NumberUtil.isZero(_local11)))){ return (_local5); }; _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = (_arg2.z - _arg1.z); if (((((NumberUtil.isZero(_local12)) && (NumberUtil.isZero(_local13)))) && (NumberUtil.isZero(_local14)))){ return (_local5); }; _local15 = (((_local6 * _local9) + (_local7 * _local10)) + (_local8 * _local11)); _local16 = (((_local9 * _local12) + (_local10 * _local13)) + (_local11 * _local14)); _local17 = (((_local6 * _local12) + (_local7 * _local13)) + (_local8 * _local14)); _local18 = (((_local9 * _local9) + (_local10 * _local10)) + (_local11 * _local11)); _local19 = (((_local12 * _local12) + (_local13 * _local13)) + (_local14 * _local14)); _local20 = ((_local19 * _local18) - (_local16 * _local16)); if (NumberUtil.isZero(_local20)){ return (_local5); }; _local21 = (((_local15 * _local16) - (_local17 * _local18)) / _local20); _local22 = ((_local15 + (_local16 * _local21)) / _local18); return ([new Vector((_arg1.x + (_local21 * _local12)), (_arg1.y + (_local21 * _local13)), (_arg1.z + (_local21 * _local14))), new Vector((_arg3.x + (_local22 * _local9)), (_arg3.y + (_local22 * _local10)), (_arg3.z + (_local22 * _local11)))]); } public static function intersectionBSphere(_arg1:BSphere, _arg2:BSphere):Boolean{ var _local3:Vector; var _local4:Number; var _local5:Number; _local3 = _arg1.position.clone(); _local3.sub(_arg2.position); _local4 = (_arg1.radius + _arg2.radius); _local5 = _local3.getNorm(); return ((_local5 <= _local4)); } public static function intersectionLine2D(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point):Point{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local5 = _arg1.x; _local6 = _arg1.y; _local7 = _arg2.x; _local8 = _arg2.y; _local9 = _arg3.x; _local10 = _arg3.y; _local11 = _arg4.x; _local12 = _arg4.y; _local13 = (((_local12 - _local10) * (_local7 - _local5)) - ((_local11 - _local9) * (_local8 - _local6))); if (_local13 == 0){ return (null); }; _local14 = (((_local11 - _local9) * (_local6 - _local10)) - ((_local12 - _local10) * (_local5 - _local9))); _local14 = (_local14 / _local13); return (new Point((_local5 + (_local14 * (_local7 - _local5))), (_local6 + (_local14 * (_local8 - _local6))))); } } }//package sandy.math
Section 107
//Matrix4Math (sandy.math.Matrix4Math) package sandy.math { import sandy.core.data.*; import sandy.util.*; public class Matrix4Math { private const _fastMathInitialized:Boolean; public static var USE_FAST_MATH:Boolean = false; public function Matrix4Math(){ _fastMathInitialized = FastMath.initialized; super(); } public static function getInverse(_arg1:Matrix4):Matrix4{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local2 = Matrix4Math.det(_arg1); if (Math.abs(_local2) < 0.001){ return (null); }; _local2 = (1 / _local2); _local3 = _arg1.n11; _local4 = _arg1.n21; _local5 = _arg1.n31; _local6 = _arg1.n41; _local7 = _arg1.n12; _local8 = _arg1.n22; _local9 = _arg1.n32; _local10 = _arg1.n42; _local11 = _arg1.n13; _local12 = _arg1.n23; _local13 = _arg1.n33; _local14 = _arg1.n43; _local15 = _arg1.n14; _local16 = _arg1.n24; _local17 = _arg1.n34; _local18 = _arg1.n44; return (new Matrix4((_local2 * (((_local8 * ((_local13 * _local18) - (_local14 * _local17))) - (_local9 * ((_local12 * _local18) - (_local14 * _local16)))) + (_local10 * ((_local12 * _local17) - (_local13 * _local16))))), (-(_local2) * (((_local7 * ((_local13 * _local18) - (_local14 * _local17))) - (_local9 * ((_local11 * _local18) - (_local14 * _local15)))) + (_local10 * ((_local11 * _local17) - (_local13 * _local15))))), (_local2 * (((_local7 * ((_local12 * _local18) - (_local14 * _local16))) - (_local8 * ((_local11 * _local18) - (_local14 * _local15)))) + (_local10 * ((_local11 * _local16) - (_local12 * _local15))))), (-(_local2) * (((_local7 * ((_local12 * _local17) - (_local13 * _local16))) - (_local8 * ((_local11 * _local17) - (_local13 * _local15)))) + (_local9 * ((_local11 * _local16) - (_local12 * _local15))))), (-(_local2) * (((_local4 * ((_local13 * _local18) - (_local14 * _local17))) - (_local5 * ((_local12 * _local18) - (_local14 * _local16)))) + (_local6 * ((_local12 * _local17) - (_local13 * _local16))))), (_local2 * (((_local3 * ((_local13 * _local18) - (_local14 * _local17))) - (_local5 * ((_local11 * _local18) - (_local14 * _local15)))) + (_local6 * ((_local11 * _local17) - (_local13 * _local15))))), (-(_local2) * (((_local3 * ((_local12 * _local18) - (_local14 * _local16))) - (_local4 * ((_local11 * _local18) - (_local14 * _local15)))) + (_local6 * ((_local11 * _local16) - (_local12 * _local15))))), (_local2 * (((_local3 * ((_local12 * _local17) - (_local13 * _local16))) - (_local4 * ((_local11 * _local17) - (_local13 * _local15)))) + (_local5 * ((_local11 * _local16) - (_local12 * _local15))))), (_local2 * (((_local4 * ((_local9 * _local18) - (_local10 * _local17))) - (_local5 * ((_local8 * _local18) - (_local10 * _local16)))) + (_local6 * ((_local8 * _local17) - (_local9 * _local16))))), (-(_local2) * (((_local3 * ((_local9 * _local18) - (_local10 * _local17))) - (_local5 * ((_local7 * _local18) - (_local10 * _local15)))) + (_local6 * ((_local7 * _local17) - (_local9 * _local15))))), (_local2 * (((_local3 * ((_local8 * _local18) - (_local10 * _local16))) - (_local4 * ((_local7 * _local18) - (_local10 * _local15)))) + (_local6 * ((_local7 * _local16) - (_local8 * _local15))))), (-(_local2) * (((_local3 * ((_local8 * _local17) - (_local9 * _local16))) - (_local4 * ((_local7 * _local17) - (_local9 * _local15)))) + (_local5 * ((_local7 * _local16) - (_local8 * _local15))))), (-(_local2) * (((_local4 * ((_local9 * _local14) - (_local10 * _local13))) - (_local5 * ((_local8 * _local14) - (_local10 * _local12)))) + (_local6 * ((_local8 * _local13) - (_local9 * _local12))))), (_local2 * (((_local3 * ((_local9 * _local14) - (_local10 * _local13))) - (_local5 * ((_local7 * _local14) - (_local10 * _local11)))) + (_local6 * ((_local7 * _local13) - (_local9 * _local11))))), (-(_local2) * (((_local3 * ((_local8 * _local14) - (_local10 * _local12))) - (_local4 * ((_local7 * _local14) - (_local10 * _local11)))) + (_local6 * ((_local7 * _local12) - (_local8 * _local11))))), (_local2 * (((_local3 * ((_local8 * _local13) - (_local9 * _local12))) - (_local4 * ((_local7 * _local13) - (_local9 * _local11)))) + (_local5 * ((_local7 * _local12) - (_local8 * _local11))))))); } public static function det3x3(_arg1:Matrix4):Number{ return ((((_arg1.n11 * ((_arg1.n22 * _arg1.n33) - (_arg1.n23 * _arg1.n32))) + (_arg1.n21 * ((_arg1.n32 * _arg1.n13) - (_arg1.n12 * _arg1.n33)))) + (_arg1.n31 * ((_arg1.n12 * _arg1.n23) - (_arg1.n22 * _arg1.n13))))); } public static function multiply4x3(_arg1:Matrix4, _arg2:Matrix4):Matrix4{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local3 = _arg1.n11; _local4 = _arg2.n11; _local5 = _arg1.n21; _local6 = _arg2.n21; _local7 = _arg1.n31; _local8 = _arg2.n31; _local9 = _arg1.n12; _local10 = _arg2.n12; _local11 = _arg1.n22; _local12 = _arg2.n22; _local13 = _arg1.n32; _local14 = _arg2.n32; _local15 = _arg1.n13; _local16 = _arg2.n13; _local17 = _arg1.n23; _local18 = _arg2.n23; _local19 = _arg1.n33; _local20 = _arg2.n33; _local21 = _arg2.n14; _local22 = _arg2.n24; _local23 = _arg2.n34; return (new Matrix4((((_local3 * _local4) + (_local9 * _local6)) + (_local15 * _local8)), (((_local3 * _local10) + (_local9 * _local12)) + (_local15 * _local14)), (((_local3 * _local16) + (_local9 * _local18)) + (_local15 * _local20)), ((((_local21 * _local3) + (_local22 * _local9)) + (_local23 * _local15)) + _arg1.n14), (((_local5 * _local4) + (_local11 * _local6)) + (_local17 * _local8)), (((_local5 * _local10) + (_local11 * _local12)) + (_local17 * _local14)), (((_local5 * _local16) + (_local11 * _local18)) + (_local17 * _local20)), ((((_local21 * _local5) + (_local22 * _local11)) + (_local23 * _local17)) + _arg1.n24), (((_local7 * _local4) + (_local13 * _local6)) + (_local19 * _local8)), (((_local7 * _local10) + (_local13 * _local12)) + (_local19 * _local14)), (((_local7 * _local16) + (_local13 * _local18)) + (_local19 * _local20)), ((((_local21 * _local7) + (_local22 * _local13)) + (_local23 * _local19)) + _arg1.n34), 0, 0, 0, 1)); } public static function multiply(_arg1:Matrix4, _arg2:Matrix4):Matrix4{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _local3 = _arg1.n11; _local4 = _arg1.n21; _local5 = _arg1.n31; _local6 = _arg1.n41; _local7 = _arg1.n12; _local8 = _arg1.n22; _local9 = _arg1.n32; _local10 = _arg1.n42; _local11 = _arg1.n13; _local12 = _arg1.n23; _local13 = _arg1.n33; _local14 = _arg1.n43; _local15 = _arg1.n14; _local16 = _arg1.n24; _local17 = _arg1.n34; _local18 = _arg1.n44; _local19 = _arg2.n11; _local20 = _arg2.n21; _local21 = _arg2.n31; _local22 = _arg2.n41; _local23 = _arg2.n12; _local24 = _arg2.n22; _local25 = _arg2.n32; _local26 = _arg2.n42; _local27 = _arg2.n13; _local28 = _arg2.n23; _local29 = _arg2.n33; _local30 = _arg2.n43; _local31 = _arg2.n14; _local32 = _arg2.n24; _local33 = _arg2.n34; _local34 = _arg2.n44; return (new Matrix4(((((_local3 * _local19) + (_local7 * _local20)) + (_local11 * _local21)) + (_local15 * _local22)), ((((_local3 * _local23) + (_local7 * _local24)) + (_local11 * _local25)) + (_local15 * _local26)), ((((_local3 * _local27) + (_local7 * _local28)) + (_local11 * _local29)) + (_local15 * _local30)), ((((_local3 * _local31) + (_local7 * _local32)) + (_local11 * _local33)) + (_local15 * _local34)), ((((_local4 * _local19) + (_local8 * _local20)) + (_local12 * _local21)) + (_local16 * _local22)), ((((_local4 * _local23) + (_local8 * _local24)) + (_local12 * _local25)) + (_local16 * _local26)), ((((_local4 * _local27) + (_local8 * _local28)) + (_local12 * _local29)) + (_local16 * _local30)), ((((_local4 * _local31) + (_local8 * _local32)) + (_local12 * _local33)) + (_local16 * _local34)), ((((_local5 * _local19) + (_local9 * _local20)) + (_local13 * _local21)) + (_local17 * _local22)), ((((_local5 * _local23) + (_local9 * _local24)) + (_local13 * _local25)) + (_local17 * _local26)), ((((_local5 * _local27) + (_local9 * _local28)) + (_local13 * _local29)) + (_local17 * _local30)), ((((_local5 * _local31) + (_local9 * _local32)) + (_local13 * _local33)) + (_local17 * _local34)), ((((_local6 * _local19) + (_local10 * _local20)) + (_local14 * _local21)) + (_local18 * _local22)), ((((_local6 * _local23) + (_local10 * _local24)) + (_local14 * _local25)) + (_local18 * _local26)), ((((_local6 * _local27) + (_local10 * _local28)) + (_local14 * _local29)) + (_local18 * _local30)), ((((_local6 * _local31) + (_local10 * _local32)) + (_local14 * _local33)) + (_local18 * _local34)))); } public static function eulerRotation(_arg1:Number, _arg2:Number, _arg3:Number):Matrix4{ var _local4:Matrix4; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local4 = new Matrix4(); _arg1 = NumberUtil.toRadian(_arg1); _arg2 = NumberUtil.toRadian(_arg2); _arg3 = NumberUtil.toRadian(_arg3); _local5 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local6 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); _local7 = ((USE_FAST_MATH)==false) ? Math.cos(_arg2) : FastMath.cos(_arg2); _local8 = ((USE_FAST_MATH)==false) ? Math.sin(_arg2) : FastMath.sin(_arg2); _local9 = ((USE_FAST_MATH)==false) ? Math.cos(_arg3) : FastMath.cos(_arg3); _local10 = ((USE_FAST_MATH)==false) ? Math.sin(_arg3) : FastMath.sin(_arg3); _local11 = (_local5 * _local8); _local12 = (_local6 * _local8); _local4.n11 = (_local7 * _local9); _local4.n12 = (-(_local7) * _local10); _local4.n13 = _local8; _local4.n21 = ((_local12 * _local9) + (_local5 * _local10)); _local4.n22 = ((-(_local12) * _local10) + (_local5 * _local9)); _local4.n23 = (-(_local6) * _local7); _local4.n31 = ((-(_local11) * _local9) + (_local6 * _local10)); _local4.n32 = ((_local11 * _local10) + (_local6 * _local9)); _local4.n33 = (_local5 * _local7); return (_local4); } public static function rotationY(_arg1:Number):Matrix4{ var _local2:Matrix4; var _local3:Number; var _local4:Number; _local2 = new Matrix4(); _arg1 = NumberUtil.toRadian(_arg1); _local3 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local4 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); _local2.n11 = _local3; _local2.n13 = -(_local4); _local2.n31 = _local4; _local2.n33 = _local3; return (_local2); } public static function axisRotationVector(_arg1:Vector, _arg2:Number):Matrix4{ return (Matrix4Math.axisRotation(_arg1.x, _arg1.y, _arg1.z, _arg2)); } public static function multiply3x3(_arg1:Matrix4, _arg2:Matrix4):Matrix4{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local3 = _arg1.n11; _local4 = _arg2.n11; _local5 = _arg1.n21; _local6 = _arg2.n21; _local7 = _arg1.n31; _local8 = _arg2.n31; _local9 = _arg1.n12; _local10 = _arg2.n12; _local11 = _arg1.n22; _local12 = _arg2.n22; _local13 = _arg1.n32; _local14 = _arg2.n32; _local15 = _arg1.n13; _local16 = _arg2.n13; _local17 = _arg1.n23; _local18 = _arg2.n23; _local19 = _arg1.n33; _local20 = _arg2.n33; return (new Matrix4((((_local3 * _local4) + (_local9 * _local6)) + (_local15 * _local8)), (((_local3 * _local10) + (_local9 * _local12)) + (_local15 * _local14)), (((_local3 * _local16) + (_local9 * _local18)) + (_local15 * _local20)), 0, (((_local5 * _local4) + (_local11 * _local6)) + (_local17 * _local8)), (((_local5 * _local10) + (_local11 * _local12)) + (_local17 * _local14)), (((_local5 * _local16) + (_local11 * _local18)) + (_local17 * _local20)), 0, (((_local7 * _local4) + (_local13 * _local6)) + (_local19 * _local8)), (((_local7 * _local10) + (_local13 * _local12)) + (_local19 * _local14)), (((_local7 * _local16) + (_local13 * _local18)) + (_local19 * _local20)), 0, 0, 0, 0, 1)); } public static function vectorMult(_arg1:Matrix4, _arg2:Vector):Vector{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg2.x; _local4 = _arg2.y; _local5 = _arg2.z; return (new Vector(((((_local3 * _arg1.n11) + (_local4 * _arg1.n12)) + (_local5 * _arg1.n13)) + _arg1.n14), ((((_local3 * _arg1.n21) + (_local4 * _arg1.n22)) + (_local5 * _arg1.n23)) + _arg1.n24), ((((_local3 * _arg1.n31) + (_local4 * _arg1.n32)) + (_local5 * _arg1.n33)) + _arg1.n34))); } public static function scaleVector(_arg1:Vector):Matrix4{ var _local2:Matrix4; _local2 = new Matrix4(); _local2.n11 = _arg1.x; _local2.n22 = _arg1.y; _local2.n33 = _arg1.z; return (_local2); } public static function getTrace(_arg1:Matrix4):Number{ return ((((_arg1.n11 + _arg1.n22) + _arg1.n33) + _arg1.n44)); } public static function translation(_arg1:Number, _arg2:Number, _arg3:Number):Matrix4{ var _local4:Matrix4; _local4 = new Matrix4(); _local4.n14 = _arg1; _local4.n24 = _arg2; _local4.n34 = _arg3; return (_local4); } public static function addMatrix4(_arg1:Matrix4, _arg2:Matrix4):Matrix4{ return (new Matrix4((_arg1.n11 + _arg2.n11), (_arg1.n12 + _arg2.n12), (_arg1.n13 + _arg2.n13), (_arg1.n14 + _arg2.n14), (_arg1.n21 + _arg2.n21), (_arg1.n22 + _arg2.n22), (_arg1.n23 + _arg2.n23), (_arg1.n24 + _arg2.n24), (_arg1.n31 + _arg2.n31), (_arg1.n32 + _arg2.n32), (_arg1.n33 + _arg2.n33), (_arg1.n34 + _arg2.n34), (_arg1.n41 + _arg2.n41), (_arg1.n42 + _arg2.n42), (_arg1.n43 + _arg2.n43), (_arg1.n44 + _arg2.n44))); } public static function translationVector(_arg1:Vector):Matrix4{ var _local2:Matrix4; _local2 = new Matrix4(); _local2.n14 = _arg1.x; _local2.n24 = _arg1.y; _local2.n34 = _arg1.z; return (_local2); } public static function det(_arg1:Matrix4):Number{ return (((((((((_arg1.n11 * _arg1.n22) - (_arg1.n21 * _arg1.n12)) * ((_arg1.n33 * _arg1.n44) - (_arg1.n43 * _arg1.n34))) - (((_arg1.n11 * _arg1.n32) - (_arg1.n31 * _arg1.n12)) * ((_arg1.n23 * _arg1.n44) - (_arg1.n43 * _arg1.n24)))) + (((_arg1.n11 * _arg1.n42) - (_arg1.n41 * _arg1.n12)) * ((_arg1.n23 * _arg1.n34) - (_arg1.n33 * _arg1.n24)))) + (((_arg1.n21 * _arg1.n32) - (_arg1.n31 * _arg1.n22)) * ((_arg1.n13 * _arg1.n44) - (_arg1.n43 * _arg1.n14)))) - (((_arg1.n21 * _arg1.n42) - (_arg1.n41 * _arg1.n22)) * ((_arg1.n13 * _arg1.n34) - (_arg1.n33 * _arg1.n14)))) + (((_arg1.n31 * _arg1.n42) - (_arg1.n41 * _arg1.n32)) * ((_arg1.n13 * _arg1.n24) - (_arg1.n23 * _arg1.n14))))); } public static function scale(_arg1:Number, _arg2:Number, _arg3:Number):Matrix4{ var _local4:Matrix4; _local4 = new Matrix4(); _local4.n11 = _arg1; _local4.n22 = _arg2; _local4.n33 = _arg3; return (_local4); } public static function rotationX(_arg1:Number):Matrix4{ var _local2:Matrix4; var _local3:Number; var _local4:Number; _local2 = new Matrix4(); _arg1 = NumberUtil.toRadian(_arg1); _local3 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local4 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); _local2.n22 = _local3; _local2.n23 = _local4; _local2.n32 = -(_local4); _local2.n33 = _local3; return (_local2); } public static function vectorMult3x3(_arg1:Matrix4, _arg2:Vector):Vector{ var _local3:Number; var _local4:Number; var _local5:Number; _local3 = _arg2.x; _local4 = _arg2.y; _local5 = _arg2.z; return (new Vector((((_local3 * _arg1.n11) + (_local4 * _arg1.n12)) + (_local5 * _arg1.n13)), (((_local3 * _arg1.n21) + (_local4 * _arg1.n22)) + (_local5 * _arg1.n23)), (((_local3 * _arg1.n31) + (_local4 * _arg1.n32)) + (_local5 * _arg1.n33)))); } public static function rotationZ(_arg1:Number):Matrix4{ var _local2:Matrix4; var _local3:Number; var _local4:Number; _local2 = new Matrix4(); _arg1 = NumberUtil.toRadian(_arg1); _local3 = ((USE_FAST_MATH)==false) ? Math.cos(_arg1) : FastMath.cos(_arg1); _local4 = ((USE_FAST_MATH)==false) ? Math.sin(_arg1) : FastMath.sin(_arg1); _local2.n11 = _local3; _local2.n12 = _local4; _local2.n21 = -(_local4); _local2.n22 = _local3; return (_local2); } public static function clone(_arg1:Matrix4):Matrix4{ return (new Matrix4(_arg1.n11, _arg1.n12, _arg1.n13, _arg1.n14, _arg1.n21, _arg1.n22, _arg1.n23, _arg1.n24, _arg1.n31, _arg1.n32, _arg1.n33, _arg1.n34, _arg1.n41, _arg1.n42, _arg1.n43, _arg1.n44)); } public static function axisRotationWithReference(_arg1:Vector, _arg2:Vector, _arg3:Number):Matrix4{ var _local4:Number; var _local5:Matrix4; _local4 = ((_arg3 + 360) % 360); _local5 = Matrix4Math.translation(_arg2.x, _arg2.y, _arg2.z); _local5 = Matrix4Math.multiply(_local5, Matrix4Math.axisRotation(_arg1.x, _arg1.y, _arg1.z, _local4)); _local5 = Matrix4Math.multiply(_local5, Matrix4Math.translation(-(_arg2.x), -(_arg2.y), -(_arg2.z))); return (_local5); } public static function axisRotation(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix4{ var _local5:Matrix4; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local5 = new Matrix4(); _arg4 = NumberUtil.toRadian(_arg4); _local6 = ((USE_FAST_MATH)==false) ? Math.cos(_arg4) : FastMath.cos(_arg4); _local7 = ((USE_FAST_MATH)==false) ? Math.sin(_arg4) : FastMath.sin(_arg4); _local8 = (1 - _local6); _local9 = ((_arg1 * _arg2) * _local8); _local10 = ((_arg2 * _arg3) * _local8); _local11 = ((_arg1 * _arg3) * _local8); _local12 = (_local7 * _arg3); _local13 = (_local7 * _arg2); _local14 = (_local7 * _arg1); _local5.n11 = (_local6 + ((_arg1 * _arg1) * _local8)); _local5.n12 = (-(_local12) + _local9); _local5.n13 = (_local13 + _local11); _local5.n21 = (_local12 + _local9); _local5.n22 = (_local6 + ((_arg2 * _arg2) * _local8)); _local5.n23 = (-(_local14) + _local10); _local5.n31 = (-(_local13) + _local11); _local5.n32 = (_local14 + _local10); _local5.n33 = (_local6 + ((_arg3 * _arg3) * _local8)); return (_local5); } } }//package sandy.math
Section 108
//PlaneMath (sandy.math.PlaneMath) package sandy.math { import sandy.core.data.*; public class PlaneMath { public static const NEGATIVE:int = -1; public static const POSITIVE:int = 1; public static const ON_PLANE:int = 0; public static function distanceToPoint(_arg1:Plane, _arg2:Vector):Number{ return (((((_arg1.a * _arg2.x) + (_arg1.b * _arg2.y)) + (_arg1.c * _arg2.z)) + _arg1.d)); } public static function classifyPoint(_arg1:Plane, _arg2:Vector):Number{ var _local3:Number; _local3 = PlaneMath.distanceToPoint(_arg1, _arg2); if (_local3 < 0){ return (PlaneMath.NEGATIVE); }; if (_local3 > 0){ return (PlaneMath.POSITIVE); }; return (PlaneMath.ON_PLANE); } public static function computePlaneFromPoints(_arg1:Vector, _arg2:Vector, _arg3:Vector):Plane{ var _local4:Vector; var _local5:Number; _local4 = VectorMath.cross(VectorMath.sub(_arg1, _arg2), VectorMath.sub(_arg1, _arg3)); VectorMath.normalize(_local4); _local5 = VectorMath.dot(_arg1, _local4); return (new Plane(_local4.x, _local4.y, _local4.z, _local5)); } public static function createFromNormalAndPoint(_arg1:Vector, _arg2:Number):Plane{ var _local3:Plane; _local3 = new Plane(); VectorMath.normalize(_arg1); _local3.a = _arg1.x; _local3.b = _arg1.y; _local3.c = _arg1.z; _local3.d = _arg2; PlaneMath.normalizePlane(_local3); return (_local3); } public static function normalizePlane(_arg1:Plane):void{ var _local2:Number; _local2 = Math.sqrt((((_arg1.a * _arg1.a) + (_arg1.b * _arg1.b)) + (_arg1.c * _arg1.c))); _arg1.a = (_arg1.a / _local2); _arg1.b = (_arg1.b / _local2); _arg1.c = (_arg1.c / _local2); _arg1.d = (_arg1.d / _local2); } } }//package sandy.math
Section 109
//VectorMath (sandy.math.VectorMath) package sandy.math { import sandy.core.data.*; public class VectorMath { public static function sub(_arg1:Vector, _arg2:Vector):Vector{ return (new Vector((_arg1.x - _arg2.x), (_arg1.y - _arg2.y), (_arg1.z - _arg2.z))); } public static function negate(_arg1:Vector):Vector{ return (new Vector(-(_arg1.x), -(_arg1.y), -(_arg1.z))); } public static function addVector(_arg1:Vector, _arg2:Vector):Vector{ return (new Vector((_arg1.x + _arg2.x), (_arg1.y + _arg2.y), (_arg1.z + _arg2.z))); } public static function cross(_arg1:Vector, _arg2:Vector):Vector{ return (new Vector(((_arg1.y * _arg2.z) - (_arg1.z * _arg2.y)), ((_arg1.z * _arg2.x) - (_arg1.x * _arg2.z)), ((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x)))); } public static function scale(_arg1:Vector, _arg2:Number):Vector{ return (new Vector((_arg1.x * _arg2), (_arg1.y * _arg2), (_arg1.z * _arg2))); } public static function clone(_arg1:Vector):Vector{ return (new Vector(_arg1.x, _arg1.y, _arg1.z)); } public static function normalize(_arg1:Vector):Boolean{ var _local2:Number; _local2 = VectorMath.getNorm(_arg1); if ((((_local2 == 0)) || ((_local2 == 1)))){ return (false); }; _arg1.x = (_arg1.x / _local2); _arg1.y = (_arg1.y / _local2); _arg1.z = (_arg1.z / _local2); return (true); } public static function dot(_arg1:Vector, _arg2:Vector):Number{ return ((((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)) + (_arg2.z * _arg1.z))); } public static function getNorm(_arg1:Vector):Number{ return (Math.sqrt((((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y)) + (_arg1.z * _arg1.z)))); } public static function sphrand(_arg1:Number, _arg2:Number):Vector{ var _local3:Vector; var _local4:Number; _local3 = new Vector((Math.random() - 0.5), (Math.random() - 0.5), (Math.random() - 0.5)); _local3.normalize(); _local4 = Math.random(); _local4 = (((_arg2 - _arg1) * _local4) + _arg1); _local3.scale(_local4); return (_local3); } public static function pow(_arg1:Vector, _arg2:Number):Vector{ return (new Vector(Math.pow(_arg1.x, _arg2), Math.pow(_arg1.y, _arg2), Math.pow(_arg1.z, _arg2))); } public static function getAngle(_arg1:Vector, _arg2:Vector):Number{ var _local3:Number; var _local4:Number; _local3 = (VectorMath.dot(_arg1, _arg2) / (VectorMath.getNorm(_arg1) * VectorMath.getNorm(_arg2))); _local4 = (1 - (_local3 * _local3)); if (_local4 < 0){ trace((" wrong " + _local3)); _local4 = 0; }; return (Math.atan2(Math.sqrt(_local4), _local3)); } } }//package sandy.math
Section 110
//Plane3D (sandy.primitive.Plane3D) package sandy.primitive { import sandy.core.scenegraph.*; public class Plane3D extends Shape3D implements Primitive3D { private var m_sType:String; private var _lg:Number; private var _qV:uint; private var _qH:uint; private var _mode:String; private var _h:Number; public static const ZX_ALIGNED:String = "zx_aligned"; public static const YZ_ALIGNED:String = "yz_aligned"; public static const XY_ALIGNED:String = "xy_aligned"; public function Plane3D(_arg1:String=null, _arg2:Number=100, _arg3:Number=100, _arg4:uint=1, _arg5:uint=1, _arg6:String="xy_aligned", _arg7:String=null){ super(_arg1); _h = _arg2; _lg = _arg3; _qV = _arg5; _qH = _arg4; _mode = (((!((_arg7 == PrimitiveMode.TRI))) && (!((_arg7 == PrimitiveMode.QUAD))))) ? PrimitiveMode.TRI : _arg7; m_sType = _arg6; geometry = generate(); } override public function toString():String{ return ("sandy.primitive.Plane3D"); } public function generate(... _args):Geometry3D{ var _local2:Geometry3D; var _local3:uint; var _local4:uint; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local2 = new Geometry3D(); _local5 = (_h / 2); _local6 = (_lg / 2); _local7 = (_h / _qV); _local8 = (_lg / _qH); _local3 = 0; _local9 = -(_local5); _local11 = 0; while (_local3 <= _qV) { _local4 = 0; _local10 = -(_local6); _local12 = 0; while (_local4 <= _qH) { if (m_sType == Plane3D.ZX_ALIGNED){ _local2.setVertex(_local2.getNextVertexID(), _local10, 0, _local9); } else { if (m_sType == Plane3D.YZ_ALIGNED){ _local2.setVertex(_local2.getNextVertexID(), 0, _local10, _local9); } else { _local2.setVertex(_local2.getNextVertexID(), _local10, _local9, 0); }; }; _local2.setUVCoords(_local2.getNextUVCoordID(), (_local12 / _lg), (1 - (_local11 / _h))); _local10 = (_local10 + _local8); _local12 = (_local12 + _local8); _local4++; }; _local9 = (_local9 + _local7); _local11 = (_local11 + _local7); _local3++; }; _local3 = 0; while (_local3 < _qV) { _local4 = 0; while (_local4 < _qH) { if (_mode == PrimitiveMode.TRI){ _local2.setFaceVertexIds(_local2.getNextFaceID(), ((_local3 * (_qH + 1)) + _local4), (((_local3 * (_qH + 1)) + _local4) + 1), (((_local3 + 1) * (_qH + 1)) + _local4)); _local2.setFaceUVCoordsIds(_local2.getNextFaceUVCoordID(), ((_local3 * (_qH + 1)) + _local4), (((_local3 * (_qH + 1)) + _local4) + 1), (((_local3 + 1) * (_qH + 1)) + _local4)); _local2.setFaceVertexIds(_local2.getNextFaceID(), (((_local3 * (_qH + 1)) + _local4) + 1), ((((_local3 + 1) * (_qH + 1)) + _local4) + 1), (((_local3 + 1) * (_qH + 1)) + _local4)); _local2.setFaceUVCoordsIds(_local2.getNextFaceUVCoordID(), (((_local3 * (_qH + 1)) + _local4) + 1), ((((_local3 + 1) * (_qH + 1)) + _local4) + 1), (((_local3 + 1) * (_qH + 1)) + _local4)); } else { if (_mode == PrimitiveMode.QUAD){ _local2.setFaceVertexIds(_local2.getNextFaceID(), ((_local3 * (_qH + 1)) + _local4), (((_local3 * (_qH + 1)) + _local4) + 1), ((((_local3 + 1) * (_qH + 1)) + _local4) + 1), (((_local3 + 1) * (_qH + 1)) + _local4)); _local2.setFaceUVCoordsIds(_local2.getNextFaceUVCoordID(), ((_local3 * (_qH + 1)) + _local4), (((_local3 * (_qH + 1)) + _local4) + 1), ((((_local3 + 1) * (_qH + 1)) + _local4) + 1), (((_local3 + 1) * (_qH + 1)) + _local4)); }; }; _local4++; }; _local3++; }; return (_local2); } } }//package sandy.primitive
Section 111
//Primitive3D (sandy.primitive.Primitive3D) package sandy.primitive { import sandy.core.scenegraph.*; public interface Primitive3D { function generate(... _args):Geometry3D; } }//package sandy.primitive
Section 112
//PrimitiveMode (sandy.primitive.PrimitiveMode) package sandy.primitive { public final class PrimitiveMode { public static const TRI:String = "tri"; public static const QUAD:String = "quad"; } }//package sandy.primitive
Section 113
//NumberUtil (sandy.util.NumberUtil) package sandy.util { public class NumberUtil { private static var __TO_RADIAN:Number = 0.0174532925199433; private static var _fABS:Function = Math.abs; private static var __TWO_PI:Number = 6.28318530717959; private static var __PI:Number = 3.14159265358979; private static var __TO_DREGREE:Number = 57.2957795130823; private static var __HALF_PI:Number = 1.5707963267949; public static var TOL:Number = 1E-5; public static function areEqual(_arg1:Number, _arg2:Number):Boolean{ return ((_fABS((_arg1 - _arg2)) < TOL)); } public static function get TO_DEGREE():Number{ return (__TO_DREGREE); } public static function get HALF_PI():Number{ return (__HALF_PI); } public static function toDegree(_arg1:Number):Number{ return ((_arg1 * TO_DEGREE)); } public static function roundTo(_arg1:Number, _arg2:Number=0):Number{ if (_arg2 == 0){ _arg2 = 1; }; return ((Math.round((_arg1 / _arg2)) * _arg2)); } public static function get TWO_PI():Number{ return (__TWO_PI); } public static function isZero(_arg1:Number):Boolean{ return ((_fABS(_arg1) < TOL)); } public static function get TO_RADIAN():Number{ return (__TO_RADIAN); } public static function constrain(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (Math.max(Math.min(_arg1, _arg3), _arg2)); } public static function get PI():Number{ return (__PI); } public static function toRadian(_arg1:Number):Number{ return ((_arg1 * TO_RADIAN)); } } }//package sandy.util
Section 114
//CullingState (sandy.view.CullingState) package sandy.view { public class CullingState { private var m_sState:String; public static const OUTSIDE:CullingState = new CullingState("outside"); ; public static const INSIDE:CullingState = new CullingState("inside"); ; public static const INTERSECT:CullingState = new CullingState("intersect"); ; public function CullingState(_arg1:String){ m_sState = _arg1; } public function toString():String{ return (("[sandy.view.CullingState] :: state : " + m_sState)); } } }//package sandy.view
Section 115
//Frustum (sandy.view.Frustum) package sandy.view { import sandy.core.data.*; import sandy.bounds.*; import sandy.math.*; import sandy.util.*; public class Frustum { public var aPoints:Array; public var aNormals:Array; public var aConstants:Array; public var aPlanes:Array; public static const INSIDE:CullingState = CullingState.INSIDE; public static const OUTSIDE:CullingState = CullingState.OUTSIDE; public static const INTERSECT:CullingState = CullingState.INTERSECT; public static const LEFT:uint = 3; public static const NEAR:uint = 0; public static const BOTTOM:uint = 5; public static const TOP:uint = 4; public static const FAR:uint = 1; public static const EPSILON:Number = 0.005; public static const RIGHT:uint = 2; public function Frustum(){ aPlanes = new Array(6); aPoints = new Array(8); aNormals = new Array(6); aConstants = new Array(6); } public function clipFrontPlane(_arg1:Array, _arg2:Array):void{ if (_arg1.length <= 2){ return; }; clipPolygon(aPlanes[NEAR], _arg1, _arg2); } public function clipPolygon(_arg1:Plane, _arg2:Array, _arg3:Array):void{ var _local4:Boolean; var _local5:Boolean; var _local6:Vertex; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Array; var _local11:Array; var _local12:Array; var _local13:UVCoord; var _local14:UVCoord; var _local15:UVCoord; var _local16:Vertex; var _local17:Vertex; var _local18:Vertex; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Boolean; var _local23:Boolean; var _local24:Number; _local4 = true; _local5 = true; _local8 = _arg2.length; _local10 = new Array(); for each (_local6 in _arg2) { _local9 = ((((_arg1.a * _local6.wx) + (_arg1.b * _local6.wy)) + (_arg1.c * _local6.wz)) + _arg1.d); if (_local9 < 0){ _local4 = false; }; if (_local9 >= 0){ _local5 = false; }; _local10.push(_local9); }; if (_local4){ return; }; if (_local5){ _arg2.splice(0); _arg3.splice(0); return; }; _local11 = _arg2.splice(0); _local12 = _arg3.splice(0); _local13 = _local12[0]; _local14 = null; _local15 = null; _local16 = _local11[0]; _local17 = null; _local18 = null; _local21 = _local10[0]; _local22 = false; _local23 = (_local21 >= 0); _local24 = 0; _local7 = 1; while (_local7 <= _local8) { _local17 = _local11[(_local7 % _local8)]; _local14 = _local12[(_local7 % _local8)]; _local20 = _local10[(_local7 % _local8)]; if (((_local23) && ((_local20 >= 0)))){ _arg2.push(_local17); _arg3.push(_local14); } else { if (((!(_local23)) && ((_local20 >= 0)))){ _local23 = true; _local22 = _local23; _local18 = new Vertex(); _local19 = (_local21 / (_local21 - _local20)); _local18.wx = (_local16.wx + ((_local17.wx - _local16.wx) * _local19)); _local18.wy = (_local16.wy + ((_local17.wy - _local16.wy) * _local19)); _local18.wz = (_local16.wz + ((_local17.wz - _local16.wz) * _local19)); _arg2.push(_local18); _arg2.push(_local17); _local15 = new UVCoord(); _local15.u = (_local13.u + ((_local14.u - _local13.u) * _local19)); _local15.v = (_local13.v + ((_local14.v - _local13.v) * _local19)); _arg3.push(_local15); _arg3.push(_local14); } else { if (((_local23) && ((_local20 < 0)))){ _local22 = true; _local23 = false; _local18 = new Vertex(); _local19 = (_local21 / (_local21 - _local20)); _local18.wx = (_local16.wx + ((_local17.wx - _local16.wx) * _local19)); _local18.wy = (_local16.wy + ((_local17.wy - _local16.wy) * _local19)); _local18.wz = (_local16.wz + ((_local17.wz - _local16.wz) * _local19)); _local15 = new UVCoord(); _local15.u = (_local13.u + ((_local14.u - _local13.u) * _local19)); _local15.v = (_local13.v + ((_local14.v - _local13.v) * _local19)); _arg3.push(_local15); _arg2.push(_local18); } else { _local22 = true; }; }; }; _local16 = _local17; _local21 = _local20; _local13 = _local14; _local7++; }; _local10 = null; } public function pointInFrustum(_arg1:Vector):CullingState{ var _local2:Plane; for each (_local2 in aPlanes) { if (PlaneMath.classifyPoint(_local2, _arg1) == PlaneMath.NEGATIVE){ return (Frustum.OUTSIDE); }; }; return (Frustum.INSIDE); } public function boxInFrustum(_arg1:BBox):CullingState{ var _local2:CullingState; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Plane; var _local7:Vector; _local2 = Frustum.INSIDE; for each (_local6 in aPlanes) { _local3 = 0; _local4 = 0; for each (_local7 in _arg1.aTCorners) { _local5 = ((((_local6.a * _local7.x) + (_local6.b * _local7.y)) + (_local6.c * _local7.z)) + _local6.d); if (_local5 < 0){ _local3++; } else { _local4++; }; if ((((_local4 > 0)) && ((_local3 > 0)))){ break; }; }; if (_local4 == 0){ return (Frustum.OUTSIDE); }; if (_local3 > 0){ return (Frustum.INTERSECT); }; }; return (_local2); } public function computePlanes(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:int; _local5 = NumberUtil.toRadian(_arg4); _local6 = Math.tan((_local5 * 0.5)); _local7 = (-(_local6) * _arg2); _local8 = (_local7 * _arg1); _local9 = ((_local7 * _arg3) / _arg2); _local10 = ((_local8 * _arg3) / _arg2); _arg2 = -(_arg2); _arg3 = -(_arg3); _local11 = aPoints; _local11[0] = new Vector(_local8, _local7, _arg2); _local11[1] = new Vector(_local8, -(_local7), _arg2); _local11[2] = new Vector(-(_local8), -(_local7), _arg2); _local11[3] = new Vector(-(_local8), _local7, _arg2); _local11[4] = new Vector(_local10, _local9, _arg3); _local11[5] = new Vector(_local10, -(_local9), _arg3); _local11[6] = new Vector(-(_local10), -(_local9), _arg3); _local11[7] = new Vector(-(_local10), _local9, _arg3); aPlanes[LEFT] = PlaneMath.computePlaneFromPoints(_local11[2], _local11[3], _local11[6]); aPlanes[RIGHT] = PlaneMath.computePlaneFromPoints(_local11[0], _local11[1], _local11[4]); aPlanes[TOP] = PlaneMath.computePlaneFromPoints(_local11[0], _local11[7], _local11[3]); aPlanes[BOTTOM] = PlaneMath.computePlaneFromPoints(_local11[1], _local11[2], _local11[5]); aPlanes[NEAR] = PlaneMath.computePlaneFromPoints(_local11[0], _local11[2], _local11[1]); aPlanes[FAR] = PlaneMath.computePlaneFromPoints(_local11[4], _local11[5], _local11[6]); _local12 = 0; while (_local12 < 6) { PlaneMath.normalizePlane(aPlanes[int(_local12)]); _local12++; }; } public function sphereInFrustum(_arg1:BSphere):CullingState{ var _local2:Number; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Plane; _local2 = 0; _local3 = 0; _local4 = _arg1.position.x; _local5 = _arg1.position.y; _local6 = _arg1.position.z; _local7 = _arg1.radius; for each (_local8 in aPlanes) { _local2 = ((((_local8.a * _local4) + (_local8.b * _local5)) + (_local8.c * _local6)) + _local8.d); if (_local2 <= -(_local7)){ return (Frustum.OUTSIDE); }; if (_local2 > _local7){ _local3++; }; }; return (((_local3)==6) ? Frustum.INSIDE : Frustum.INTERSECT); } public function clipFrustum(_arg1:Array, _arg2:Array):void{ if (_arg1.length <= 2){ return; }; clipPolygon(aPlanes[NEAR], _arg1, _arg2); if (_arg1.length <= 2){ return; }; clipPolygon(aPlanes[LEFT], _arg1, _arg2); if (_arg1.length <= 2){ return; }; clipPolygon(aPlanes[RIGHT], _arg1, _arg2); if (_arg1.length <= 2){ return; }; clipPolygon(aPlanes[BOTTOM], _arg1, _arg2); if (_arg1.length <= 2){ return; }; clipPolygon(aPlanes[TOP], _arg1, _arg2); } public function clipLineFrontPlane(_arg1:Array):void{ var _local2:Plane; var _local3:Array; var _local4:Vertex; var _local5:Vertex; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Vertex; _local2 = aPlanes[NEAR]; _local3 = _arg1.splice(0); _local4 = _local3[0]; _local5 = _local3[1]; _local6 = ((((_local2.a * _local4.wx) + (_local2.b * _local4.wy)) + (_local2.c * _local4.wz)) + _local2.d); _local7 = ((((_local2.a * _local5.wx) + (_local2.b * _local5.wy)) + (_local2.c * _local5.wz)) + _local2.d); _local8 = 0; _local9 = new Vertex(); if ((((_local6 < 0)) && ((_local7 >= 0)))){ _local8 = (_local6 / (_local6 - _local7)); _local9.wx = (_local4.wx + ((_local5.wx - _local4.wx) * _local8)); _local9.wy = (_local4.wy + ((_local5.wy - _local4.wy) * _local8)); _local9.wz = (_local4.wz + ((_local5.wz - _local4.wz) * _local8)); _arg1.push(_local9); _arg1.push(_local5); } else { if ((((_local7 < 0)) && ((_local6 >= 0)))){ _local8 = (_local6 / (_local6 - _local7)); _local9.wx = (_local4.wx + ((_local5.wx - _local4.wx) * _local8)); _local9.wy = (_local4.wy + ((_local5.wy - _local4.wy) * _local8)); _local9.wz = (_local4.wz + ((_local5.wz - _local4.wz) * _local8)); _arg1.push(_local4); _arg1.push(_local9); } else { if ((((_local7 < 0)) && ((_local6 < 0)))){ _arg1 = null; } else { if ((((_local7 > 0)) && ((_local6 > 0)))){ _arg1.push(_local4); _arg1.push(_local5); }; }; }; }; } public function extractPlanes(_arg1:Matrix4, _arg2:Boolean):void{ aPlanes[0].a = (_arg1.n14 + _arg1.n11); aPlanes[0].b = (_arg1.n24 + _arg1.n21); aPlanes[0].c = (_arg1.n34 + _arg1.n31); aPlanes[0].d = (_arg1.n44 + _arg1.n41); aPlanes[1].a = (_arg1.n14 - _arg1.n11); aPlanes[1].b = (_arg1.n24 - _arg1.n21); aPlanes[1].c = (_arg1.n34 - _arg1.n31); aPlanes[1].d = (_arg1.n44 - _arg1.n41); aPlanes[2].a = (_arg1.n14 - _arg1.n12); aPlanes[2].b = (_arg1.n24 - _arg1.n22); aPlanes[2].c = (_arg1.n34 - _arg1.n32); aPlanes[2].d = (_arg1.n44 - _arg1.n42); aPlanes[3].a = (_arg1.n14 + _arg1.n12); aPlanes[3].b = (_arg1.n24 + _arg1.n22); aPlanes[3].c = (_arg1.n34 + _arg1.n32); aPlanes[3].d = (_arg1.n44 + _arg1.n42); aPlanes[4].a = _arg1.n13; aPlanes[4].b = _arg1.n23; aPlanes[4].c = _arg1.n33; aPlanes[4].d = _arg1.n43; aPlanes[5].a = (_arg1.n14 - _arg1.n13); aPlanes[5].b = (_arg1.n24 - _arg1.n23); aPlanes[5].c = (_arg1.n34 - _arg1.n33); aPlanes[5].d = (_arg1.n44 - _arg1.n43); if (_arg2 == true){ PlaneMath.normalizePlane(aPlanes[0]); PlaneMath.normalizePlane(aPlanes[1]); PlaneMath.normalizePlane(aPlanes[2]); PlaneMath.normalizePlane(aPlanes[3]); PlaneMath.normalizePlane(aPlanes[4]); PlaneMath.normalizePlane(aPlanes[5]); }; } } }//package sandy.view
Section 116
//ViewPort (sandy.view.ViewPort) package sandy.view { import flash.geom.*; public final class ViewPort { public const offset:Point; private var m_nH2:int;// = 0 private var m_nRatio:Number;// = 0 private var m_nW2:int;// = 0 private var m_nH:int;// = 0 public var hasChanged:Boolean;// = false private var m_nW:int;// = 0 public function ViewPort(_arg1:Number, _arg2:Number){ offset = new Point(); hasChanged = false; m_nW = 0; m_nW2 = 0; m_nH = 0; m_nH2 = 0; m_nRatio = 0; super(); width = _arg1; height = _arg2; } public function get width():int{ return (m_nW); } public function update():void{ m_nW2 = (m_nW >> 1); m_nH2 = (m_nH >> 1); m_nRatio = (m_nH) ? (m_nW / m_nH) : 0; hasChanged = true; } public function get ratio():Number{ return (m_nRatio); } public function set height(_arg1:int):void{ m_nH = _arg1; update(); } public function set width(_arg1:int):void{ m_nW = _arg1; update(); } public function get height():int{ return (m_nH); } public function get height2():int{ return (m_nH2); } public function get width2():int{ return (m_nW2); } } }//package sandy.view
Section 117
//13days_43 (spacerangerCS3_fla.13days_43) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class 13days_43 extends MovieClip { public var body_mc:MovieClip; public function 13days_43(){ addFrameScript(0, frame1); } public function nextState(){ FRAMECOUNT++; if (FRAMECOUNT < 77){ x = (x + SPEEDX); } else { if (!STANDING){ body_mc.stand(); STANDING = true; }; }; } function frame1(){ stop(); FRAMECOUNT = 0; SPEEDX = -8; STANDING = false; } } }//package spacerangerCS3_fla
Section 118
//aim_291 (spacerangerCS3_fla.aim_291) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class aim_291 extends MovieClip { public var RSPEED; public var A; public var dot_mc:MovieClip; public var R; public var DR; public var RMIN; public var RMAX; public function aim_291(){ addFrameScript(0, frame1); } public function getDXY():Point{ return (new Point(dot_mc.x, dot_mc.y)); } public function setStability(_arg1:Number){ RMIN = 2; RMAX = (4 + (8 * _arg1)); DR = 1; } function frame1(){ stop(); glo.bal.AIM = this; RSPEED = ((Math.PI * 2) / (3 * 16)); A = 0; R = 2; RMIN = 2; RMAX = 10; DR = 1; } public function nextState(){ A = (A + RSPEED); if (A > (Math.PI * 2)){ A = (A - (Math.PI * 2)); }; R = ((R - DR) + ((Math.random() * DR) * 2)); if (R > RMAX){ R = RMAX; }; if (R < RMIN){ R = RMIN; }; dot_mc.x = Math.round((Math.cos(A) * R)); dot_mc.y = Math.round((Math.sin(A) * R)); } public function getAimLoc():Object{ var _local1:*; _local1 = dot_mc.localToGlobal(new Point(0, 0)); _local1.y = (_local1.y - 50); return (_local1); } } }//package spacerangerCS3_fla
Section 119
//ammo_101 (spacerangerCS3_fla.ammo_101) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class ammo_101 extends MovieClip { public var total_txt:TextField; public var gun_mc:MovieClip; public var chamber_pistol:MovieClip; public var chamber_txt:TextField; public var chamber_ubergun:MovieClip; public var CHAMBERS; public var chamber_rpg:MovieClip; public function ammo_101(){ addFrameScript(0, frame1); } public function setAmmo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ var _local5:*; gun_mc.gotoAndStop((_arg1 + 1)); for (_local5 in CHAMBERS) { if (_local5 == _arg1){ CHAMBERS[_local5].visible = true; } else { CHAMBERS[_local5].visible = false; }; }; CHAMBERS[_arg1].setAmmo(_arg2); total_txt.text = _arg4; chamber_txt.text = ((_arg2 + " / ") + _arg3); if (_arg1 == 0){ gotoAndStop(3); total_txt.text = ""; } else { gotoAndStop(2); }; } function frame1(){ stop(); glo.bal.AMMO = this; CHAMBERS = [chamber_pistol, chamber_ubergun, chamber_rpg]; } } }//package spacerangerCS3_fla
Section 120
//ammo1notice_184 (spacerangerCS3_fla.ammo1notice_184) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class ammo1notice_184 extends MovieClip { public function ammo1notice_184(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 121
//ammo2notice_186 (spacerangerCS3_fla.ammo2notice_186) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class ammo2notice_186 extends MovieClip { public function ammo2notice_186(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 122
//arrow_206 (spacerangerCS3_fla.arrow_206) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class arrow_206 extends MovieClip { public function arrow_206(){ addFrameScript(18, frame19); } function frame19(){ stop(); } } }//package spacerangerCS3_fla
Section 123
//bar_13 (spacerangerCS3_fla.bar_13) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class bar_13 extends MovieClip { public function bar_13(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 124
//barpistol_124 (spacerangerCS3_fla.barpistol_124) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class barpistol_124 extends MovieClip { public function barpistol_124(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package spacerangerCS3_fla
Section 125
//barrpg_119 (spacerangerCS3_fla.barrpg_119) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class barrpg_119 extends MovieClip { public function barrpg_119(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package spacerangerCS3_fla
Section 126
//barubergun_122 (spacerangerCS3_fla.barubergun_122) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class barubergun_122 extends MovieClip { public function barubergun_122(){ addFrameScript(19, frame20); } function frame20(){ stop(); } } }//package spacerangerCS3_fla
Section 127
//bggame_82 (spacerangerCS3_fla.bggame_82) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class bggame_82 extends MovieClip { public function bggame_82(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ if (glo.bal.PC_OPTION == 1){ stop(); }; } function frame2(){ stop(); } } }//package spacerangerCS3_fla
Section 128
//bodymoves_84 (spacerangerCS3_fla.bodymoves_84) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class bodymoves_84 extends MovieClip { public var pistol_mc:MovieClip; public var ubergun_mc:MovieClip; public var MC:MovieClip; public function bodymoves_84(){ addFrameScript(0, frame1); } public function ubergun(){ setBody(ubergun_mc, false, 1); } public function setBody(_arg1:MovieClip, _arg2:Boolean=false, _arg3:Number=1){ if (MC != null){ MC.stop(); MC.visible = false; }; MC = _arg1; MC.visible = true; if (_arg2){ MC.gotoAndPlay(_arg3); }; parent.FIREFX = MC.fire_mc; } function frame1(){ stop(); CLIPS = [ubergun_mc, pistol_mc]; C = CLIPS.length; i = 0; while (i < C) { CLIPS[i].UNIT = parent; CLIPS[i].stop(); CLIPS[i].visible = false; i++; }; setBody(ubergun_mc); } public function pistol(){ setBody(pistol_mc, false, 1); } } }//package spacerangerCS3_fla
Section 129
//briefing_233 (spacerangerCS3_fla.briefing_233) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class briefing_233 extends MovieClip { public var ok_btn:SimpleButton; public var caption_txt:TextField; public var PARENT:Object; public var label1_txt:TextField; public function briefing_233(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); } public function activate(_arg1:Object){ visible = true; PARENT = _arg1; gotoAndStop((1 + glo.bal.CGAME.CLEVEL)); } public function uiSetup(){ caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); ok_btn.enabled = true; ok_btn.addEventListener("click", btnOk); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); if (PARENT){ PARENT.backFromBriefing(); }; } function frame3(){ stop(); uiSetup(); } function frame1(){ glo.bal.BRIEFING = this; deactivate(); PARENT = null; } function frame4(){ stop(); uiSetup(); } function frame5(){ stop(); uiSetup(); } public function deactivate(){ visible = false; if (ok_btn){ ok_btn.enabled = false; }; } function frame2(){ stop(); uiSetup(); } } }//package spacerangerCS3_fla
Section 130
//bubblebox_intro_27 (spacerangerCS3_fla.bubblebox_intro_27) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class bubblebox_intro_27 extends MovieClip { public var bubblebox_btn:SimpleButton; public var tel:int; public var play_latest_text:MovieClip; public var atr:int; public function bubblebox_intro_27(){ addFrameScript(0, frame1); } function frame1(){ stop(); parent.alpha = 0; play_latest_text.visible = false; tel = 0; atr = 0; bubblebox_btn.addEventListener("click", btnBubbleBox); addEventListener(Event.ENTER_FRAME, evtEnterFrame); } public function btnBubbleBox(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_SPLASH, "_blank"); } catch(err:Error) { }; } public function evtEnterFrame(_arg1:Event){ if ((((atr < 100)) && ((tel == 0)))){ atr = (atr + 3); } else { tel++; if (!play_latest_text.visible){ play_latest_text.visible = true; play_latest_text.play(); }; }; if (tel > 85){ atr = (atr - 3); if (atr <= 0){ removeEventListener(Event.ENTER_FRAME, evtEnterFrame); parent.parent.gotoAndStop("splash2"); }; }; parent.alpha = (atr / 100); } } }//package spacerangerCS3_fla
Section 131
//bubblxbox_play_latest_text_28 (spacerangerCS3_fla.bubblxbox_play_latest_text_28) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class bubblxbox_play_latest_text_28 extends MovieClip { public function bubblxbox_play_latest_text_28(){ addFrameScript(0, frame1, 9, frame10); } function frame10(){ stop(); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 132
//chairclip_293 (spacerangerCS3_fla.chairclip_293) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class chairclip_293 extends MovieClip { public function chairclip_293(){ addFrameScript(0, frame1, 30, frame31); } function frame1(){ stop(); } function frame31(){ stop(); } } }//package spacerangerCS3_fla
Section 133
//chamberpistol_113 (spacerangerCS3_fla.chamberpistol_113) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class chamberpistol_113 extends MovieClip { public var row1:MovieClip; public var row2:MovieClip; public var row3:MovieClip; public var ROWS:Array; public function chamberpistol_113(){ addFrameScript(0, frame1); } public function setAmmo(_arg1:Number){ var _local2:Number; var _local3:*; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 60){ _arg1 = 60; }; _local3 = 0; while (_local3 < 3) { _local2 = (_arg1 - (_local3 * 20)); if (_local2 > 20){ _local2 = 20; }; if (_local2 < 0){ _local2 = 0; }; ROWS[_local3].gotoAndStop((21 - _local2)); _local3++; }; } function frame1(){ stop(); ROWS = [row1, row2, row3]; setAmmo(60); } } }//package spacerangerCS3_fla
Section 134
//chamberrpg_107 (spacerangerCS3_fla.chamberrpg_107) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class chamberrpg_107 extends MovieClip { public var row1:MovieClip; public var row2:MovieClip; public var ROWS:Array; public function chamberrpg_107(){ addFrameScript(0, frame1); } public function setAmmo(_arg1:Number){ var _local2:Number; var _local3:*; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 10){ _arg1 = 10; }; _local3 = 0; while (_local3 < 2) { _local2 = (_arg1 - (_local3 * 5)); if (_local2 > 5){ _local2 = 5; }; if (_local2 < 0){ _local2 = 0; }; ROWS[_local3].gotoAndStop((6 - _local2)); _local3++; }; } function frame1(){ stop(); ROWS = [row1, row2]; setAmmo(10); } } }//package spacerangerCS3_fla
Section 135
//chamberubergun_110 (spacerangerCS3_fla.chamberubergun_110) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class chamberubergun_110 extends MovieClip { public var row1:MovieClip; public var row2:MovieClip; public var row3:MovieClip; public var row4:MovieClip; public var row5:MovieClip; public var ROWS:Array; public function chamberubergun_110(){ addFrameScript(0, frame1); } public function setAmmo(_arg1:Number){ var _local2:Number; var _local3:*; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 200){ _arg1 = 200; }; _local3 = 0; while (_local3 < 5) { _local2 = (_arg1 - (_local3 * 40)); if (_local2 > 40){ _local2 = 40; }; if (_local2 < 0){ _local2 = 0; }; ROWS[_local3].gotoAndStop((41 - _local2)); _local3++; }; } function frame1(){ stop(); ROWS = [row1, row2, row3, row4, row5]; setAmmo(200); } } }//package spacerangerCS3_fla
Section 136
//clip_182 (spacerangerCS3_fla.clip_182) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class clip_182 extends MovieClip { public var label1_txt:TextField; public function clip_182(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 137
//clip_189 (spacerangerCS3_fla.clip_189) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class clip_189 extends MovieClip { public var label1_txt:TextField; public function clip_189(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 138
//clip_191 (spacerangerCS3_fla.clip_191) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class clip_191 extends MovieClip { public var label1_txt:TextField; public function clip_191(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 139
//clip_193 (spacerangerCS3_fla.clip_193) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class clip_193 extends MovieClip { public var label1_txt:TextField; public function clip_193(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 140
//clip_195 (spacerangerCS3_fla.clip_195) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class clip_195 extends MovieClip { public var label1_txt:TextField; public function clip_195(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 141
//clip1_185 (spacerangerCS3_fla.clip1_185) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class clip1_185 extends MovieClip { public var label1_txt:TextField; public function clip1_185(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 142
//cliprpg_187 (spacerangerCS3_fla.cliprpg_187) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class cliprpg_187 extends MovieClip { public var label1_txt:TextField; public function cliprpg_187(){ addFrameScript(0, frame1); } function frame1(){ label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 143
//combattips_245 (spacerangerCS3_fla.combattips_245) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class combattips_245 extends MovieClip { public var ok_btn:SimpleButton; public var caption_txt:TextField; public var PARENT; public function combattips_245(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function activate(_arg1:MovieClip){ PARENT = _arg1; visible = true; gotoAndStop(3); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); if (PARENT){ PARENT.backFromTips(); }; } function frame3(){ stop(); enableButtons(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame1(){ stop(); glo.bal.COMBATTIPS = this; visible = false; PARENT = null; } public function deactivate(){ disableButtons(); visible = false; gotoAndStop(2); } function frame2(){ stop(); } public function disableButtons(){ if (ok_btn){ ok_btn.removeEventListener("click", btnOk); }; } public function enableButtons(){ if (ok_btn){ ok_btn.addEventListener("click", btnOk); }; } } }//package spacerangerCS3_fla
Section 144
//cursor_290 (spacerangerCS3_fla.cursor_290) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class cursor_290 extends MovieClip { public function cursor_290(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ if (glo.bal.PC_OPTION == 1){ stop(); }; glo.bal.CURSOR = this; } function frame2(){ stop(); } } }//package spacerangerCS3_fla
Section 145
//dot_bar2_349 (spacerangerCS3_fla.dot_bar2_349) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class dot_bar2_349 extends MovieClip { public function dot_bar2_349(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 146
//dot_bar4_346 (spacerangerCS3_fla.dot_bar4_346) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class dot_bar4_346 extends MovieClip { public function dot_bar4_346(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 147
//dotcomalpha_53 (spacerangerCS3_fla.dotcomalpha_53) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class dotcomalpha_53 extends MovieClip { public var dotcom_mc:MovieClip; public function dotcomalpha_53(){ addFrameScript(109, frame110); } function frame110(){ stop(); } } }//package spacerangerCS3_fla
Section 148
//dotcomw_54 (spacerangerCS3_fla.dotcomw_54) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class dotcomw_54 extends MovieClip { public var qigames_btn:SimpleButton; public function dotcomw_54(){ addFrameScript(0, frame1, 109, frame110); } function frame1(){ qigames_btn.addEventListener("click", btnQiGames); } function frame110(){ stop(); } public function btnQiGames(_arg1:Event){ var e = _arg1; try { glo.bal.JUKEBOX.btnClick(); navigateToURL(glo.bal.URLREQ_QIGAMES, "_blank"); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 149
//dotmonster_158 (spacerangerCS3_fla.dotmonster_158) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class dotmonster_158 extends MovieClip { public function dotmonster_158(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 150
//firepistol_86 (spacerangerCS3_fla.firepistol_86) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class firepistol_86 extends MovieClip { public var flash_mc:MovieClip; public function firepistol_86(){ addFrameScript(0, frame1); } public function fire(){ flash_mc.visible = true; gotoAndPlay(2); } public function stopFire(){ flash_mc.visible = false; gotoAndStop(1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 151
//fireubergun_89 (spacerangerCS3_fla.fireubergun_89) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class fireubergun_89 extends MovieClip { public var flash_mc:MovieClip; public var FIRING; public function fireubergun_89(){ addFrameScript(0, frame1, 5, frame6); } public function fire(){ flash_mc.visible = true; if (!FIRING){ gotoAndPlay(2); }; FIRING = true; } public function stopFire(){ FIRING = false; flash_mc.visible = false; } function frame6(){ if (FIRING){ gotoAndPlay(2); } else { stop(); }; } function frame1(){ stop(); FIRING = false; } } }//package spacerangerCS3_fla
Section 152
//flash9required_22 (spacerangerCS3_fla.flash9required_22) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class flash9required_22 extends MovieClip { public var flash_btn:SimpleButton; public var current_txt:TextField; public function flash9required_22(){ addFrameScript(0, frame1); } public function btnFlash(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_FLASH, "_blank"); } catch(err:Error) { }; } function frame1(){ stop(); flash_btn.addEventListener("click", btnFlash); current_txt.text = ("Your current version is " + Capabilities.version); } } }//package spacerangerCS3_fla
Section 153
//focusbartween_145 (spacerangerCS3_fla.focusbartween_145) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class focusbartween_145 extends MovieClip { public function focusbartween_145(){ addFrameScript(0, frame1); } public function setPct(_arg1:Number){ if (_arg1 > 100){ _arg1 = 100; }; if (_arg1 < 0){ _arg1 = 0; }; F = (1 + Math.round(((_arg1 * 0.01) * 99))); gotoAndStop(F); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 154
//fpsmonitor_76 (spacerangerCS3_fla.fpsmonitor_76) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class fpsmonitor_76 extends MovieClip { public var fps_txt:TextField; public var memory_txt:TextField; public var qigames_btn:SimpleButton; public function fpsmonitor_76(){ addFrameScript(0, frame1, 1, frame2, 16, frame17); } public function setLowQuality(){ if (stage.quality == StageQuality.LOW){ return; }; PREFERRED = "LOW"; stage.quality = StageQuality.LOW; reset(); } public function setHighQuality(){ if (stage.quality == StageQuality.HIGH){ return; }; PREFERRED = StageQuality.HIGH; stage.quality = PREFERRED; reset(); } public function monitor(){ if (FPS < 18){ switch (stage.quality){ case StageQuality.HIGH: stage.quality = StageQuality.MEDIUM; reset(); break; case StageQuality.MEDIUM: stage.quality = StageQuality.LOW; reset(); break; }; }; } public function reset(){ TS = []; } function frame17(){ gotoAndPlay(2); } function frame1(){ fps_txt.text = "--- fps"; PREFERRED = StageQuality.LOW; stage.quality = PREFERRED; reset(); TS = [getTimer()]; qigames_btn.addEventListener("click", btnQiGames); } function frame2(){ TS.push(getTimer()); if (TS.length > 5){ D = 0; i = 5; while (i > 0) { D = (D + (TS[i] - TS[(i - 1)])); i--; }; D = (D * 0.2); if (D == 0){ D = 1; trace("d=0 !?"); }; FPS = ((24 * 1000) / D); fps_txt.text = (Math.round(FPS) + "fps"); if (FPS < 12){ fps_txt.textColor = 0xFF0000; } else { fps_txt.textColor = 0xFFFFFF; }; TS.shift(); monitor(); } else { fps_txt.text = "--- fps"; fps_txt.textColor = 0xFFFFFF; }; RAM = Math.round((System.totalMemory / (0x0400 * 0x0400))); memory_txt.text = (numbers.format(RAM) + " Mb RAM"); } public function setMediumQuality(){ if (stage.quality == StageQuality.MEDIUM){ return; }; PREFERRED = StageQuality.MEDIUM; stage.quality = PREFERRED; reset(); } public function btnQiGames(_arg1:Event){ var e = _arg1; try { glo.bal.JUKEBOX.btnClick(); navigateToURL(glo.bal.URLREQ_QIGAMES, "_blank"); } catch(err:Error) { trace("Open QiGames URL ..."); }; } } }//package spacerangerCS3_fla
Section 155
//game_335 (spacerangerCS3_fla.game_335) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class game_335 extends MovieClip { public function game_335(){ addFrameScript(0, frame1, 2, frame3, 75, frame76, 76, frame77, 94, frame95); } function frame77(){ glo.bal.INTERFACE.init(); } function frame76(){ glo.bal.GAME.init(); } public function action(){ gotoAndPlay(2); } function frame95(){ stop(); } function frame3(){ glo.bal.JUKEBOX.loading(); } function frame1(){ glo.bal.GAMELOADER = this; } } }//package spacerangerCS3_fla
Section 156
//game_79 (spacerangerCS3_fla.game_79) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class game_79 extends MovieClip { public var play_mc:MovieClip; public function game_79(){ addFrameScript(0, frame1, 1, frame2, 9, frame10, 19, frame20, 29, frame30, 39, frame40, 49, frame50); } public function gotoPlay(){ gotoAndStop("play"); } public function gotoHelp(){ gotoAndStop("help"); } function frame10(){ stop(); Mouse.show(); } public function gotoMenu(){ gotoAndStop("menu"); } function frame1(){ glo.bal.GAMEMENU = this; Mouse.show(); } public function backFromInstructions(){ gotoMenu(); } public function gotoLoadGame(){ gotoAndStop("load game"); } function frame20(){ stop(); Mouse.show(); } function frame2(){ stop(); Mouse.show(); try { System.gc(); } catch(e:Error) { }; try { new LocalConnection().connect("foo"); new LocalConnection().connect("foo"); } catch(e) { }; glo.bal.JUKEBOX.menuScore(); } function frame30(){ stop(); Mouse.show(); } function frame40(){ stop(); Mouse.show(); } public function gotoNewGame(){ gotoAndStop("new game"); } function frame50(){ stop(); } } }//package spacerangerCS3_fla
Section 157
//game_80 (spacerangerCS3_fla.game_80) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class game_80 extends MovieClip { public var hero_mc:aiPlayer; public function game_80(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 158
//gamecompleted_283 (spacerangerCS3_fla.gamecompleted_283) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gamecompleted_283 extends MovieClip { public var back_btn:SimpleButton; public var bubblebox_btn:SimpleButton; public var caption_txt:TextField; public var qigames_btn:SimpleButton; public function gamecompleted_283(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function activate(){ visible = true; gotoAndStop(3); } public function btnBack(_arg1:Event){ back_btn.removeEventListener("click", btnBack); glo.bal.JUKEBOX.btnClick(); glo.bal.GAME.destroy(); glo.bal.INTERFACE.destroy(); glo.bal.GAMEMENU.gotoMenu(); deactivate(); } function frame3(){ stop(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); back_btn.addEventListener("click", btnBack); qigames_btn.addEventListener("click", btnQiGames); bubblebox_btn.addEventListener("click", btnBubbleBox); } function frame1(){ stop(); deactivate(); glo.bal.GAMECOMPLETED = this; } public function deactivate(){ visible = false; gotoAndStop(2); } function frame2(){ stop(); } public function btnQiGames(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_QIGAMES, "_blank"); } catch(err:Error) { }; } public function btnBubbleBox(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_GAMECOMPLETED, "_blank"); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 159
//gameloading_336 (spacerangerCS3_fla.gameloading_336) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gameloading_336 extends MovieClip { public var bubblebox_btn:SimpleButton; public var btn_qigames:SimpleButton; public function gameloading_336(){ addFrameScript(0, frame1); } function frame1(){ btn_qigames.addEventListener("click", btnQiGames); bubblebox_btn.addEventListener("click", btnBubbleBox); } public function btnQiGames(_arg1:Event){ var e = _arg1; try { glo.bal.JUKEBOX.btnClick(); navigateToURL(glo.bal.URLREQ_QIGAMES, "_blank"); } catch(err:Error) { trace("Open MoreGames URL ..."); }; } public function btnBubbleBox(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_LEVELLOADING, "_blank"); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 160
//gameover_209 (spacerangerCS3_fla.gameover_209) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gameover_209 extends MovieClip { public function gameover_209(){ addFrameScript(0, frame1, 44, frame45, 59, frame60); } public function activate(){ visible = true; gotoAndPlay(2); } function frame1(){ stop(); glo.bal.GAMEOVERSCREEN = this; visible = false; } public function deactivate(){ visible = false; } function frame45(){ glo.bal.JUKEBOX.gameOver(); } function frame60(){ stop(); } } }//package spacerangerCS3_fla
Section 161
//gameovermenu_210 (spacerangerCS3_fla.gameovermenu_210) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gameovermenu_210 extends MovieClip { public var bubblebox_btn:SimpleButton; public var message_txt:TextField; public var quit_btn:SimpleButton; public var caption_txt:TextField; public var tryagain_btn:SimpleButton; public var qigames_btn:SimpleButton; public function gameovermenu_210(){ addFrameScript(0, frame1); } function frame1(){ stop(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); message_txt.antiAliasType = "advanced"; message_txt.embedFonts = true; message_txt.setTextFormat(glo.bal.FORMAT01); tryagain_btn.addEventListener("click", btnTryAgain); quit_btn.addEventListener("click", btnQuit); qigames_btn.addEventListener("click", btnQiGames); bubblebox_btn.addEventListener("click", btnBubbleBox); } public function btnQiGames(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_QIGAMES, "_blank"); } catch(err:Error) { }; } public function btnBubbleBox(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_GAMEOVER, "_blank"); } catch(err:Error) { }; } public function btnQuit(_arg1:Event){ glo.bal.GAME.destroy(); glo.bal.INTERFACE.destroy(); glo.bal.JUKEBOX.btnClick(); glo.bal.GAMEMENU.gotoMenu(); } public function btnTryAgain(_arg1:Event){ glo.bal.GAME.destroy(); glo.bal.INTERFACE.destroy(); glo.bal.JUKEBOX.btnClick(); glo.bal.GAMELOADER.action(); } } }//package spacerangerCS3_fla
Section 162
//gamepaused_236 (spacerangerCS3_fla.gamepaused_236) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gamepaused_236 extends MovieClip { public var options_btn:SimpleButton; public var help_btn:SimpleButton; public var resume_btn:SimpleButton; public var quit_btn:SimpleButton; public var caption_txt:TextField; public function gamepaused_236(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function activate(){ visible = true; gotoAndStop(3); } public function backFromOptions(){ visible = true; } function frame3(){ stop(); enableButtons(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame1(){ stop(); glo.bal.PAUSEMENU = this; visible = false; } public function deactivate(){ disableButtons(); visible = false; gotoAndStop(2); } function frame2(){ stop(); } public function disableButtons(){ if (quit_btn){ quit_btn.removeEventListener("click", btnQuit); resume_btn.removeEventListener("click", btnResume); help_btn.removeEventListener("click", btnHelp); options_btn.removeEventListener("click", btnOptions); }; } public function backFromInstructions(){ activate(); } public function btnResume(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); glo.bal.INTERFACE.resumePlay(); } public function btnOptions(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); glo.bal.OPTIONS.activate(this); visible = false; } public function enableButtons(){ if (quit_btn){ quit_btn.addEventListener("click", btnQuit); resume_btn.addEventListener("click", btnResume); help_btn.addEventListener("click", btnHelp); options_btn.addEventListener("click", btnOptions); }; } public function btnHelp(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); glo.bal.HOWTOPLAY.activate(this); } public function btnQuit(_arg1:Event){ var e = _arg1; glo.bal.JUKEBOX.btnClick(); try { glo.bal.GAME.destroy(); } catch(e:Error) { }; glo.bal.INTERFACE.destroy(); glo.bal.GAMEMENU.gotoMenu(); } } }//package spacerangerCS3_fla
Section 163
//gun1_200 (spacerangerCS3_fla.gun1_200) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gun1_200 extends MovieClip { public function gun1_200(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 164
//gun2_198 (spacerangerCS3_fla.gun2_198) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gun2_198 extends MovieClip { public function gun2_198(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 165
//gun3_199 (spacerangerCS3_fla.gun3_199) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class gun3_199 extends MovieClip { public function gun3_199(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 166
//handyman_35 (spacerangerCS3_fla.handyman_35) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class handyman_35 extends MovieClip { public var body_mc:MovieClip; public function handyman_35(){ addFrameScript(0, frame1); } public function nextState(){ FRAMECOUNT++; if (FRAMECOUNT < 87){ x = (x + SPEEDX); } else { if (!STANDING){ body_mc.stand(); STANDING = true; }; }; } function frame1(){ stop(); FRAMECOUNT = 0; SPEEDX = 6; STANDING = false; } } }//package spacerangerCS3_fla
Section 167
//health_139 (spacerangerCS3_fla.health_139) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class health_139 extends MovieClip { public var XP_PCT; public var health_txt:TextField; public var xp_bar_mc:MovieClip; public var focus_txt:TextField; public var XP_DISPLAYPCT; public var focus_bar_mc:MovieClip; public var health_bar_mc:MovieClip; public var XP_TXT; public var xp_txt:TextField; public var FOCUS_PCT; public var PCT; public var FOCUS_DISPLAYPCT; public var DISPLAYPCT; public function health_139(){ addFrameScript(0, frame1, 1, frame2); } public function backToNormal(){ gotoAndStop(2); } public function levelUp(){ gotoAndStop(3); } function frame1(){ glo.bal.HEALTHBAR = this; glo.bal.FOCUSBAR = this; glo.bal.XPBAR = this; PCT = 100; DISPLAYPCT = 0; FOCUS_PCT = 100; FOCUS_DISPLAYPCT = 0; XP_PCT = 0; XP_DISPLAYPCT = 0; XP_TXT = ""; } public function setHealth(_arg1:Number, _arg2:Number){ PCT = Math.round(((100 * _arg1) / _arg2)); health_txt.text = ((Math.round(_arg1) + " / ") + _arg2); } public function nextState(){ if (PCT != DISPLAYPCT){ if (DISPLAYPCT > PCT){ DISPLAYPCT = (DISPLAYPCT - 1); health_bar_mc.setPct(Math.round(DISPLAYPCT)); }; if (DISPLAYPCT < PCT){ DISPLAYPCT = (DISPLAYPCT + 1); health_bar_mc.setPct(Math.round(DISPLAYPCT)); }; }; if (FOCUS_PCT != FOCUS_DISPLAYPCT){ if (FOCUS_DISPLAYPCT > FOCUS_PCT){ FOCUS_DISPLAYPCT = (FOCUS_DISPLAYPCT - 1); focus_bar_mc.setPct(Math.round(FOCUS_DISPLAYPCT)); }; if (FOCUS_DISPLAYPCT < FOCUS_PCT){ FOCUS_DISPLAYPCT = (FOCUS_DISPLAYPCT + 1); focus_bar_mc.setPct(Math.round(FOCUS_DISPLAYPCT)); }; }; if (XP_PCT != XP_DISPLAYPCT){ if (XP_DISPLAYPCT > XP_PCT){ XP_DISPLAYPCT = (XP_DISPLAYPCT - 1); xp_bar_mc.setPct(Math.round(XP_DISPLAYPCT)); }; if (XP_DISPLAYPCT < XP_PCT){ XP_DISPLAYPCT = (XP_DISPLAYPCT + 1); xp_bar_mc.setPct(Math.round(XP_DISPLAYPCT)); }; }; } function frame2(){ stop(); xp_txt.text = XP_TXT; } public function setLevel(_arg1:Number){ } public function setFocus(_arg1:Number, _arg2:Number){ FOCUS_PCT = Math.round(((100 * _arg1) / _arg2)); focus_txt.text = ((Math.round(_arg1) + " / ") + _arg2); } public function setXP(_arg1:Number, _arg2:Number, _arg3:Number){ XP_PCT = Math.round(((100 * (_arg1 - _arg2)) / (_arg3 - _arg2))); XP_TXT = ((_arg1 + " / ") + _arg3); if (xp_txt != null){ xp_txt.text = XP_TXT; }; } } }//package spacerangerCS3_fla
Section 168
//healthbartween_141 (spacerangerCS3_fla.healthbartween_141) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class healthbartween_141 extends MovieClip { public function healthbartween_141(){ addFrameScript(0, frame1); } public function setPct(_arg1:Number){ if (_arg1 > 100){ _arg1 = 100; }; if (_arg1 < 0){ _arg1 = 0; }; F = (1 + Math.round(((_arg1 * 0.01) * 99))); gotoAndStop(F); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 169
//howtoplay_253 (spacerangerCS3_fla.howtoplay_253) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class howtoplay_253 extends MovieClip { public var ok_btn:SimpleButton; public var caption_txt:TextField; public var PARENT; public function howtoplay_253(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function activate(_arg1:MovieClip){ PARENT = _arg1; visible = true; gotoAndStop(3); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); if (PARENT){ PARENT.backFromInstructions(); }; } function frame3(){ stop(); enableButtons(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame1(){ stop(); glo.bal.HOWTOPLAY = this; visible = false; PARENT = null; } public function deactivate(){ disableButtons(); visible = false; gotoAndStop(2); } function frame2(){ stop(); } public function disableButtons(){ if (ok_btn){ ok_btn.removeEventListener("click", btnOk); }; } public function enableButtons(){ if (ok_btn){ ok_btn.addEventListener("click", btnOk); }; } } }//package spacerangerCS3_fla
Section 170
//icon2_167 (spacerangerCS3_fla.icon2_167) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class icon2_167 extends MovieClip { public function icon2_167(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 171
//icon2_169 (spacerangerCS3_fla.icon2_169) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class icon2_169 extends MovieClip { public function icon2_169(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 172
//icon2_171 (spacerangerCS3_fla.icon2_171) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class icon2_171 extends MovieClip { public function icon2_171(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 173
//interaction_203 (spacerangerCS3_fla.interaction_203) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class interaction_203 extends MovieClip { public var COLOR:String; public var bg:MovieClip; public var MSG:String; public var label1_txt:TextField; public function interaction_203(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 20, frame21); } public function activate(_arg1:String, _arg2:String=null){ visible = true; MSG = _arg1; COLOR = _arg2; gotoAndPlay(3); } function frame3(){ label1_txt.text = MSG; switch (COLOR){ case "green": bg.gotoAndStop(1); break; case "red": bg.gotoAndStop(2); break; case "blue": bg.gotoAndStop(3); break; case "yellow": bg.gotoAndStop(4); break; case "orange": bg.gotoAndStop(5); break; default: bg.gotoAndStop(1); break; }; } function frame1(){ stop(); glo.bal.INTERACTION = this; visible = false; MSG = ""; } public function deactivate(){ visible = false; gotoAndStop(2); } function frame21(){ gotoAndPlay(3); } function frame2(){ stop(); } } }//package spacerangerCS3_fla
Section 174
//interactionbg_204 (spacerangerCS3_fla.interactionbg_204) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class interactionbg_204 extends MovieClip { public function interactionbg_204(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 175
//intro_33 (spacerangerCS3_fla.intro_33) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class intro_33 extends MovieClip { public function intro_33(){ addFrameScript(199, frame200); } function frame200(){ stop(); parent.gotoAndStop("pc"); } } }//package spacerangerCS3_fla
Section 176
//inventory_196 (spacerangerCS3_fla.inventory_196) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class inventory_196 extends MovieClip { public var key3_mc:MovieClip; public var gun2_mc:MovieClip; public var WEAPON:Number; public var KEYS:Array; public var GUNS:Array; public var key1_mc:MovieClip; public var ammo3_txt:TextField; public var gun3_mc:MovieClip; public var key4_mc:MovieClip; public var key2_mc:MovieClip; public var gun1_mc:MovieClip; public var medikit_txt:TextField; public var AMMO:Array; public var ammo2_txt:TextField; public function inventory_196(){ addFrameScript(0, frame1); } public function setWeapon(_arg1:Number){ var _local2:*; WEAPON = _arg1; for (_local2 in GUNS) { if (_local2 == WEAPON){ GUNS[_local2].gotoAndStop(2); KEYS[_local2].gotoAndStop(2); } else { GUNS[_local2].gotoAndStop(1); KEYS[_local2].gotoAndStop(1); }; }; } public function setAmmo(_arg1:Number, _arg2:Number){ if (AMMO[_arg1] != null){ AMMO[_arg1].text = _arg2; }; } function frame1(){ stop(); glo.bal.INVENTORY = this; AMMO = [null, ammo2_txt, ammo3_txt]; GUNS = [gun1_mc, gun2_mc, gun3_mc]; KEYS = [key1_mc, key2_mc, key3_mc]; } public function setMedikits(_arg1:Number){ medikit_txt.text = _arg1; } } }//package spacerangerCS3_fla
Section 177
//itemstocollect_250 (spacerangerCS3_fla.itemstocollect_250) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class itemstocollect_250 extends MovieClip { public var ok_btn:SimpleButton; public var caption_txt:TextField; public var PARENT; public function itemstocollect_250(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function activate(_arg1:MovieClip){ PARENT = _arg1; visible = true; gotoAndStop(3); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); if (PARENT){ PARENT.backFromItemsToCollect(); }; } function frame3(){ stop(); enableButtons(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame1(){ stop(); glo.bal.ITEMSTOCOLLECT = this; visible = false; PARENT = null; } public function deactivate(){ disableButtons(); visible = false; gotoAndStop(2); } function frame2(){ stop(); } public function disableButtons(){ if (ok_btn){ ok_btn.removeEventListener("click", btnOk); }; } public function enableButtons(){ if (ok_btn){ ok_btn.addEventListener("click", btnOk); }; } } }//package spacerangerCS3_fla
Section 178
//keybgrpg_164 (spacerangerCS3_fla.keybgrpg_164) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keybgrpg_164 extends MovieClip { public function keybgrpg_164(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 179
//keybgubergun_197 (spacerangerCS3_fla.keybgubergun_197) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keybgubergun_197 extends MovieClip { public function keybgubergun_197(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 180
//keyblue_175 (spacerangerCS3_fla.keyblue_175) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keyblue_175 extends MovieClip { public function keyblue_175(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 181
//keybluenotice_194 (spacerangerCS3_fla.keybluenotice_194) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keybluenotice_194 extends MovieClip { public function keybluenotice_194(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 182
//keygreen_177 (spacerangerCS3_fla.keygreen_177) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keygreen_177 extends MovieClip { public function keygreen_177(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 183
//keygreennotice_190 (spacerangerCS3_fla.keygreennotice_190) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keygreennotice_190 extends MovieClip { public function keygreennotice_190(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 184
//keyred_173 (spacerangerCS3_fla.keyred_173) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keyred_173 extends MovieClip { public function keyred_173(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 185
//keyrednotice_188 (spacerangerCS3_fla.keyrednotice_188) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keyrednotice_188 extends MovieClip { public function keyrednotice_188(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 186
//keys_163 (spacerangerCS3_fla.keys_163) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keys_163 extends MovieClip { public var btn_heal:SimpleButton; public var btn_stealth:SimpleButton; public var btn_repulse:SimpleButton; public var key4_mc:MovieClip; public function keys_163(){ addFrameScript(0, frame1); } public function btnStealth(_arg1:Event){ glo.bal.PLAYER.useSkill1(); } public function btnHeal(_arg1:Event){ glo.bal.PLAYER.useSkill2(); } public function btnRepulse(_arg1:Event){ glo.bal.PLAYER.useSkill3(); } function frame1(){ stop(); btn_stealth.addEventListener("click", btnStealth); btn_heal.addEventListener("click", btnHeal); btn_repulse.addEventListener("click", btnRepulse); } } }//package spacerangerCS3_fla
Section 187
//keys_172 (spacerangerCS3_fla.keys_172) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keys_172 extends MovieClip { public var key_green:MovieClip; public var key_yellow:MovieClip; public var key_blue:MovieClip; public var key_red:MovieClip; public function keys_172(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.KEYS = this; KEYS = [key_red, key_green, key_yellow, key_blue]; COLORS = ["red", "green", "yellow", "blue"]; } public function gotKeys(_arg1:Array){ var _local2:*; var _local3:Number; var _local4:Boolean; for (_local2 in KEYS) { _local4 = false; for (_local3 in _arg1) { if (_arg1[_local3] == COLORS[_local2]){ _local4 = true; break; }; }; if (_local4){ KEYS[_local2].gotoAndStop(2); } else { KEYS[_local2].gotoAndStop(1); }; }; } } }//package spacerangerCS3_fla
Section 188
//keyyellow_179 (spacerangerCS3_fla.keyyellow_179) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keyyellow_179 extends MovieClip { public function keyyellow_179(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 189
//keyyellownotice_192 (spacerangerCS3_fla.keyyellownotice_192) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class keyyellownotice_192 extends MovieClip { public function keyyellownotice_192(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 190
//levelcompleted_287 (spacerangerCS3_fla.levelcompleted_287) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class levelcompleted_287 extends MovieClip { public var LABELS; public var score1_txt:TextField; public var xpbase_txt:TextField; public var ded1_txt:TextField; public var res2_txt:TextField; public var i; public var label2_txt:TextField; public var caption_txt:TextField; public var res1_txt:TextField; public var ded2_txt:TextField; public var continue_btn:SimpleButton; public var label1_txt:TextField; public var label5_txt:TextField; public var xptotal_txt:TextField; public var label3_txt:TextField; public function levelcompleted_287(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function activate(){ visible = true; gotoAndStop(3); } public function btnContinue(_arg1:Event){ deactivate(); glo.bal.PLAYER.continueToNextLevel(); } public function bonus(){ var _local1:*; RES1 = Math.round((glo.bal.PLAYER.STATS_TIMEELAPSED / 16)); res1_txt.text = numbers.formatSeconds(RES1); RES2 = glo.bal.PLAYER.STATS_DAMAGESUFFERED; res2_txt.text = numbers.format(RES2); _local1 = (60 * (6 + (3 * glo.bal.CGAME.CLEVEL))); DED1 = (15 * Math.round(((_local1 - RES1) / 5))); if (DED1 <= 0){ DED1 = 0; ded1_txt.text = "0"; ded1_txt.textColor = 0xFFFFFF; } else { ded1_txt.text = numbers.format(DED1); ded1_txt.textColor = 0xFFFFFF; }; DED2 = (5 * Math.round((RES2 / 5))); if (DED2 <= 0){ DED2 = 0; ded2_txt.text = "0"; ded2_txt.textColor = 0xFFFFFF; } else { ded2_txt.text = ("-" + numbers.format(DED2)); ded2_txt.textColor = 0xFF0000; }; XPBASE = (0 + (glo.bal.CGAME.CLEVEL * 500)); switch (glo.bal.CGAME.DIFFICULTY){ case 1: XPBASE = (XPBASE * 0.75); break; case 2: XPBASE = (XPBASE * 1); break; case 3: XPBASE = (XPBASE * 1.25); break; }; xpbase_txt.text = numbers.format(XPBASE); XPTOTAL = Math.round(((XPBASE + DED1) - DED2)); if (XPTOTAL < 0){ XPTOTAL = 0; }; xptotal_txt.text = numbers.format(XPTOTAL); glo.bal.PLAYER.xpReward(XPTOTAL); } function frame3(){ stop(); enableButtons(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); LABELS = [label1_txt, label2_txt, label3_txt, label5_txt]; for (i in LABELS) { LABELS[i].antiAliasType = "advanced"; LABELS[i].embedFonts = true; LABELS[i].setTextFormat(glo.bal.FORMAT01); }; bonus(); } function frame1(){ stop(); glo.bal.LEVELCOMPLETED = this; visible = false; } public function deactivate(){ disableButtons(); visible = false; gotoAndStop(2); } public function disableButtons(){ if (continue_btn){ continue_btn.removeEventListener("click", btnContinue); }; } function frame2(){ stop(); } public function enableButtons(){ if (continue_btn){ continue_btn.addEventListener("click", btnContinue); }; } } }//package spacerangerCS3_fla
Section 191
//levelmap_235 (spacerangerCS3_fla.levelmap_235) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class levelmap_235 extends MovieClip { public var caption_txt:TextField; public var player:MovieClip; public var ACTIVE; public var dot02:MovieClip; public var dot04:MovieClip; public var dot05:MovieClip; public var dot07:MovieClip; public var dot09:MovieClip; public var dot03:MovieClip; public var dot06:MovieClip; public var dot08:MovieClip; public var dot01:MovieClip; public var dot11:MovieClip; public var dot12:MovieClip; public var dot13:MovieClip; public var dot14:MovieClip; public var dot15:MovieClip; public var dot17:MovieClip; public var dot18:MovieClip; public var dot19:MovieClip; public var dot16:MovieClip; public var DOTSA:Array; public var dot20:MovieClip; public var dot21:MovieClip; public var dot22:MovieClip; public var dot25:MovieClip; public var dot26:MovieClip; public var dot27:MovieClip; public var dot28:MovieClip; public var dot29:MovieClip; public var dot24:MovieClip; public var dot10:MovieClip; public var dot23:MovieClip; public var map:MapScene; public var dot30:MovieClip; public var dot33:MovieClip; public var dot34:MovieClip; public var dot35:MovieClip; public var dot37:MovieClip; public var dot38:MovieClip; public var dot39:MovieClip; public var dot36:MovieClip; public var dot31:MovieClip; public var dot32:MovieClip; public var ok_btn:SimpleButton; public var dot40:MovieClip; public var NDOTS:Number; public function levelmap_235(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7); } function frame3(){ NDOTS = 40; DOTSA = []; DOTSA.push(dot01); DOTSA.push(dot02); DOTSA.push(dot03); DOTSA.push(dot04); DOTSA.push(dot05); DOTSA.push(dot06); DOTSA.push(dot07); DOTSA.push(dot08); DOTSA.push(dot09); DOTSA.push(dot10); DOTSA.push(dot11); DOTSA.push(dot12); DOTSA.push(dot13); DOTSA.push(dot14); DOTSA.push(dot15); DOTSA.push(dot16); DOTSA.push(dot17); DOTSA.push(dot18); DOTSA.push(dot19); DOTSA.push(dot20); DOTSA.push(dot21); DOTSA.push(dot22); DOTSA.push(dot23); DOTSA.push(dot24); DOTSA.push(dot25); DOTSA.push(dot26); DOTSA.push(dot27); DOTSA.push(dot28); DOTSA.push(dot29); DOTSA.push(dot30); DOTSA.push(dot31); DOTSA.push(dot32); DOTSA.push(dot33); DOTSA.push(dot34); DOTSA.push(dot35); DOTSA.push(dot36); DOTSA.push(dot37); DOTSA.push(dot38); DOTSA.push(dot39); DOTSA.push(dot40); gotoAndStop((glo.bal.CGAME.CLEVEL + 3)); } function frame4(){ stop(); enableButtons(); update(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame5(){ stop(); enableButtons(); update(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame6(){ stop(); enableButtons(); update(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame7(){ stop(); enableButtons(); update(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame1(){ stop(); glo.bal.LEVELMAP = this; visible = false; ACTIVE = false; } public function deactivate(){ ACTIVE = false; visible = false; gotoAndStop(2); } public function enableButtons(){ if (ok_btn){ ok_btn.addEventListener("click", btnOk); }; } function frame2(){ stop(); } public function update(){ var _local1:*; var _local2:Object; var _local3:*; var _local4:Number; var _local5:Number; var _local6:*; var _local7:Number; var _local8:Array; var _local9:Array; var _local10:*; var _local11:Number; if (glo.bal.GAME == null){ return; }; map.build(); map.update(); _local1 = glo.bal.PLAYER.getPos(); _local5 = glo.bal.PLAYER.getDir(); player.x = (map.x + (_local1.x * 0.05)); player.y = (map.y - (_local1.z * 0.05)); player.rotation = -(_local5); for (_local6 in DOTSA) { DOTSA[_local6].visible = false; }; _local7 = 0; _local8 = glo.bal.GAME.UNITS; for (_local6 in _local8) { if ((((_local8[_local6].TYPE == "egg")) && (_local8[_local6].ALIVE))){ if (((_local8[_local6].DISCOVERED) || (!(glo.bal.GAME.MAP.MAP[_local8[_local6].u][_local8[_local6].v].fogofwar)))){ _local2 = _local8[_local6].getPos(); DOTSA[_local7].x = (map.x + (_local2.x * 0.05)); DOTSA[_local7].y = (map.y - (_local2.z * 0.05)); DOTSA[_local7].visible = true; DOTSA[_local7].gotoAndStop(2); ++_local7; if (_local7 >= NDOTS){ _local7 = (NDOTS - 1); }; }; }; }; _local9 = glo.bal.GAME.OBJECTS; for (_local6 in _local9) { if (_local9[_local6].TYPE == "portal"){ _local10 = _local9[_local6].LOC.u; _local11 = _local9[_local6].LOC.v; if (!glo.bal.GAME.MAP.MAP[_local10][_local11].fogofwar){ _local2 = _local9[_local6].POS; DOTSA[_local7].x = (map.x + (_local2.x * 0.05)); DOTSA[_local7].y = (map.y - (_local2.z * 0.05)); DOTSA[_local7].visible = true; DOTSA[_local7].gotoAndStop(3); ++_local7; if (_local7 >= NDOTS){ _local7 = (NDOTS - 1); }; }; }; }; } public function activate(){ ACTIVE = true; visible = true; gotoAndPlay(3); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); deactivate(); glo.bal.INTERFACE.resumePlay(); } public function disableButtons(){ if (ok_btn){ ok_btn.removeEventListener("click", btnOk); }; } } }//package spacerangerCS3_fla
Section 192
//levelup_149 (spacerangerCS3_fla.levelup_149) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class levelup_149 extends MovieClip { public function levelup_149(){ addFrameScript(0, frame1); } public function activate(){ visible = true; gotoAndStop(3); } function frame1(){ stop(); glo.bal.LEVELUPAURA = this; visible = false; } public function deactivate(){ visible = false; gotoAndStop(2); } } }//package spacerangerCS3_fla
Section 193
//loaderCPMStar_2 (spacerangerCS3_fla.loaderCPMStar_2) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import CPMStar.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class loaderCPMStar_2 extends MovieClip { public var BYTESLOADED:Number; public var pct_txt:TextField; public var LOADER:Loader; public var ad:DisplayObject; public var PREROLLRATIO:Number; public var PREROLLTIME:Number; public var BYTESRATIO:Number; public var SWF_RETRY:String; public var status_txt:TextField; public var adBox:MovieClip; public var CPMStarSubPoolID:int; public var qigames_btn:SimpleButton; public var CPMStarPoolID:int; public var play_btn:SimpleButton; public var locked_mc:MovieClip; public var MINRATIO:Number; public var file_txt:TextField; public var SWF_FILE:String; public var bar_mc:MovieClip; public var LOADERINFO:LoaderInfo; public var RETRYCOUNT:Number; public var slashindex:Number; public var kb_txt:TextField; public var PREROLLTIMER:Number; public var SWFURL:String; public var BYTESTOTAL:Number; public var RETRYURL:String; public var bubblebox_btn:SimpleButton; public var SWF_PATH:String; public var SWF_URL:String; public function loaderCPMStar_2(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); } public function onComplete(_arg1:Event){ } function frame2(){ stop(); PREROLLTIMER = 0; SWF_FILE = "swfUnits.swf"; file_txt.text = ("file 2 of 4 : " + SWF_FILE); RETRYCOUNT = 0; loadAsset(); } function frame3(){ stop(); PREROLLTIMER = 0; SWF_FILE = "swfObjects.swf"; file_txt.text = ("file 3 of 4 : " + SWF_FILE); loadAsset(); } function frame4(){ stop(); PREROLLTIMER = 0; COMPLETED = false; SWF_FILE = "swfFX.swf"; file_txt.text = ("file 4 of 4 : " + SWF_FILE); loadAsset(); } function frame5(){ stop(); removeEventListener(Event.ENTER_FRAME, evtEnterFrame); if (glo.bal.GAME_AUTH){ locked_mc.visible = false; } else { if (adBox){ removeChild(adBox); }; adBox = null; locked_mc.visible = true; locked_mc.y = 200; }; play_btn.addEventListener("click", btnPlay); } function frame1(){ parent.stop(); if (glo.bal.GAME_AUTH){ stop(); } else { gotoAndStop(5); }; Security.allowDomain("*"); Security.allowInsecureDomain("*"); PREROLLTIMER = 0; PREROLLTIME = (glo.bal.FRAMERATE * 2); PREROLLRATIO = 0; BYTESLOADED = 0; BYTESTOTAL = 1; MINRATIO = 0; LOADER = null; LOADERINFO = loaderInfo; if (glo.bal.GAME_AUTH){ CPMStarPoolID = 1239; CPMStarSubPoolID = 8; try { ad = AdLoader.LoadAd(CPMStarPoolID, CPMStarSubPoolID); adBox.addChild(ad); } catch(e:Error) { trace(((("ERROR " + e.errorID) + " : ") + e.message)); }; }; qigames_btn.addEventListener("click", btnQiGames); bubblebox_btn.addEventListener("click", btnBubbleBox); SWF_URL = loaderInfo.url; slashindex = SWF_URL.lastIndexOf("/"); SWF_PATH = SWF_URL.substring(0, (slashindex + 1)); SWF_FILE = SWF_URL.substring((slashindex + 1), SWF_URL.length); SWF_RETRY = "http://static.bubblebox.com/swf/alienslayer3d/"; file_txt.text = ("file 1 of 4 : " + SWF_FILE); addEventListener(Event.ENTER_FRAME, evtEnterFrame); } public function retry(_arg1:Event=null){ var e = _arg1; PREROLLTIMER = 0; RETRYCOUNT++; if (((glo.bal.LOCALHOST) && ((RETRYCOUNT > 10)))){ glo.bal.GAME_AUTH = false; gotoAndStop(5); }; if (e){ trace(e.text); }; Security.allowDomain("*"); Security.allowInsecureDomain("*"); try { LOADER.load(new URLRequest(RETRYURL)); } catch(err:Error) { trace(("error : " + err.message)); retry(); }; } public function btnBubbleBox(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_LOADER, "_blank"); } catch(err:Error) { }; } public function displayProgress(){ var _local1:*; var _local2:Number; SHOWRATIO = (((currentFrame - 1) * 0.25) + (MINRATIO * 0.25)); SHOWBYTES = (5300 * 0x0400); pct_txt.text = (Math.round((100 * SHOWRATIO)) + "%"); if (SHOWRATIO > 0){ _local2 = Math.round((SHOWBYTES / 0x0400)); _local1 = Math.round((_local2 * SHOWRATIO)); kb_txt.text = (((_local1 + " / ") + _local2) + " kB"); } else { kb_txt.text = ""; }; bar_mc.gotoAndStop((1 + Math.round((100 * SHOWRATIO)))); } public function onProgress(_arg1:Event){ } public function btnQiGames(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_QIGAMES, "_blank"); } catch(err:Error) { }; } public function loadAsset(){ LOADER = new Loader(); LOADER.contentLoaderInfo.addEventListener("complete", onComplete); LOADER.contentLoaderInfo.addEventListener("ioError", retry); LOADER.contentLoaderInfo.addEventListener("progress", onProgress); SWFURL = (SWF_PATH + SWF_FILE); RETRYURL = (SWF_RETRY + SWF_FILE); LOADERINFO = LOADER.contentLoaderInfo; try { LOADER.load(new URLRequest(SWFURL)); } catch(err:Error) { trace(("error : " + err.message)); retry(); }; } public function btnPlay(_arg1:Event){ var evt = _arg1; if (glo.bal.GAME_AUTH){ if (adBox){ removeChild(adBox); }; adBox = null; parent.play(); } else { try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_PLAY, "_blank"); } catch(err:Error) { }; }; } public function evtEnterFrame(_arg1:Event):void{ if (currentFrame > 4){ return; }; if (!LOADERINFO){ trace("null"); return; }; BYTESLOADED = LOADERINFO.bytesLoaded; BYTESTOTAL = LOADERINFO.bytesTotal; if (BYTESTOTAL > 0){ BYTESRATIO = (BYTESLOADED / BYTESTOTAL); } else { BYTESRATIO = 0; }; PREROLLTIMER++; PREROLLRATIO = (PREROLLTIMER / PREROLLTIME); MINRATIO = Math.min(PREROLLRATIO, BYTESRATIO); if (MINRATIO > 1){ MINRATIO = 1; }; displayProgress(); if (MINRATIO >= 1){ switch (currentFrame){ case 2: glo.bal.SWF_UNITS = LOADER.content; break; case 3: glo.bal.SWF_OBJECTS = LOADER.content; break; case 4: glo.bal.SWF_FX = LOADER.content; break; }; if (currentFrame > 1){ if (!LOADER.content){ retry(); return; }; }; LOADERINFO = null; gotoAndStop((currentFrame + 1)); }; } } }//package spacerangerCS3_fla
Section 194
//loadgame_326 (spacerangerCS3_fla.loadgame_326) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class loadgame_326 extends MovieClip { public var NEXT; public function loadgame_326(){ addFrameScript(0, frame1, 44, frame45, 64, frame65); } function frame65(){ stop(); switch (NEXT){ case "play": glo.bal.GAMEMENU.gotoPlay(); break; case "menu": glo.bal.GAMEMENU.gotoMenu(); break; }; } public function gotoPlay(){ NEXT = "play"; gotoAndPlay("fadeout"); } public function gotoMenu(){ NEXT = "menu"; gotoAndPlay("fadeout"); } function frame1(){ NEXT = null; } function frame45(){ stop(); } } }//package spacerangerCS3_fla
Section 195
//map_153 (spacerangerCS3_fla.map_153) package spacerangerCS3_fla { import flash.display.*; public dynamic class map_153 extends MovieClip { public var mapscene:MapScene; } }//package spacerangerCS3_fla
Section 196
//mapbtnclip_161 (spacerangerCS3_fla.mapbtnclip_161) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class mapbtnclip_161 extends MovieClip { public var label_txt:TextField; public function mapbtnclip_161(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 197
//medikitnotice_181 (spacerangerCS3_fla.medikitnotice_181) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class medikitnotice_181 extends MovieClip { public function medikitnotice_181(){ addFrameScript(34, frame35); } function frame35(){ stop(); parent.gotoAndStop(1); } } }//package spacerangerCS3_fla
Section 198
//menu_317 (spacerangerCS3_fla.menu_317) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menu_317 extends MovieClip { public var label4_txt:TextField; public var label2_txt:TextField; public var ok_btn:SimpleButton; public var label1_txt:TextField; public var label3_txt:TextField; public function menu_317(){ addFrameScript(0, frame1); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); disableButtons(); parent.NEXT = "player"; parent.play(); } function frame1(){ stop(); BTNS = [ok_btn]; enableButtons(); label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); label2_txt.antiAliasType = "advanced"; label2_txt.embedFonts = true; label2_txt.setTextFormat(glo.bal.FORMAT01); label3_txt.antiAliasType = "advanced"; label3_txt.embedFonts = true; label3_txt.setTextFormat(glo.bal.FORMAT01); label4_txt.antiAliasType = "advanced"; label4_txt.embedFonts = true; label4_txt.setTextFormat(glo.bal.FORMAT01); ok_btn.addEventListener("click", btnOk); } public function disableButtons(){ for (i in BTNS) { BTNS[i].enabled = false; }; } public function enableButtons(){ for (i in BTNS) { BTNS[i].enabled = true; }; } } }//package spacerangerCS3_fla
Section 199
//menu_318 (spacerangerCS3_fla.menu_318) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menu_318 extends MovieClip { public var back_btn:SimpleButton; public var ok_btn:SimpleButton; public var playerName_txt:TextField; public var label1_txt:TextField; public function menu_318(){ addFrameScript(0, frame1); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); PLAYERNAME = playerName_txt.text; if (PLAYERNAME == ""){ PLAYERNAME = "Player1"; }; C = glo.bal.GAMES.length; if (C < 5){ glo.bal.CGAME = new gameData(PLAYERNAME); glo.bal.GAMES.push(glo.bal.CGAME); } else { trace("override older game ..."); glo.bal.CGAME = new gameData(PLAYERNAME); glo.bal.GAMES[4] = glo.bal.CGAME; }; gameData.saveGames(glo.bal.GAMES); disableButtons(); parent.NEXT = "difficulty"; parent.play(); } public function btnBack(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); disableButtons(); parent.NEXT = "back"; parent.play(); } function frame1(){ stop(); stage.focus = playerName_txt; BTNS = [ok_btn, back_btn]; enableButtons(); label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); playerName_txt.antiAliasType = "advanced"; playerName_txt.embedFonts = true; playerName_txt.setTextFormat(glo.bal.FORMAT01); playerName_txt.defaultTextFormat = glo.bal.FORMAT01; ok_btn.addEventListener("click", btnOk); back_btn.addEventListener("click", btnBack); } public function disableButtons(){ for (i in BTNS) { BTNS[i].enabled = false; }; } public function enableButtons(){ for (i in BTNS) { BTNS[i].enabled = true; }; } } }//package spacerangerCS3_fla
Section 200
//menu_319 (spacerangerCS3_fla.menu_319) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menu_319 extends MovieClip { public var hard_btn:SimpleButton; public var caption_txt:TextField; public var medium_btn:SimpleButton; public var easy_btn:SimpleButton; public function menu_319(){ addFrameScript(0, frame1); } function frame1(){ stop(); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); BTNS = [easy_btn, medium_btn, hard_btn]; enableButtons(); easy_btn.addEventListener("click", btnEasy); medium_btn.addEventListener("click", btnMedium); hard_btn.addEventListener("click", btnHard); } public function btnHard(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); glo.bal.CGAME.DIFFICULTY = 3; gameData.saveGames(glo.bal.GAMES); parent.play(); } public function disableButtons(){ for (i in BTNS) { BTNS[i].enabled = false; }; } public function enableButtons(){ for (i in BTNS) { BTNS[i].enabled = true; }; } public function btnEasy(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); glo.bal.CGAME.DIFFICULTY = 1; gameData.saveGames(glo.bal.GAMES); parent.play(); } public function btnMedium(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); glo.bal.CGAME.DIFFICULTY = 2; gameData.saveGames(glo.bal.GAMES); parent.play(); } } }//package spacerangerCS3_fla
Section 201
//menu_328 (spacerangerCS3_fla.menu_328) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menu_328 extends MovieClip { public var cancel_btn:SimpleButton; public var zone1_btn:SimpleButton; public var selection_mc:MovieClip; public var zone3_btn:SimpleButton; public var zone5_btn:SimpleButton; public var ICONY0; public var game2_txt:TextField; public var game4_txt:TextField; public var ZONES; public var text1_txt:TextField; public var ok_btn:SimpleButton; public var zone4_btn:SimpleButton; public var game1_txt:TextField; public var SELECTED; public var game3_txt:TextField; public var game5_txt:TextField; public var zone2_btn:SimpleButton; public var ZONEY0; public var LABELS; public function menu_328(){ addFrameScript(0, frame1); } public function btnZone1(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); if (C < 1){ return; }; SELECTED = 1; selection_mc.y = (ZONEY0 + 0); } public function btnZone3(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); if (C < 3){ return; }; SELECTED = 3; selection_mc.y = (ZONEY0 + 50); } public function btnZone5(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); if (C < 5){ return; }; SELECTED = 5; selection_mc.y = (ZONEY0 + 100); } public function btnZone4(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); if (C < 4){ return; }; SELECTED = 4; selection_mc.y = (ZONEY0 + 75); } public function btnZone2(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); if (C < 2){ return; }; SELECTED = 2; selection_mc.y = (ZONEY0 + 25); } public function btnOk(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); glo.bal.CGAME = glo.bal.GAMES[(SELECTED - 1)]; trace("Load Game -> some checks on gamedata values"); disableButtons(); parent.parent.gotoPlay(); } function frame1(){ stop(); enableButtons(); LABELS = [game1_txt, game2_txt, game3_txt, game4_txt, game5_txt]; ZONES = [zone1_btn, zone2_btn, zone3_btn, zone4_btn, zone5_btn]; SELECTED = 1; text1_txt.embedFonts = true; text1_txt.setTextFormat(glo.bal.FORMAT01); C = glo.bal.GAMES.length; i = 0; while (i < 5) { if (i > (C - 1)){ LABELS[i].text = ""; ZONES[i].visible = false; } else { LABELS[i].text = ((("Level " + glo.bal.GAMES[i].CLEVEL) + " - ") + glo.bal.GAMES[i].PLAYERNAME); }; i++; }; ICONY0 = 130; ZONEY0 = 130; game1_txt.embedFonts = true; game1_txt.setTextFormat(glo.bal.FORMAT02); game2_txt.embedFonts = true; game2_txt.setTextFormat(glo.bal.FORMAT02); game3_txt.embedFonts = true; game3_txt.setTextFormat(glo.bal.FORMAT02); game4_txt.embedFonts = true; game4_txt.setTextFormat(glo.bal.FORMAT02); game5_txt.embedFonts = true; game5_txt.setTextFormat(glo.bal.FORMAT02); zone1_btn.addEventListener("click", btnZone1); zone2_btn.addEventListener("click", btnZone2); zone3_btn.addEventListener("click", btnZone3); zone4_btn.addEventListener("click", btnZone4); zone5_btn.addEventListener("click", btnZone5); ok_btn.addEventListener("click", btnOk); cancel_btn.addEventListener("click", btnCancel); } public function enableButtons(){ ok_btn.enabled = true; cancel_btn.enabled = true; } public function disableButtons(){ ok_btn.enabled = false; cancel_btn.enabled = false; } public function btnCancel(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); disableButtons(); parent.parent.gotoMenu(); } } }//package spacerangerCS3_fla
Section 202
//menulinks_302 (spacerangerCS3_fla.menulinks_302) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menulinks_302 extends MovieClip { public var moregames_btn:SimpleButton; public var scores_btn:SimpleButton; public function menulinks_302(){ addFrameScript(0, frame1); } function frame1(){ stop(); BTNS = [moregames_btn, scores_btn]; enableButtons(); moregames_btn.addEventListener("click", btnMoreGames); scores_btn.addEventListener("click", btnScores); } public function btnMoreGames(_arg1:Event){ var e = _arg1; try { glo.bal.JUKEBOX.btnClick(); navigateToURL(glo.bal.URLREQ_BUBBLEBOX_MOREGAMES, "_blank"); } catch(err:Error) { trace("Open MoreGames URL ..."); }; } public function disableButtons(){ for (i in BTNS) { BTNS[i].enabled = false; }; } public function btnScores(_arg1:Event){ var e = _arg1; try { glo.bal.JUKEBOX.btnClick(); navigateToURL(glo.bal.URLREQ_BUBBLEBOX_VIEWSCORES, "_blank"); } catch(err:Error) { trace("Open ViewScores URL ..."); }; } public function enableButtons(){ for (i in BTNS) { BTNS[i].enabled = true; }; } } }//package spacerangerCS3_fla
Section 203
//menunew_296 (spacerangerCS3_fla.menunew_296) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menunew_296 extends MovieClip { public var new_btn:SimpleButton; public var load_btn:SimpleButton; public function menunew_296(){ addFrameScript(0, frame1); } public function order(_arg1, _arg2):Number{ if (_arg1.LASTMODIFIED > _arg2.LASTMODIFIED){ return (-1); }; if (_arg1.LASTMODIFIED < _arg2.LASTMODIFIED){ return (1); }; return (0); } public function btnLoad(_arg1:Event){ if (glo.bal.GAMES.length == 0){ return; }; glo.bal.JUKEBOX.btnClick(); parent.parent.gotoLoadGame(); disableButtons(); } function frame1(){ stop(); BTNS = [load_btn, new_btn]; enableButtons(); glo.bal.GAMES = gameData.getGames(); glo.bal.GAMES.sort(order); if (glo.bal.GAMES.length == 0){ load_btn.enabled = false; load_btn.alpha = 0.5; } else { load_btn.enabled = true; load_btn.alpha = 1; }; load_btn.addEventListener("click", btnLoad); new_btn.addEventListener("click", btnNew); } public function disableButtons(){ for (i in BTNS) { BTNS[i].enabled = false; }; } public function btnNew(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); parent.parent.gotoNewGame(); disableButtons(); } public function enableButtons(){ for (i in BTNS) { BTNS[i].enabled = true; }; } } }//package spacerangerCS3_fla
Section 204
//menutransition_292 (spacerangerCS3_fla.menutransition_292) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class menutransition_292 extends MovieClip { public var chair:MovieClip; public function menutransition_292(){ addFrameScript(0, frame1, 29, frame30, 130, frame131, 210, frame211); } public function gotoHelp(){ NEXT = "help"; toFadeout(); } function frame211(){ stop(); switch (NEXT){ case "load game": glo.bal.GAMEMENU.gotoLoadGame(); break; case "new game": glo.bal.GAMEMENU.gotoNewGame(); break; case "credits": glo.bal.GAMEMENU.gotoCredits(); break; case "help": glo.bal.GAMEMENU.gotoHelp(); break; }; } public function toFadeout(){ if (currentFrame < 130){ gotoAndPlay(((150 + 130) - currentFrame)); } else { gotoAndPlay("fadeout"); }; } function frame1(){ } public function gotoLoadGame(){ NEXT = "load game"; toFadeout(); } function frame30(){ chair.gotoAndPlay(2); } function frame131(){ stop(); } public function gotoNewGame(){ NEXT = "new game"; toFadeout(); } } }//package spacerangerCS3_fla
Section 205
//messages_162 (spacerangerCS3_fla.messages_162) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class messages_162 extends MovieClip { public function messages_162(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.MESSAGING = this; } public function pickedAmmo(_arg1:Number){ gotoAndStop((_arg1 + 2)); } public function pickedKey(_arg1:String){ switch (_arg1){ case "red": gotoAndStop(5); break; case "green": gotoAndStop(6); break; case "yellow": gotoAndStop(7); break; case "blue": gotoAndStop(8); break; }; } public function pickedMedikit(){ gotoAndStop(2); } } }//package spacerangerCS3_fla
Section 206
//missionprogress_201 (spacerangerCS3_fla.missionprogress_201) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class missionprogress_201 extends MovieClip { public var label2_txt:TextField; public var label1_txt:TextField; public var MSG2:String; public var MSG1:String; public function missionprogress_201(){ addFrameScript(0, frame1, 1, frame2, 29, frame30); } public function activate(_arg1:String, _arg2:String){ visible = true; MSG1 = _arg1; MSG2 = _arg2; gotoAndPlay(2); } function frame1(){ stop(); glo.bal.MISSIONPROGRESS = this; visible = false; MSG1 = ""; MSG2 = ""; } public function deactivate(){ visible = false; stop(); } function frame2(){ label1_txt.text = MSG1; label2_txt.text = MSG2; } function frame30(){ stop(); } } }//package spacerangerCS3_fla
Section 207
//monsterwarning_205 (spacerangerCS3_fla.monsterwarning_205) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class monsterwarning_205 extends MovieClip { public var arrowL:MovieClip; public var arrowR:MovieClip; public function monsterwarning_205(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.MONSTERWARNING = this; arrowL.visible = false; arrowR.visible = false; } public function warnL(){ arrowL.visible = true; arrowL.gotoAndPlay(1); } public function warnR(){ arrowR.visible = true; arrowR.gotoAndPlay(1); } } }//package spacerangerCS3_fla
Section 208
//moves_36 (spacerangerCS3_fla.moves_36) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class moves_36 extends MovieClip { public var stand_mc:MovieClip; public var walk_mc:MovieClip; public function moves_36(){ addFrameScript(0, frame1); } public function setBody(_arg1:Number){ gotoAndStop(_arg1); } function frame1(){ stop(); CLIPS = [walk_mc, stand_mc]; walk(); } public function walk(){ setBody(2); } public function stand(){ setBody(3); } } }//package spacerangerCS3_fla
Section 209
//moves_40 (spacerangerCS3_fla.moves_40) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class moves_40 extends MovieClip { public var stand_mc:MovieClip; public var walk_mc:MovieClip; public function moves_40(){ addFrameScript(0, frame1); } public function setBody(_arg1:Number){ gotoAndStop(_arg1); } function frame1(){ stop(); CLIPS = [walk_mc, stand_mc]; walk(); } public function walk(){ setBody(2); } public function stand(){ setBody(3); } } }//package spacerangerCS3_fla
Section 210
//moves_44 (spacerangerCS3_fla.moves_44) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class moves_44 extends MovieClip { public var stand_mc:MovieClip; public var walk_mc:MovieClip; public function moves_44(){ addFrameScript(0, frame1); } public function setBody(_arg1:Number){ gotoAndStop(_arg1); } function frame1(){ stop(); CLIPS = [walk_mc, stand_mc]; walk(); } public function walk(){ setBody(2); } public function stand(){ setBody(3); } } }//package spacerangerCS3_fla
Section 211
//newgame_314 (spacerangerCS3_fla.newgame_314) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class newgame_314 extends MovieClip { public function newgame_314(){ addFrameScript(0, frame1, 44, frame45, 64, frame65); } function frame65(){ stop(); switch (NEXT){ case "load game": glo.bal.GAMEMENU.gotoLoadGame(); break; case "new game": glo.bal.GAMEMENU.gotoNewGame(); break; case "credits": glo.bal.GAMEMENU.gotoCredits(); break; case "help": glo.bal.GAMEMENU.gotoHelp(); break; }; } public function gotoHelp(){ NEXT = "help"; gotoAndPlay("fadeout"); } function frame1(){ } public function gotoLoadGame(){ NEXT = "load game"; gotoAndPlay("fadeout"); } function frame45(){ stop(); } public function gotoNewGame(){ NEXT = "new game"; gotoAndPlay("fadeout"); } } }//package spacerangerCS3_fla
Section 212
//notice_208 (spacerangerCS3_fla.notice_208) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class notice_208 extends MovieClip { public var bg:MovieClip; public var MSG:String; public var label1_txt:TextField; public function notice_208(){ addFrameScript(0, frame1, 1, frame2, 29, frame30); } public function activate(_arg1:String, _arg2:String=null){ visible = true; MSG = _arg1; gotoAndPlay(2); switch (_arg2){ case "green": bg.gotoAndStop(1); break; case "red": bg.gotoAndStop(2); break; case "blue": bg.gotoAndStop(3); break; case "yellow": bg.gotoAndStop(4); break; case "orange": bg.gotoAndStop(5); break; case "darkblue": bg.gotoAndStop(6); break; default: bg.gotoAndStop(6); break; }; } function frame1(){ stop(); glo.bal.NOTICE = this; MSG = ""; visible = false; } public function deactivate(){ visible = false; stop(); } function frame2(){ label1_txt.text = MSG; } function frame30(){ stop(); } } }//package spacerangerCS3_fla
Section 213
//options_221 (spacerangerCS3_fla.options_221) package spacerangerCS3_fla { import fl.controls.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import fl.events.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class options_221 extends MovieClip { public var LABELS; public var i; public var slider1:Slider; public var label4_txt:TextField; public var label2_txt:TextField; public var slider3:Slider; public var ok_btn:SimpleButton; public var slider4:Slider; public var caption_txt:TextField; public var PARENT:Object; public var slider2:Slider; public var label1_txt:TextField; public var label3_txt:TextField; public function options_221(){ addFrameScript(0, frame1); __setProp_slider2_options_sliders_1(); __setProp_slider3_options_sliders_1(); __setProp_slider1_options_sliders_1(); __setProp_slider4_options_sliders_1(); } public function activate(_arg1:Object){ PARENT = _arg1; visible = true; ok_btn.enabled = true; slider1.value = (glo.bal.JUKEBOX.OPT_VOLUME_MUSIC * 100); slider2.value = (glo.bal.JUKEBOX.OPT_VOLUME_SFX * 100); slider3.value = (glo.bal.PLAYER.OPT_CAM_SENS_PAN * 100); slider4.value = (glo.bal.PLAYER.OPT_MOUSEWHEEL_SENS * 100); } public function slideSFX(_arg1:SliderEvent){ glo.bal.JUKEBOX.setSfxVolume((_arg1.value / 100)); } public function slideMusic(_arg1:SliderEvent){ glo.bal.JUKEBOX.setMusicVolume((_arg1.value / 100)); } public function slideWheel(_arg1:SliderEvent){ glo.bal.PLAYER.OPT_MOUSEWHEEL_SENS = (_arg1.value / 100); glo.bal.CGAME.OPT_MOUSEWHEEL_SENS = (_arg1.value / 100); gameData.saveGames(glo.bal.GAMES); } public function btnOK(_arg1:Event){ deactivate(); PARENT.backFromOptions(); } function __setProp_slider3_options_sliders_1(){ try { slider3["componentInspectorSetting"] = true; } catch(e:Error) { }; slider3.direction = "horizontal"; slider3.enabled = true; slider3.liveDragging = false; slider3.maximum = 100; slider3.minimum = 0; slider3.snapInterval = 0; slider3.tickInterval = 0; slider3.value = 0; slider3.visible = true; try { slider3["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); visible = false; glo.bal.OPTIONS = this; caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); LABELS = [label1_txt, label2_txt, label3_txt, label4_txt]; for (i in LABELS) { LABELS[i].antiAliasType = "advanced"; LABELS[i].embedFonts = true; LABELS[i].setTextFormat(glo.bal.FORMAT01); }; PARENT = null; slider1.addEventListener("change", slideMusic); slider2.addEventListener("change", slideSFX); slider3.addEventListener("change", slideCam); slider4.addEventListener("change", slideWheel); ok_btn.addEventListener("click", btnOK); } public function slideCam(_arg1:SliderEvent){ glo.bal.PLAYER.OPT_CAM_SENS_PAN = (_arg1.value / 100); glo.bal.CGAME.OPT_CAM_SENS_PAN = (_arg1.value / 100); gameData.saveGames(glo.bal.GAMES); } public function deactivate(){ visible = false; ok_btn.enabled = false; } function __setProp_slider2_options_sliders_1(){ try { slider2["componentInspectorSetting"] = true; } catch(e:Error) { }; slider2.direction = "horizontal"; slider2.enabled = true; slider2.liveDragging = false; slider2.maximum = 100; slider2.minimum = 0; slider2.snapInterval = 0; slider2.tickInterval = 0; slider2.value = 0; slider2.visible = true; try { slider2["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_slider1_options_sliders_1(){ try { slider1["componentInspectorSetting"] = true; } catch(e:Error) { }; slider1.direction = "horizontal"; slider1.enabled = true; slider1.liveDragging = false; slider1.maximum = 100; slider1.minimum = 0; slider1.snapInterval = 0; slider1.tickInterval = 0; slider1.value = 0; slider1.visible = true; try { slider1["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_slider4_options_sliders_1(){ try { slider4["componentInspectorSetting"] = true; } catch(e:Error) { }; slider4.direction = "horizontal"; slider4.enabled = true; slider4.liveDragging = false; slider4.maximum = 100; slider4.minimum = 0; slider4.snapInterval = 0; slider4.tickInterval = 0; slider4.value = 0; slider4.visible = true; try { slider4["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package spacerangerCS3_fla
Section 214
//outline_128 (spacerangerCS3_fla.outline_128) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class outline_128 extends MovieClip { public var pie_mask_mc:MovieClip; public function outline_128(){ addFrameScript(0, frame1); } function frame1(){ } } }//package spacerangerCS3_fla
Section 215
//panelnew_294 (spacerangerCS3_fla.panelnew_294) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class panelnew_294 extends MovieClip { public var menu_mc:MovieClip; public function panelnew_294(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 216
//paneloptions_301 (spacerangerCS3_fla.paneloptions_301) package spacerangerCS3_fla { import flash.display.*; public dynamic class paneloptions_301 extends MovieClip { public var menu_mc:MovieClip; } }//package spacerangerCS3_fla
Section 217
//panelqigames_312 (spacerangerCS3_fla.panelqigames_312) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class panelqigames_312 extends MovieClip { public var btn_qigames:SimpleButton; public function panelqigames_312(){ addFrameScript(0, frame1); } function frame1(){ stop(); btn_qigames.addEventListener("click", btnQiGames); } public function btnQiGames(_arg1:Event){ var e = _arg1; try { glo.bal.JUKEBOX.btnClick(); navigateToURL(glo.bal.URLREQ_QIGAMES); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 218
//panelsponsor_309 (spacerangerCS3_fla.panelsponsor_309) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class panelsponsor_309 extends MovieClip { public var bubblebox_btn:SimpleButton; public function panelsponsor_309(){ addFrameScript(0, frame1); } function frame1(){ stop(); bubblebox_btn.addEventListener("click", btnBubbleBox); } public function btnBubbleBox(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_GAMEMENU, "_blank"); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 219
//pcoption_58 (spacerangerCS3_fla.pcoption_58) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class pcoption_58 extends MovieClip { public var btn_slow:SimpleButton; public var btn_good:SimpleButton; public function pcoption_58(){ addFrameScript(0, frame1); } public function btnGood(_arg1:Event){ glo.bal.PC_OPTION = 1; parent.gotoAndPlay("game"); } function frame1(){ stop(); glo.bal.PC_OPTION = 1; btn_good.addEventListener("click", btnGood); btn_slow.addEventListener("click", btnSlow); } public function btnSlow(_arg1:Event){ glo.bal.PC_OPTION = 2; parent.gotoAndPlay("game"); } } }//package spacerangerCS3_fla
Section 220
//pistol_85 (spacerangerCS3_fla.pistol_85) package spacerangerCS3_fla { import flash.display.*; public dynamic class pistol_85 extends MovieClip { public var fire_mc:MovieClip; } }//package spacerangerCS3_fla
Section 221
//playtext_21 (spacerangerCS3_fla.playtext_21) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class playtext_21 extends MovieClip { public var label_txt:TextField; public function playtext_21(){ addFrameScript(0, frame1); } function frame1(){ label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 222
//pressctolevelup_148 (spacerangerCS3_fla.pressctolevelup_148) package spacerangerCS3_fla { import flash.display.*; import flash.text.*; public dynamic class pressctolevelup_148 extends MovieClip { public var xp_txt:TextField; } }//package spacerangerCS3_fla
Section 223
//producedbyalpha_49 (spacerangerCS3_fla.producedbyalpha_49) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class producedbyalpha_49 extends MovieClip { public var alpha_mc:MovieClip; public function producedbyalpha_49(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package spacerangerCS3_fla
Section 224
//qiroll_52 (spacerangerCS3_fla.qiroll_52) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class qiroll_52 extends MovieClip { public var QIROLL:Number; public function qiroll_52(){ addFrameScript(0, frame1); } function frame1(){ if (isNaN(QIROLL)){ QIROLL = 0; } else { QIROLL++; if (QIROLL > 3){ stop(); }; }; } } }//package spacerangerCS3_fla
Section 225
//qislide_51 (spacerangerCS3_fla.qislide_51) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class qislide_51 extends MovieClip { public function qislide_51(){ addFrameScript(89, frame90); } function frame90(){ stop(); } } }//package spacerangerCS3_fla
Section 226
//radar_151 (spacerangerCS3_fla.radar_151) package spacerangerCS3_fla { import gdk.fps.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import sandy.math.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class radar_151 extends MovieClip { public var MAPMAP:Array; public var dot02:MovieClip; public var dot04:MovieClip; public var dot05:MovieClip; public var dot07:MovieClip; public var dot09:MovieClip; public var dot03:MovieClip; public var dot06:MovieClip; public var dot08:MovieClip; public var dot01:MovieClip; public var dot11:MovieClip; public var dot12:MovieClip; public var dot13:MovieClip; public var dot14:MovieClip; public var dot15:MovieClip; public var dot16:MovieClip; public var dot17:MovieClip; public var dot18:MovieClip; public var dot19:MovieClip; public var DOTSA:Array; public var dot20:MovieClip; public var dot21:MovieClip; public var dot22:MovieClip; public var dot25:MovieClip; public var dot26:MovieClip; public var dot27:MovieClip; public var dot28:MovieClip; public var dot29:MovieClip; public var dot24:MovieClip; public var dot10:MovieClip; public var dot23:MovieClip; public var map:MovieClip; public var dot30:MovieClip; public var dot33:MovieClip; public var dot34:MovieClip; public var dot35:MovieClip; public var dot37:MovieClip; public var dot38:MovieClip; public var dot39:MovieClip; public var dot36:MovieClip; public var dot31:MovieClip; public var dot32:MovieClip; public var dot40:MovieClip; public var NDOTS:Number; public function radar_151(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.RADAR = this; NDOTS = 40; DOTSA = []; DOTSA.push(dot01); DOTSA.push(dot02); DOTSA.push(dot03); DOTSA.push(dot04); DOTSA.push(dot05); DOTSA.push(dot06); DOTSA.push(dot07); DOTSA.push(dot08); DOTSA.push(dot09); DOTSA.push(dot10); DOTSA.push(dot11); DOTSA.push(dot12); DOTSA.push(dot13); DOTSA.push(dot14); DOTSA.push(dot15); DOTSA.push(dot16); DOTSA.push(dot17); DOTSA.push(dot18); DOTSA.push(dot19); DOTSA.push(dot20); DOTSA.push(dot21); DOTSA.push(dot22); DOTSA.push(dot23); DOTSA.push(dot24); DOTSA.push(dot25); DOTSA.push(dot26); DOTSA.push(dot27); DOTSA.push(dot28); DOTSA.push(dot29); DOTSA.push(dot30); DOTSA.push(dot31); DOTSA.push(dot32); DOTSA.push(dot33); DOTSA.push(dot34); DOTSA.push(dot35); DOTSA.push(dot36); DOTSA.push(dot37); DOTSA.push(dot38); DOTSA.push(dot39); DOTSA.push(dot40); } public function init(){ var _local1:*; map.mapscene.build(); updateFog(); for (_local1 in DOTSA) { DOTSA[_local1].visible = false; }; MAPMAP = glo.bal.GAME.MAP.MAP; } public function updateFog(_arg1:Object=null){ map.mapscene.update(); glo.bal.GAME.evt(16, updateFog, this); } public function nextState(){ var _local1:*; var _local2:Object; var _local3:*; var _local4:*; var _local5:Number; var _local6:*; var _local7:Number; var _local8:MovieClip; var _local9:*; var _local10:Array; var _local11:Number; var _local12:fpsUnit; var _local13:Array; var _local14:*; var _local15:Number; var _local16:fpsObject; if (glo.bal.GAME.MAP == null){ return; }; _local1 = glo.bal.PLAYER.getPos(); pand = (glo.bal.PLAYER.getDir() - 90); _local7 = (((glo.bal.PLAYER.getDir() - 90) * Math.PI) / 180); for (_local9 in DOTSA) { _local8 = DOTSA[_local9]; _local8.visible = false; }; _local10 = glo.bal.GAME.UNITS; _local11 = 0; for (_local9 in _local10) { _local12 = _local10[_local9]; if (_local12.TYPE == "egg"){ if (_local12.ALIVE){ if (((_local12.DISCOVERED) || (!(MAPMAP[_local12.u][_local12.v].fogofwar)))){ _local2 = _local12.getPos(); _local3 = (_local2.x - _local1.x); _local4 = (_local2.z - _local1.z); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); _local6 = Math.atan2(_local4, _local3); _local5 = (_local5 * 0.05); if (_local5 < 45){ _local8 = DOTSA[_local11]; _local8.x = (55 + (FastMath.cos((_local6 - _local7)) * _local5)); _local8.y = (55 - (FastMath.sin((_local6 - _local7)) * _local5)); _local8.visible = true; _local8.gotoAndStop(2); ++_local11; if (_local11 >= NDOTS){ _local11 = (NDOTS - 1); }; }; }; }; } else { if (((_local12.ALIVE) && (_local12.ATTACKING))){ _local2 = _local12.getPos(); _local3 = (_local2.x - _local1.x); _local4 = (_local2.z - _local1.z); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); _local6 = Math.atan2(_local4, _local3); _local5 = (_local5 * 0.05); if (_local5 < 45){ _local8 = DOTSA[_local11]; _local8.x = (55 + (FastMath.cos((_local6 - _local7)) * _local5)); _local8.y = (55 - (FastMath.sin((_local6 - _local7)) * _local5)); _local8.visible = true; _local8.gotoAndStop(1); ++_local11; if (_local11 >= NDOTS){ _local11 = (NDOTS - 1); }; }; }; }; }; _local10 = null; _local13 = glo.bal.GAME.OBJECTS; for (_local9 in _local13) { if (_local13[_local9].TYPE == "portal"){ _local16 = _local13[_local9]; _local14 = _local16.LOC.u; _local15 = _local16.LOC.v; if (!MAPMAP[_local14][_local15].fogofwar){ _local2 = _local16.POS; _local3 = (_local2.x - _local1.x); _local4 = (_local2.z - _local1.z); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); _local6 = Math.atan2(_local4, _local3); _local5 = (_local5 * 0.05); if (_local5 < 45){ _local8 = DOTSA[_local11]; _local8.x = (55 + (FastMath.cos((_local6 - _local7)) * _local5)); _local8.y = (55 - (FastMath.sin((_local6 - _local7)) * _local5)); _local8.visible = true; _local8.gotoAndStop(3); ++_local11; if (_local11 >= NDOTS){ _local11 = (NDOTS - 1); }; }; }; }; }; _local13 = null; map.mapscene.x = (_local1.x * -0.05); map.mapscene.y = (_local1.z * 0.05); map.rotation = pand; } } }//package spacerangerCS3_fla
Section 227
//redflash_93 (spacerangerCS3_fla.redflash_93) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class redflash_93 extends MovieClip { public function redflash_93(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 228
//reloading_117 (spacerangerCS3_fla.reloading_117) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class reloading_117 extends MovieClip { public var bar2:MovieClip; public var bar3:MovieClip; public var bar1:MovieClip; public var BARS; public var label1_txt:TextField; public function reloading_117(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.RELOAD = this; visible = false; label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT02); BARS = [bar1, bar2, bar3]; } public function done(){ visible = false; } public function reload(_arg1:Number, _arg2:Number){ var _local3:*; visible = true; for (_local3 in BARS) { if (_local3 == _arg1){ BARS[_local3].visible = true; } else { BARS[_local3].visible = false; }; }; F = (22 - _arg2); if (F > 19){ F = 19; }; if (F < 1){ F = 1; }; BARS[_arg1].gotoAndPlay(F); } } }//package spacerangerCS3_fla
Section 229
//rip1_96 (spacerangerCS3_fla.rip1_96) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class rip1_96 extends MovieClip { public function rip1_96(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 230
//rip2_98 (spacerangerCS3_fla.rip2_98) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class rip2_98 extends MovieClip { public function rip2_98(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 231
//rip3_94 (spacerangerCS3_fla.rip3_94) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class rip3_94 extends MovieClip { public function rip3_94(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 232
//sandymc_305 (spacerangerCS3_fla.sandymc_305) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class sandymc_305 extends MovieClip { public var sandy_btn:SimpleButton; public function sandymc_305(){ addFrameScript(0, frame1); } function frame1(){ stop(); sandy_btn.addEventListener("click", btnSandy); } public function btnSandy(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_SANDY, "_blank"); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 233
//saving_243 (spacerangerCS3_fla.saving_243) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class saving_243 extends MovieClip { public var caption_txt:TextField; public var PARENT; public function saving_243(){ addFrameScript(0, frame1, 29, frame30, 39, frame40); } public function activate(_arg1:Object){ visible = true; PARENT = _arg1; gotoAndPlay(2); } function frame1(){ stop(); glo.bal.SAVINGGAME = this; visible = false; PARENT = null; } public function deactivate(){ visible = false; } function frame30(){ caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } function frame40(){ stop(); deactivate(); PARENT.backFromSavingGame(); } } }//package spacerangerCS3_fla
Section 234
//screen_316 (spacerangerCS3_fla.screen_316) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class screen_316 extends MovieClip { public var NEXT; public function screen_316(){ addFrameScript(0, frame1, 9, frame10, 39, frame40, 49, frame50, 69, frame70, 79, frame80); } function frame70(){ stop(); } function frame80(){ stop(); glo.bal.GAMEMENU.gotoPlay(); } function frame10(){ stop(); } function frame1(){ NEXT = null; } function frame40(){ stop(); } function frame50(){ if (NEXT == "back"){ stop(); glo.bal.GAMEMENU.gotoMenu(); }; } } }//package spacerangerCS3_fla
Section 235
//screen_327 (spacerangerCS3_fla.screen_327) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class screen_327 extends MovieClip { public function screen_327(){ addFrameScript(9, frame10, 19, frame20); } function frame10(){ stop(); } function frame20(){ stop(); glo.bal.GAME.gotoPlay(); } } }//package spacerangerCS3_fla
Section 236
//skill_127 (spacerangerCS3_fla.skill_127) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class skill_127 extends MovieClip { public var outline_mc:MovieClip; public function skill_127(){ addFrameScript(0, frame1); } public function activate(){ visible = true; } function frame1(){ stop(); visible = false; } public function deactivate(){ visible = false; } public function update(_arg1:Number){ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 100){ _arg1 = 100; }; F = (361 - Math.round((_arg1 * 3.6))); outline_mc.pie_mask_mc.gotoAndStop(F); } } }//package spacerangerCS3_fla
Section 237
//skill_133 (spacerangerCS3_fla.skill_133) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class skill_133 extends MovieClip { public var outline_mc:MovieClip; public function skill_133(){ addFrameScript(0, frame1); } public function activate(){ visible = true; } function frame1(){ stop(); visible = false; } public function deactivate(){ visible = false; } public function update(_arg1:Number){ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 100){ _arg1 = 100; }; F = (361 - Math.round((_arg1 * 3.6))); outline_mc.pie_mask_mc.gotoAndStop(F); } } }//package spacerangerCS3_fla
Section 238
//skill_136 (spacerangerCS3_fla.skill_136) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class skill_136 extends MovieClip { public var outline_mc:MovieClip; public function skill_136(){ addFrameScript(0, frame1); } public function activate(){ visible = true; } function frame1(){ stop(); visible = false; } public function deactivate(){ visible = false; } public function update(_arg1:Number){ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 100){ _arg1 = 100; }; F = (361 - Math.round((_arg1 * 3.6))); outline_mc.pie_mask_mc.gotoAndStop(F); } } }//package spacerangerCS3_fla
Section 239
//skills_126 (spacerangerCS3_fla.skills_126) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class skills_126 extends MovieClip { public var X0; public var stealth:MovieClip; public var ACTIVATION; public var Y0; public var i; public var MAXORDER; public var SKILLS; public var repulse:MovieClip; public var heal:MovieClip; public function skills_126(){ addFrameScript(0, frame1); } public function fastForwardSkill(_arg1:Number, _arg2:Number){ SKILLS[_arg1].fastforward = _arg2; } public function activateSkill(_arg1:Number, _arg2:Number){ SKILLS[_arg1].active = true; SKILLS[_arg1].time = _arg2; SKILLS[_arg1].totaltime = _arg2; SKILLS[_arg1].order = MAXORDER; SKILLS[_arg1].fastforward = 1; MAXORDER++; SKILLS[_arg1].activate(); SKILLS[_arg1].update(100); SKILLS[_arg1].x = X0; SKILLS[_arg1].y = (Y0 - (SKILLS[_arg1].order * 100)); } function frame1(){ stop(); glo.bal.SKILLS = this; SKILLS = [stealth, heal, repulse]; ACTIVATION = []; MAXORDER = 0; for (i in SKILLS) { SKILLS[i].visible = false; ACTIVATION.push({active:false, order:0, time:0, totaltime:0, fastforward:1}); }; X0 = 490; Y0 = 200; } public function nextState(){ var _local1:*; var _local2:*; for (_local1 in SKILLS) { if (SKILLS[_local1].active){ SKILLS[_local1].time = (SKILLS[_local1].time - SKILLS[_local1].fastforward); if (SKILLS[_local1].time < 1){ SKILLS[_local1].active = false; SKILLS[_local1].deactivate(); MAXORDER--; for (_local2 in SKILLS) { if (SKILLS[_local2].active){ if (SKILLS[_local2].order > SKILLS[_local1].order){ SKILLS[_local2].order--; SKILLS[_local2].y = (Y0 - (SKILLS[_local2].order * 100)); }; }; }; glo.bal.PLAYER.skillCompleted(_local1); } else { SKILLS[_local1].update(Math.round(((100 * SKILLS[_local1].time) / SKILLS[_local1].totaltime))); }; }; }; } } }//package spacerangerCS3_fla
Section 240
//soundcontrol_63 (spacerangerCS3_fla.soundcontrol_63) package spacerangerCS3_fla { import fl.controls.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class soundcontrol_63 extends MovieClip { public var sfx_chk:CheckBox; public var fps_txt:TextField; public var music_chk:CheckBox; public function soundcontrol_63(){ addFrameScript(0, frame1); } public function clickedMusic(_arg1:MouseEvent){ if (mouseY < -10){ music_chk.selected = !(music_chk.selected); }; if (music_chk.selected){ glo.bal.JUKEBOX.musicOn(); } else { glo.bal.JUKEBOX.musicOff(); }; } function frame1(){ stop(); glo.bal.SOUNDCONTROL = this; music_chk.label = ""; sfx_chk.label = ""; music_chk.selected = true; sfx_chk.selected = true; music_chk.focusEnabled = false; sfx_chk.focusEnabled = false; music_chk.addEventListener(MouseEvent.CLICK, clickedMusic); sfx_chk.addEventListener(MouseEvent.CLICK, clickedSfx); } public function clickedSfx(_arg1:MouseEvent){ if (mouseY < -10){ sfx_chk.selected = !(sfx_chk.selected); }; if (sfx_chk.selected){ glo.bal.JUKEBOX.sfxOn(); } else { glo.bal.JUKEBOX.sfxOff(); }; } } }//package spacerangerCS3_fla
Section 241
//spacebounty_39 (spacerangerCS3_fla.spacebounty_39) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class spacebounty_39 extends MovieClip { public var SPEEDX; public var STANDING; public var body_mc:MovieClip; public var FRAMECOUNT; public function spacebounty_39(){ addFrameScript(0, frame1); } public function nextState(){ FRAMECOUNT++; if (FRAMECOUNT < 87){ x = (x + SPEEDX); } else { if (!STANDING){ body_mc.stand(); STANDING = true; }; }; } function frame1(){ stop(); FRAMECOUNT = 0; SPEEDX = 4; STANDING = false; } } }//package spacerangerCS3_fla
Section 242
//splash_34 (spacerangerCS3_fla.splash_34) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class splash_34 extends MovieClip { public var c3_mc:MovieClip; public var qi_mc:MovieClip; public var c1_mc:MovieClip; public var FADE; public var SKIP; public var dotcom_mc:MovieClip; public var c2_mc:MovieClip; public var producedby_mc:MovieClip; public var skip_btn:SimpleButton; public var FRAMECOUNT; public function splash_34(){ addFrameScript(0, frame1); } function frame1(){ stop(); FRAMECOUNT = 0; FADE = false; SKIP = false; addEventListener(Event.ENTER_FRAME, evtEnterFrame); skip_btn.addEventListener("click", btnSkip); } public function btnSkip(_arg1:Event){ if (SKIP){ return; }; SKIP = true; parent.gotoAndPlay(145); dotcom_mc.gotoAndStop(110); qi_mc.gotoAndStop(90); c1_mc.visible = false; c2_mc.visible = false; c3_mc.visible = false; skip_btn.visible = false; skip_btn.enabled = false; } public function evtEnterFrame(_arg1:Event){ FRAMECOUNT++; if (((!(FADE)) && ((FRAMECOUNT > 120)))){ }; c1_mc.nextState(); c2_mc.nextState(); c3_mc.nextState(); } } }//package spacerangerCS3_fla
Section 243
//splashintro_26 (spacerangerCS3_fla.splashintro_26) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class splashintro_26 extends MovieClip { public function splashintro_26(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 244
//splashlogo1_31 (spacerangerCS3_fla.splashlogo1_31) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class splashlogo1_31 extends MovieClip { public function splashlogo1_31(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 245
//splashlogo2_32 (spacerangerCS3_fla.splashlogo2_32) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class splashlogo2_32 extends MovieClip { public function splashlogo2_32(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 246
//submitscore_211 (spacerangerCS3_fla.submitscore_211) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class submitscore_211 extends MovieClip { public var PLAYERNAME; public var btn_tryagain:SimpleButton; public var player_txt:TextField; public var LOADER; public var VARS; public var score_txt:TextField; public var btn_submit:SimpleButton; public var label2_txt:TextField; public var SCORE; public var GAMEID; public var REQ; public var btn_viewscores:SimpleButton; public var label1_txt:TextField; public function submitscore_211(){ addFrameScript(0, frame1, 9, frame10, 19, frame20, 29, frame30); } public function activate(){ player_txt.text = glo.bal.CGAME.PLAYERNAME; PLAYERNAME = glo.bal.CGAME.PLAYERNAME; SCORE = glo.bal.PLAYER.XP; GAMEID = "alienslayer"; score_txt.text = numbers.format(SCORE); } function frame10(){ stop(); VARS = new URLVariables(); VARS.name = escape(PLAYERNAME); VARS.score = SCORE; VARS.game = 1012; REQ = new URLRequest("http://www.bubblebox.com/scripts/insertscore.php"); REQ.data = VARS; REQ.method = "POST"; LOADER = new URLLoader(); LOADER.addEventListener("complete", evtCompleted); LOADER.addEventListener("securityError", evtError); LOADER.addEventListener("ioError", evtError); try { LOADER.load(REQ); } catch(err:Error) { gotoAndStop(30); }; } function frame1(){ stop(); label1_txt.antiAliasType = "advanced"; label1_txt.embedFonts = true; label1_txt.setTextFormat(glo.bal.FORMAT01); player_txt.antiAliasType = "advanced"; player_txt.embedFonts = true; player_txt.setTextFormat(glo.bal.FORMAT01); player_txt.defaultTextFormat = glo.bal.FORMAT01; activate(); btn_submit.addEventListener("click", btnSubmit); } function frame20(){ stop(); label2_txt.antiAliasType = "advanced"; label2_txt.embedFonts = true; label2_txt.setTextFormat(glo.bal.FORMAT01); btn_viewscores.addEventListener("click", btnViewScores); } function frame30(){ stop(); label2_txt.antiAliasType = "advanced"; label2_txt.embedFonts = true; label2_txt.setTextFormat(glo.bal.FORMAT01); btn_tryagain.addEventListener("click", btnTryAgain); } public function evtCompleted(_arg1:Event){ gotoAndStop(20); } public function btnViewScores(_arg1:Event){ var e = _arg1; glo.bal.JUKEBOX.btnClick(); try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_VIEWSCORES, "_blank"); } catch(err:Error) { trace("Open ViewScores URL ..."); }; } public function btnSubmit(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); if (player_txt.length > 0){ PLAYERNAME = player_txt.text; }; gotoAndStop(10); } public function btnTryAgain(_arg1:Event){ glo.bal.JUKEBOX.btnClick(); gotoAndStop(10); } public function evtError(_arg1:Event){ gotoAndStop(30); } } }//package spacerangerCS3_fla
Section 247
//terminalclip_315 (spacerangerCS3_fla.terminalclip_315) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class terminalclip_315 extends MovieClip { public function terminalclip_315(){ addFrameScript(22, frame23); } function frame23(){ stop(); } } }//package spacerangerCS3_fla
Section 248
//text_213 (spacerangerCS3_fla.text_213) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_213 extends MovieClip { public var label_txt:TextField; public function text_213(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 249
//text_216 (spacerangerCS3_fla.text_216) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_216 extends MovieClip { public var label_txt:TextField; public function text_216(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 250
//text_218 (spacerangerCS3_fla.text_218) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_218 extends MovieClip { public var label_txt:TextField; public function text_218(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 251
//text_220 (spacerangerCS3_fla.text_220) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_220 extends MovieClip { public var label_txt:TextField; public function text_220(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT02); } } }//package spacerangerCS3_fla
Section 252
//text_224 (spacerangerCS3_fla.text_224) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_224 extends MovieClip { public var label_txt:TextField; public function text_224(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 253
//text_238 (spacerangerCS3_fla.text_238) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_238 extends MovieClip { public var label_txt:TextField; public function text_238(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT02); } } }//package spacerangerCS3_fla
Section 254
//text_240 (spacerangerCS3_fla.text_240) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_240 extends MovieClip { public var label_txt:TextField; public function text_240(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT02); } } }//package spacerangerCS3_fla
Section 255
//text_242 (spacerangerCS3_fla.text_242) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_242 extends MovieClip { public var label_txt:TextField; public function text_242(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 256
//text_282 (spacerangerCS3_fla.text_282) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_282 extends MovieClip { public var label_txt:TextField; public function text_282(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 257
//text_285 (spacerangerCS3_fla.text_285) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_285 extends MovieClip { public var label_txt:TextField; public function text_285(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 258
//text_289 (spacerangerCS3_fla.text_289) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_289 extends MovieClip { public var label_txt:TextField; public function text_289(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 259
//text_298 (spacerangerCS3_fla.text_298) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_298 extends MovieClip { public var label_txt:TextField; public function text_298(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 260
//text_300 (spacerangerCS3_fla.text_300) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_300 extends MovieClip { public var label_txt:TextField; public function text_300(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 261
//text_304 (spacerangerCS3_fla.text_304) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_304 extends MovieClip { public var label_txt:TextField; public function text_304(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 262
//text_321 (spacerangerCS3_fla.text_321) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_321 extends MovieClip { public var label_txt:TextField; public function text_321(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT02); } } }//package spacerangerCS3_fla
Section 263
//text_323 (spacerangerCS3_fla.text_323) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_323 extends MovieClip { public var label_txt:TextField; public function text_323(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT02); } } }//package spacerangerCS3_fla
Section 264
//text_325 (spacerangerCS3_fla.text_325) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_325 extends MovieClip { public var label_txt:TextField; public function text_325(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT02); } } }//package spacerangerCS3_fla
Section 265
//text_330 (spacerangerCS3_fla.text_330) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_330 extends MovieClip { public var label_txt:TextField; public function text_330(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 266
//text_332 (spacerangerCS3_fla.text_332) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class text_332 extends MovieClip { public var label_txt:TextField; public function text_332(){ addFrameScript(0, frame1); } function frame1(){ label_txt.antiAliasType = "advanced"; label_txt.embedFonts = true; label_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 267
//textloading_343 (spacerangerCS3_fla.textloading_343) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class textloading_343 extends MovieClip { public var caption_txt:TextField; public function textloading_343(){ addFrameScript(0, frame1); } function frame1(){ caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 268
//textsaving_244 (spacerangerCS3_fla.textsaving_244) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class textsaving_244 extends MovieClip { public var caption_txt:TextField; public function textsaving_244(){ addFrameScript(0, frame1); } function frame1(){ caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 269
//textsubmitting_214 (spacerangerCS3_fla.textsubmitting_214) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class textsubmitting_214 extends MovieClip { public var caption_txt:TextField; public function textsubmitting_214(){ addFrameScript(0, frame1); } function frame1(){ caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); } } }//package spacerangerCS3_fla
Section 270
//timer_280 (spacerangerCS3_fla.timer_280) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class timer_280 extends MovieClip { public var time_txt:TextField; public function timer_280(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.CLOCK = this; time_txt.antiAliasType = "advanced"; time_txt.embedFonts = true; time_txt.setTextFormat(glo.bal.FORMAT01); time_txt.defaultTextFormat = glo.bal.FORMAT01; } public function setTime(){ } public function update(_arg1:Number){ time_txt.text = numbers.formatSeconds(_arg1); } } }//package spacerangerCS3_fla
Section 271
//ubergun_88 (spacerangerCS3_fla.ubergun_88) package spacerangerCS3_fla { import flash.display.*; public dynamic class ubergun_88 extends MovieClip { public var fire_mc:MovieClip; } }//package spacerangerCS3_fla
Section 272
//weapons_103 (spacerangerCS3_fla.weapons_103) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class weapons_103 extends MovieClip { public function weapons_103(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 273
//versionlocked_17 (spacerangerCS3_fla.versionlocked_17) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class versionlocked_17 extends MovieClip { public var embed_btn:SimpleButton; public function versionlocked_17(){ addFrameScript(0, frame1); } function frame1(){ stop(); embed_btn.addEventListener("click", btnEmbed); } public function btnEmbed(_arg1:Event){ var e = _arg1; try { navigateToURL(glo.bal.URLREQ_BUBBLEBOX_EMBED, "_blank"); } catch(err:Error) { }; } } }//package spacerangerCS3_fla
Section 274
//xpbartween_143 (spacerangerCS3_fla.xpbartween_143) package spacerangerCS3_fla { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class xpbartween_143 extends MovieClip { public function xpbartween_143(){ addFrameScript(0, frame1); } public function setPct(_arg1:Number){ if (_arg1 > 100){ _arg1 = 100; }; if (_arg1 < 0){ _arg1 = 0; }; F = (1 + Math.round(((_arg1 * 0.01) * 99))); gotoAndStop(F); } function frame1(){ stop(); } } }//package spacerangerCS3_fla
Section 275
//aiAlienEgg (aiAlienEgg) package { import gdk.fps.*; import sandy.core.data.*; import flash.geom.*; public class aiAlienEgg extends aiUnit { public var SEQi:Number; public var RENDERBODY:Boolean; public var SEQ:Object; public var DISCOVERED:Boolean; public var CF:Number; public var u:Number; public var v:Number; public var BP1:Point; public var BP2:Point; public function aiAlienEgg(_arg1:String, _arg2:fpsGame, _arg3:Number, _arg4:Number){ OBJID = _arg1; super(_arg2, new Vector(((_arg3 * 100) + 50), 0, ((_arg4 * 100) + 50))); TYPE = "egg"; HEALTH = 100; NATURALSHIELD = 1; REWARD = 100; DISCOVERED = false; u = _arg3; v = _arg4; CF = -1; RENDERBODY = false; SEQ = GAME.BITMAPLIB.ALIENEGG; SEQi = 3; BP1 = new Point(44, 30); BP2 = new Point(0, 55); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, 40, 15); UNITBAR = new UnitHealthBar(50, 30, 60, 3); HZ = glo.bal.HZ_ALIENEGG; HZ_MOVEi = 0; HZ_FRAMEi = 0; BUFFER_DX = -37; BUFFER_DY = (-61 - 30); } override public function init(_arg1:Object=null){ super.init(); ALIVE = true; HEALTH = 100; DISCOVERED = false; RENDERBODY = true; } override public function damageSuffered(_arg1:Number){ PLAYER.stealthDetected(); BLEEDER.bleed(); } public function faceCam(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = (GAME.CAM.x - SPRITE.x); _local2 = (GAME.CAM.z - SPRITE.z); _local3 = (0 + ((Math.atan2(_local2, _local1) * 180) / Math.PI)); if (_local3 < 0){ _local3 = (_local3 + 360); }; if (_local3 > 360){ _local3 = (_local3 - 360); }; _local4 = Math.round((_local3 / 10)); if (_local4 == 36){ _local4 = 0; }; CF = _local4; SEQ.getFrame(SEQi, 1, CF, SPRITE.BUFFER, BP2, false); if (RENDERBODY){ SEQ.getFrame(SEQi, 0, CF, SPRITE.BUFFER, BP1, true); }; HZ_MOVEi = 0; HZ_FRAMEi = CF; } override public function nextState(){ var _local1:Object; var _local2:Object; var _local3:Object; if (ALIVE){ if (((!(LOADED)) && (ROOM.LOADED))){ _local1 = getPos(); _local2 = PLAYER.getPos(); _local3 = GAME.MAP.stingRay(_local1, _local2, false); if (!_local3.intersect){ DISCOVERED = true; PLAYER.eggDiscovered(this); loadUnit(); }; }; }; if (LOADED){ SPRITE.BUFFER.fillRect(SPRITE.BUFFER.rect, 0); faceCam(); if (RENDERBODY){ BLEEDER.nextState(SPRITE.BUFFER); }; if (ALIVE){ UNITBAR.nextState(SPRITE.BUFFER, (HEALTH / 100)); }; }; } override public function death(){ new EggSplatter(POS); RENDERBODY = false; glo.bal.JUKEBOX.splatter(); GAME.PLAYER.eggDestroyed(this); GAME.evt(60, clearUnit, this, (16 * 3)); PLAYER.xpKill(this); } override public function loadUnit(){ if (!ALIVE){ return; }; if (LOADED){ return; }; LOADED = true; SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.ALIENEGG); SPRITE.scale = 0.35; SPRITE.autoCenter = false; SPRITE.setBoundingSphereRadius(50); SPRITE.BMP.y = -130; SPRITE.BMP.y = -120; movement(0, 0, 0); } } }//package
Section 276
//aiPlayer (aiPlayer) package { import gdk.fps.*; import gdk.fps.wbl.*; import flash.display.*; import flash.events.*; import flash.geom.*; import sandy.math.*; import flash.ui.*; public class aiPlayer extends MovieClip { public var CONSTITUTION:Number; public var LAYER_SPLATTER:MovieClip; public var KEYS:Array; public var REWARDRATIO:Number; public var CURSOR_DX; public var CURSOR_DY; public var ITEMSPICKED:Array; private var MC_X0:Number; public var WEAPON:Number; public var SPEED:Number; private var NEXTFOOTSTEP:Object; public var POS:Object; public var SHAKECOUNTER:Number; public var STATS_TIMEELAPSED:Number; public var XP_THIS_LEVEL:Number; private var MC_Y0:Number; public var HASMOVED:Boolean; public var HEALTH:Number; public var VISIBLE:Boolean; public var WEAPONCOUNT:Number; public var SKILLS:Array; private var SCENE:fpsScene; public var MOUSEY:Number; private var PORTAL:objPortal; private var MC_IX:Number; private var MOUSELOC:Object; public var UNITSKILLED:Array; public var REPULSION:Number; private var MC_IY:Number; public var MOUSEX:Number; public var RELOADHELPER:Number; public var OPT_CAM_SENS_PAN; public var TIP:MovieClip; public var HEALTH_REGEN:Number; public var EGGSDESTROYED:Number; public var AMMO_TOTAL:Array; public var ALIVE:Boolean; public var RECHARGE:Number; public var NATURALSHIELD:Number; public var OPT_MOUSEWHEEL_SENS; public var BODYARMOR:Number; public var FOCUS:Number; public var SPLATTER:MovieClip; public var XP_NEXT_LEVEL:Number; private var SAVING:Boolean; public var STATS_KILLS:Number; private var MC_BOXH:Number; public var AMMO_CHAMBER:Array; private var MC_BOXW:Number; public var INTERFACE:MovieClip; public var XP:Number; private var GUNSHAKING:Object; public var LOC:Object; public var FIREDAMAGE:Array; public var OPT_CAM_SENS_TILT; public var STOPFIRINGAUTO:Boolean; private var MAP:fpsMap; public var WHEELDELTA:Number; public var body_mc:MovieClip; public var XP_LEVEL:Number; public var DISCOVEREDEGGS:Array; public var FIRING:Boolean; public var MOUSEOUTSIDE:Boolean; public var AMMO_FULL:Array; public var STABILITY:Number; public var FIREFX:MovieClip; public var RELOADING:Boolean; public var ME:MovieClip; public var XP_SKILLPOINTS:Number; public var BODY:MovieClip; private var CAM:fpsCamera; public var EGGSTODESTROY:Number; private var DOOR:wblDoor; public var HITRADIUS:Number; public var FOCUS_REGEN:Number; public var UPGRADES:Array; private var MC_DX:Number; private var MC_DY:Number; public var SPIRIT:Number; private var GAME:fpsGame; public var XP_INC:Number; public var MEDIKITS:Number; public var STATS_DAMAGESUFFERED:Number; public function aiPlayer(){ addFrameScript(0, frame1, 1, frame2, 29, frame30); ME = this; glo.bal.PLAYER = this; ALIVE = false; POS = {x:0, y:0, z:0}; LOC = {u:0, v:0}; } public function evtMouseWheel(_arg1:Number){ var _local2:*; var _local3:Number; if (!ALIVE){ return; }; WHEELDELTA = (WHEELDELTA + _arg1); _local2 = Math.round((10 - (9 * OPT_MOUSEWHEEL_SENS))); _local3 = WEAPON; if (WHEELDELTA > _local2){ WHEELDELTA = 0; _local3++; if (_local3 > (WEAPONCOUNT - 1)){ _local3 = 0; }; while (AMMO_TOTAL[_local3] < 1) { _local3++; if (_local3 > (WEAPONCOUNT - 1)){ _local3 = 0; }; }; setWeapon(_local3); }; if (WHEELDELTA < -(_local2)){ WHEELDELTA = 0; _local3--; if (_local3 < 0){ _local3 = (WEAPONCOUNT - 1); }; while (AMMO_TOTAL[_local3] < 1) { _local3--; if (_local3 < 0){ _local3 = (WEAPONCOUNT - 1); }; }; setWeapon(_local3); }; } public function bulletPos():Object{ var _local1:Object; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = {x:CAM.x, y:CAM.y, z:CAM.z}; _local2 = ((MOUSELOC.x + 100) - MC_X0); _local3 = ((MOUSELOC.y + 90) - MC_Y0); _local4 = (CAM.PAN - ((40 * _local2) / MC_X0)); _local5 = (CAM.TILT - ((20 * _local3) / MC_Y0)); _local1.x = (_local1.x + (25 * FastMath.cos(((_local4 * FastMath.TWO_PI) / 360)))); _local1.y = (_local1.y + (25 * FastMath.sin(((_local5 * FastMath.TWO_PI) / 360)))); _local1.z = (_local1.z + (25 * FastMath.sin(((_local4 * FastMath.TWO_PI) / 360)))); return (_local1); } public function useWeapon1(_arg1:Object){ setWeapon(0); } public function useWeapon2(_arg1:Object){ setWeapon(1); } public function useWeapon3(_arg1:Object){ setWeapon(2); } public function useMedikit(){ if (!ALIVE){ return; }; if (MEDIKITS < 1){ return; }; MEDIKITS--; HEALTH = CONSTITUTION; glo.bal.HEALTHBAR.setHealth(HEALTH, CONSTITUTION); glo.bal.JUKEBOX.heal(); ammoDisplay(); } public function saveFogOfWar(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:Number; if (!SAVING){ glo.bal.CGAME.FOGOFWAR = []; return; }; _local1 = MAP.MAP; _local2 = MAP.NU; _local3 = MAP.NV; _local4 = []; _local5 = 0; while (_local5 < _local2) { _local6 = 0; while (_local6 < _local3) { if (!_local1[_local5][_local6].fogofwar){ _local4.push({u:_local1[_local5][_local6].u, v:_local1[_local5][_local6].v}); }; _local6++; }; _local5++; }; glo.bal.CGAME.FOGOFWAR = _local4; } public function ammoDisplay(){ var _local1:*; _local1 = 0; while (_local1 < WEAPONCOUNT) { glo.bal.INVENTORY.setAmmo(_local1, AMMO_TOTAL[_local1]); _local1++; }; glo.bal.INVENTORY.setWeapon(WEAPON); glo.bal.AMMO.setAmmo(WEAPON, AMMO_CHAMBER[WEAPON], AMMO_FULL[WEAPON], AMMO_TOTAL[WEAPON]); glo.bal.INVENTORY.setMedikits(MEDIKITS); } public function backFromSavingGame(){ SAVING = false; glo.bal.INTERFACE.resumePlay(); } public function evtSpaceDown(_arg1:KeyboardEvent){ var _local2:*; var _local3:*; var _local4:*; if (!ALIVE){ return; }; if (PORTAL != null){ if (PORTAL.ROOM.ID == MAP.ROOMID){ _local2 = (PORTAL.POS.x - POS.x); _local3 = (PORTAL.POS.z - POS.z); _local4 = ((_local2 * _local2) + (_local3 * _local3)); if (_local4 < (100 * 100)){ portalSaveGame(); glo.bal.INTERACTION.deactivate(); return; }; }; PORTAL = null; }; if (DOOR == null){ DOOR = MAP.doorInRange(POS, 150); }; if (DOOR != null){ if (((DOOR.CLOSED) && (haveKeyForDoor(DOOR)))){ GAME.evt(5, openDoor, this, DOOR); glo.bal.INTERACTION.deactivate(); }; }; } public function areaFX(_arg1:fpsBullet){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; if (!ALIVE){ return; }; _local2 = (_arg1.TRAIL[0].x - POS.x); _local3 = (_arg1.TRAIL[0].z - POS.z); _local4 = ((_local2 * _local2) + (_local3 * _local3)); _local5 = (1 - (_local4 / (_arg1.AREAFX_RADIUS * _arg1.AREAFX_RADIUS))); if (_local5 > 0){ damage(((_arg1.AREAFX_DAMAGE * _local5) * 0.2)); glo.bal.CLAWRIPS.redFlash(); }; } public function regen(_arg1:Object){ if (!ALIVE){ return; }; if (HEALTH_REGEN > 0){ HEALTH = (HEALTH + HEALTH_REGEN); if (HEALTH > CONSTITUTION){ HEALTH = CONSTITUTION; }; glo.bal.HEALTHBAR.setHealth(HEALTH, CONSTITUTION); }; if (FOCUS_REGEN > 0){ FOCUS = (FOCUS + FOCUS_REGEN); if (FOCUS > SPIRIT){ FOCUS = SPIRIT; }; glo.bal.FOCUSBAR.setFocus(FOCUS, SPIRIT); }; GAME.evt(24, regen, this); } public function tryUseMedikit(_arg1:Object){ if (HEALTH < CONSTITUTION){ useMedikit(); } else { glo.bal.NOTICE.activate("Your health is already full", "red"); }; } public function getPosUV():Object{ return (LOC); } public function setInitialPosAndDir(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ if (glo.bal.CGAME.PLAYERPOS != null){ _arg1 = glo.bal.CGAME.PLAYERPOS.x; _arg2 = glo.bal.CGAME.PLAYERPOS.y; _arg3 = glo.bal.CGAME.PLAYERPOS.z; _arg4 = glo.bal.CGAME.PLAYERDIR; }; POS.x = _arg1; POS.y = _arg2; POS.z = _arg3; CAM.x = _arg1; CAM.y = (_arg2 + 50); CAM.z = _arg3; CAM.setPan(_arg4); } public function doneReloading(_arg1:Object){ if (!ALIVE){ return; }; RELOADING = false; ME.visible = true; glo.bal.RELOAD.done(); ammoDisplay(); } public function toggleCharacterSheet(_arg1:Object=null){ if (!ALIVE){ return; }; if (SAVING){ return; }; if (glo.bal.INTERFACE.INBRIEFING){ return; }; glo.bal.LEVELUPAURA.deactivate(); if (glo.bal.CHARACTERSHEET.ACTIVE){ glo.bal.INTERFACE.resumePlay(); glo.bal.CHARACTERSHEET.deactivate(); applyUpgrades(); } else { glo.bal.INTERFACE.pausePlay(); glo.bal.CHARACTERSHEET.activate(); }; } public function eggDiscovered(_arg1:Object){ DISCOVEREDEGGS.push(_arg1.OBJID); } public function useSkill1(_arg1:Object=null){ var _local2:*; var _local3:*; if (!ALIVE){ return; }; if (SAVING){ return; }; _local2 = 0; if (SKILLS[_local2].level == 0){ glo.bal.NOTICE.activate("You do not have this skill just yet", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (FOCUS < SKILLS[_local2].cost){ glo.bal.NOTICE.activate("Not enough focus", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (GAME.anyActiveUnit()){ glo.bal.NOTICE.activate("Too late for that", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (SKILLS[_local2].active){ return; }; SKILLS[_local2].active = true; FOCUS = (FOCUS - SKILLS[_local2].cost); glo.bal.FOCUSBAR.setFocus(FOCUS, SPIRIT); _local3 = (64 + (SKILLS[_local2].level * 48)); glo.bal.SKILLS.activateSkill(_local2, _local3); glo.bal.JUKEBOX.stealth(); alpha = 0.25; VISIBLE = false; } public function useSkill3(_arg1:Object=null){ var _local2:*; var _local3:*; var _local4:*; if (!ALIVE){ return; }; if (SAVING){ return; }; _local2 = 2; if (SKILLS[_local2].level == 0){ glo.bal.NOTICE.activate("You do not have this skill just yet", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (FOCUS < SKILLS[_local2].cost){ glo.bal.NOTICE.activate("Not enough focus", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (SKILLS[_local2].active){ return; }; SKILLS[_local2].active = true; FOCUS = (FOCUS - SKILLS[_local2].cost); glo.bal.FOCUSBAR.setFocus(FOCUS, SPIRIT); _local3 = (64 + (SKILLS[_local2].level * 48)); _local4 = (200 + (SKILLS[_local2].level * 25)); glo.bal.SKILLS.activateSkill(_local2, _local3); glo.bal.JUKEBOX.repulse(); gotoAndPlay(10); REPULSION = _local4; } public function xpKill(_arg1:Object){ var _local2:*; if (!ALIVE){ return; }; UNITSKILLED.push(_arg1.OBJID); STATS_KILLS++; _local2 = (_arg1.REWARD * REWARDRATIO); if ((((WEAPON == 0)) && (!((_arg1.TYPE == "egg"))))){ _local2 = (_local2 * 2); glo.bal.NOTICE.activate((("Survivor Kill " + _local2) + " XP")); }; xpReward(_local2); } public function useSkill2(_arg1:Object=null){ var _local2:*; if (!ALIVE){ return; }; if (SAVING){ return; }; _local2 = 1; if (SKILLS[_local2].level == 0){ glo.bal.NOTICE.activate("You do not have this skill just yet", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (HEALTH >= CONSTITUTION){ glo.bal.NOTICE.activate("Your health is already full", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (FOCUS < SKILLS[_local2].cost){ glo.bal.NOTICE.activate("Not enough focus", "red"); glo.bal.JUKEBOX.skillFailure(); return; }; if (SKILLS[_local2].active){ return; }; SKILLS[_local2].active = true; FOCUS = (FOCUS - SKILLS[_local2].cost); glo.bal.FOCUSBAR.setFocus(FOCUS, SPIRIT); glo.bal.SKILLS.activateSkill(_local2, 20); HEALTH = (HEALTH + (SKILLS[_local2].level * 50)); if (HEALTH > CONSTITUTION){ HEALTH = CONSTITUTION; }; glo.bal.HEALTHBAR.setHealth(HEALTH, CONSTITUTION); glo.bal.JUKEBOX.heal(); } public function tryPick(_arg1:fpsItem):Boolean{ var _local2:Number; if (!ALIVE){ return (false); }; if (_arg1.TYPE == "ammo"){ _local2 = _arg1.DATA.weapon; AMMO_TOTAL[_local2] = (AMMO_TOTAL[_local2] + _arg1.DATA.qty); AMMO_CHAMBER[_local2] = (AMMO_CHAMBER[_local2] + _arg1.DATA.qty); if (AMMO_CHAMBER[_local2] > AMMO_FULL[_local2]){ AMMO_CHAMBER[_local2] = AMMO_FULL[_local2]; }; if (AMMO_TOTAL[_local2] > AMMO_CHAMBER[_local2]){ AMMO_CHAMBER[_local2] = AMMO_FULL[_local2]; }; glo.bal.MESSAGING.pickedAmmo(_local2); glo.bal.JUKEBOX.reload1(); ITEMSPICKED.push(_arg1.OBJID); ammoDisplay(); return (true); }; if (_arg1.TYPE == "health"){ glo.bal.MESSAGING.pickedMedikit(); MEDIKITS++; if (HEALTH < (CONSTITUTION * 0.4)){ useMedikit(); } else { glo.bal.JUKEBOX.toggle(); }; ITEMSPICKED.push(_arg1.OBJID); ammoDisplay(); return (true); }; if (_arg1.TYPE == "key"){ KEYS.push(_arg1.DATA.door); glo.bal.KEYS.gotKeys(KEYS); glo.bal.JUKEBOX.toggle(); glo.bal.MESSAGING.pickedKey(_arg1.DATA.door); return (true); }; return (false); } public function death(){ if (!ALIVE){ return; }; ALIVE = false; ME.visible = false; stopFire(); glo.bal.GAMEOVERSCREEN.activate(); GAME.evt(50, deathStop, this); } public function haveKeyForDoor(_arg1:Object):Boolean{ var _local2:*; if (_arg1.KEY == null){ return (true); }; for (_local2 in KEYS) { if (KEYS[_local2] == _arg1.KEY){ return (true); }; }; return (false); } public function beginFire(){ if (!ALIVE){ return; }; if (RELOADING){ return; }; if (FIRING){ return; }; if (AMMO_CHAMBER[WEAPON] < 1){ glo.bal.JUKEBOX.dryFire(); RELOADHELPER--; if (RELOADHELPER < 0){ reload(); }; return; }; FIRING = true; if (WEAPON == 1){ STOPFIRINGAUTO = false; glo.bal.JUKEBOX.playGunLoop(); startGunShaking(); }; fireNow(); } public function xpReward(_arg1:Number){ if (!ALIVE){ return; }; XP = (XP + _arg1); if (XP >= XP_NEXT_LEVEL){ XP_LEVEL++; XP_THIS_LEVEL = (((XP_LEVEL - 1) * (XP_LEVEL - 1)) * XP_INC); XP_NEXT_LEVEL = ((XP_LEVEL * XP_LEVEL) * XP_INC); XP_SKILLPOINTS = (XP_SKILLPOINTS + XP_LEVEL); glo.bal.XPBAR.setLevel(XP_LEVEL); glo.bal.XPBAR.setXP(XP, XP_THIS_LEVEL, XP_NEXT_LEVEL); glo.bal.LEVELUPAURA.activate(); HEALTH = CONSTITUTION; glo.bal.HEALTHBAR.setHealth(HEALTH, CONSTITUTION); FOCUS = SPIRIT; glo.bal.FOCUSBAR.setFocus(FOCUS, SPIRIT); } else { glo.bal.XPBAR.setXP(XP, XP_THIS_LEVEL, XP_NEXT_LEVEL); }; } public function deathStop(_arg1:Object){ glo.bal.INTERFACE.pausePlay(); } function frame30(){ if (REPULSION > 0){ gotoAndPlay(10); } else { gotoAndStop(2); }; } public function loadFogOfWar(){ var i:*; var j:Number; var FOG:*; var UNITS:*; try { FOG = glo.bal.CGAME.FOGOFWAR; for (i in FOG) { MAP.MAP[FOG[i].u][FOG[i].v].fogofwar = false; }; UNITS = GAME.UNITS; for (i in DISCOVEREDEGGS) { for (j in UNITS) { if (UNITS[j].OBJID == DISCOVEREDEGGS[i]){ UNITS[j].DISCOVERED = true; }; }; }; } catch(e:Error) { }; } public function closeFromPortal(_arg1:objPortal){ PORTAL = _arg1; glo.bal.INTERACTION.activate("Press SPACEBAR to save game", "blue"); } public function autoCloseDoor(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; _local2 = (_arg1.x - POS.x); _local3 = (_arg1.z - POS.z); _local4 = ((_local2 * _local2) + (_local3 * _local3)); if (_local4 < (150 * 150)){ GAME.evt((16 * 1), autoCloseDoor, this, _arg1); } else { _local5 = MAP.roomObjAtLoc(LOC); _local6 = null; if (_arg1.ROOM.ID == _local5.ID){ _local6 = _arg1.ROOM2; }; if (_arg1.ROOM2.ID == _local5.ID){ _local6 = _arg1.ROOM; }; if (GAME.anyActiveUnitInRoom(_local6)){ trace("Active unit behind door -> cancel ..."); GAME.evt((16 * 1), autoCloseDoor, this, _arg1); } else { _arg1.closeDoor(); glo.bal.JUKEBOX.door(); }; }; } public function useSAS(){ levelCompleted(); } public function startGunShaking(){ GUNSHAKING.active = true; GUNSHAKING.goingdown = true; GUNSHAKING.goingup = false; GUNSHAKING.counter = 1; } function frame2(){ stop(); } public function continueToNextLevel(){ glo.bal.CGAME.CLEVEL++; if (glo.bal.CGAME.CLEVEL > 4){ glo.bal.CGAME.CLEVEL = 4; glo.bal.GAMECOMPLETED.activate(); return; }; saveGame(); glo.bal.GAME.destroy(); glo.bal.INTERFACE.destroy(); glo.bal.GAMELOADER.action(); glo.bal.GAMEMENU.gotoPlay(); } public function pauseGame(_arg1:Object){ if (SAVING){ return; }; if (!ALIVE){ return; }; if (glo.bal.INTERFACE.INBRIEFING){ return; }; if (glo.bal.INTERFACE.GAMEPAUSED){ glo.bal.INTERFACE.resumePlay(); } else { glo.bal.INTERFACE.btnMenu(); }; } public function skillCompleted(_arg1:Number){ SKILLS[_arg1].active = false; switch (_arg1){ case 0: VISIBLE = true; alpha = 1; break; case 2: REPULSION = 0; break; }; } public function fireNow(){ var _local1:Number; var _local2:*; if (RECHARGE > 0){ return; }; RECHARGE = AMMO_RECHARGE[WEAPON]; if (RELOADING){ return; }; if (AMMO_CHAMBER[WEAPON] < 1){ stopFire(); return; }; switch (WEAPON){ case 0: _local2 = new fpsBulletInstant(GAME, bulletPos(), glo.bal.AIM.getAimLoc()); _local2.EXPLOSION = GunSpark; _local2.DAMAGE = FIREDAMAGE[WEAPON]; _local2.shoot(); FIREFX.fire(); glo.bal.JUKEBOX.pistol(); startGunShaking(); break; case 1: _local2 = new fpsBulletInstant(GAME, bulletPos(), glo.bal.AIM.getAimLoc()); _local2.EXPLOSION = GunSpark; _local2.DAMAGE = FIREDAMAGE[WEAPON]; _local2.shoot(); FIREFX.fire(); break; case 2: GAME.evt(10, launchRPG, this); glo.bal.JUKEBOX.rpg(); break; }; var _local3 = AMMO_CHAMBER; var _local4 = WEAPON; var _local5 = (_local3[_local4] - 1); _local3[_local4] = _local5; _local3 = AMMO_TOTAL; _local4 = WEAPON; _local5 = (_local3[_local4] - 1); _local3[_local4] = _local5; AMMO_TOTAL[0] = 999; ammoDisplay(); } public function init(){ var _local1:*; var _local2:*; trace("aiPlayer->init"); ALIVE = true; visible = true; RELOADING = false; FIRING = false; STOPFIRINGAUTO = false; DOOR = null; HASMOVED = false; PORTAL = null; SAVING = false; ITEMSPICKED = util.copyArray(glo.bal.CGAME.ITEMSPICKED); UNITSKILLED = util.copyArray(glo.bal.CGAME.UNITSKILLED); DISCOVEREDEGGS = util.copyArray(glo.bal.CGAME.DISCOVEREDEGGS); KEYS = util.copyArray(glo.bal.CGAME.KEYSPICKED); WHEELDELTA = 0; OPT_CAM_SENS_PAN = glo.bal.CGAME.OPT_CAM_SENS_PAN; OPT_CAM_SENS_TILT = glo.bal.CGAME.OPT_CAM_SENS_TILT; OPT_MOUSEWHEEL_SENS = glo.bal.CGAME.OPT_MOUSEWHEEL_SENS; MEDIKITS = glo.bal.CGAME.MEDIKITS; AMMO_TOTAL = util.copyArray(glo.bal.CGAME.AMMO_TOTAL); AMMO_CHAMBER = util.copyArray(glo.bal.CGAME.AMMO_TOTAL); WEAPONCOUNT = 3; AMMO_FULL = [60, 200, 10]; AMMO_RECHARGE = [6, 1, 16]; FIREDAMAGE = [20, 5, 400]; _local1 = 0; while (_local1 < WEAPONCOUNT) { if (AMMO_CHAMBER[_local1] > AMMO_FULL[_local1]){ AMMO_CHAMBER[_local1] = AMMO_FULL[_local1]; }; _local1++; }; XP = glo.bal.CGAME.XP; XP_LEVEL = glo.bal.CGAME.XP_LEVEL; XP_SKILLPOINTS = glo.bal.CGAME.XP_SKILLPOINTS; XP_INC = 500; _local2 = (1 + Math.floor(Math.sqrt((XP / XP_INC)))); if (XP_LEVEL > _local2){ trace("XP level integrity correction"); XP_LEVEL = _local2; }; if (_local2 > XP_LEVEL){ trace("XP points integrity correction"); XP = (((_local2 - 1) * (_local2 - 1)) * XP_INC); }; XP_THIS_LEVEL = (((XP_LEVEL - 1) * (XP_LEVEL - 1)) * XP_INC); XP_NEXT_LEVEL = ((XP_LEVEL * XP_LEVEL) * XP_INC); UPGRADES = util.copyArray(glo.bal.CGAME.UPGRADES); RELOADHELPER = 0; NATURALSHIELD = 1; switch (glo.bal.CGAME.DIFFICULTY){ case 1: NATURALSHIELD = 0.75; break; case 2: NATURALSHIELD = 1; break; case 3: NATURALSHIELD = 1.25; break; }; REWARDRATIO = 1; switch (glo.bal.CGAME.DIFFICULTY){ case 1: REWARDRATIO = 0.8; break; case 2: REWARDRATIO = 1; break; case 3: REWARDRATIO = 1.2; break; }; RECHARGE = 0; SKILLS = []; SKILLS.push({active:false, cost:50, level:0}); SKILLS.push({active:false, cost:40, level:0}); SKILLS.push({active:false, cost:60, level:0}); VISIBLE = true; REPULSION = 0; NEXTFOOTSTEP = {side:1, interval:75, dy:0}; NEXTFOOTSTEP.counter = NEXTFOOTSTEP.interval; GUNSHAKING = {interval:1, active:false, counter:0, goingup:false, goingdown:true, idx:8, idy:8, dx:0, dy:0}; CURSOR_DX = 0; CURSOR_DY = 0; switch (glo.bal.CGAME.CLEVEL){ case 1: EGGSTODESTROY = 5; break; case 2: EGGSTODESTROY = 10; break; case 3: EGGSTODESTROY = 15; break; case 4: EGGSTODESTROY = 20; break; }; EGGSDESTROYED = glo.bal.CGAME.EGGSDESTROYED; if (EGGSDESTROYED >= EGGSTODESTROY){ KEYS.push("blue"); }; STATS_KILLS = glo.bal.CGAME.KILLS; STATS_DAMAGESUFFERED = glo.bal.CGAME.DAMAGESUFFERED; STATS_TIMEELAPSED = glo.bal.CGAME.TIMEELAPSED; STATS_EGGSTODESTROY = EGGSTODESTROY; GAME = glo.bal.GAME; if (GAME == null){ return; }; CAM = GAME.CAM; MAP = GAME.MAP; applyUpgrades(); HEALTH = glo.bal.CGAME.HEALTH; FOCUS = glo.bal.CGAME.FOCUS; if (HEALTH < 0){ HEALTH = CONSTITUTION; }; if (FOCUS < 0){ FOCUS = SPIRIT; }; MOUSELOC = {x:0, y:0}; MC_BOXW = 150; MC_BOXH = 120; MC_X0 = (GAME.viewW / 2); MC_Y0 = (GAME.viewH / 2); MC_DX = (MC_BOXW / 2); MC_DY = (MC_BOXH / 2); MC_IX = ((GAME.viewW - MC_BOXW) / 2); MC_IY = ((GAME.viewH - MC_BOXH) / 2); MOUSEOUTSIDE = false; GAME.trackKey(Keyboard.SPACE); GAME.trackKey(Keyboard.UP); GAME.trackKey(Keyboard.DOWN); GAME.trackKey(Keyboard.LEFT); GAME.trackKey(Keyboard.RIGHT); GAME.trackKey(87); GAME.trackKey(65); GAME.trackKey(68); GAME.trackKey(83); GAME.keyDownHandler(Keyboard.SPACE, evtSpaceDown, this); GAME.keyDownHandler(77, tryUseMedikit, this); GAME.keyDownHandler(82, tryReload, this); GAME.keyDownHandler(67, toggleCharacterSheet, this); GAME.keyDownHandler(49, useWeapon1, this); GAME.keyDownHandler(50, useWeapon2, this); GAME.keyDownHandler(51, useWeapon3, this); GAME.keyDownHandler(97, useWeapon1, this); GAME.keyDownHandler(98, useWeapon2, this); GAME.keyDownHandler(99, useWeapon3, this); GAME.keyDownHandler(52, useSkill1, this); GAME.keyDownHandler(53, useSkill2, this); GAME.keyDownHandler(54, useSkill3, this); GAME.keyDownHandler(100, useSkill1, this); GAME.keyDownHandler(101, useSkill2, this); GAME.keyDownHandler(102, useSkill3, this); GAME.keyDownHandler(80, pauseGame, this); GAME.keyDownHandler(90, showMap, this); glo.bal.HEALTHBAR.setHealth(HEALTH, CONSTITUTION); glo.bal.FOCUSBAR.setFocus(FOCUS, SPIRIT); glo.bal.XPBAR.setXP(XP, XP_THIS_LEVEL, XP_NEXT_LEVEL); glo.bal.XPBAR.setLevel(XP_LEVEL); WEAPON = -1; if (AMMO_TOTAL[1] > 0){ setWeapon(1); } else { setWeapon(0); }; ammoDisplay(); glo.bal.KEYS.gotKeys(KEYS); GAME.evt(16, regen, this); } public function getPos():Object{ return (POS); } public function showMap(_arg1:Object){ if (SAVING){ return; }; if (!ALIVE){ return; }; if (glo.bal.INTERFACE.INBRIEFING){ return; }; if (glo.bal.INTERFACE.GAMEPAUSED){ glo.bal.INTERFACE.resumePlay(); } else { glo.bal.INTERFACE.btnMap(); }; } public function setWeapon(_arg1:Number){ if (!ALIVE){ return; }; if (AMMO_TOTAL[_arg1] < 1){ glo.bal.JUKEBOX.dryFire(); return; }; if (WEAPON == _arg1){ return; }; WEAPON = _arg1; switch (WEAPON){ case 0: BODY.pistol(); break; case 1: case 2: BODY.ubergun(); break; }; glo.bal.JUKEBOX.toggle(); ammoDisplay(); } public function stopFireAuto(_arg1:Object){ if (!STOPFIRINGAUTO){ return; }; FIRING = false; FIREFX.stopFire(); } public function mouseControl(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local1 = (MOUSELOC.x - MC_X0); _local2 = (MOUSELOC.y - MC_Y0); _local3 = (2 + ((18 * OPT_CAM_SENS_PAN) * 2)); if (Math.abs(_local1) > MC_DX){ if (_local1 > 0){ _local5 = (_local1 - MC_DX); _local4 = ((_local3 * (_local5 * _local5)) / (MC_IX * MC_IX)); } else { _local5 = (_local1 + MC_DX); _local4 = ((-(_local3) * (_local5 * _local5)) / (MC_IX * MC_IX)); }; CAM._pan(_local4); }; if (Math.abs(_local2) > MC_DY){ if (_local2 > 0){ _local6 = (_local2 - MC_DY); _local4 = ((20 * (_local6 * _local6)) / (MC_IY * MC_IY)); } else { _local6 = (_local2 + MC_DY); _local4 = ((-20 * (_local6 * _local6)) / (MC_IY * MC_IY)); }; CAM._tilt(_local4); }; } public function launchRPG(_arg1:Object){ var _local2:Object; var _local3:*; _local2 = CAM.loc2pos(glo.bal.AIM.getAimLoc()); if (_local2 != null){ _local3 = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.RPG_BULLET); _local3.scale = 0.25; _local3.autoCenter = false; GAME.BITMAPLIB.RPG_BULLET.getFrame(5, 0, _local3.BUFFER, new Point(0, 0)); bulletOBJ = new fpsBullet(GAME, _local3, bulletPos(), POS, _local2, 50, 10); bulletOBJ.EXPLOSION = rpgExplosion; bulletOBJ.DAMAGE = 0; bulletOBJ.EXPLODEONUNIT = true; bulletOBJ.AREAFX_RADIUS = 200; bulletOBJ.AREAFX_DAMAGE = FIREDAMAGE[WEAPON]; bulletOBJ.explosionHandler(explodeRPG, this); startGunShaking(); }; } public function xpFastKill(_arg1:Object){ var _local2:*; if (!ALIVE){ return; }; UNITSKILLED.push(_arg1.OBJID); STATS_KILLS++; _local2 = ((_arg1.REWARD * 2) * REWARDRATIO); if ((((WEAPON == 0)) && (!((_arg1.TYPE == "egg"))))){ _local2 = (_local2 * 2); glo.bal.NOTICE.activate((("Fast Survivor Kill " + _local2) + " XP")); } else { glo.bal.NOTICE.activate((("Fast Kill " + _local2) + " XP")); }; xpReward(_local2); } public function tryReload(_arg1:Object){ reload(); } public function openDoor(_arg1:Object){ if (DOOR == null){ return; }; DOOR.openDoor(); glo.bal.JUKEBOX.door(); GAME.evt((16 * 5), autoCloseDoor, this, DOOR); } public function explodeRPG(_arg1:Object){ glo.bal.JUKEBOX.explosion(); } public function levelCompleted(){ ALIVE = false; ITEMSPICKED = []; UNITSKILLED = []; DISCOVEREDEGGS = []; KEYS = []; HEALTH = CONSTITUTION; FOCUS = SPIRIT; visible = false; glo.bal.LEVELCOMPLETED.activate(); glo.bal.INTERFACE.pausePlay(); glo.bal.JUKEBOX.levelCompleted(); } function frame1(){ glo.bal.HERO = this; } public function farFromPortal(_arg1:objPortal){ PORTAL = null; glo.bal.INTERACTION.deactivate(); } public function eggProgress(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; _local2 = (EGGSTODESTROY - EGGSDESTROYED); if (_local2 > 0){ _local3 = (_local2 + " ALIEN EGGS LEFT TO DESTROY"); _local4 = ""; glo.bal.MISSIONPROGRESS.activate(_local3, _local4); } else { _local5 = (EGGSTODESTROY * 250); xpReward(_local5); _local6 = "PRIMARY OBJECTIVE COMPLETED"; _local7 = (_local5 + "XP"); glo.bal.MISSIONPROGRESS.activate(_local6, _local7); }; } public function saveGame(){ glo.bal.CGAME.AMMO_TOTAL = util.copyArray(AMMO_TOTAL); glo.bal.CGAME.MEDIKITS = MEDIKITS; glo.bal.CGAME.KEYSPICKED = util.copyArray(KEYS); glo.bal.CGAME.UPGRADES = util.copyArray(UPGRADES); glo.bal.CGAME.HEALTH = HEALTH; glo.bal.CGAME.FOCUS = FOCUS; glo.bal.CGAME.XP = XP; glo.bal.CGAME.XP_LEVEL = XP_LEVEL; glo.bal.CGAME.XP_SKILLPOINTS = XP_SKILLPOINTS; if (SAVING){ glo.bal.CGAME.PLAYERPOS = {x:POS.x, y:POS.y, z:POS.z}; glo.bal.CGAME.PLAYERDIR = getDir(); glo.bal.CGAME.EGGSDESTROYED = EGGSDESTROYED; glo.bal.CGAME.TIMEELAPSED = STATS_TIMEELAPSED; glo.bal.CGAME.DAMAGESUFFERED = STATS_DAMAGESUFFERED; glo.bal.CGAME.KILLS = STATS_KILLS; } else { glo.bal.CGAME.PLAYERPOS = null; glo.bal.CGAME.PLAYERDIR = 0; glo.bal.CGAME.EGGSDESTROYED = 0; glo.bal.CGAME.TIMEELAPSED = 0; glo.bal.CGAME.DAMAGESUFFERED = 0; glo.bal.CGAME.KILLS = 0; }; saveFogOfWar(); glo.bal.CGAME.ITEMSPICKED = util.copyArray(ITEMSPICKED); glo.bal.CGAME.UNITSKILLED = util.copyArray(UNITSKILLED); glo.bal.CGAME.DISCOVEREDEGGS = util.copyArray(DISCOVEREDEGGS); glo.bal.CGAME.LASTMODIFIED = new Date(); gameData.saveGames(glo.bal.GAMES); } public function getDir():Number{ return (CAM.PAN); } public function stopFire(){ if (!FIRING){ return; }; if (WEAPON == 1){ STOPFIRINGAUTO = true; GAME.evt(3, stopFireAuto, this); } else { FIRING = false; }; glo.bal.JUKEBOX.stopGunLoop(); } public function nextState(_arg1:Number, _arg2:Number){ var _local3:*; var _local4:Object; var _local5:*; var _local6:Object; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:*; var _local12:Point; var _local13:*; var _local14:Number; var _local15:Number; var _local16:wblDoor; if (!ALIVE){ return; }; STATS_TIMEELAPSED++; glo.bal.CLOCK.update(Math.round((STATS_TIMEELAPSED / 16))); RECHARGE--; MOUSELOC.x = _arg1; MOUSELOC.y = _arg2; MOUSEOUTSIDE = false; if (MOUSELOC.x < 0){ MOUSELOC.x = 0; MOUSEOUTSIDE = true; }; if (MOUSELOC.x > GAME.viewW){ MOUSELOC.x = GAME.viewW; MOUSEOUTSIDE = true; }; if (MOUSELOC.y < 0){ MOUSELOC.y = 0; MOUSEOUTSIDE = true; }; if (MOUSELOC.y > GAME.viewH){ MOUSELOC.y = GAME.viewH; MOUSEOUTSIDE = true; }; if (!MOUSEOUTSIDE){ mouseControl(); }; HASMOVED = false; _local8 = 0; _local9 = 0; _local10 = 0; if (((GAME.isKeyDown(Keyboard.LEFT)) || (GAME.isKeyDown(65)))){ _local9 = (_local9 - (SPEED * 0.75)); }; if (((GAME.isKeyDown(Keyboard.RIGHT)) || (GAME.isKeyDown(68)))){ _local9 = (_local9 + (SPEED * 0.75)); }; if (((GAME.isKeyDown(Keyboard.UP)) || (GAME.isKeyDown(87)))){ _local10 = (_local10 + SPEED); }; if (((GAME.isKeyDown(Keyboard.DOWN)) || (GAME.isKeyDown(83)))){ _local10 = (_local10 - (SPEED * 0.75)); }; if (((!((_local9 == 0))) || (!((_local10 == 0))))){ _local3 = {x:POS.x, y:POS.y, z:POS.z}; _local5 = CAM.sidewaysMove(_local9); _local6 = CAM.forwardMove(_local10); _local4 = {x:((_local3.x + _local5.x) + _local6.x), y:_local3.y, z:((_local3.z + _local5.z) + _local6.z)}; _local13 = GAME.loadedUnitInRange(_local4, 60); if (_local13 == null){ _local7 = MAP.collision(_local3, _local4); POS.x = _local7.bbpos.x; POS.z = _local7.bbpos.z; HASMOVED = true; _local14 = (POS.x - _local3.x); _local15 = (POS.z - _local3.z); _local8 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); }; }; if (HASMOVED){ LOC = MAP.pos2uv(POS); NEXTFOOTSTEP.counter = (NEXTFOOTSTEP.counter - _local8); if (NEXTFOOTSTEP.counter < 0){ NEXTFOOTSTEP.counter = NEXTFOOTSTEP.interval; if (NEXTFOOTSTEP.side == 1){ NEXTFOOTSTEP.side = 2; glo.bal.JUKEBOX.footStep1(); } else { NEXTFOOTSTEP.side = 1; glo.bal.JUKEBOX.footStep2(); }; }; if (NEXTFOOTSTEP.side == 1){ NEXTFOOTSTEP.dy = (10 * (1 - (NEXTFOOTSTEP.counter / NEXTFOOTSTEP.interval))); } else { NEXTFOOTSTEP.dy = (10 * (NEXTFOOTSTEP.counter / NEXTFOOTSTEP.interval)); }; if (glo.bal.PC_OPTION == 1){ glo.bal.LEVELFLOOR.nextState(); glo.bal.LEVELCEILING.nextState(); }; }; if (HASMOVED){ _local16 = MAP.doorInRange(POS, 150); if (_local16 != null){ if (((((!((_local16 == DOOR))) && (!(_local16.OPENING)))) && (!(_local16.CLOSING)))){ DOOR = _local16; if (DOOR.CLOSED){ if (haveKeyForDoor(DOOR)){ glo.bal.INTERACTION.activate("Press SPACEBAR to open door"); } else { glo.bal.INTERACTION.activate((("You need the " + DOOR.KEY.toUpperCase()) + " key to open this door"), DOOR.KEY); }; }; }; } else { if (DOOR != null){ glo.bal.INTERACTION.deactivate(); DOOR = null; }; }; }; if (MOUSEOUTSIDE){ stopFire(); } else { if (FIRING){ continueFire(); }; }; if (GUNSHAKING.active){ GUNSHAKING.dx = (((STABILITY * GUNSHAKING.idx) * GUNSHAKING.counter) / GUNSHAKING.interval); GUNSHAKING.dy = (((STABILITY * GUNSHAKING.idy) * GUNSHAKING.counter) / GUNSHAKING.interval); if (GUNSHAKING.goingdown){ GUNSHAKING.counter++; if (GUNSHAKING.counter > GUNSHAKING.interval){ GUNSHAKING.goingdown = false; GUNSHAKING.goingup = true; }; } else { GUNSHAKING.counter--; if (GUNSHAKING.counter < 0){ if (((FIRING) && ((WEAPON == 1)))){ startGunShaking(); } else { GUNSHAKING.active = false; GUNSHAKING.dx = 0; GUNSHAKING.dy = 0; }; }; }; }; _local11 = CAM.forwardMove((GUNSHAKING.dx * -0.25)); CAM.x = (POS.x + _local11.x); CAM.z = (POS.z + _local11.z); CAM.y = (50 + (NEXTFOOTSTEP.dy * 0.1)); _local12 = glo.bal.AIM.getDXY(); x = (((0 + (MOUSELOC.x * 0.9)) + _local12.x) + GUNSHAKING.dx); y = ((((50 + (MOUSELOC.y * 0.75)) + _local12.y) + GUNSHAKING.dy) + NEXTFOOTSTEP.dy); CURSOR_DX = (GUNSHAKING.dx * -0.4); CURSOR_DY = (GUNSHAKING.dy * -0.4); } public function damage(_arg1:Number){ _arg1 = (_arg1 * (NATURALSHIELD * BODYARMOR)); HEALTH = (HEALTH - _arg1); if (HEALTH < 0){ HEALTH = 0; }; glo.bal.HEALTHBAR.setHealth(HEALTH, CONSTITUTION); STATS_DAMAGESUFFERED = (STATS_DAMAGESUFFERED + _arg1); if (HEALTH == 0){ death(); }; } public function applyUpgrades(){ BODYARMOR = (1 - (UPGRADES[0] * 0.15)); HEALTH_REGEN = (0.2 + (0.5 * UPGRADES[1])); CONSTITUTION = (100 + (25 * UPGRADES[1])); STABILITY = (1 - (0.225 * UPGRADES[2])); glo.bal.AIM.setStability(STABILITY); SPEED = (8 + (2 * UPGRADES[3])); FOCUS_REGEN = (0.2 + (0.5 * UPGRADES[4])); SPIRIT = (100 + (25 * UPGRADES[4])); SKILLS[0].level = UPGRADES[5]; SKILLS[1].level = UPGRADES[6]; SKILLS[2].level = UPGRADES[7]; } public function continueFire(){ fireNow(); } public function reload(){ var _local1:Number; var _local2:Number; var _local3:Number; if (RELOADING){ return; }; if ((((AMMO_TOTAL[WEAPON] < 1)) || ((AMMO_TOTAL[WEAPON] <= AMMO_CHAMBER[WEAPON])))){ return; }; if (AMMO_CHAMBER[WEAPON] == AMMO_FULL[WEAPON]){ return; }; RELOADING = true; ME.visible = false; _local1 = 20; if (AMMO_CHAMBER[WEAPON] > 0){ _local2 = Math.min(AMMO_FULL[WEAPON], AMMO_TOTAL[WEAPON]); _local3 = (_local2 - AMMO_CHAMBER[WEAPON]); _local1 = Math.round(((_local1 * _local3) / _local2)); _local1 = 24; }; glo.bal.RELOAD.reload(WEAPON, _local1); if (AMMO_TOTAL[WEAPON] < AMMO_FULL[WEAPON]){ AMMO_CHAMBER[WEAPON] = AMMO_TOTAL[WEAPON]; } else { AMMO_CHAMBER[WEAPON] = AMMO_FULL[WEAPON]; }; RELOADHELPER = 0; glo.bal.JUKEBOX.reload1(); GAME.evt(_local1, doneReloading, this); } public function eggDestroyed(_arg1:Object){ var _local2:*; EGGSDESTROYED++; GAME.evt((16 * 2), eggProgress, this); if (EGGSDESTROYED >= EGGSTODESTROY){ _local2 = new itemKey("blue"); _local2.init(); _local2.loadItem(_arg1.POS); }; } public function portalSaveGame(){ SAVING = true; glo.bal.SAVINGGAME.activate(this); glo.bal.INTERFACE.pausePlay(); saveGame(); } public function stealthDetected(){ if (VISIBLE){ return; }; glo.bal.SKILLS.fastForwardSkill(0, 10); } public function tryHit(_arg1:Number, _arg2:aiUnit){ var _local3:*; var _local4:*; var _local5:*; var _local6:*; if (!ALIVE){ return; }; _local3 = (_arg2.POS.x - POS.x); _local4 = (_arg2.POS.z - POS.z); _local5 = ((Math.atan2(_local4, _local3) * 360) / FastMath.TWO_PI); if (_local5 < 0){ _local5 = (_local5 + 360); }; _local6 = (_local5 - CAM.PAN); if (_local6 < 0){ _local6 = (_local6 + 360); }; if (_local6 > 180){ if (_local6 < 325){ glo.bal.MONSTERWARNING.warnR(); }; } else { if (_local6 > 35){ glo.bal.MONSTERWARNING.warnL(); }; }; damage(_arg1); glo.bal.CLAWRIPS.hit(); } } }//package
Section 277
//aiUnit (aiUnit) package { import gdk.fps.*; import sandy.core.data.*; import flash.geom.*; public class aiUnit extends fpsUnit { public var BUFFER_DX:Number; public var ATTACKING:Boolean; public var BUFFER_DY:Number; public var HZ_FRAMEi:Number; public var HZ:Object; public var AUTOREPULSE:Number; public var HITRANGE:Number; public var SPEED:Object; public var ATTACKDAMAGE:Number; public var TYPE:String; public var REWARD:Number; public var BLEEDER:Bleeder; public var HZ_MOVEi:Number; public var TILEW:Number; public var MOVESPEED:Number; public var UNITBAR:UnitHealthBar; public function aiUnit(_arg1:fpsGame, _arg2:Vector){ TILEW = fpsSetup.FLOOR_WIDTH; super(_arg1, _arg2); ATTACKING = false; MOVESPEED = 10; HITRANGE = 15; AUTOREPULSE = 100; TYPE = ""; } public function areaFX(_arg1:fpsBullet){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:Object; var _local7:Number; if (!ALIVE){ return; }; _local2 = (_arg1.TRAIL[0].x - POS.x); _local3 = (_arg1.TRAIL[0].z - POS.z); _local4 = ((_local2 * _local2) + (_local3 * _local3)); _local5 = (1 - (_local4 / (_arg1.AREAFX_RADIUS * _arg1.AREAFX_RADIUS))); if (_local5 > 0){ _local6 = GAME.MAP.stingRay(_arg1.TRAIL[3], POS); if (_local6.intersect){ return; }; if (!LOADED){ loadUnit(); GAME.evt(2, areaFX, this, _arg1); return; }; _local7 = Math.round((10 * Math.random())); GAME.evt(_local7, damage, this, (_arg1.AREAFX_DAMAGE * _local5)); }; } public function autoRepulse(){ var _local1:Object; var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Point; _local1 = getPos(); _local2 = PLAYER.getPos(); _local3 = (_local1.x - _local2.x); _local4 = (_local1.z - _local2.z); _local5 = ((_local3 * _local3) + (_local4 * _local4)); if (_local5 < (AUTOREPULSE * AUTOREPULSE)){ trace("repulse ..."); _local6 = new Point(_local3, _local4); _local6.normalize(AUTOREPULSE); setPos({x:(_local2.x + _local6.x), y:_local2.y, z:(_local2.z + _local6.y)}); }; } public function bulletCollision(_arg1:fpsBullet):Boolean{ var _local2:*; var _local3:*; var _local4:*; var _local5:Number; var _local6:*; if (!ALIVE){ return; }; if (!LOADED){ return; }; for (_local6 in _arg1.TRAIL) { _local2 = (_arg1.TRAIL[_local6].x - POS.x); _local3 = 0; _local4 = (_arg1.TRAIL[_local6].z - POS.z); _local5 = ((_local2 * _local2) + (_local4 * _local4)); if (_local5 < (HITRANGE * HITRANGE)){ damage(_arg1.DAMAGE); return (true); }; }; return (false); } public function hitDetection(_arg1:Object){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Boolean; var _local7:Array; var _local8:*; var _local9:*; var _local10:Object; var _local11:Object; var _local12:Object; if (!ALIVE){ return; }; if (!LOADED){ return; }; _local7 = HZ.getHitZones(HZ_MOVEi, HZ_FRAMEi); for (_local2 in _local7) { _local5 = _local7[_local2]; _local5.scale = SPRITE.container.scaleX; _local5.rect = new Rectangle(0, 0, (_local5.w * _local5.scale), (_local5.h * _local5.scale)); _local5.rect.x = (SPRITE.container.x + ((BUFFER_DX + _local5.x) * _local5.scale)); _local5.rect.y = (SPRITE.container.y + ((BUFFER_DY + _local5.y) * _local5.scale)); }; _local3 = 0; _local6 = false; for (_local2 in _local7) { _local5 = _local7[_local2]; if (_local5.rect.contains(_arg1.x, _arg1.y)){ _local3 = (_local3 + (_arg1.damage * _local5.factor)); _local6 = true; }; }; _local3 = Math.round(_local3); if (_local3 > 0){ _local10 = PLAYER.getPos(); _local11 = {x:POS.x, y:POS.y, z:POS.z}; _local12 = GAME.MAP.stingRay(_local10, _local11); if (_local12.intersect){ _local3 = 0; _local6 = false; }; }; _local8 = distanceFromPlayer(); _local9 = (1 + (0.5 * (1 - (_local8 / 1000)))); return (_local3); } } }//package
Section 278
//aiUnitAlpha1 (aiUnitAlpha1) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; public class aiUnitAlpha1 extends aiUnitRusher { public function aiUnitAlpha1(_arg1:String, _arg2:fpsGame, _arg3:Vector){ OBJID = _arg1; super(_arg2, _arg3); ATTACKDAMAGE = 10; NATURALSHIELD = 1; MOVESPEED = 15; TIMEFASTKILL = (16 * 3); WAKEUPTIME = 16; REWARD = 50; SET = GAME.BITMAPLIB.ALPHA1; SQR = new gSequencer(SET, 0); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, (-40 + 121), (-160 + 208)); UNITBAR = new UnitHealthBar(100, 20, 45, 3); HZ = glo.bal.HZ_ALPHA1; BUFFER_DX = -121; BUFFER_DY = -208; } override public function setAttackEvents(){ GAME.evt(9, hitPlayer, this); GAME.evt(14, hitPlayer, this); GAME.evt(28, attackCompleted, this); } override public function sfxRoar(){ var _local1:Number; _local1 = Math.floor((Math.random() * 3)); if (_local1 == 3){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.roar1(); break; case 1: glo.bal.JUKEBOX.roar2(); break; case 2: glo.bal.JUKEBOX.roar3(); break; }; } override public function getSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.ALPHA1); SPRITE.scale = 0.3; SPRITE.autoCenter = false; SPRITE.BMP.y = -121; SPRITE.BMP.y = -208; } override public function sfxDie(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.die1(); break; case 1: glo.bal.JUKEBOX.die2(); break; }; } } }//package
Section 279
//aiUnitAlpha2 (aiUnitAlpha2) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; public class aiUnitAlpha2 extends aiUnitRusher { public function aiUnitAlpha2(_arg1:String, _arg2:fpsGame, _arg3:Vector){ OBJID = _arg1; super(_arg2, _arg3); ATTACKDAMAGE = 20; NATURALSHIELD = 1; MOVESPEED = 20; TIMEFASTKILL = (16 * 3); WAKEUPTIME = 12; REWARD = 50; SET = GAME.BITMAPLIB.ALPHA1; SQR = new gSequencer(SET, 0); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, (-40 + 121), (-160 + 208)); UNITBAR = new UnitHealthBar(100, 20, 45, 3); FILTER = GAME.BITMAPLIB.FILTER_ALPHA2.filter; HZ = glo.bal.HZ_ALPHA1; BUFFER_DX = -121; BUFFER_DY = -208; } override public function setAttackEvents(){ GAME.evt(9, hitPlayer, this); GAME.evt(14, hitPlayer, this); GAME.evt(28, attackCompleted, this); } override public function sfxRoar(){ var _local1:Number; _local1 = Math.floor((Math.random() * 3)); if (_local1 == 3){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.roar1(); break; case 1: glo.bal.JUKEBOX.roar2(); break; case 2: glo.bal.JUKEBOX.roar3(); break; }; } override public function getSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.ALPHA2); SPRITE.scale = 0.3; SPRITE.autoCenter = false; SPRITE.BMP.y = -121; SPRITE.BMP.y = -208; } override public function sfxDie(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.die1(); break; case 1: glo.bal.JUKEBOX.die2(); break; }; } } }//package
Section 280
//aiUnitMonster1 (aiUnitMonster1) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; public class aiUnitMonster1 extends aiUnitRusher { public function aiUnitMonster1(_arg1:String, _arg2:fpsGame, _arg3:Vector){ OBJID = _arg1; super(_arg2, _arg3); ATTACKDAMAGE = 20; NATURALSHIELD = 1; MOVESPEED = 20; TIMEFASTKILL = (16 * 3); WAKEUPTIME = 12; REWARD = 50; SET = GAME.BITMAPLIB.MONSTER1; SQR = new gSequencer(SET, 2); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, (120 - 40), (80 - 50)); UNITBAR = new UnitHealthBar(108, 9, 45, 3); HZ = glo.bal.HZ_MONSTER1; BUFFER_DX = -130; BUFFER_DY = -120; } override public function setAttackEvents(){ GAME.evt(10, hitPlayer, this); GAME.evt(17, hitPlayer, this); GAME.evt(32, attackCompleted, this); } override public function sfxRoar(){ glo.bal.JUKEBOX.roar4(); } override public function getSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.MONSTER1); SPRITE.scale = 0.45; SPRITE.autoCenter = false; SPRITE.BMP.y = -130; SPRITE.BMP.y = -120; } override public function sfxDie(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.die1(); break; case 1: glo.bal.JUKEBOX.die2(); break; }; } } }//package
Section 281
//aiUnitMonster2 (aiUnitMonster2) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; public class aiUnitMonster2 extends aiUnitRusher { public function aiUnitMonster2(_arg1:String, _arg2:fpsGame, _arg3:Vector){ OBJID = _arg1; super(_arg2, _arg3); ATTACKDAMAGE = 30; NATURALSHIELD = 1; MOVESPEED = 25; TIMEFASTKILL = (16 * 3); WAKEUPTIME = 8; REWARD = 50; SET = GAME.BITMAPLIB.MONSTER1; SQR = new gSequencer(SET, 2); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, (120 - 40), (80 - 50)); UNITBAR = new UnitHealthBar(108, 9, 45, 3); FILTER = GAME.BITMAPLIB.FILTER_MONSTER2.filter; HZ = glo.bal.HZ_MONSTER1; BUFFER_DX = -130; BUFFER_DY = -120; } override public function setAttackEvents(){ GAME.evt(10, hitPlayer, this); GAME.evt(17, hitPlayer, this); GAME.evt(32, attackCompleted, this); } override public function sfxRoar(){ glo.bal.JUKEBOX.roar4(); } override public function getSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.MONSTER2); SPRITE.scale = 0.45; SPRITE.autoCenter = false; SPRITE.BMP.y = -130; SPRITE.BMP.y = -120; } override public function sfxDie(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.die1(); break; case 1: glo.bal.JUKEBOX.die2(); break; }; } } }//package
Section 282
//aiUnitRusher (aiUnitRusher) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; import flash.geom.*; import flash.filters.*; public class aiUnitRusher extends aiUnit { public var ATTACKRANGE2:Number; public var TIMEACTIVE:Number; public var S_VOID:Number; public var HITPLAYER:Boolean; public var PATH:Array; public var PATHTIMER:Number; public var SET:Object; public var S_IDLE:Number; public var BP:Point; public var BSTATE:Number; public var FILTER:BitmapFilter; public var CLEARFIRST:Boolean; public var TIMEFASTKILL:Number; public var WAKEUPTIME:Number; public var NEXTPATHPOS:Object; public var PATHTIMEVALID:Number; public var S_ATTACK:Number; public var SQR:gSequencer; public var S_PATROL:Number; public var SPEEDCORRECTION:Number; public var PATHINDEX:Number; public var ATTACKRANGE:Number; public var ACTIVERANGE:Number; public var S_MOVETOWARD:Number; public var BFH_STATE:Number; public function aiUnitRusher(_arg1:fpsGame, _arg2:Vector){ var _local3:Number; super(_arg1, _arg2); TYPE = "monster"; ATTACKDAMAGE = 10; WAKEUPTIME = 16; MOVESPEED = 15; ACTIVERANGE = 1500; ATTACKRANGE = 100; ATTACKRANGE2 = (ATTACKRANGE * ATTACKRANGE); _local3 = 0; var _temp1 = _local3; _local3 = (_local3 + 1); S_IDLE = _temp1; var _temp2 = _local3; _local3 = (_local3 + 1); S_PATROL = _temp2; var _temp3 = _local3; _local3 = (_local3 + 1); S_MOVETOWARD = _temp3; var _temp4 = _local3; _local3 = (_local3 + 1); S_ATTACK = _temp4; var _temp5 = _local3; _local3 = (_local3 + 1); S_VOID = _temp5; PATH = null; PATHTIMEVALID = 60; TIMEACTIVE = 0; TIMEFASTKILL = (16 * 3); SPEEDCORRECTION = 1; BP = new Point(0, 0); CLEARFIRST = false; } public function stateIdle(){ var _local1:Object; var _local2:Object; var _local3:Object; if (ROOM.LOADED){ _local1 = getPos(); _local2 = PLAYER.getPos(); _local3 = GAME.MAP.stingRay(_local1, _local2, false); if (!_local3.intersect){ loadUnit(); trPatrol(); }; }; } override public function init(_arg1:Object=null){ super.init(); ALIVE = true; BSTATE = S_IDLE; TIMEACTIVE = 0; SPEEDCORRECTION = 1; ATTACKING = false; setBP(0); SQR.setSequence(0); switch (glo.bal.CGAME.DIFFICULTY){ case 1: MOVESPEED = (MOVESPEED * (0.75 * 0.8)); WAKEUPTIME = (WAKEUPTIME * 0.9); NATURALSHIELD = (NATURALSHIELD * 1.25); break; case 2: MOVESPEED = (MOVESPEED * 0.85); WAKEUPTIME = (WAKEUPTIME * 0.8); break; case 3: MOVESPEED = (MOVESPEED * (1.25 * 1)); WAKEUPTIME = (WAKEUPTIME * 0.7); NATURALSHIELD = (NATURALSHIELD * 0.75); break; }; } protected function setBP(_arg1:Number){ BP.x = 0; BP.y = 0; } public function setAttackEvents(){ } override public function damageSuffered(_arg1:Number){ PLAYER.stealthDetected(); BLEEDER.bleed(); } public function statePatrol(){ var _local1:Object; var _local2:Object; var _local3:Object; if (PLAYER.VISIBLE){ _local1 = getPos(); _local2 = PLAYER.getPos(); _local3 = GAME.MAP.stingRay(_local1, _local2, false); if (!_local3.intersect){ GAME.evt(WAKEUPTIME, wakeUp, this); BSTATE = S_VOID; }; }; } public function sfxRoar(){ } public function stateAttack(){ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Point; _local1 = distanceFromPlayer(); if (_local1 < ATTACKRANGE){ return; }; if (HITPLAYER){ return; }; _local2 = (NEXTPATHPOS.x - POS.x); _local3 = (NEXTPATHPOS.z - POS.z); _local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); if (_local4 < (MOVESPEED * SPEEDCORRECTION)){ findPathToPlayer(); }; if (_local1 < PLAYER.REPULSION){ return; }; if (_local4 > 0){ _local5 = new Point(_local2, _local3); _local5.normalize((MOVESPEED * SPEEDCORRECTION)); movement(_local5.x, 0, _local5.y); }; } public function wakeUp(_arg1:Object){ if (!ALIVE){ return; }; sfxRoar(); trMoveT(); } public function hitPlayer(_arg1:Object=null){ if (!ALIVE){ return; }; HITPLAYER = true; if (distanceFromPlayer() < (ATTACKRANGE * 1.05)){ glo.bal.PLAYER.tryHit(ATTACKDAMAGE, this); }; } override public function nextState(){ if (ALIVE){ switch (BSTATE){ case S_IDLE: stateIdle(); break; case S_PATROL: statePatrol(); break; case S_MOVETOWARD: stateMoveT(); break; case S_ATTACK: stateAttack(); break; }; if (LOADED){ TIMEACTIVE++; }; }; if (LOADED){ if (CLEARFIRST){ SPRITE.BUFFER.fillRect(SPRITE.BUFFER.rect, 0); }; SQR.nextState(SPRITE.BUFFER, BP); HZ_MOVEi = SQR.C_SEQ; HZ_FRAMEi = SQR.C_IMG; if (FILTER){ SPRITE.BUFFER.applyFilter(SPRITE.BUFFER, SPRITE.BUFFER.rect, new Point(0, 0), FILTER); }; if (ALIVE){ UNITBAR.nextState(SPRITE.BUFFER, (HEALTH / 100)); }; BLEEDER.nextState(SPRITE.BUFFER); }; } public function trAttack(){ findPathToPlayer(); setBP(2); SQR.setSequence(2); setAttackEvents(); BSTATE = S_ATTACK; HITPLAYER = false; ATTACKING = true; } public function trPatrol(){ BSTATE = S_PATROL; ATTACKING = false; } override public function death(){ sfxDie(); setBP(3); SQR.setSequence(3, false); GAME.evt(50, clearUnit, this, 32); if (TIMEACTIVE < TIMEFASTKILL){ PLAYER.xpFastKill(this); } else { PLAYER.xpKill(this); }; } override public function loadUnit(){ if (!ALIVE){ return; }; if (LOADED){ return; }; getSprite(); if (SPRITE){ LOADED = true; setBP(0); movement(0, 0, 0); SPRITE.setBoundingSphereRadius(60); }; } public function initOnLoad(_arg1:Object){ } public function getSprite(){ } public function stateMoveT(){ var _local1:Number; var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Point; _local1 = distanceFromPlayer(); if (_local1 < ATTACKRANGE){ trAttack(); return; }; _local2 = getPos(); _local3 = (NEXTPATHPOS.x - _local2.x); _local4 = (NEXTPATHPOS.z - _local2.z); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local5 < (MOVESPEED * SPEEDCORRECTION)){ findPathToPlayer(); }; if (_local1 < PLAYER.REPULSION){ return; }; if (_local5 > 0){ _local6 = new Point(_local3, _local4); _local6.normalize((MOVESPEED * SPEEDCORRECTION)); movement(_local6.x, 0, _local6.y); }; } public function sfxDie(){ } public function trMoveT(){ setBP(1); SQR.setSequence(1); findPathToPlayer(); BSTATE = S_MOVETOWARD; ATTACKING = true; } private function findPathToPlayer(){ var _local1:Object; var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Number; var _local6:Number; var _local7:Point; _local1 = getPos(); _local2 = PLAYER.getPos(); _local3 = GAME.MAP.stingRayBox(_local2, _local1); if (_local3.intersect){ _local4 = getLoc(); PATH = GAME.MAP.findPath(_local4.u, _local4.v, PLAYER.LOC.u, PLAYER.LOC.v); PATHINDEX = 1; NEXTPATHPOS = getPos(); if (PATH != null){ if (PATH.length > PATHINDEX){ NEXTPATHPOS = new Object(); NEXTPATHPOS.x = (((PATH[PATHINDEX].u + 0.4) + (Math.random() * 0.2)) * TILEW); NEXTPATHPOS.y = 0; NEXTPATHPOS.z = (((PATH[PATHINDEX].v + 0.4) + (Math.random() * 0.2)) * TILEW); }; }; SPEEDCORRECTION = 0.5; } else { _local5 = (_local2.x - _local1.x); _local6 = (_local2.z - _local1.z); _local7 = new Point(_local5, _local6); _local7.normalize(TILEW); NEXTPATHPOS = new Object(); NEXTPATHPOS.x = (_local1.x + _local7.x); NEXTPATHPOS.y = _local1.y; NEXTPATHPOS.z = (_local1.z + _local7.y); SPEEDCORRECTION = 1; }; } public function attackCompleted(_arg1:Object=null){ var _local2:Number; if (!ALIVE){ return; }; HITPLAYER = false; _local2 = distanceFromPlayer(); if (_local2 > ATTACKRANGE){ trMoveT(); return; }; setAttackEvents(); } } }//package
Section 283
//aiUnitScorpid1 (aiUnitScorpid1) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; public class aiUnitScorpid1 extends aiUnitRusher { public function aiUnitScorpid1(_arg1:String, _arg2:fpsGame, _arg3:Vector){ OBJID = _arg1; super(_arg2, _arg3); ATTACKDAMAGE = 15; NATURALSHIELD = 1; MOVESPEED = 18; TIMEFASTKILL = (16 * 3); WAKEUPTIME = 14; REWARD = 50; SET = GAME.BITMAPLIB.SCORPID1; SQR = new gSequencer(SET, 1); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, (-45 + 139), ((-90 + 106) + 50)); UNITBAR = new UnitHealthBar(117, 65, 45, 3); CLEARFIRST = true; HZ = glo.bal.HZ_SCORPID1; BUFFER_DX = -139; BUFFER_DY = -106; } override public function setAttackEvents(){ GAME.evt(9, hitPlayer, this); GAME.evt(17, hitPlayer, this); GAME.evt(34, attackCompleted, this); } override protected function setBP(_arg1:Number){ if (_arg1 == 3){ BP.x = 0; BP.y = 0; } else { BP.x = 0; BP.y = 50; }; } override public function sfxRoar(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.roar5(); break; case 1: glo.bal.JUKEBOX.roar6(); break; }; } override public function getSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.SCORPID1); SPRITE.scale = 0.4; SPRITE.autoCenter = false; SPRITE.BMP.y = -139; SPRITE.BMP.y = (-106 - 50); } override public function sfxDie(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.die5(); break; case 1: glo.bal.JUKEBOX.die6(); break; }; } } }//package
Section 284
//aiUnitScorpid2 (aiUnitScorpid2) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; public class aiUnitScorpid2 extends aiUnitRusher { public function aiUnitScorpid2(_arg1:String, _arg2:fpsGame, _arg3:Vector){ OBJID = _arg1; super(_arg2, _arg3); ATTACKDAMAGE = 25; NATURALSHIELD = 1; MOVESPEED = 23; TIMEFASTKILL = (16 * 3); WAKEUPTIME = 10; REWARD = 50; SET = GAME.BITMAPLIB.SCORPID1; SQR = new gSequencer(SET, 1); BLEEDER = new Bleeder(GAME.BITMAPLIB.BLOOD, (-45 + 139), ((-90 + 106) + 50)); UNITBAR = new UnitHealthBar(117, 65, 45, 3); CLEARFIRST = true; FILTER = GAME.BITMAPLIB.FILTER_SCORPID2.filter; HZ = glo.bal.HZ_SCORPID1; BUFFER_DX = -139; BUFFER_DY = -106; } override public function setAttackEvents(){ GAME.evt(9, hitPlayer, this); GAME.evt(17, hitPlayer, this); GAME.evt(34, attackCompleted, this); } override protected function setBP(_arg1:Number){ if (_arg1 == 3){ BP.x = 0; BP.y = 0; } else { BP.x = 0; BP.y = 50; }; } override public function sfxRoar(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.roar5(); break; case 1: glo.bal.JUKEBOX.roar6(); break; }; } override public function getSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.SCORPID1); SPRITE.scale = 0.4; SPRITE.autoCenter = false; SPRITE.BMP.y = -139; SPRITE.BMP.y = (-106 - 50); } override public function sfxDie(){ var _local1:Number; _local1 = Math.floor((Math.random() * 2)); if (_local1 == 2){ _local1--; }; switch (_local1){ case 0: glo.bal.JUKEBOX.die5(); break; case 1: glo.bal.JUKEBOX.die6(); break; }; } } }//package
Section 285
//Bleeder (Bleeder) package { import flash.display.*; import flash.geom.*; public class Bleeder { private var CF:Number; private var ST:Number; private var SEQi:Number; private var ACTIVE:Boolean; private var BP:Point; private var NF:Number; private var LF:Number; private var SEQ:Object; public function Bleeder(_arg1:Object, _arg2:Number, _arg3:Number){ BP = new Point(_arg2, _arg3); SEQ = _arg1; SEQi = 2; CF = 0; NF = 30; LF = 0; ST = 0; ACTIVE = false; } public function nextState(_arg1:BitmapData){ if (!ACTIVE){ return; }; SEQ.getFrame(SEQi, CF, _arg1, BP, true); ST--; CF++; if (CF >= NF){ if (ST < 1){ CF = 0; ACTIVE = false; } else { CF = LF; }; }; } public function bleed(){ if (!ACTIVE){ CF = 0; }; ACTIVE = true; ST = 29; } } }//package
Section 286
//Builder (Builder) package { import gdk.fps.*; import gdk.fps.wbl.*; import gdk.*; public class Builder { public static var TEX_WALL:gdkTexture = null; public static var SECT_WALL_E:Array = []; public static var SECT_WALL_N:Array = []; public static var SECT_WALL_W:Array = []; public static var SECT_WALL_S:Array = []; public static var TEX_DOOR_F:gdkTexture = null; public static var TEX_DOOR_L:gdkTexture = null; public static var TEX_DOOR_R:gdkTexture = null; public static var SECT_H:Number = 1; public static var SECT_OPENS:Array = []; public static var SECT_K:Number = 1; public static var SECT_L:Number = 1; public static var SECT_WALLOPEN_E:Boolean = false; public static var SECT_U:Number = 1; public static var ROOM:fpsRoom = null; public static var SECT_WALLOPEN_N:Boolean = false; public static var SECT_V:Number = 1; public static var SECT_W:Number = 1; public static var SECT_WALLOPEN_S:Boolean = false; public static var TEX_CEILING:gdkTexture = null; public static var SECT_DOORS:Array = []; public static var TEX_FLOOR:gdkTexture = null; public static var SECT_WALLOPEN_W:Boolean = false; public static function floor(_arg1:Number, _arg2:Number, _arg3:Number=1, _arg4:Number=1, _arg5:gdkTexture=null){ if (_arg5 == null){ _arg5 = Builder.TEX_FLOOR; }; wblFloor.section(Builder.ROOM, _arg1, _arg2, _arg5, _arg3, _arg4); } public static function door(_arg1:fpsRoom, _arg2:fpsRoom, _arg3:Object, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:gdkTexture=null, _arg9:gdkTexture=null, _arg10:gdkTexture=null){ if (_arg8 == null){ _arg8 = Builder.TEX_DOOR_F; }; if (_arg9 == null){ _arg9 = Builder.TEX_DOOR_L; }; if (_arg10 == null){ _arg10 = Builder.TEX_DOOR_R; }; wblDoorA.create(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10); } public static function getPieces(_arg1:Number):Array{ var _local2:*; var _local3:Array; var _local4:*; var _local5:*; var _local6:*; var _local7:*; _local2 = _arg1; if (glo.bal.PC_OPTION == 1){ _local3 = [4, 3, 2, 1]; } else { _local3 = [1]; }; _local4 = []; _local5 = 0; while (_local5 < _local3.length) { _local7 = Math.floor((_local2 / _local3[_local5])); _local6 = 0; while (_local6 < _local7) { _local4.push(_local3[_local5]); _local6++; }; _local2 = (_local2 - (_local7 * _local3[_local5])); if (_local2 == 0){ break; }; _local5++; }; return (_local4); } public static function floorNceiling(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Number=1, _arg6:gdkTexture=null, _arg7:gdkTexture=null){ if (_arg6 == null){ _arg6 = Builder.TEX_FLOOR; }; if (_arg7 == null){ _arg7 = Builder.TEX_CEILING; }; wblFloor.section(Builder.ROOM, _arg1, _arg2, _arg6, _arg4, _arg5); wblCeiling.section(Builder.ROOM, _arg1, _arg2, _arg3, _arg7, _arg4, _arg5); } public static function ceiling(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=1, _arg5:Number=1, _arg6:gdkTexture=null){ if (_arg6 == null){ _arg6 = Builder.TEX_CEILING; }; wblCeiling.section(Builder.ROOM, _arg1, _arg2, _arg3, _arg6, _arg4, _arg5); } public static function newSection(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ Builder.SECT_U = _arg1; Builder.SECT_V = _arg2; Builder.SECT_K = _arg3; Builder.SECT_W = _arg4; Builder.SECT_L = _arg5; Builder.SECT_H = _arg6; Builder.SECT_OPENS = []; Builder.SECT_DOORS = []; } public static function wall(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=1, _arg7:gdkTexture=null):Array{ var _local8:Number; var _local9:Number; var _local10:*; var _local11:*; var _local12:*; var _local13:*; if (_arg7 == null){ _arg7 = Builder.TEX_WALL; }; _local8 = 0; _local9 = 0; switch (_arg4){ case wblWall.W_E: _local8 = 1; _local9 = 0; break; case wblWall.E_W: _local8 = -1; _local9 = 0; break; case wblWall.S_N: _local8 = 0; _local9 = 1; break; case wblWall.N_S: _local8 = 0; _local9 = -1; break; }; _local10 = getPieces(_arg5); _local13 = 0; _local11 = 0; while (_local11 < _local10.length) { new wblWall(Builder.ROOM, (_arg1 + (_local13 * _local8)), (_arg2 + (_local13 * _local9)), _arg3, _arg4, _arg7, _local10[_local11]); _local13 = (_local13 + _local10[_local11]); _local11++; }; } public static function connection(_arg1:fpsRoom, _arg2:fpsRoom){ _arg1.connection(_arg2); _arg2.connection(_arg1); } public static function createRoom(_arg1:fpsGame, _arg2:Number):fpsRoom{ Builder.ROOM = new fpsRoom(_arg1, _arg2); return (Builder.ROOM); } } }//package
Section 287
//ceil01 (ceil01) package { import flash.display.*; public dynamic class ceil01 extends BitmapData { public function ceil01(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 288
//CheckBox_disabledIcon (CheckBox_disabledIcon) package { import flash.display.*; public dynamic class CheckBox_disabledIcon extends MovieClip { } }//package
Section 289
//CheckBox_downIcon (CheckBox_downIcon) package { import flash.display.*; public dynamic class CheckBox_downIcon extends MovieClip { } }//package
Section 290
//CheckBox_overIcon (CheckBox_overIcon) package { import flash.display.*; public dynamic class CheckBox_overIcon extends MovieClip { } }//package
Section 291
//CheckBox_selectedDisabledIcon (CheckBox_selectedDisabledIcon) package { import flash.display.*; public dynamic class CheckBox_selectedDisabledIcon extends MovieClip { } }//package
Section 292
//CheckBox_selectedDownIcon (CheckBox_selectedDownIcon) package { import flash.display.*; public dynamic class CheckBox_selectedDownIcon extends MovieClip { } }//package
Section 293
//CheckBox_selectedOverIcon (CheckBox_selectedOverIcon) package { import flash.display.*; public dynamic class CheckBox_selectedOverIcon extends MovieClip { } }//package
Section 294
//CheckBox_selectedUpIcon (CheckBox_selectedUpIcon) package { import flash.display.*; public dynamic class CheckBox_selectedUpIcon extends MovieClip { } }//package
Section 295
//CheckBox_upIcon (CheckBox_upIcon) package { import flash.display.*; public dynamic class CheckBox_upIcon extends MovieClip { } }//package
Section 296
//door01F (door01F) package { import flash.display.*; public dynamic class door01F extends BitmapData { public function door01F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 297
//door01L (door01L) package { import flash.display.*; public dynamic class door01L extends BitmapData { public function door01L(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 298
//door01R (door01R) package { import flash.display.*; public dynamic class door01R extends BitmapData { public function door01R(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 299
//door03F (door03F) package { import flash.display.*; public dynamic class door03F extends BitmapData { public function door03F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 300
//door03L (door03L) package { import flash.display.*; public dynamic class door03L extends BitmapData { public function door03L(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 301
//door03R (door03R) package { import flash.display.*; public dynamic class door03R extends BitmapData { public function door03R(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 302
//door04F (door04F) package { import flash.display.*; public dynamic class door04F extends BitmapData { public function door04F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 303
//door04L (door04L) package { import flash.display.*; public dynamic class door04L extends BitmapData { public function door04L(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 304
//door04R (door04R) package { import flash.display.*; public dynamic class door04R extends BitmapData { public function door04R(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 305
//door05F (door05F) package { import flash.display.*; public dynamic class door05F extends BitmapData { public function door05F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 306
//door06F (door06F) package { import flash.display.*; public dynamic class door06F extends BitmapData { public function door06F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 307
//EggSplatter (EggSplatter) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; import flash.geom.*; public class EggSplatter { private var SPRITE:gBitmapSprite; private var SEQi:Number; private var BP:Point; private var GAME:fpsGame; private var POS:Vector; private var SEQ:Object; public function EggSplatter(_arg1:Vector){ GAME = glo.bal.GAME; POS = _arg1; SEQ = GAME.BITMAPLIB.ALIENEGG; SEQi = 3; SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.EGG_SPLATTER); SPRITE.scale = 0.5; SPRITE.autoCenter = false; SPRITE.setBoundingSphereRadius(50); SPRITE.BMP.y = -110; BP = new Point(0, 0); SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; GAME.animation(this, 20, nextState); } public function zDepth(_arg1:Object){ var _local2:*; var _local3:*; var _local4:*; var _local5:Object; var _local6:*; var _local7:Object; var _local8:*; _local2 = (POS.x - _arg1.x); _local3 = (POS.z - _arg1.z); _local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local5 = GAME.MAP.pos2uv(POS); _local6 = GAME.MAP.zWalls(_local5.u, _local5.v); for (_local8 in _local6) { if (_local6[_local8].zDEPTH < _local4){ if (_local6[_local8].isFacing(_arg1)){ _local7 = GAME.MAP.stingRayBoxI(POS, _arg1, 25); if (!_local7.intersect){ _local4 = (_local6[_local8].zDEPTH - 10); }; }; }; }; SPRITE.forcedDepth = _local4; } public function nextState(_arg1:Number, _arg2:Number){ if (_arg1 >= _arg2){ destroy(); return; }; SEQ.getFrame(SEQi, 2, (_arg1 - 1), SPRITE.BUFFER, BP); zDepth(GAME.CAM.getPos()); } public function destroy(){ if (SPRITE){ SPRITE.release(); }; SPRITE = null; BP = null; } } }//package
Section 308
//fEthnocentric (fEthnocentric) package { import flash.text.*; public dynamic class fEthnocentric extends Font { } }//package
Section 309
//FilterAlpha2 (FilterAlpha2) package { import flash.filters.*; public class FilterAlpha2 { public var filter:ColorMatrixFilter; public function FilterAlpha2(){ var _local1:Array; super(); _local1 = new Array(); _local1 = _local1.concat([1, 0, 0, 0, 0]); _local1 = _local1.concat([0, 1, 1, 0, 0]); _local1 = _local1.concat([1, 1, 0, 0, 0]); _local1 = _local1.concat([0, 0, 0, 1, 0]); filter = new ColorMatrixFilter(_local1); } } }//package
Section 310
//FilterKeyBlue (FilterKeyBlue) package { import flash.filters.*; public class FilterKeyBlue { public var filter:ColorMatrixFilter; public function FilterKeyBlue(){ var _local1:Array; super(); _local1 = new Array(); _local1 = _local1.concat([1, 0, 0, 0, 0]); _local1 = _local1.concat([0, 1, 0, 0, 0]); _local1 = _local1.concat([0, 1, 0, 0, 0]); _local1 = _local1.concat([0, 0, 0, 1, 0]); filter = new ColorMatrixFilter(_local1); } } }//package
Section 311
//FilterKeyRed (FilterKeyRed) package { import flash.filters.*; public class FilterKeyRed { public var filter:ColorMatrixFilter; public function FilterKeyRed(){ var _local1:Array; super(); _local1 = new Array(); _local1 = _local1.concat([0, 1, 0, 0, 0]); _local1 = _local1.concat([0, 0, 1, 0, 0]); _local1 = _local1.concat([0, 0, 1, 0, 0]); _local1 = _local1.concat([0, 0, 0, 1, 0]); filter = new ColorMatrixFilter(_local1); } } }//package
Section 312
//FilterKeyYellow (FilterKeyYellow) package { import flash.filters.*; public class FilterKeyYellow { public var filter:ColorMatrixFilter; public function FilterKeyYellow(){ var _local1:Array; super(); _local1 = new Array(); _local1 = _local1.concat([0, 1, 0, 0, 0]); _local1 = _local1.concat([0, 1, 0, 0, 0]); _local1 = _local1.concat([0, 0, 1, 0, 0]); _local1 = _local1.concat([0, 0, 0, 1, 0]); filter = new ColorMatrixFilter(_local1); } } }//package
Section 313
//FilterMonster2 (FilterMonster2) package { import flash.filters.*; public class FilterMonster2 { public var filter:ColorMatrixFilter; public function FilterMonster2(){ var _local1:Array; super(); _local1 = new Array(); _local1 = _local1.concat([1, 0.5, 0, 0, 0]); _local1 = _local1.concat([0, 1, 1, 0, 0]); _local1 = _local1.concat([1, 0, 0, 0, 0]); _local1 = _local1.concat([0, 0, 0, 1, 0]); filter = new ColorMatrixFilter(_local1); } } }//package
Section 314
//FilterScorpid2 (FilterScorpid2) package { import flash.filters.*; public class FilterScorpid2 { public var filter:ColorMatrixFilter; public function FilterScorpid2(){ var _local1:Array; super(); _local1 = new Array(); _local1 = _local1.concat([0, 1, 1, 0, 0]); _local1 = _local1.concat([1, 0, 1, 0, 0]); _local1 = _local1.concat([0, 1, 0, 0, 0]); _local1 = _local1.concat([0, 0, 0, 1, 0]); filter = new ColorMatrixFilter(_local1); } } }//package
Section 315
//floor01 (floor01) package { import flash.display.*; public dynamic class floor01 extends BitmapData { public function floor01(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 316
//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//package
Section 317
//gameData (gameData) package { import flash.net.*; public class gameData { public var CLEVEL:Number; public var AMMO_TOTAL:Array; public var UNITSKILLED:Array; public var XP_SKILLPOINTS:Number; public var OBJDATA:Array; public var OPT_CAM_SENS_PAN:Number; public var DAMAGESUFFERED:Number; public var ITEMSPICKED:Array; public var OPT_CAM_SENS_TILT:Number; public var EGGSDESTROYED:Number; public var FOGOFWAR:Array; public var OPT_MOUSEWHEEL_SENS:Number; public var KILLS:Number; public var DIFFICULTY:Number; public var PLAYERID:String; public var FOCUS:Number; public var PLAYERPOS:Object; public var DISCOVEREDEGGS:Array; public var UPGRADES:Array; public var HEALTH:Number; public var XP_LEVEL:Number; public var LASTMODIFIED:Date; public var PLAYERDIR:Number; public var TIMEELAPSED:Number; public var PLAYERNAME:String; public var KEYSPICKED:Array; public var XP:Number; public var MEDIKITS:Number; public static var GAMEID:String = "qigames_alienslayer_12"; public function gameData(_arg1:String){ var _local2:Date; super(); _local2 = new Date(); PLAYERID = String(_local2.getTime()); PLAYERID = (PLAYERID + String(Math.round((Math.random() * 99999)))); PLAYERNAME = _arg1; LASTMODIFIED = new Date(); DIFFICULTY = 1; CLEVEL = 1; XP = 0; XP_LEVEL = 1; XP_SKILLPOINTS = 0; AMMO_TOTAL = [999, 200, 0]; MEDIKITS = 0; UPGRADES = [0, 0, 0, 0, 0, 0, 0, 0]; ITEMSPICKED = []; KEYSPICKED = []; UNITSKILLED = []; DISCOVEREDEGGS = []; FOGOFWAR = []; TIMEELAPSED = 0; DAMAGESUFFERED = 0; PLAYERPOS = null; PLAYERDIR = 0; HEALTH = -1; FOCUS = -1; EGGSDESTROYED = 0; KILLS = 0; OPT_CAM_SENS_PAN = 0.5; OPT_CAM_SENS_TILT = 0.5; OPT_MOUSEWHEEL_SENS = 0.75; OBJDATA = []; } public function getObjData(_arg1:String){ var _local2:*; for (_local2 in OBJDATA) { if (OBJDATA[_local2].id == _arg1){ return (OBJDATA[_local2]); }; }; OBJDATA.push({id:_arg1}); } public static function saveGames(_arg1:Array){ var _local2:SharedObject; _local2 = SharedObject.getLocal(gameData.GAMEID, "/"); _local2.data.GAMES = _arg1; _local2.flush(); } public static function newGame(_arg1:String, _arg2:Number){ var _local3:SharedObject; var _local4:Array; var _local5:gameData; _local3 = SharedObject.getLocal(gameData.GAMEID, "/"); _local4 = _local3.data.GAMES; if (_local3.data.GAMES == undefined){ _local3.data.GAMES = new Array(); }; _local5 = new gameData(_arg1); _local3.data.GAMES.push(_local5); _local3.flush(); } public static function getGames(){ var _local1:SharedObject; var _local2:Array; _local1 = SharedObject.getLocal(gameData.GAMEID, "/"); _local2 = _local1.data.GAMES; if (_local1.data.GAMES == undefined){ _local1.data.GAMES = []; _local1.flush(); }; return (_local1.data.GAMES); } public static function deleteGame(_arg1:Number){ var _local2:SharedObject; var _local3:Array; _local2 = SharedObject.getLocal(gameData.GAMEID, "/"); _local3 = _local2.data.GAMES; if (_arg1 < 0){ return; }; if (_arg1 > (_local3.length - 1)){ return; }; _local3.splice(_arg1, 1); _local2.flush(); } public static function saveGame(_arg1:gameData){ glo.bal.CGAME.LASTMODIFIED = new Date(); gameData.saveGames(glo.bal.GAMES); } } }//package
Section 318
//GameInterface (GameInterface) package { import flash.display.*; import flash.events.*; import flash.ui.*; public class GameInterface extends MovieClip { public var cursor_mc:MovieClip; public var LEVELCOMPLETED:Boolean; public var menu_btn:SimpleButton; public var MOUSEOUTSIDE:Boolean; public var INBRIEFING:Boolean; public var GAMEPAUSED:Boolean; public var MOUSEDOWN:Boolean; public var GAMEOVER:Boolean; public var PLAYER:aiPlayer; public var map_btn:SimpleButton; public function GameInterface(){ addFrameScript(0, frame1); glo.bal.INTERFACE = this; ALIVE = false; MOUSEOUTSIDE = false; GAMEPAUSED = false; LEVELCOMPLETED = false; GAMEOVER = false; MOUSEDOWN = false; INBRIEFING = true; addEventListener(Event.ENTER_FRAME, evtEnterFrame); addEventListener(MouseEvent.MOUSE_DOWN, evtMouseDown); addEventListener(MouseEvent.MOUSE_UP, evtMouseUp); addEventListener(MouseEvent.MOUSE_WHEEL, evtMouseWheel); menu_btn.addEventListener("click", btnMenu); map_btn.addEventListener("click", btnMap); } public function evtMouseWheel(_arg1:MouseEvent){ if (!ALIVE){ return; }; glo.bal.PLAYER.evtMouseWheel(_arg1.delta); } public function resumePlay(){ GAMEPAUSED = false; if (glo.bal.GAME != null){ glo.bal.GAME.resumePlay(); }; glo.bal.RADAR.visible = true; glo.bal.AMMO.visible = true; glo.bal.INVENTORY.visible = true; glo.bal.MESSAGING.visible = true; glo.bal.CLOCK.visible = true; menu_btn.visible = true; menu_btn.enabled = true; map_btn.visible = true; map_btn.enabled = true; glo.bal.PAUSEMENU.deactivate(); glo.bal.LEVELMAP.deactivate(); glo.bal.HOWTOPLAY.deactivate(); } public function backFromTips(){ INBRIEFING = false; resumePlay(); } public function init(){ ALIVE = true; glo.bal.RADAR.visible = true; glo.bal.AMMO.visible = true; glo.bal.INVENTORY.visible = true; glo.bal.MESSAGING.visible = true; glo.bal.CLOCK.visible = true; glo.bal.GAMECOMPLETED.visible = false; if (glo.bal.CGAME.TIMEELAPSED == 0){ INBRIEFING = true; glo.bal.BRIEFING.activate(this); pausePlay(); } else { INBRIEFING = false; }; glo.bal.RADAR.init(); PLAYER = glo.bal.PLAYER; } public function destroy(){ ALIVE = false; MOUSEOUTSIDE = false; GAMEPAUSED = false; LEVELCOMPLETED = false; GAMEOVER = false; MOUSEDOWN = false; glo.bal.RADAR.visible = true; glo.bal.AMMO.visible = true; glo.bal.INVENTORY.visible = true; glo.bal.MESSAGING.visible = true; glo.bal.CLOCK.visible = true; menu_btn.visible = true; menu_btn.enabled = true; map_btn.visible = true; map_btn.enabled = true; glo.bal.PAUSEMENU.deactivate(); glo.bal.LEVELMAP.deactivate(); glo.bal.HOWTOPLAY.deactivate(); glo.bal.LEVELUPAURA.deactivate(); glo.bal.INTERACTION.deactivate(); glo.bal.GAMEOVERSCREEN.deactivate(); glo.bal.GAMECOMPLETED.deactivate(); } public function evtMouseDown(_arg1:MouseEvent){ if (!ALIVE){ return; }; if (GAMEPAUSED){ return; }; MOUSEOUTSIDE = false; if ((((mouseX < 0)) || ((mouseX > 600)))){ MOUSEOUTSIDE = true; }; if ((((mouseY < 50)) || ((mouseY > 350)))){ MOUSEOUTSIDE = true; }; if (!MOUSEOUTSIDE){ glo.bal.PLAYER.beginFire(); MOUSEDOWN = true; }; } function frame1(){ stop(); } public function backFromInstructions(){ if ((((glo.bal.CGAME.CLEVEL == 1)) && ((glo.bal.CGAME.TIMEELAPSED == 0)))){ glo.bal.ITEMSTOCOLLECT.activate(this); } else { INBRIEFING = false; resumePlay(); }; } public function pausePlay(){ GAMEPAUSED = true; if (glo.bal.GAME){ glo.bal.GAME.pausePlay(); }; glo.bal.RADAR.visible = false; glo.bal.AMMO.visible = false; glo.bal.INVENTORY.visible = false; glo.bal.MESSAGING.visible = false; glo.bal.CLOCK.visible = false; menu_btn.visible = false; menu_btn.enabled = false; map_btn.visible = false; map_btn.enabled = false; Mouse.show(); cursor_mc.visible = false; } public function backFromBriefing(){ if (glo.bal.CGAME.CLEVEL == 1){ glo.bal.HOWTOPLAY.activate(this); } else { INBRIEFING = false; resumePlay(); }; } function btnMap(_arg1:Event=null){ if (!ALIVE){ return; }; glo.bal.LEVELMAP.activate(); pausePlay(); } public function evtMouseUp(_arg1:MouseEvent){ if (!ALIVE){ return; }; MOUSEDOWN = false; glo.bal.PLAYER.stopFire(); } public function evtEnterFrame(_arg1:Event){ if (!ALIVE){ return; }; if (GAMEPAUSED){ return; }; MOUSEOUTSIDE = false; if ((((mouseX < 0)) || ((mouseX > 600)))){ MOUSEOUTSIDE = true; }; if ((((mouseY < 50)) || ((mouseY > 350)))){ MOUSEOUTSIDE = true; }; if (MOUSEOUTSIDE){ Mouse.show(); cursor_mc.visible = false; MOUSEDOWN = false; } else { Mouse.hide(); cursor_mc.visible = true; cursor_mc.x = (mouseX + glo.bal.PLAYER.CURSOR_DX); cursor_mc.y = (mouseY + glo.bal.PLAYER.CURSOR_DY); }; if (((LEVELCOMPLETED) || (GAMEOVER))){ Mouse.show(); cursor_mc.visible = false; }; glo.bal.RADAR.nextState(); glo.bal.HEALTHBAR.nextState(); glo.bal.AIM.nextState(); glo.bal.SKILLS.nextState(); } function btnMenu(_arg1:Event=null){ if (!ALIVE){ return; }; glo.bal.PAUSEMENU.activate(); pausePlay(); } public function backFromItemsToCollect(){ if ((((glo.bal.CGAME.CLEVEL == 1)) && ((glo.bal.CGAME.TIMEELAPSED == 0)))){ glo.bal.COMBATTIPS.activate(this); } else { INBRIEFING = false; resumePlay(); }; } } }//package
Section 319
//gBitmapLib (gBitmapLib) package { public class gBitmapLib { public var BOX_R:Object; public var RPG_EXPLOSION:Object; public var BOX_U:Object; public var FILTER_KEY_B:Object; public var EGG_BODY:Object; public var FILTER_SCORPID2:Object; public var FILTER_KEY_R:Object; public var KEY_G:Object; public var EGG_SPLATTER:Object; public var BLOOD:Object; public var FILTER_ALPHA2:Object; public var GUN_SPARK:Object; public var FILTER_MONSTER2:Object; public var SCORPID1:Object; public var FILTER_KEY_Y:Object; public var ALIENEGG:Object; public var EGG_TENTACLES:Object; public var PORTAL:Object; public var ALPHA1:Object; public var MONSTER1:Object; public var RPG_BULLET:Object; public var BOX_H:Object; public function gBitmapLib(){ ALPHA1 = glo.bal.SWF_UNITS; MONSTER1 = glo.bal.SWF_UNITS; SCORPID1 = glo.bal.SWF_UNITS; ALIENEGG = glo.bal.SWF_UNITS; BLOOD = glo.bal.SWF_FX; GUN_SPARK = glo.bal.SWF_FX; RPG_EXPLOSION = glo.bal.SWF_FX; RPG_BULLET = glo.bal.SWF_OBJECTS; PORTAL = glo.bal.SWF_OBJECTS; BOX_U = glo.bal.SWF_OBJECTS; BOX_R = glo.bal.SWF_OBJECTS; BOX_H = glo.bal.SWF_OBJECTS; KEY_G = glo.bal.SWF_OBJECTS; FILTER_ALPHA2 = new FilterAlpha2(); FILTER_SCORPID2 = new FilterScorpid2(); FILTER_MONSTER2 = new FilterMonster2(); FILTER_KEY_R = new FilterKeyRed(); FILTER_KEY_B = new FilterKeyBlue(); FILTER_KEY_Y = new FilterKeyYellow(); } } }//package
Section 320
//glo (glo) package { public class glo { public static var bal:Object = new Object(); } }//package
Section 321
//GraphicPool (GraphicPool) package { import gdk.sprite.*; import gdk.*; import sandy.core.scenegraph.*; import sandy.primitive.*; public class GraphicPool { public var PLANEXY_500x75:Number; public var GRAPHICS:Array; public var KEYGREEN:Number; public var BOXGUN:Number; public var PLANEXY_100x75:Number; public var PLANEXY_600x75:Number; public var PLANEZX_100x100:Number; public var PLANEXY_200x75:Number; public var ALPHA1:Number; public var ALPHA2:Number; public var MONSTER1:Number; public var MONSTER2:Number; public var BOXRPG:Number; public var RPG_BULLET:Number; public var SPRITE:Number; public var PLANEZX_FC_HQ:Number; public var BOXHEALTH:Number; public var PLANEZX_FC_LQ:Number; public var PLANEXY_300x75:Number; public var SCORPID1:Number; public var SCORPID2:Number; public var ALIENEGG:Number; public var EGG_SPLATTER:Number; public var PLANEZX_FC_MQ:Number; public var PLANEXY_400x75:Number; public var GUN_SPARK:Number; public var FREE:Array; public var PORTAL:Number; public var RPG_EXPLOSION:Number; public static var C_SPRITE:Number = 0; public static var C_SHAPE:Number = 0; public function GraphicPool(){ var _local1:Number; var _local2:*; super(); _local1 = 0; var _temp1 = _local1; _local1 = (_local1 + 1); SPRITE = _temp1; var _temp2 = _local1; _local1 = (_local1 + 1); PLANEXY_100x75 = _temp2; var _temp3 = _local1; _local1 = (_local1 + 1); PLANEXY_200x75 = _temp3; var _temp4 = _local1; _local1 = (_local1 + 1); PLANEXY_300x75 = _temp4; var _temp5 = _local1; _local1 = (_local1 + 1); PLANEXY_400x75 = _temp5; var _temp6 = _local1; _local1 = (_local1 + 1); PLANEXY_500x75 = _temp6; var _temp7 = _local1; _local1 = (_local1 + 1); PLANEXY_600x75 = _temp7; var _temp8 = _local1; _local1 = (_local1 + 1); PLANEZX_100x100 = _temp8; var _temp9 = _local1; _local1 = (_local1 + 1); PLANEZX_FC_HQ = _temp9; var _temp10 = _local1; _local1 = (_local1 + 1); PLANEZX_FC_MQ = _temp10; var _temp11 = _local1; _local1 = (_local1 + 1); PLANEZX_FC_LQ = _temp11; var _temp12 = _local1; _local1 = (_local1 + 1); ALPHA1 = _temp12; var _temp13 = _local1; _local1 = (_local1 + 1); ALPHA2 = _temp13; var _temp14 = _local1; _local1 = (_local1 + 1); MONSTER1 = _temp14; var _temp15 = _local1; _local1 = (_local1 + 1); MONSTER2 = _temp15; var _temp16 = _local1; _local1 = (_local1 + 1); SCORPID1 = _temp16; var _temp17 = _local1; _local1 = (_local1 + 1); SCORPID2 = _temp17; var _temp18 = _local1; _local1 = (_local1 + 1); ALIENEGG = _temp18; var _temp19 = _local1; _local1 = (_local1 + 1); EGG_SPLATTER = _temp19; var _temp20 = _local1; _local1 = (_local1 + 1); GUN_SPARK = _temp20; var _temp21 = _local1; _local1 = (_local1 + 1); RPG_BULLET = _temp21; var _temp22 = _local1; _local1 = (_local1 + 1); RPG_EXPLOSION = _temp22; var _temp23 = _local1; _local1 = (_local1 + 1); BOXGUN = _temp23; var _temp24 = _local1; _local1 = (_local1 + 1); BOXRPG = _temp24; var _temp25 = _local1; _local1 = (_local1 + 1); BOXHEALTH = _temp25; var _temp26 = _local1; _local1 = (_local1 + 1); PORTAL = _temp26; var _temp27 = _local1; _local1 = (_local1 + 1); KEYGREEN = _temp27; GRAPHICS = []; FREE = []; _local2 = 0; while (_local2 < _local1) { GRAPHICS.push([]); FREE.push(0); _local2++; }; } private function createShape(_arg1:Number):Shape3D{ var _local2:Shape3D; _local2 = null; switch (_arg1){ case PLANEXY_100x75: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 75, 100, 1, 1, Plane3D.XY_ALIGNED); break; case PLANEXY_200x75: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 75, 200, 1, 1, Plane3D.XY_ALIGNED); break; case PLANEXY_300x75: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 75, 300, 1, 1, Plane3D.XY_ALIGNED); break; case PLANEXY_400x75: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 75, 400, 1, 1, Plane3D.XY_ALIGNED); break; case PLANEXY_500x75: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 75, 500, 1, 1, Plane3D.XY_ALIGNED); break; case PLANEXY_600x75: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 75, 600, 1, 1, Plane3D.XY_ALIGNED); break; case PLANEZX_100x100: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 100, 100, 1, 1, Plane3D.ZX_ALIGNED); break; case PLANEZX_FC_HQ: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 300, 300, 1, 1, Plane3D.ZX_ALIGNED); break; case PLANEZX_FC_MQ: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 900, 900, 1, 1, Plane3D.ZX_ALIGNED); break; case PLANEZX_FC_LQ: _local2 = new Plane3D(("shape_" + GraphicPool.C_SHAPE++), 3100, 3100, 1, 1, Plane3D.ZX_ALIGNED); break; default: trace("GraphicPool : undefined shape ID"); }; return (_local2); } public function objectReleased(_arg1:Number){ var _local2 = FREE; var _local3 = _arg1; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; } public function getBitmapSprite(_arg1:Number):gBitmapSprite{ var _local2:String; var _local3:gBitmapSprite; _local2 = ("sprite_" + GraphicPool.C_SPRITE++); _local3 = null; switch (_arg1){ case EGG_SPLATTER: _local3 = new gBitmapSprite(_local2, 200, 200); break; case GUN_SPARK: _local3 = new gBitmapSprite(_local2, 200, 150); break; case RPG_EXPLOSION: _local3 = new gBitmapSprite(_local2, 200, 200); break; case RPG_BULLET: _local3 = new gBitmapSprite(_local2, 40, 40); break; case PORTAL: _local3 = new gBitmapSprite(_local2, 60, 150); break; case BOXGUN: _local3 = new gBitmapSprite(_local2, 150, 150); break; case BOXRPG: _local3 = new gBitmapSprite(_local2, 150, 150); break; case BOXHEALTH: _local3 = new gBitmapSprite(_local2, 150, 150); break; case KEYGREEN: _local3 = new gBitmapSprite(_local2, 100, 100); break; case ALPHA1: _local3 = new gBitmapSprite(_local2, 250, 250); break; case ALPHA2: _local3 = new gBitmapSprite(_local2, 250, 250); break; case MONSTER1: _local3 = new gBitmapSprite(_local2, 240, 160); break; case MONSTER2: _local3 = new gBitmapSprite(_local2, 240, 160); break; case SCORPID1: _local3 = new gBitmapSprite(_local2, 280, 260); break; case SCORPID2: _local3 = new gBitmapSprite(_local2, 280, 260); break; case ALIENEGG: _local3 = new gBitmapSprite(_local2, 160, 160); break; default: trace(("GraphicPool : undefined sprite ID : " + _arg1)); }; return (_local3); } public function getShape(_arg1:Number):gdkShape{ var _local2:*; var _local3:*; var _local4:*; if (FREE[_arg1] > 0){ for (_local4 in GRAPHICS[_arg1]) { if (GRAPHICS[_arg1][_local4].free){ GRAPHICS[_arg1][_local4].take(); return (GRAPHICS[_arg1][_local4]); }; }; }; _local2 = createShape(_arg1); _local3 = new gdkShape(this, _arg1, _local2); _local3.take(); GRAPHICS[_arg1].push(_local3); return (_local3); } } }//package
Section 322
//gTexLib (gTexLib) package { import gdk.*; public class gTexLib { public var FLOOR1:gdkTexture; public var FLOOR2:gdkTexture; public var CEIL2:gdkTexture; public var DOOR1_F:gdkTexture; public var DOOR3_L:gdkTexture; public var CEIL1:gdkTexture; public var DOOR1_R:gdkTexture; public var DOOR1_L:gdkTexture; public var DOOR4_R:gdkTexture; public var DOOR3_F:gdkTexture; public var CEIL3:gdkTexture; public var DOOR6_F:gdkTexture; public var FLOOR3:gdkTexture; public var DOOR4_L:gdkTexture; public var DOOR4_F:gdkTexture; public var WALL1:gdkTexture; public var WALL2:gdkTexture; public var DOOR3_R:gdkTexture; public var DOOR5_F:gdkTexture; public function gTexLib(){ glo.bal.TEXLIB = this; FLOOR1 = new gdkBitmapTexture(new floor01(0, 0), false); FLOOR2 = new gdkBitmapTexture(new floor01(0, 0), false); FLOOR3 = new gdkBitmapTexture(new floor01(0, 0), false); WALL1 = new wallTexture(new wall01(0, 0)); WALL2 = new wallTexture(new wall02(0, 0)); CEIL1 = new gdkBitmapTexture(new ceil01(0, 0), false); CEIL2 = new gdkBitmapTexture(new ceil01(0, 0), false); CEIL3 = new gdkBitmapTexture(new ceil01(0, 0), false); if (glo.bal.PC_OPTION == 1){ DOOR1_F = new gdkBitmapTexture(new door01F(0, 0), false); DOOR1_L = new gdkBitmapTexture(new door01L(0, 0), false); DOOR1_R = new gdkBitmapTexture(new door01R(0, 0), false); DOOR3_F = new gdkBitmapTexture(new door03F(0, 0), false); DOOR3_L = new gdkBitmapTexture(new door03L(0, 0), false); DOOR3_R = new gdkBitmapTexture(new door03R(0, 0), false); DOOR4_F = new gdkBitmapTexture(new door04F(0, 0), false); DOOR4_L = new gdkBitmapTexture(new door04L(0, 0), false); DOOR4_R = new gdkBitmapTexture(new door04R(0, 0), false); DOOR5_F = new gdkBitmapTexture(new door05F(0, 0), false); DOOR6_F = new gdkBitmapTexture(new door06F(0, 0), false); } else { DOOR1_F = new gdkBitmapTexture(new wire_door01F(0, 0), false); DOOR1_L = new gdkBitmapTexture(new wire_door01L(0, 0), false); DOOR1_R = new gdkBitmapTexture(new wire_door01R(0, 0), false); DOOR3_F = new gdkBitmapTexture(new wire_door03F(0, 0), false); DOOR3_L = new gdkBitmapTexture(new wire_door03L(0, 0), false); DOOR3_R = new gdkBitmapTexture(new wire_door03R(0, 0), false); DOOR4_F = new gdkBitmapTexture(new wire_door04F(0, 0), false); DOOR4_L = DOOR3_L; DOOR4_R = DOOR3_R; DOOR5_F = new gdkBitmapTexture(new wire_door05F(0, 0), false); DOOR6_F = new gdkBitmapTexture(new wire_door06F(0, 0), false); }; } } }//package
Section 323
//GunSpark (GunSpark) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; import flash.geom.*; public class GunSpark { private var SPRITE:gBitmapSprite; private var SEQi:Number; private var BP:Point; private var GAME:fpsGame; private var POS:Vector; private var SEQ:Object; public function GunSpark(_arg1:Vector){ GAME = glo.bal.GAME; POS = _arg1; SEQ = GAME.BITMAPLIB.GUN_SPARK; SEQi = 0; SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.GUN_SPARK); SPRITE.scale = 0.25; SPRITE.autoCenter = false; SPRITE.setBoundingSphereRadius(50); SPRITE.BMP.y = -50; BP = new Point(0, 0); SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; GAME.animation(this, 10, nextState); } public function nextState(_arg1:Number, _arg2:Number){ if (_arg1 >= _arg2){ destroy(); return; }; SEQ.getFrame(SEQi, (_arg1 - 1), SPRITE.BUFFER, BP); SPRITE.forcedDepth = 1; } public function destroy(){ if (SPRITE){ SPRITE.release(); }; SPRITE = null; BP = null; } } }//package
Section 324
//hzAlienEgg (hzAlienEgg) package { public class hzAlienEgg extends UnitHitZone { public function hzAlienEgg(){ var _local1:*; super(1); insertPart("chest", 1); _local1 = 0; while (_local1 < 36) { insertZone(0, 0, 4, 6, 75, 73); _local1++; }; } } }//package
Section 325
//hzAlpha1 (hzAlpha1) package { public class hzAlpha1 extends UnitHitZone { public function hzAlpha1(){ super(3); insertPart("head", 2.5); insertPart("chest", 1); insertPart("hips", 0.1); insertZone(0, 0, 115, 63, 30, 40); insertZone(0, 0, 115, 65, 30, 40); insertZone(0, 0, 114, 67, 30, 40); insertZone(0, 0, 113, 68, 30, 40); insertZone(0, 0, 112, 70, 30, 40); insertZone(0, 0, 110, 71, 30, 40); insertZone(0, 0, 109, 73, 30, 40); insertZone(0, 0, 108, 74, 30, 40); insertZone(0, 0, 107, 75, 30, 40); insertZone(0, 0, 108, 74, 30, 40); insertZone(0, 0, 108, 75, 30, 40); insertZone(0, 0, 108, 76, 30, 40); insertZone(0, 0, 108, 77, 30, 40); insertZone(0, 0, 108, 78, 30, 40); insertZone(0, 0, 108, 77, 30, 40); insertZone(0, 0, 109, 75, 30, 40); insertZone(0, 0, 110, 75, 30, 40); insertZone(0, 0, 111, 74, 30, 40); insertZone(0, 0, 113, 74, 30, 40); insertZone(0, 0, 113, 73, 30, 40); insertZone(0, 0, 113, 73, 30, 40); insertZone(0, 0, 113, 74, 30, 40); insertZone(0, 0, 111, 74, 30, 40); insertZone(0, 0, 110, 75, 30, 40); insertZone(0, 0, 109, 75, 30, 40); insertZone(0, 0, 108, 77, 30, 40); insertZone(0, 0, 108, 78, 30, 40); insertZone(0, 0, 108, 77, 30, 40); insertZone(0, 0, 108, 76, 30, 40); insertZone(0, 0, 108, 75, 30, 40); insertZone(0, 0, 108, 74, 30, 40); insertZone(0, 0, 107, 75, 30, 40); insertZone(0, 0, 108, 74, 30, 40); insertZone(0, 0, 109, 73, 30, 40); insertZone(0, 0, 110, 71, 30, 40); insertZone(0, 0, 112, 70, 30, 40); insertZone(0, 0, 113, 68, 30, 40); insertZone(0, 0, 114, 67, 30, 40); insertZone(0, 0, 115, 65, 30, 40); insertZone(0, 0, 115, 63, 30, 40); insertZone(0, 1, 96, 76, 50, 55); insertZone(0, 1, 95, 77, 50, 55); insertZone(0, 1, 94, 77, 50, 55); insertZone(0, 1, 94, 77, 50, 55); insertZone(0, 1, 94, 79, 50, 55); insertZone(0, 1, 94, 80, 50, 55); insertZone(0, 1, 94, 82, 50, 55); insertZone(0, 1, 94, 83, 50, 55); insertZone(0, 1, 94, 84, 50, 55); insertZone(0, 1, 93, 83, 50, 55); insertZone(0, 1, 93, 84, 50, 55); insertZone(0, 1, 93, 85, 50, 55); insertZone(0, 1, 93, 84, 50, 55); insertZone(0, 1, 93, 85, 50, 55); insertZone(0, 1, 94, 85, 50, 55); insertZone(0, 1, 95, 85, 50, 55); insertZone(0, 1, 95, 85, 50, 55); insertZone(0, 1, 96, 86, 50, 55); insertZone(0, 1, 96, 85, 50, 55); insertZone(0, 1, 96, 85, 50, 55); insertZone(0, 1, 96, 85, 50, 55); insertZone(0, 1, 96, 85, 50, 55); insertZone(0, 1, 96, 86, 50, 55); insertZone(0, 1, 95, 85, 50, 55); insertZone(0, 1, 95, 85, 50, 55); insertZone(0, 1, 94, 85, 50, 55); insertZone(0, 1, 93, 85, 50, 55); insertZone(0, 1, 93, 84, 50, 55); insertZone(0, 1, 93, 85, 50, 55); insertZone(0, 1, 93, 84, 50, 55); insertZone(0, 1, 93, 83, 50, 55); insertZone(0, 1, 94, 84, 50, 55); insertZone(0, 1, 94, 83, 50, 55); insertZone(0, 1, 94, 82, 50, 55); insertZone(0, 1, 94, 80, 50, 55); insertZone(0, 1, 94, 79, 50, 55); insertZone(0, 1, 94, 77, 50, 55); insertZone(0, 1, 94, 77, 50, 55); insertZone(0, 1, 95, 77, 50, 55); insertZone(0, 1, 96, 76, 50, 55); insertZone(0, 2, 74.5, 127, 80, 30); insertZone(0, 2, 74, 129, 80, 30); insertZone(0, 2, 71.5, 130, 80, 30); insertZone(0, 2, 71.5, 129.5, 80, 30); insertZone(0, 2, 72, 130.5, 80, 30); insertZone(0, 2, 71, 130.5, 80, 30); insertZone(0, 2, 71, 131.5, 80, 30); insertZone(0, 2, 71, 132.5, 80, 30); insertZone(0, 2, 71.5, 133.5, 80, 30); insertZone(0, 2, 70.5, 133.5, 80, 30); insertZone(0, 2, 70.5, 134, 80, 30); insertZone(0, 2, 70.5, 134.5, 80, 30); insertZone(0, 2, 70.5, 135, 80, 30); insertZone(0, 2, 70.5, 134.5, 80, 30); insertZone(0, 2, 70.5, 134.5, 80, 30); insertZone(0, 2, 71, 134.5, 80, 30); insertZone(0, 2, 71, 134.5, 80, 30); insertZone(0, 2, 72, 134.5, 80, 30); insertZone(0, 2, 72.5, 134.5, 80, 30); insertZone(0, 2, 73, 134.5, 80, 30); insertZone(0, 2, 73, 134.5, 80, 30); insertZone(0, 2, 72.5, 134.5, 80, 30); insertZone(0, 2, 72, 134.5, 80, 30); insertZone(0, 2, 71, 134.5, 80, 30); insertZone(0, 2, 71, 134.5, 80, 30); insertZone(0, 2, 70.5, 134.5, 80, 30); insertZone(0, 2, 70.5, 134.5, 80, 30); insertZone(0, 2, 70.5, 135, 80, 30); insertZone(0, 2, 70.5, 134.5, 80, 30); insertZone(0, 2, 70.5, 134, 80, 30); insertZone(0, 2, 70.5, 133.5, 80, 30); insertZone(0, 2, 71.5, 133.5, 80, 30); insertZone(0, 2, 71, 132.5, 80, 30); insertZone(0, 2, 71, 131.5, 80, 30); insertZone(0, 2, 71, 130.5, 80, 30); insertZone(0, 2, 72, 130.5, 80, 30); insertZone(0, 2, 71.5, 129.5, 80, 30); insertZone(0, 2, 71.5, 130, 80, 30); insertZone(0, 2, 74, 129, 80, 30); insertZone(0, 2, 74.5, 127, 80, 30); insertZone(1, 0, 110, 79, 25, 35); insertZone(1, 0, 110, 59, 25, 35); insertZone(1, 0, 110, 46, 25, 35); insertZone(1, 0, 110, 52, 25, 35); insertZone(1, 0, 110, 71, 25, 35); insertZone(1, 0, 110, 76, 25, 35); insertZone(1, 0, 110, 60, 25, 35); insertZone(1, 0, 110, 49, 25, 35); insertZone(1, 0, 110, 54, 25, 35); insertZone(1, 0, 110, 66, 25, 35); insertZone(1, 1, 102, 87, 45, 55); insertZone(1, 1, 102, 69, 45, 55); insertZone(1, 1, 102, 59, 45, 55); insertZone(1, 1, 102, 66, 45, 55); insertZone(1, 1, 102, 80, 45, 55); insertZone(1, 1, 102, 83, 45, 55); insertZone(1, 1, 102, 69, 45, 55); insertZone(1, 1, 102, 61, 45, 55); insertZone(1, 1, 102, 65, 45, 55); insertZone(1, 1, 102, 76, 45, 55); insertZone(1, 2, 104, 138, 45, 30); insertZone(1, 2, 103, 122, 45, 30); insertZone(1, 2, 102, 111, 45, 30); insertZone(1, 2, 102, 118, 45, 30); insertZone(1, 2, 101, 132, 45, 30); insertZone(1, 2, 101, 135, 45, 30); insertZone(1, 2, 101, 121, 45, 30); insertZone(1, 2, 101, 114, 45, 30); insertZone(1, 2, 101, 117, 45, 30); insertZone(1, 2, 102, 128, 45, 30); insertZone(2, 0, 113.5, 53.5, 25, 35); insertZone(2, 0, 102.5, 54.5, 25, 35); insertZone(2, 0, 89.5, 56.5, 25, 35); insertZone(2, 0, 80.5, 53.5, 25, 35); insertZone(2, 0, 95.5, 46.5, 25, 35); insertZone(2, 0, 120.5, 41.5, 25, 35); insertZone(2, 0, 129.5, 47.5, 25, 35); insertZone(2, 0, 136.5, 61.5, 25, 35); insertZone(2, 0, 144.5, 72.5, 25, 35); insertZone(2, 0, 139.5, 71.5, 25, 35); insertZone(2, 0, 132.5, 59.5, 25, 35); insertZone(2, 0, 127.5, 59.5, 25, 35); insertZone(2, 0, 118.5, 57.5, 25, 35); insertZone(2, 0, 106.5, 65.5, 25, 35); insertZone(2, 0, 103.5, 64.5, 25, 35); insertZone(2, 0, 110.45, 56.5, 25, 35); insertZone(2, 0, 113.45, 54.5, 25, 35); insertZone(2, 0, 113.45, 54.5, 25, 35); insertZone(2, 0, 113.45, 54.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 0, 113.45, 52.5, 25, 35); insertZone(2, 1, 101.45, 68, 45, 55); insertZone(2, 1, 99.45, 68, 45, 55); insertZone(2, 1, 94.45, 68, 45, 55); insertZone(2, 1, 94.45, 68, 45, 55); insertZone(2, 1, 94.45, 67, 45, 55); insertZone(2, 1, 101.45, 66, 45, 55); insertZone(2, 1, 104.45, 66, 45, 55); insertZone(2, 1, 103.45, 68, 45, 55); insertZone(2, 1, 109.45, 73, 45, 55); insertZone(2, 1, 109.45, 73, 45, 55); insertZone(2, 1, 109.45, 70, 45, 55); insertZone(2, 1, 105.45, 70, 45, 55); insertZone(2, 1, 103.45, 70, 45, 55); insertZone(2, 1, 99.45, 73, 45, 55); insertZone(2, 1, 97.45, 73, 45, 55); insertZone(2, 1, 100.45, 71, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 68, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 1, 100.45, 69, 45, 55); insertZone(2, 2, 99, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 97, 120.4, 50, 30); insertZone(2, 2, 98, 119.4, 50, 30); insertZone(2, 2, 98, 119.4, 50, 30); insertZone(2, 2, 98, 118.4, 50, 30); insertZone(2, 2, 98, 118.4, 50, 30); insertZone(2, 2, 97, 120.4, 50, 30); insertZone(2, 2, 97, 125.4, 50, 30); insertZone(2, 2, 97, 125.4, 50, 30); insertZone(2, 2, 97, 121.4, 50, 30); insertZone(2, 2, 98, 121.4, 50, 30); insertZone(2, 2, 99, 122.4, 50, 30); insertZone(2, 2, 98, 124.4, 50, 30); insertZone(2, 2, 98, 125.4, 50, 30); insertZone(2, 2, 98, 122.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 121.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); insertZone(2, 2, 98, 120.4, 50, 30); } } }//package
Section 326
//hzMonster1 (hzMonster1) package { public class hzMonster1 extends UnitHitZone { public function hzMonster1(){ super(3); insertPart("head", 2.5); insertPart("chest", 1); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 118, 71, 25, 50); insertZone(0, 0, 118, 72, 25, 50); insertZone(0, 0, 119, 72, 25, 50); insertZone(0, 0, 122, 71, 25, 50); insertZone(0, 0, 125, 71, 25, 50); insertZone(0, 0, 130, 70, 25, 50); insertZone(0, 0, 136, 68, 25, 50); insertZone(0, 0, 139, 66, 25, 50); insertZone(0, 0, 141, 65, 25, 50); insertZone(0, 0, 142, 64, 25, 50); insertZone(0, 0, 141, 63, 25, 50); insertZone(0, 0, 139, 63, 25, 50); insertZone(0, 0, 135, 63, 25, 50); insertZone(0, 0, 128, 66, 25, 50); insertZone(0, 0, 119, 67, 25, 50); insertZone(0, 0, 109, 67, 25, 50); insertZone(0, 0, 100, 66, 25, 50); insertZone(0, 0, 94, 64, 25, 50); insertZone(0, 0, 90, 63, 25, 50); insertZone(0, 0, 90, 63, 25, 50); insertZone(0, 0, 94, 64, 25, 50); insertZone(0, 0, 100, 66, 25, 50); insertZone(0, 0, 109, 67, 25, 50); insertZone(0, 0, 119, 67, 25, 50); insertZone(0, 0, 128, 66, 25, 50); insertZone(0, 0, 135, 63, 25, 50); insertZone(0, 0, 139, 63, 25, 50); insertZone(0, 0, 141, 63, 25, 50); insertZone(0, 0, 142, 64, 25, 50); insertZone(0, 0, 141, 65, 25, 50); insertZone(0, 0, 139, 66, 25, 50); insertZone(0, 0, 136, 68, 25, 50); insertZone(0, 0, 130, 70, 25, 50); insertZone(0, 0, 125, 71, 25, 50); insertZone(0, 0, 122, 71, 25, 50); insertZone(0, 0, 119, 72, 25, 50); insertZone(0, 0, 118, 72, 25, 50); insertZone(0, 0, 118, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 0, 117, 71, 25, 50); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 108, 37, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(0, 1, 109, 36, 45, 55); insertZone(1, 0, 112, 70, 25, 50); insertZone(1, 0, 117, 68, 25, 50); insertZone(1, 0, 130, 58, 25, 50); insertZone(1, 0, 138, 54, 25, 50); insertZone(1, 0, 140, 62, 25, 50); insertZone(1, 0, 137, 71, 25, 50); insertZone(1, 0, 129, 66, 25, 50); insertZone(1, 0, 120, 58, 25, 50); insertZone(1, 0, 113, 55, 25, 50); insertZone(1, 0, 112, 62, 25, 50); insertZone(1, 1, 107, 35, 45, 55); insertZone(1, 1, 109, 37, 45, 55); insertZone(1, 1, 113, 26, 45, 55); insertZone(1, 1, 113, 21, 45, 55); insertZone(1, 1, 115, 28, 45, 55); insertZone(1, 1, 113, 32, 45, 55); insertZone(1, 1, 111, 29, 45, 55); insertZone(1, 1, 111, 24, 45, 55); insertZone(1, 1, 111, 24, 45, 55); insertZone(1, 1, 109, 28, 45, 55); insertZone(2, 0, 112, 69, 25, 50); insertZone(2, 0, 128, 69, 25, 50); insertZone(2, 0, 141, 69, 25, 50); insertZone(2, 0, 157, 65, 25, 45); insertZone(2, 0, 176, 66, 25, 45); insertZone(2, 0, 178, 69, 25, 45); insertZone(2, 0, 139, 75, 25, 45); insertZone(2, 0, 103, 82, 30, 40); insertZone(2, 0, 80, 82, 25, 40); insertZone(2, 0, 67, 75, 25, 40); insertZone(2, 0, 61, 63, 25, 40); insertZone(2, 0, 50, 58, 25, 40); insertZone(2, 0, 43, 56, 25, 45); insertZone(2, 0, 57, 59, 25, 45); insertZone(2, 0, 92, 63, 25, 45); insertZone(2, 0, 145, 66, 25, 50); insertZone(2, 0, 174, 65, 25, 40); insertZone(2, 0, 186, 63, 25, 45); insertZone(2, 0, 184, 65, 25, 45); insertZone(2, 0, 160, 60, 25, 45); insertZone(2, 0, 123, 60, 35, 45); insertZone(2, 0, 112, 64, 25, 45); insertZone(2, 0, 108, 67, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 0, 111, 70, 25, 50); insertZone(2, 1, 107, 37, 45, 50); insertZone(2, 1, 112, 37, 45, 50); insertZone(2, 1, 114, 37, 45, 50); insertZone(2, 1, 119, 37, 45, 50); insertZone(2, 1, 131, 36, 45, 50); insertZone(2, 1, 130, 36, 55, 50); insertZone(2, 1, 126, 36, 55, 50); insertZone(2, 1, 119, 45, 60, 60); insertZone(2, 1, 102, 49, 60, 60); insertZone(2, 1, 89, 46, 60, 60); insertZone(2, 1, 81, 40, 70, 60); insertZone(2, 1, 73, 35, 75, 60); insertZone(2, 1, 67, 31, 75, 60); insertZone(2, 1, 79, 31, 60, 60); insertZone(2, 1, 95, 32, 50, 50); insertZone(2, 1, 107, 40, 50, 50); insertZone(2, 1, 116, 39, 60, 50); insertZone(2, 1, 120, 39, 65, 50); insertZone(2, 1, 119, 37, 65, 50); insertZone(2, 1, 116, 34, 65, 50); insertZone(2, 1, 111, 36, 60, 50); insertZone(2, 1, 106, 39, 60, 50); insertZone(2, 1, 110, 40, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); insertZone(2, 1, 106, 41, 50, 50); } } }//package
Section 327
//hzScorpid1 (hzScorpid1) package { public class hzScorpid1 extends UnitHitZone { public function hzScorpid1(){ super(3); insertPart("head", 2.5); insertPart("chest", 1); insertZone(0, 0, 125, 77, 30, 20); insertZone(0, 0, 123, 76, 30, 20); insertZone(0, 0, 120, 74, 30, 20); insertZone(0, 0, 118, 72, 30, 20); insertZone(0, 0, 116, 73, 30, 20); insertZone(0, 0, 115, 75, 30, 20); insertZone(0, 0, 114, 77, 30, 20); insertZone(0, 0, 113, 76, 30, 20); insertZone(0, 0, 112, 75, 30, 20); insertZone(0, 0, 112, 74, 30, 20); insertZone(0, 0, 112, 74, 30, 20); insertZone(0, 0, 114, 75, 30, 20); insertZone(0, 0, 114, 77, 30, 20); insertZone(0, 0, 117, 79, 30, 20); insertZone(0, 0, 120, 79, 30, 20); insertZone(0, 0, 123, 76, 30, 20); insertZone(0, 0, 128, 75, 30, 20); insertZone(0, 0, 130, 74, 30, 20); insertZone(0, 0, 133, 75, 30, 20); insertZone(0, 0, 135, 78, 30, 20); insertZone(0, 0, 135, 78, 30, 20); insertZone(0, 0, 133, 75, 30, 20); insertZone(0, 0, 130, 74, 30, 20); insertZone(0, 0, 128, 75, 30, 20); insertZone(0, 0, 123, 76, 30, 20); insertZone(0, 0, 120, 79, 30, 20); insertZone(0, 0, 117, 79, 30, 20); insertZone(0, 0, 114, 77, 30, 20); insertZone(0, 0, 114, 75, 30, 20); insertZone(0, 0, 112, 74, 30, 20); insertZone(0, 0, 112, 74, 30, 20); insertZone(0, 0, 112, 75, 30, 20); insertZone(0, 0, 113, 76, 30, 20); insertZone(0, 0, 114, 77, 30, 20); insertZone(0, 0, 115, 75, 30, 20); insertZone(0, 0, 116, 73, 30, 20); insertZone(0, 0, 118, 72, 30, 20); insertZone(0, 0, 120, 74, 30, 20); insertZone(0, 0, 123, 76, 30, 20); insertZone(0, 0, 125, 77, 30, 20); insertZone(0, 1, 105, 64, 70, 35); insertZone(0, 1, 105, 63, 70, 35); insertZone(0, 1, 105, 62, 70, 35); insertZone(0, 1, 105, 61, 70, 35); insertZone(0, 1, 102, 61, 70, 35); insertZone(0, 1, 99, 61, 70, 35); insertZone(0, 1, 97, 61, 70, 35); insertZone(0, 1, 96, 62, 70, 35); insertZone(0, 1, 95, 62, 70, 35); insertZone(0, 1, 96, 61, 70, 35); insertZone(0, 1, 98, 60, 70, 35); insertZone(0, 1, 100, 63, 70, 35); insertZone(0, 1, 100, 63, 70, 35); insertZone(0, 1, 101, 64, 70, 35); insertZone(0, 1, 103, 62, 70, 35); insertZone(0, 1, 104, 62, 70, 35); insertZone(0, 1, 106, 61, 70, 35); insertZone(0, 1, 108, 60, 70, 35); insertZone(0, 1, 109, 63, 70, 35); insertZone(0, 1, 109, 63, 70, 35); insertZone(0, 1, 109, 63, 70, 35); insertZone(0, 1, 109, 63, 70, 35); insertZone(0, 1, 108, 60, 70, 35); insertZone(0, 1, 106, 61, 70, 35); insertZone(0, 1, 104, 62, 70, 35); insertZone(0, 1, 103, 62, 70, 35); insertZone(0, 1, 101, 64, 70, 35); insertZone(0, 1, 100, 63, 70, 35); insertZone(0, 1, 100, 63, 70, 35); insertZone(0, 1, 98, 60, 70, 35); insertZone(0, 1, 96, 61, 70, 35); insertZone(0, 1, 95, 62, 70, 35); insertZone(0, 1, 96, 62, 70, 35); insertZone(0, 1, 97, 61, 70, 35); insertZone(0, 1, 99, 61, 70, 35); insertZone(0, 1, 102, 61, 70, 35); insertZone(0, 1, 105, 61, 70, 35); insertZone(0, 1, 105, 62, 70, 35); insertZone(0, 1, 105, 63, 70, 35); insertZone(0, 1, 105, 64, 70, 35); insertZone(1, 0, 125, 84, 30, 20); insertZone(1, 0, 124, 83, 30, 20); insertZone(1, 0, 124, 82, 30, 20); insertZone(1, 0, 124, 82, 30, 20); insertZone(1, 0, 125, 81, 30, 20); insertZone(1, 0, 125, 81, 30, 20); insertZone(1, 0, 125, 80, 30, 20); insertZone(1, 0, 125, 81, 30, 20); insertZone(1, 0, 126, 83, 30, 20); insertZone(1, 0, 126, 85, 30, 20); insertZone(1, 0, 126, 86, 30, 20); insertZone(1, 0, 126, 84, 30, 20); insertZone(1, 0, 126, 82, 30, 20); insertZone(1, 0, 126, 79, 30, 20); insertZone(1, 0, 126, 78, 30, 20); insertZone(1, 0, 126, 79, 30, 20); insertZone(1, 0, 126, 80, 30, 20); insertZone(1, 0, 126, 82, 30, 20); insertZone(1, 1, 106, 69, 70, 35); insertZone(1, 1, 106, 69, 70, 35); insertZone(1, 1, 106, 69, 70, 35); insertZone(1, 1, 106, 69, 70, 35); insertZone(1, 1, 106, 68, 70, 35); insertZone(1, 1, 106, 66, 70, 35); insertZone(1, 1, 106, 66, 70, 35); insertZone(1, 1, 106, 66, 70, 35); insertZone(1, 1, 106, 68, 70, 35); insertZone(1, 1, 106, 70, 70, 35); insertZone(1, 1, 106, 71, 70, 35); insertZone(1, 1, 106, 70, 70, 35); insertZone(1, 1, 106, 67, 70, 35); insertZone(1, 1, 106, 64, 70, 35); insertZone(1, 1, 106, 63, 70, 35); insertZone(1, 1, 106, 63, 70, 35); insertZone(1, 1, 106, 66, 70, 35); insertZone(1, 1, 106, 67, 70, 35); insertZone(2, 0, 125, 83, 30, 20); insertZone(2, 0, 125, 82, 30, 20); insertZone(2, 0, 125, 82, 30, 20); insertZone(2, 0, 126, 81, 30, 20); insertZone(2, 0, 126, 80, 30, 20); insertZone(2, 0, 126, 82, 30, 20); insertZone(2, 0, 126, 86, 30, 20); insertZone(2, 0, 126, 90, 30, 20); insertZone(2, 0, 126, 90, 30, 20); insertZone(2, 0, 125, 108, 30, 20); insertZone(2, 0, 126, 110, 30, 20); insertZone(2, 0, 125, 108, 30, 20); insertZone(2, 0, 126, 105, 30, 20); insertZone(2, 0, 127, 99, 30, 20); insertZone(2, 0, 127, 96, 30, 20); insertZone(2, 0, 126, 95, 30, 20); insertZone(2, 0, 125, 93, 30, 20); insertZone(2, 0, 125, 93, 30, 20); insertZone(2, 0, 125, 93, 30, 20); insertZone(2, 0, 125, 93, 30, 20); insertZone(2, 0, 125, 93, 30, 20); insertZone(2, 0, 125, 93, 30, 20); insertZone(2, 0, 124, 93, 30, 20); insertZone(2, 0, 124, 92, 30, 20); insertZone(2, 0, 126, 89, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 0, 126, 87, 30, 20); insertZone(2, 1, 105, 69, 70, 35); insertZone(2, 1, 105, 67, 70, 35); insertZone(2, 1, 104, 64, 70, 35); insertZone(2, 1, 104, 64, 70, 35); insertZone(2, 1, 105, 62, 70, 35); insertZone(2, 1, 106, 56, 70, 40); insertZone(2, 1, 106, 58, 70, 40); insertZone(2, 1, 108, 57, 70, 40); insertZone(2, 1, 107, 55, 70, 40); insertZone(2, 1, 107, 55, 70, 40); insertZone(2, 1, 107, 55, 70, 40); insertZone(2, 1, 107, 55, 70, 40); insertZone(2, 1, 105, 65, 70, 40); insertZone(2, 1, 105, 73, 70, 40); insertZone(2, 1, 105, 74, 70, 40); insertZone(2, 1, 105, 74, 70, 40); insertZone(2, 1, 105, 75, 70, 40); insertZone(2, 1, 105, 75, 70, 40); insertZone(2, 1, 105, 76, 70, 40); insertZone(2, 1, 105, 77, 70, 40); insertZone(2, 1, 105, 77, 70, 40); insertZone(2, 1, 105, 77, 70, 40); insertZone(2, 1, 105, 75, 70, 40); insertZone(2, 1, 105, 73, 70, 40); insertZone(2, 1, 105, 70, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); insertZone(2, 1, 105, 68, 70, 40); } } }//package
Section 328
//itemBox (itemBox) package { import gdk.fps.*; import sandy.core.data.*; import flash.geom.*; public class itemBox extends fpsItem { protected var SEQi:Number; protected var SPRITEID:Number; protected var SEQ:Object; protected var BP:Point; protected var CF:Number; public function itemBox(_arg1:String, _arg2:fpsRoom, _arg3:Number, _arg4:Number){ OBJID = _arg1; super(_arg2, new Vector((50 + (_arg3 * 100)), 0, (50 + (_arg4 * 100)))); } override public function render(){ var _local1:Number; _local1 = (CF - 8.5); SPRITE.BMP.y = ((-(SPRITE.W) + 20) - ((20 * (_local1 * _local1)) / 75)); SEQ.getFrame(SEQi, CF, SPRITE.BUFFER, BP); CF++; if (CF >= 18){ CF = 0; }; } override public function createSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(SPRITEID); SPRITE.scale = 0.25; SPRITE.autoCenter = false; BP = new Point(0, 0); CF = 0; } } }//package
Section 329
//itemBoxGun (itemBoxGun) package { import gdk.fps.*; public class itemBoxGun extends itemBox { public function itemBoxGun(_arg1:String, _arg2:fpsRoom, _arg3:Number, _arg4:Number){ super(_arg1, _arg2, _arg3, _arg4); TYPE = "ammo"; DATA = {weapon:1, qty:200}; PICKABLE = true; PICK_RANGE = 50; SEQ = GAME.BITMAPLIB.BOX_U; SEQi = 0; SPRITEID = GAME.GPOOL.BOXGUN; } } }//package
Section 330
//itemBoxHealth (itemBoxHealth) package { import gdk.fps.*; public class itemBoxHealth extends itemBox { public function itemBoxHealth(_arg1:String, _arg2:fpsRoom, _arg3:Number, _arg4:Number){ super(_arg1, _arg2, _arg3, _arg4); TYPE = "health"; DATA = {restore:100}; PICKABLE = true; PICK_RANGE = 50; SEQ = GAME.BITMAPLIB.BOX_H; SEQi = 2; SPRITEID = GAME.GPOOL.BOXHEALTH; } } }//package
Section 331
//itemBoxRPG (itemBoxRPG) package { import gdk.fps.*; public class itemBoxRPG extends itemBox { public function itemBoxRPG(_arg1:String, _arg2:fpsRoom, _arg3:Number, _arg4:Number){ super(_arg1, _arg2, _arg3, _arg4); TYPE = "ammo"; DATA = {weapon:2, qty:10}; PICKABLE = true; PICK_RANGE = 50; SEQ = GAME.BITMAPLIB.BOX_R; SEQi = 1; SPRITEID = GAME.GPOOL.BOXRPG; } } }//package
Section 332
//itemKey (itemKey) package { import gdk.fps.*; import sandy.core.data.*; import flash.geom.*; import flash.filters.*; public class itemKey extends fpsItem { private var SEQ:Object; private var BP:Point; private var CF:Number; private var FILTER:BitmapFilter; private var RECT:Rectangle; public function itemKey(_arg1:String, _arg2:fpsRoom=null, _arg3:Number=0, _arg4:Number=0){ super(_arg2, new Vector((50 + (_arg3 * 100)), 0, (50 + (_arg4 * 100)))); TYPE = "key"; DATA = {door:_arg1}; PICKABLE = true; PICK_RANGE = 50; SEQ = GAME.BITMAPLIB.KEY_G; RECT = new Rectangle(0, 0, 100, 100); switch (_arg1){ case "blue": FILTER = GAME.BITMAPLIB.FILTER_KEY_B.filter; break; case "red": FILTER = GAME.BITMAPLIB.FILTER_KEY_R.filter; break; case "yellow": FILTER = GAME.BITMAPLIB.FILTER_KEY_Y.filter; break; case "green": FILTER = null; break; }; } override public function render(){ var _local1:Number; _local1 = (CF - 17.5); SPRITE.BMP.y = ((-(SPRITE.W) + 20) - ((20 * (_local1 * _local1)) / 75)); SEQ.getFrame(3, CF, SPRITE.BUFFER, BP); if (FILTER){ SPRITE.BUFFER.applyFilter(SPRITE.BUFFER, RECT, BP, FILTER); }; CF++; if (CF >= 36){ CF = 0; }; } override public function createSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.KEYGREEN); SPRITE.scale = 0.15; SPRITE.autoCenter = false; BP = new Point(0, 0); CF = 0; } } }//package
Section 333
//Jukebox (Jukebox) package { import flash.display.*; import flash.events.*; import flash.media.*; public class Jukebox extends MovieClip { public var SCORE2:Sound; public var SCORE3:Sound; private var SFX_STEALTH:Sound; public var SCORE_CHANNEL:SoundChannel; public var SCOREi:Number; public var MUTE_MUSIC:Boolean; public var CHANNEL_GUNLOOP:SoundChannel; public var VOLUME_SFX1:Number; public var VOLUME_SFX3:Number; public var VOLUME_SFX2:Number; public var VOLUME_SCORE1:Number; public var VOLUME_SCORE3:Number; public var VOLUME_SCORE2:Number; public var OPT_VOLUME_MUSIC:Number; public var OPT_VOLUME_SFX:Number; public var MUTE_SFX:Boolean; private var SFX_REPULSE:Sound; private var STOPGUNLOOP:Boolean; private var SFX_HEAL:Sound; private var SFX_GUNLOOP:Sound; public var SCORE0:Sound; public var SCORE1:Sound; public function Jukebox(){ glo.bal.JUKEBOX = this; MUTE_MUSIC = false; MUTE_SFX = false; VOLUME_SFX1 = 0.6; VOLUME_SFX2 = 0.6; VOLUME_SFX3 = 0.6; VOLUME_SCORE1 = 0.3; VOLUME_SCORE2 = 0.6; VOLUME_SCORE3 = 0.6; OPT_VOLUME_MUSIC = 0.5; OPT_VOLUME_SFX = 0.5; SFX_GUNLOOP = new sfxRifleLoop(); STOPGUNLOOP = false; SCORE0 = new trkSlogItOut(); SCORE1 = new trkRockTheFuture(); SCORE2 = new trkStopCP(); SCORE3 = new trkMaydayOnMars(); SCOREi = 1; } public function stealth(){ playSfx(new sfxCloak(), VOLUME_SFX1); } public function nextTrack(_arg1:Event){ var _local2:Number; stopScore(); SCOREi++; if (SCOREi > 3){ SCOREi = 1; }; _local2 = 1; switch (SCOREi){ case 1: SCORE_CHANNEL = SCORE1.play(0); _local2 = 1; break; case 2: SCORE_CHANNEL = SCORE2.play(0); _local2 = 1.5; break; case 3: SCORE_CHANNEL = SCORE3.play(0); _local2 = 1.2; break; }; if (MUTE_MUSIC){ setChannelVolume(SCORE_CHANNEL, 0); } else { setChannelVolume(SCORE_CHANNEL, (((VOLUME_SCORE1 * OPT_VOLUME_MUSIC) * 2) * _local2)); }; SCORE_CHANNEL.addEventListener("soundComplete", nextTrack); } public function playGunLoop(){ if (MUTE_SFX){ return; }; STOPGUNLOOP = false; if (CHANNEL_GUNLOOP != null){ CHANNEL_GUNLOOP.stop(); }; CHANNEL_GUNLOOP = SFX_GUNLOOP.play(0, 200); setChannelVolume(CHANNEL_GUNLOOP, ((VOLUME_SFX3 * OPT_VOLUME_SFX) * 2)); } public function btnClick(){ playSfx(new sfxClick(), VOLUME_SFX1); } public function dryFire(){ playSfx(new sfxDryFire(), VOLUME_SFX1); } public function menuScore(){ stopScore(); SCORE_CHANNEL = SCORE0.play(0, 999); if (MUTE_MUSIC){ setChannelVolume(SCORE_CHANNEL, 0); } else { setChannelVolume(SCORE_CHANNEL, ((VOLUME_SCORE1 * OPT_VOLUME_MUSIC) * 2)); }; } public function sfxOff(){ MUTE_SFX = true; } public function playSfx(_arg1:Sound, _arg2:Number){ if (MUTE_SFX){ return; }; setChannelVolume(_arg1.play(), ((_arg2 * OPT_VOLUME_SFX) * 2)); } public function setChannelVolume(_arg1:SoundChannel, _arg2:Number){ var _local3:SoundTransform; _local3 = _arg1.soundTransform; _local3.volume = _arg2; _arg1.soundTransform = _local3; } public function splatter(){ playSfx(new sfxSplatter(), VOLUME_SFX1); } public function roar1(){ playSfx(new sfxRoar1(), VOLUME_SFX1); } public function roar3(){ playSfx(new sfxRoar3(), VOLUME_SFX1); } public function roar5(){ playSfx(new sfxRoar5(), VOLUME_SFX1); } public function roar2(){ playSfx(new sfxRoar2(), VOLUME_SFX1); } public function roar4(){ playSfx(new sfxRoar4(), VOLUME_SFX1); } public function roar6(){ playSfx(new sfxRoar6(), VOLUME_SFX1); } public function animate(_arg1:Number, _arg2:Number){ var _local3:Number; if (!STOPGUNLOOP){ return; }; if (CHANNEL_GUNLOOP == null){ return; }; _local3 = (_arg1 / _arg2); if (_local3 < 1){ setChannelVolume(CHANNEL_GUNLOOP, (VOLUME_SFX3 * (1 - _local3))); } else { CHANNEL_GUNLOOP.stop(); }; } public function musicOn(){ MUTE_MUSIC = false; if (SCORE_CHANNEL != null){ setChannelVolume(SCORE_CHANNEL, ((VOLUME_SCORE1 * OPT_VOLUME_MUSIC) * 2)); }; } public function explosion(){ playSfx(new sfxExplosion(), VOLUME_SFX1); } public function footStep1(){ playSfx(new sfxFootStep1(), VOLUME_SFX1); } public function musicOff(){ MUTE_MUSIC = true; if (SCORE_CHANNEL != null){ setChannelVolume(SCORE_CHANNEL, 0); }; } public function levelCompleted(){ stopScore(); playSfx(new sfxStinger2(), VOLUME_SCORE1); } public function footStep2(){ playSfx(new sfxFootStep2(), VOLUME_SFX1); } public function loading(){ stopScore(); playSfx(new sfxLoadingStinger(), VOLUME_SCORE1); } public function sfxOn(){ MUTE_SFX = false; } public function repulse(){ playSfx(new sfxShield(), VOLUME_SFX1); } public function toggle(){ playSfx(new sfxToggle(), VOLUME_SFX1); } public function pistol(){ playSfx(new sfxPistol(), VOLUME_SFX1); } public function stopGunLoop(){ STOPGUNLOOP = true; glo.bal.GAME.animation(this, 3); } public function stopScore(){ if (SCORE_CHANNEL != null){ SCORE_CHANNEL.stop(); SCORE_CHANNEL.removeEventListener("soundComplete", nextTrack); }; SCORE_CHANNEL = null; } public function die1(){ playSfx(new sfxDie1(), VOLUME_SFX3); } public function die2(){ playSfx(new sfxDie2(), VOLUME_SFX3); } public function die3(){ playSfx(new sfxDie3(), VOLUME_SFX3); } public function die4(){ playSfx(new sfxDie4(), VOLUME_SFX3); } public function door(){ playSfx(new sfxDoor(), VOLUME_SFX1); } public function die6(){ playSfx(new sfxDie6(), VOLUME_SFX3); } public function die5(){ playSfx(new sfxDie5(), VOLUME_SFX3); } public function setSfxVolume(_arg1:Number){ OPT_VOLUME_SFX = _arg1; } public function gameScore(){ var _local1:Number; stopScore(); _local1 = 1; switch (SCOREi){ case 1: SCORE_CHANNEL = SCORE1.play(0); _local1 = 1; break; case 2: SCORE_CHANNEL = SCORE2.play(0); _local1 = 1.5; break; case 3: SCORE_CHANNEL = SCORE3.play(0); _local1 = 1.2; break; }; if (MUTE_MUSIC){ setChannelVolume(SCORE_CHANNEL, 0); } else { setChannelVolume(SCORE_CHANNEL, (((VOLUME_SCORE1 * OPT_VOLUME_MUSIC) * 2) * _local1)); }; SCORE_CHANNEL.addEventListener("soundComplete", nextTrack); } public function reload1(){ playSfx(new sfxReload1(), VOLUME_SFX1); } public function setMusicVolume(_arg1:Number){ OPT_VOLUME_MUSIC = _arg1; if (SCORE_CHANNEL != null){ setChannelVolume(SCORE_CHANNEL, ((VOLUME_SCORE1 * OPT_VOLUME_MUSIC) * 2)); }; } public function gameOver(){ stopScore(); playSfx(new sfxStinger1(), VOLUME_SCORE1); } public function heal(){ playSfx(new sfxHeal(), VOLUME_SFX1); } public function rpg(){ playSfx(new sfxRPG(), VOLUME_SFX1); } public function skillFailure(){ playSfx(new sfxDryFire(), VOLUME_SFX1); } } }//package
Section 334
//level01 (level01) package { import gdk.fps.*; import sandy.core.data.*; import gdk.fps.wbl.*; public class level01 extends fpsZone { public function level01(){ super(1, 42, 27, new Vector(2850, 0, 1650), -90); } override public function loadWorld(_arg1:fpsGame){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:fpsRoom; if (glo.bal.PC_OPTION == 1){ new levelFloor(); new levelCeiling(); }; Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; _local2 = Builder.createRoom(_arg1, 1); Builder.floorNceiling(27, 15, 1, 3, 3); Builder.wall(27, 15, 0, wblWall.S_N, 3); Builder.wall(27, 18, 0, wblWall.W_E, 3); Builder.wall(30, 18, 0, wblWall.N_S, 3); Builder.wall(30, 15, 0, wblWall.E_W, 1); Builder.wall(28, 15, 0, wblWall.E_W, 1); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR1; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL1; _local3 = Builder.createRoom(_arg1, 2); Builder.floorNceiling(24, 12, 1, 9, 3); Builder.wall(24, 12, 0, wblWall.S_N, 3); Builder.wall(24, 15, 0, wblWall.W_E, 4); Builder.wall(29, 15, 0, wblWall.W_E, 4); Builder.wall(33, 15, 0, wblWall.N_S, 1); Builder.wall(33, 13, 0, wblWall.N_S, 1); Builder.wall(33, 12, 0, wblWall.E_W, 7); Builder.wall(25, 12, 0, wblWall.E_W, 1); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; Builder.door(_local2, _local3, {}, 29, 15, 0, wblWall.E_W); _local4 = Builder.createRoom(_arg1, 3); Builder.floorNceiling(21, 9, 1, 6, 3); Builder.floorNceiling(21, 12, 1, 3, 3); Builder.floorNceiling(21, 15, 1, 6, 3); Builder.wall(21, 9, 0, wblWall.S_N, 9); Builder.wall(21, 18, 0, wblWall.W_E, 6); Builder.wall(27, 18, 0, wblWall.N_S, 3); Builder.wall(27, 15, 0, wblWall.E_W, 3); Builder.wall(24, 15, 0, wblWall.N_S, 3); Builder.wall(24, 12, 0, wblWall.W_E, 1); Builder.wall(26, 12, 0, wblWall.W_E, 1); Builder.wall(27, 12, 0, wblWall.N_S, 3); Builder.wall(27, 9, 0, wblWall.E_W, 6); Builder.door(_local3, _local4, {}, 26, 12, 0, wblWall.E_W); _local5 = Builder.createRoom(_arg1, 4); Builder.floorNceiling(27, 9, 1, 6, 3); Builder.floorNceiling(33, 9, 1, 3, 2); Builder.floorNceiling(36, 9, 1, 3, 9); Builder.floorNceiling(33, 12, 1, 3, 3); Builder.floorNceiling(30, 15, 1, 3, 3); Builder.floorNceiling(33, 16, 1, 3, 2); Builder.wall(27, 9, 0, wblWall.S_N, 3); Builder.wall(27, 12, 0, wblWall.W_E, 6); Builder.wall(33, 12, 0, wblWall.N_S, 1); Builder.wall(33, 11, 0, wblWall.W_E, 3); Builder.wall(36, 11, 0, wblWall.S_N, 1); Builder.wall(36, 12, 0, wblWall.E_W, 3); Builder.wall(33, 12, 0, wblWall.S_N, 1); Builder.wall(33, 14, 0, wblWall.S_N, 1); Builder.wall(33, 15, 0, wblWall.W_E, 3); Builder.wall(36, 15, 0, wblWall.S_N, 1); Builder.wall(36, 16, 0, wblWall.E_W, 3); Builder.wall(33, 16, 0, wblWall.N_S, 1); Builder.wall(33, 15, 0, wblWall.E_W, 3); Builder.wall(30, 15, 0, wblWall.S_N, 3); Builder.wall(30, 18, 0, wblWall.W_E, 1); Builder.wall(32, 18, 0, wblWall.W_E, 7); Builder.wall(39, 18, 0, wblWall.N_S, 9); Builder.wall(39, 9, 0, wblWall.E_W, 10); Builder.wall(28, 9, 0, wblWall.E_W, 1); Builder.door(_local3, _local5, {}, 33, 14, 0, wblWall.N_S); _local6 = Builder.createRoom(_arg1, 5); Builder.floorNceiling(30, 18, 1, 3, 3); Builder.floorNceiling(30, 21, 1, 9, 3); Builder.floorNceiling(36, 18, 1, 3, 3); Builder.wall(30, 18, 0, wblWall.S_N, 6); Builder.wall(30, 24, 0, wblWall.W_E, 9); Builder.wall(39, 24, 0, wblWall.N_S, 6); Builder.wall(39, 18, 0, wblWall.E_W, 3); Builder.wall(36, 18, 0, wblWall.S_N, 3); Builder.wall(36, 21, 0, wblWall.E_W, 3); Builder.wall(33, 21, 0, wblWall.N_S, 3); Builder.wall(33, 18, 0, wblWall.E_W, 1); Builder.wall(31, 18, 0, wblWall.E_W, 1); Builder.door(_local5, _local6, {}, 31, 18, 0, wblWall.W_E); _local7 = Builder.createRoom(_arg1, 6); Builder.floorNceiling(21, 3, 1, 12, 3); Builder.floorNceiling(27, 6, 1, 3, 3); Builder.wall(21, 3, 0, wblWall.S_N, 1); Builder.wall(21, 5, 0, wblWall.S_N, 1); Builder.wall(21, 6, 0, wblWall.W_E, 6); Builder.wall(27, 6, 0, wblWall.S_N, 3); Builder.wall(27, 9, 0, wblWall.W_E, 1); Builder.wall(29, 9, 0, wblWall.W_E, 1); Builder.wall(30, 9, 0, wblWall.N_S, 3); Builder.wall(30, 6, 0, wblWall.W_E, 3); Builder.wall(33, 6, 0, wblWall.N_S, 1); Builder.wall(33, 4, 0, wblWall.N_S, 1); Builder.wall(33, 3, 0, wblWall.E_W, 12); Builder.door(_local5, _local7, {}, 29, 9, 0, wblWall.E_W); _local8 = Builder.createRoom(_arg1, 7); Builder.floorNceiling(33, 3, 1, 6, 3); Builder.floorNceiling(30, 6, 1, 2, 1); Builder.floorNceiling(35, 6, 1, 4, 1); Builder.floorNceiling(30, 7, 1, 9, 2); Builder.wall(33, 3, 0, wblWall.S_N, 1); Builder.wall(33, 5, 0, wblWall.S_N, 1); Builder.wall(33, 6, 0, wblWall.W_E, 2); Builder.wall(35, 6, 0, wblWall.S_N, 1); Builder.wall(35, 7, 0, wblWall.E_W, 3); Builder.wall(32, 7, 0, wblWall.N_S, 1); Builder.wall(32, 6, 0, wblWall.E_W, 2); Builder.wall(30, 6, 0, wblWall.S_N, 3); Builder.wall(30, 9, 0, wblWall.W_E, 9); Builder.wall(39, 9, 0, wblWall.N_S, 6); Builder.wall(39, 3, 0, wblWall.E_W, 6); Builder.door(_local7, _local8, {locked:true, key:"green"}, 33, 5, 0, wblWall.N_S, _arg1.TEXLIB.DOOR5_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local9 = Builder.createRoom(_arg1, 8); Builder.floorNceiling(15, 3, 1, 6, 2); Builder.floorNceiling(15, 5, 1, 2, 1); Builder.floorNceiling(18, 5, 1, 3, 1); Builder.floorNceiling(9, 6, 1, 8, 3); Builder.floorNceiling(18, 6, 1, 9, 3); Builder.floorNceiling(15, 9, 1, 6, 6); Builder.floorNceiling(12, 12, 1, 3, 3); Builder.wall(15, 3, 0, wblWall.S_N, 3); Builder.wall(15, 6, 0, wblWall.E_W, 4); Builder.wall(10, 6, 0, wblWall.E_W, 1); Builder.wall(9, 6, 0, wblWall.S_N, 3); Builder.wall(9, 9, 0, wblWall.W_E, 6); Builder.wall(15, 9, 0, wblWall.S_N, 3); Builder.wall(15, 12, 0, wblWall.E_W, 3); Builder.wall(12, 12, 0, wblWall.S_N, 3); Builder.wall(12, 15, 0, wblWall.W_E, 1); Builder.wall(14, 15, 0, wblWall.W_E, 7); Builder.wall(21, 15, 0, wblWall.N_S, 6); Builder.wall(21, 9, 0, wblWall.W_E, 6); Builder.wall(27, 9, 0, wblWall.N_S, 3); Builder.wall(27, 6, 0, wblWall.E_W, 6); Builder.wall(21, 6, 0, wblWall.N_S, 1); Builder.wall(21, 4, 0, wblWall.N_S, 1); Builder.wall(21, 3, 0, wblWall.E_W, 6); Builder.wall(18, 5, 0, wblWall.S_N, 4, 1, _arg1.TEXLIB.WALL2); Builder.wall(18, 9, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(17, 9, 0, wblWall.N_S, 4, 1, _arg1.TEXLIB.WALL2); Builder.wall(17, 5, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local7, _local9, {}, 21, 4, 0, wblWall.S_N); _local10 = Builder.createRoom(_arg1, 9); Builder.floorNceiling(6, 15, 1, 15, 2); Builder.floorNceiling(6, 17, 1, 5, 1); Builder.floorNceiling(12, 17, 1, 3, 1); Builder.floorNceiling(16, 17, 1, 5, 1); Builder.floorNceiling(6, 18, 1, 15, 3); Builder.wall(6, 15, 0, wblWall.S_N, 6); Builder.wall(6, 21, 0, wblWall.W_E, 15); Builder.wall(21, 21, 0, wblWall.N_S, 6); Builder.wall(21, 15, 0, wblWall.E_W, 6); Builder.wall(15, 15, 0, wblWall.S_N, 2); Builder.wall(15, 17, 0, wblWall.W_E, 1); Builder.wall(16, 17, 0, wblWall.S_N, 1); Builder.wall(16, 18, 0, wblWall.E_W, 1); Builder.wall(15, 18, 0, wblWall.N_S, 3); Builder.wall(15, 15, 0, wblWall.E_W, 1); Builder.wall(13, 15, 0, wblWall.E_W, 1); Builder.wall(12, 15, 0, wblWall.S_N, 3); Builder.wall(12, 18, 0, wblWall.E_W, 1); Builder.wall(11, 18, 0, wblWall.N_S, 1); Builder.wall(11, 17, 0, wblWall.W_E, 1); Builder.wall(12, 17, 0, wblWall.N_S, 2); Builder.wall(12, 15, 0, wblWall.E_W, 4); Builder.wall(7, 15, 0, wblWall.E_W, 1); Builder.door(_local9, _local10, {}, 13, 15, 0, wblWall.W_E); _local11 = Builder.createRoom(_arg1, 10); Builder.floorNceiling(3, 12, 1, 6, 3); Builder.floorNceiling(3, 15, 1, 3, 6); Builder.wall(3, 12, 0, wblWall.S_N, 9); Builder.wall(3, 21, 0, wblWall.W_E, 3); Builder.wall(6, 21, 0, wblWall.N_S, 6); Builder.wall(6, 15, 0, wblWall.W_E, 1); Builder.wall(8, 15, 0, wblWall.W_E, 1); Builder.wall(9, 15, 0, wblWall.N_S, 3); Builder.wall(9, 12, 0, wblWall.E_W, 6); Builder.door(_local10, _local11, {}, 8, 15, 0, wblWall.E_W); _local12 = Builder.createRoom(_arg1, 11); Builder.floorNceiling(6, 3, 1, 9, 3); Builder.floorNceiling(6, 6, 1, 3, 3); Builder.floorNceiling(3, 9, 1, 12, 3); Builder.floorNceiling(9, 12, 1, 3, 3); Builder.wall(6, 3, 0, wblWall.S_N, 6); Builder.wall(6, 9, 0, wblWall.E_W, 1); Builder.wall(4, 9, 0, wblWall.E_W, 1); Builder.wall(3, 9, 0, wblWall.S_N, 3); Builder.wall(3, 12, 0, wblWall.W_E, 6); Builder.wall(9, 12, 0, wblWall.S_N, 3); Builder.wall(9, 15, 0, wblWall.W_E, 3); Builder.wall(12, 15, 0, wblWall.N_S, 3); Builder.wall(12, 12, 0, wblWall.W_E, 3); Builder.wall(15, 12, 0, wblWall.N_S, 3); Builder.wall(15, 9, 0, wblWall.E_W, 6); Builder.wall(9, 9, 0, wblWall.N_S, 3); Builder.wall(9, 6, 0, wblWall.W_E, 1); Builder.wall(11, 6, 0, wblWall.W_E, 4); Builder.wall(15, 6, 0, wblWall.N_S, 3); Builder.wall(15, 3, 0, wblWall.E_W, 9); Builder.door(_local9, _local12, {locked:true, key:"red"}, 11, 6, 0, wblWall.E_W, _arg1.TEXLIB.DOOR4_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR3_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR3_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR3_R; _local13 = new sasRoom(_arg1, 12); Builder.ROOM = _local13; Builder.floorNceiling(3, 6, 1, 3, 3); Builder.wall(3, 6, 0, wblWall.S_N, 3); Builder.wall(3, 9, 0, wblWall.W_E, 1); Builder.wall(5, 9, 0, wblWall.W_E, 1); Builder.wall(6, 9, 0, wblWall.N_S, 3); Builder.wall(6, 6, 0, wblWall.E_W, 1); Builder.wall(4, 6, 0, wblWall.E_W, 1); Builder.door(_local12, _local13, {locked:true, key:"blue"}, 5, 9, 0, wblWall.E_W); _local14 = new fpsRoom(_arg1, 13); Builder.door(_local13, _local14, {dummy:true}, 5, 6, 0, wblWall.E_W); new objPortal(_local7, new Vector(2850, 0, 350)); new objPortal(_local10, new Vector(1350, 0, 2050)); new itemBoxHealth("bh01", _local7, 21, 5); new itemBoxRPG("brpg01", _local5, 32, 15); new itemBoxRPG("brpg02", _local9, 17, 9); new itemBoxGun("bg01", _local3, 24, 14); new itemBoxGun("bg02", _local5, 32, 11); new itemBoxGun("bg03", _local6, 32, 18); new itemBoxGun("bg04", _local7, 30, 3); new itemBoxGun("bg05", _local8, 35, 6); new itemBoxGun("bg06", _local9, 17, 4); new itemBoxGun("bg07", _local11, 8, 14); } override public function loadUnits(_arg1:fpsGame){ var _local2:Object; var _local3:levelArea; _local3 = new levelArea(_arg1); new aiAlienEgg("egg01", _arg1, 30, 8); new aiAlienEgg("egg02", _arg1, 26, 17); new aiAlienEgg("egg03", _arg1, 38, 18); new aiAlienEgg("egg04", _arg1, 16, 15); new aiAlienEgg("egg05", _arg1, 4, 20); _local3.room(3); _local3.reset(); _local3.area(21, 12, 24, 18); _local3.unit01(); _local3.unit02(); _local3.reset(); _local3.area(24, 15, 27, 18); _local3.unit01(); _local3.unit01(); _local3.room(4); _local3.reset(); _local3.area(36, 9, 39, 18); _local3.unit01(); _local3.unit02(); _local3.reset(); _local3.area(30, 15, 33, 18); _local3.area(33, 16, 36, 18); _local3.unit01(); _local3.unit01(); _local3.reset(); _local3.area(27, 9, 33, 12); _local3.area(33, 9, 36, 11); _local3.unit01(); _local3.unit01(); _local3.room(5); _local3.reset(); _local3.area(30, 21, 36, 24); _local3.unit01(); _local3.unit01(); _local3.reset(); _local3.area(36, 18, 39, 24); _local3.unit01(); _local3.unit02(); _local3.room(6); _local3.reset(); _local3.area(26, 3, 31, 6); _local3.unit01(); _local3.unit01(); _local3.reset(); _local3.area(21, 3, 26, 6); _local3.area(31, 3, 33, 6); _local3.unit01(); _local3.unit01(); _local3.unit02(); _local3.room(7); _local3.reset(); _local3.area(35, 3, 39, 9); _local3.unit01(); _local3.unit01(); _local3.reset(); _local3.area(30, 6, 32, 9); _local3.area(32, 7, 34, 9); _local3.unit01(); _local3.unit01(); _local3.unit02(); _local3.room(8); _local3.reset(); _local3.area(9, 6, 15, 9); _local3.area(22, 6, 27, 9); _local3.unit01(); _local3.unit01(); _local3.unit01(); _local3.unit01(); _local3.reset(); _local3.area(15, 3, 17, 15); _local3.area(17, 12, 21, 15); _local3.unit01(); _local3.unit02(); _local2 = _local3.unit01(); _local2.itemToRelease(new itemKey("green")); _local3.reset(); _local3.area(12, 12, 15, 15); _local3.unit01(); _local3.unit01(); _local3.room(9); _local3.reset(); _local3.area(6, 18, 10, 21); _local3.area(17, 18, 21, 21); _local3.unit01(); _local3.unit01(); _local3.unit01(); _local3.unit02(); _local3.reset(); _local3.area(6, 15, 12, 17); _local3.unit01(); _local3.unit01(); _local3.reset(); _local3.area(15, 15, 21, 17); _local3.unit01(); _local3.unit02(); _local3.room(10); _local3.reset(); _local3.area(3, 15, 6, 21); _local3.unit01(); _local3.unit02(); _local2 = _local3.unit01(); _local2.itemToRelease(new itemKey("red")); _local3.room(11); _local3.reset(); _local3.area(9, 9, 12, 15); _local3.unit01(); _local3.unit02(); _local3.reset(); _local3.area(3, 9, 5, 10); _local3.unit01(); _local3.reset(); _local3.area(3, 11, 6, 12); _local3.unit01(); _local3.reset(); _local3.area(12, 9, 15, 10); _local3.unit01(); _local3.unit01(); } } }//package
Section 335
//level02 (level02) package { import gdk.fps.*; import sandy.core.data.*; import gdk.fps.wbl.*; public class level02 extends fpsZone { public function level02(){ super(2, 36, 26, new Vector(550, 0, 200), 90); } override public function loadWorld(_arg1:fpsGame){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:fpsRoom; var _local12:*; var _local13:*; var _local14:*; var _local15:*; if (glo.bal.PC_OPTION == 1){ new levelFloor(); new levelCeiling(); }; Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; _local2 = Builder.createRoom(_arg1, 1); Builder.floorNceiling(4, 1, 1, 3, 3); Builder.wall(4, 1, 0, wblWall.S_N, 3); Builder.wall(4, 4, 0, wblWall.W_E, 1); Builder.wall(6, 4, 0, wblWall.W_E, 1); Builder.wall(7, 4, 0, wblWall.N_S, 3); Builder.wall(7, 1, 0, wblWall.E_W, 3); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR1; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL1; _local3 = Builder.createRoom(_arg1, 2); Builder.floorNceiling(4, 4, 1, 3, 3); Builder.wall(4, 4, 0, wblWall.S_N, 3); Builder.wall(4, 7, 0, wblWall.W_E, 3); Builder.wall(7, 7, 0, wblWall.N_S, 1); Builder.wall(7, 5, 0, wblWall.N_S, 1); Builder.wall(7, 4, 0, wblWall.E_W, 1); Builder.wall(5, 4, 0, wblWall.E_W, 1); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; Builder.door(_local2, _local3, {}, 5, 4, 0, wblWall.W_E); _local4 = Builder.createRoom(_arg1, 3); Builder.floorNceiling(7, 4, 1, 10, 3); Builder.floorNceiling(18, 4, 1, 5, 3); Builder.floorNceiling(15, 7, 1, 5, 5); Builder.floorNceiling(15, 1, 1, 5, 3); Builder.wall(7, 4, 0, wblWall.S_N, 1); Builder.wall(7, 6, 0, wblWall.S_N, 1); Builder.wall(7, 7, 0, wblWall.W_E, 8); Builder.wall(15, 7, 0, wblWall.S_N, 1); Builder.wall(15, 9, 0, wblWall.S_N, 3); Builder.wall(15, 12, 0, wblWall.W_E, 5); Builder.wall(20, 12, 0, wblWall.N_S, 5); Builder.wall(20, 7, 0, wblWall.W_E, 3); Builder.wall(23, 7, 0, wblWall.N_S, 1); Builder.wall(23, 5, 0, wblWall.N_S, 1); Builder.wall(23, 4, 0, wblWall.E_W, 3); Builder.wall(20, 4, 0, wblWall.N_S, 1); Builder.wall(20, 2, 0, wblWall.N_S, 1); Builder.wall(20, 1, 0, wblWall.E_W, 5); Builder.wall(15, 1, 0, wblWall.S_N, 1); Builder.wall(15, 3, 0, wblWall.S_N, 1); Builder.wall(15, 4, 0, wblWall.E_W, 8); Builder.wall(18, 4, 0, wblWall.S_N, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(18, 7, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(17, 7, 0, wblWall.N_S, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(17, 4, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; Builder.door(_local3, _local4, {}, 7, 6, 0, wblWall.N_S); _local5 = Builder.createRoom(_arg1, 4); Builder.floorNceiling(9, 1, 1, 6, 3); Builder.wall(9, 1, 0, wblWall.S_N, 3); Builder.wall(9, 4, 0, wblWall.W_E, 6); Builder.wall(15, 4, 0, wblWall.N_S, 1); Builder.wall(15, 2, 0, wblWall.N_S, 1); Builder.wall(15, 1, 0, wblWall.E_W, 6); Builder.door(_local4, _local5, {}, 15, 2, 0, wblWall.S_N); _local6 = Builder.createRoom(_arg1, 5); Builder.floorNceiling(20, 1, 1, 7, 3); Builder.wall(20, 1, 0, wblWall.S_N, 1); Builder.wall(20, 3, 0, wblWall.S_N, 1); Builder.wall(20, 4, 0, wblWall.W_E, 7); Builder.wall(27, 4, 0, wblWall.N_S, 1); Builder.wall(27, 2, 0, wblWall.N_S, 1); Builder.wall(27, 1, 0, wblWall.E_W, 7); Builder.door(_local4, _local6, {}, 20, 3, 0, wblWall.N_S); _local7 = Builder.createRoom(_arg1, 6); Builder.floorNceiling(23, 4, 1, 4, 3); Builder.floorNceiling(20, 7, 1, 7, 2); Builder.floorNceiling(20, 9, 1, 2, 1); Builder.floorNceiling(25, 9, 1, 2, 1); Builder.floorNceiling(20, 10, 1, 7, 2); Builder.floorNceiling(22, 12, 1, 3, 1); Builder.floorNceiling(20, 13, 1, 7, 4); Builder.wall(23, 4, 0, wblWall.S_N, 1); Builder.wall(23, 6, 0, wblWall.S_N, 1); Builder.wall(23, 7, 0, wblWall.E_W, 3); Builder.wall(20, 7, 0, wblWall.S_N, 5); Builder.wall(20, 13, 0, wblWall.S_N, 1); Builder.wall(20, 15, 0, wblWall.S_N, 2); Builder.wall(20, 17, 0, wblWall.W_E, 7); Builder.wall(27, 17, 0, wblWall.N_S, 2); Builder.wall(27, 14, 0, wblWall.N_S, 1); Builder.wall(27, 12, 0, wblWall.N_S, 6); Builder.wall(27, 5, 0, wblWall.N_S, 1); Builder.wall(27, 4, 0, wblWall.E_W, 4); Builder.wall(25, 9, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 10, 0, wblWall.E_W, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(22, 10, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(22, 9, 0, wblWall.W_E, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(22, 12, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(22, 13, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(20, 12, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(27, 13, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 13, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 12, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.door(_local4, _local7, {}, 23, 6, 0, wblWall.N_S); _local8 = Builder.createRoom(_arg1, 7); Builder.floorNceiling(10, 12, 1, 10, 5); Builder.floorNceiling(13, 10, 1, 2, 2); Builder.floorNceiling(10, 7, 1, 5, 3); Builder.wall(10, 7, 0, wblWall.S_N, 1); Builder.wall(10, 9, 0, wblWall.S_N, 1); Builder.wall(10, 10, 0, wblWall.W_E, 3); Builder.wall(13, 10, 0, wblWall.S_N, 2); Builder.wall(13, 12, 0, wblWall.E_W, 3); Builder.wall(10, 12, 0, wblWall.S_N, 5); Builder.wall(10, 17, 0, wblWall.W_E, 2); Builder.wall(13, 17, 0, wblWall.W_E, 7); Builder.wall(20, 17, 0, wblWall.N_S, 2); Builder.wall(20, 14, 0, wblWall.N_S, 2); Builder.wall(20, 12, 0, wblWall.E_W, 5); Builder.wall(15, 12, 0, wblWall.N_S, 3); Builder.wall(15, 8, 0, wblWall.N_S, 1); Builder.wall(15, 7, 0, wblWall.E_W, 5); Builder.door(_local7, _local8, {}, 20, 14, 0, wblWall.S_N); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR5_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR4_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR4_R; Builder.door(_local8, _local4, {locked:true, key:"green"}, 15, 9, 0, wblWall.N_S); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; _local9 = Builder.createRoom(_arg1, 8); Builder.floorNceiling(7, 7, 1, 3, 10); Builder.floorNceiling(10, 10, 1, 3, 2); Builder.floorNceiling(2, 10, 1, 5, 3); Builder.wall(7, 7, 0, wblWall.S_N, 3); Builder.wall(7, 10, 0, wblWall.E_W, 5); Builder.wall(2, 10, 0, wblWall.S_N, 3); Builder.wall(2, 13, 0, wblWall.W_E, 5); Builder.wall(7, 13, 0, wblWall.S_N, 2); Builder.wall(7, 16, 0, wblWall.S_N, 1); Builder.wall(7, 17, 0, wblWall.W_E, 3); Builder.wall(10, 17, 0, wblWall.N_S, 5); Builder.wall(10, 12, 0, wblWall.W_E, 3); Builder.wall(13, 12, 0, wblWall.N_S, 2); Builder.wall(13, 10, 0, wblWall.E_W, 3); Builder.wall(10, 10, 0, wblWall.N_S, 1); Builder.wall(10, 8, 0, wblWall.N_S, 1); Builder.wall(10, 7, 0, wblWall.E_W, 3); Builder.door(_local8, _local9, {}, 10, 8, 0, wblWall.S_N); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR3_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR3_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR3_R; _local10 = new sasRoom(_arg1, 9); Builder.ROOM = _local10; Builder.floorNceiling(4, 14, 1, 3, 3); Builder.wall(4, 14, 0, wblWall.S_N, 1, 1); Builder.wall(4, 16, 0, wblWall.S_N, 1, 1); Builder.wall(4, 17, 0, wblWall.W_E, 3, 1); Builder.wall(7, 17, 0, wblWall.N_S, 1, 1); Builder.wall(7, 15, 0, wblWall.N_S, 1, 1); Builder.wall(7, 14, 0, wblWall.E_W, 3, 1); Builder.door(_local9, _local10, {locked:true, key:"blue"}, 7, 15, 0, wblWall.S_N); _local11 = new fpsRoom(_arg1, 14); Builder.door(_local10, _local11, {dummy:true}, 4, 15, 0, wblWall.S_N); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR1; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL1; _local12 = Builder.createRoom(_arg1, 10); Builder.floorNceiling(27, 1, 1, 3, 3); Builder.wall(27, 1, 0, wblWall.S_N, 1); Builder.wall(27, 3, 0, wblWall.S_N, 1); Builder.wall(27, 4, 0, wblWall.W_E, 3); Builder.wall(30, 4, 0, wblWall.N_S, 3); Builder.wall(30, 1, 0, wblWall.E_W, 3); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR4_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR4_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR4_R; Builder.door(_local12, _local6, {locked:true, key:"red"}, 27, 2, 0, wblWall.S_N); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR6_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR4_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR4_R; _local13 = Builder.createRoom(_arg1, 11); Builder.floorNceiling(27, 4, 1, 6, 3); Builder.floorNceiling(30, 1, 1, 3, 3); Builder.wall(27, 4, 0, wblWall.S_N, 1); Builder.wall(27, 6, 0, wblWall.S_N, 1); Builder.wall(27, 7, 0, wblWall.W_E, 6); Builder.wall(33, 7, 0, wblWall.N_S, 6); Builder.wall(33, 1, 0, wblWall.E_W, 3); Builder.wall(30, 1, 0, wblWall.S_N, 3); Builder.wall(30, 4, 0, wblWall.E_W, 3); Builder.door(_local13, _local7, {locked:true, key:"yellow"}, 27, 5, 0, wblWall.S_N); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR1; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL1; Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; _local14 = Builder.createRoom(_arg1, 12); Builder.floorNceiling(27, 7, 1, 6, 3); Builder.floorNceiling(27, 13, 1, 6, 3); Builder.floorNceiling(30, 10, 1, 3, 3); Builder.wall(27, 13, 0, wblWall.S_N, 1); Builder.wall(27, 15, 0, wblWall.S_N, 1); Builder.wall(27, 16, 0, wblWall.W_E, 6); Builder.wall(33, 16, 0, wblWall.N_S, 9); Builder.wall(33, 7, 0, wblWall.E_W, 6); Builder.wall(27, 7, 0, wblWall.S_N, 3); Builder.wall(27, 10, 0, wblWall.W_E, 3); Builder.wall(30, 10, 0, wblWall.S_N, 3); Builder.wall(30, 13, 0, wblWall.E_W, 3); Builder.door(_local14, _local7, {}, 27, 14, 0, wblWall.S_N); _local15 = Builder.createRoom(_arg1, 13); Builder.floorNceiling(11, 17, 1, 3, 6); Builder.floorNceiling(14, 20, 1, 6, 2); Builder.floorNceiling(17, 22, 1, 3, 3); Builder.floorNceiling(5, 20, 1, 6, 2); Builder.floorNceiling(5, 22, 1, 3, 3); Builder.wall(11, 17, 0, wblWall.S_N, 3); Builder.wall(11, 20, 0, wblWall.E_W, 6); Builder.wall(5, 20, 0, wblWall.S_N, 5); Builder.wall(5, 25, 0, wblWall.W_E, 3); Builder.wall(8, 25, 0, wblWall.N_S, 3); Builder.wall(8, 22, 0, wblWall.W_E, 3); Builder.wall(11, 22, 0, wblWall.S_N, 1); Builder.wall(11, 23, 0, wblWall.W_E, 3); Builder.wall(14, 23, 0, wblWall.N_S, 1); Builder.wall(14, 22, 0, wblWall.W_E, 3); Builder.wall(17, 22, 0, wblWall.S_N, 3); Builder.wall(17, 25, 0, wblWall.W_E, 3); Builder.wall(20, 25, 0, wblWall.N_S, 5); Builder.wall(20, 20, 0, wblWall.E_W, 6); Builder.wall(14, 20, 0, wblWall.N_S, 3); Builder.wall(14, 17, 0, wblWall.E_W, 1); Builder.wall(12, 17, 0, wblWall.E_W, 1); Builder.door(_local8, _local15, {}, 12, 17, 0, wblWall.W_E); new objPortal(_local7, new Vector(2050, 0, 750)); new objPortal(_local15, new Vector(1250, 0, 2250)); new itemBoxHealth("bh01", _local5, 9, 1); new itemBoxRPG("brpg01", _local3, 4, 5); new itemBoxRPG("brpg02", _local13, 30, 1); new itemBoxGun("bg01", _local3, 4, 6); new itemBoxGun("bg02", _local6, 26, 1); new itemBoxGun("bg03", _local7, 20, 8); new itemBoxGun("bg04", _local8, 10, 16); new itemBoxGun("bg05", _local12, 27, 1); new itemBoxGun("bg06", _local13, 27, 6); new itemBoxGun("bg07", _local14, 27, 9); new itemBoxGun("bg08", _local15, 5, 20); } override public function loadUnits(_arg1:fpsGame){ var _local2:Object; var _local3:levelArea; _local3 = new levelArea(_arg1); new aiAlienEgg("egg01", _arg1, 19, 11); new aiAlienEgg("egg02", _arg1, 10, 2); new aiAlienEgg("egg03", _arg1, 25, 2); new aiAlienEgg("egg04", _arg1, 32, 2); new aiAlienEgg("egg05", _arg1, 28, 8); new aiAlienEgg("egg06", _arg1, 22, 15); new aiAlienEgg("egg07", _arg1, 12, 14); new aiAlienEgg("egg08", _arg1, 6, 24); new aiAlienEgg("egg09", _arg1, 19, 24); new aiAlienEgg("egg10", _arg1, 29, 2); _local3.room(3); _local3.reset(); _local3.area(12, 4, 16, 7); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local3.reset(); _local3.area(15, 8, 20, 12); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local3.reset(); _local3.area(15, 1, 20, 3); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(18, 4, 23, 7); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local3.room(4); _local3.reset(); _local3.area(10, 1, 13, 4); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local3.room(5); _local3.reset(); _local3.area(22, 1, 25, 4); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local3.room(6); _local3.reset(); _local3.area(22, 10, 25, 12); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(20, 7, 22, 12); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local3.reset(); _local3.area(20, 13, 21, 15); _local3.area(26, 13, 27, 15); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local3.room(7); _local3.reset(); _local3.area(11, 12, 17, 17); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local3.reset(); _local3.area(13, 9, 15, 11); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local2.itemToRelease(new itemKey("green")); _local3.reset(); _local3.area(10, 8, 12, 10); _local2 = _local3.unit03(); _local2.itemToRelease(new itemKey("red")); _local3.room(8); _local3.reset(); _local3.area(2, 10, 5, 13); _local3.area(10, 10, 13, 12); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local3.reset(); _local3.area(7, 12, 10, 16); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local3.room(10); _local3.reset(); _local3.area(28, 1, 30, 4); _local2 = _local3.unit03(); _local3.room(11); _local3.reset(); _local3.area(29, 4, 33, 7); _local3.area(30, 1, 33, 4); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local3.room(12); _local3.reset(); _local3.area(27, 7, 33, 10); _local3.area(30, 10, 33, 16); _local2 = _local3.unit02(); _local2 = _local3.unit01(); _local2.itemToRelease(new itemKey("yellow")); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local2 = _local3.unit02(); _local3.room(13); _local3.reset(); _local3.area(11, 20, 14, 23); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local3.reset(); _local3.area(5, 20, 8, 25); _local3.area(17, 20, 20, 25); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local2 = _local3.unit03(); _local2 = _local3.unit02(); _local2 = _local3.unit02(); } } }//package
Section 336
//level03 (level03) package { import gdk.fps.*; import sandy.core.data.*; import gdk.fps.wbl.*; public class level03 extends fpsZone { public function level03(){ super(3, 41, 33, new Vector(550, 0, 2550), 90); } override public function loadWorld(_arg1:fpsGame){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local15:*; var _local16:*; var _local17:*; var _local18:*; var _local19:fpsRoom; if (glo.bal.PC_OPTION == 1){ new levelFloor(); new levelCeiling(); }; Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; _local2 = Builder.createRoom(_arg1, 1); Builder.floorNceiling(4, 24, 1, 3, 3); Builder.wall(4, 24, 0, wblWall.S_N, 3); Builder.wall(4, 27, 0, wblWall.W_E, 1); Builder.wall(6, 27, 0, wblWall.W_E, 1); Builder.wall(7, 27, 0, wblWall.N_S, 3); Builder.wall(7, 24, 0, wblWall.E_W, 3); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR1; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL1; _local3 = Builder.createRoom(_arg1, 2); Builder.floorNceiling(4, 27, 1, 3, 3); Builder.floorNceiling(1, 21, 1, 3, 9); Builder.wall(1, 21, 0, wblWall.S_N, 9); Builder.wall(1, 30, 0, wblWall.W_E, 6); Builder.wall(7, 30, 0, wblWall.N_S, 3); Builder.wall(7, 27, 0, wblWall.E_W, 1); Builder.wall(5, 27, 0, wblWall.E_W, 1); Builder.wall(4, 27, 0, wblWall.N_S, 4); Builder.wall(4, 22, 0, wblWall.N_S, 1); Builder.wall(4, 21, 0, wblWall.E_W, 1); Builder.wall(2, 21, 0, wblWall.E_W, 1); Builder.door(_local2, _local3, {}, 5, 27, 0, wblWall.W_E); _local4 = Builder.createRoom(_arg1, 3); Builder.floorNceiling(4, 21, 1, 6, 3); Builder.floorNceiling(7, 24, 1, 3, 3); Builder.floorNceiling(7, 27, 1, 6, 3); Builder.wall(4, 21, 0, wblWall.S_N, 1); Builder.wall(4, 23, 0, wblWall.S_N, 1); Builder.wall(4, 24, 0, wblWall.W_E, 3); Builder.wall(7, 24, 0, wblWall.S_N, 6); Builder.wall(7, 30, 0, wblWall.W_E, 6); Builder.wall(13, 30, 0, wblWall.N_S, 3); Builder.wall(13, 27, 0, wblWall.E_W, 3); Builder.wall(10, 27, 0, wblWall.N_S, 6); Builder.wall(10, 21, 0, wblWall.E_W, 6); Builder.door(_local3, _local4, {}, 4, 23, 0, wblWall.N_S); _local5 = Builder.createRoom(_arg1, 4); Builder.floorNceiling(1, 18, 1, 3, 3); Builder.floorNceiling(1, 15, 1, 12, 3); Builder.floorNceiling(10, 18, 1, 3, 9); Builder.wall(1, 15, 0, wblWall.S_N, 6); Builder.wall(1, 21, 0, wblWall.W_E, 1); Builder.wall(3, 21, 0, wblWall.W_E, 1); Builder.wall(4, 21, 0, wblWall.N_S, 3); Builder.wall(4, 18, 0, wblWall.W_E, 6); Builder.wall(10, 18, 0, wblWall.S_N, 1); Builder.wall(10, 20, 0, wblWall.S_N, 7); Builder.wall(10, 27, 0, wblWall.W_E, 3); Builder.wall(13, 27, 0, wblWall.N_S, 1); Builder.wall(13, 25, 0, wblWall.N_S, 10); Builder.wall(13, 15, 0, wblWall.E_W, 4); Builder.wall(8, 15, 0, wblWall.E_W, 7); Builder.door(_local3, _local5, {}, 3, 21, 0, wblWall.E_W); _local6 = Builder.createRoom(_arg1, 5); Builder.floorNceiling(4, 18, 1, 6, 3); Builder.wall(4, 18, 0, wblWall.S_N, 3); Builder.wall(4, 21, 0, wblWall.W_E, 6); Builder.wall(10, 21, 0, wblWall.N_S, 1); Builder.wall(10, 19, 0, wblWall.N_S, 1); Builder.wall(10, 18, 0, wblWall.E_W, 6); Builder.door(_local5, _local6, {locked:true, key:"green"}, 10, 19, 0, wblWall.S_N, _arg1.TEXLIB.DOOR5_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local7 = Builder.createRoom(_arg1, 6); Builder.floorNceiling(13, 24, 1, 6, 3); Builder.floorNceiling(16, 27, 1, 3, 3); Builder.floorNceiling(13, 28, 1, 3, 2); Builder.wall(13, 24, 0, wblWall.S_N, 1); Builder.wall(13, 26, 0, wblWall.S_N, 1); Builder.wall(13, 27, 0, wblWall.W_E, 3); Builder.wall(16, 27, 0, wblWall.S_N, 1); Builder.wall(16, 28, 0, wblWall.E_W, 3); Builder.wall(13, 28, 0, wblWall.S_N, 2); Builder.wall(13, 30, 0, wblWall.W_E, 6); Builder.wall(19, 30, 0, wblWall.N_S, 6); Builder.wall(19, 24, 0, wblWall.E_W, 6); Builder.door(_local5, _local7, {}, 13, 26, 0, wblWall.N_S); _local8 = Builder.createRoom(_arg1, 7); Builder.floorNceiling(1, 13, 1, 6, 2); Builder.floorNceiling(10, 13, 1, 6, 2); Builder.floorNceiling(1, 12, 1, 2, 1); Builder.floorNceiling(4, 12, 1, 2, 1); Builder.floorNceiling(11, 12, 1, 2, 1); Builder.floorNceiling(14, 12, 1, 2, 1); Builder.floorNceiling(1, 11, 1, 2, 1); Builder.floorNceiling(4, 11, 1, 9, 1); Builder.floorNceiling(14, 11, 1, 2, 1); Builder.floorNceiling(1, 9, 1, 15, 2); Builder.floorNceiling(7, 12, 1, 3, 3); Builder.floorNceiling(7, 6, 1, 3, 3); Builder.wall(1, 9, 0, wblWall.S_N, 6); Builder.wall(1, 15, 0, wblWall.W_E, 6); Builder.wall(7, 15, 0, wblWall.N_S, 2); Builder.wall(7, 13, 0, wblWall.E_W, 1); Builder.wall(6, 13, 0, wblWall.N_S, 1); Builder.wall(6, 12, 0, wblWall.W_E, 1); Builder.wall(7, 12, 0, wblWall.S_N, 3); Builder.wall(7, 15, 0, wblWall.W_E, 1); Builder.wall(9, 15, 0, wblWall.W_E, 1); Builder.wall(10, 15, 0, wblWall.N_S, 3); Builder.wall(10, 12, 0, wblWall.W_E, 1); Builder.wall(11, 12, 0, wblWall.S_N, 1); Builder.wall(11, 13, 0, wblWall.E_W, 1); Builder.wall(10, 13, 0, wblWall.S_N, 2); Builder.wall(10, 15, 0, wblWall.W_E, 4); Builder.wall(15, 15, 0, wblWall.W_E, 1); Builder.wall(16, 15, 0, wblWall.N_S, 6); Builder.wall(16, 9, 0, wblWall.E_W, 6); Builder.wall(10, 9, 0, wblWall.N_S, 3); Builder.wall(10, 6, 0, wblWall.E_W, 1); Builder.wall(8, 6, 0, wblWall.E_W, 1); Builder.wall(7, 6, 0, wblWall.S_N, 1); Builder.wall(7, 8, 0, wblWall.S_N, 1); Builder.wall(7, 9, 0, wblWall.E_W, 6); Builder.wall(4, 11, 0, wblWall.S_N, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(4, 13, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(3, 13, 0, wblWall.N_S, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(3, 11, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(14, 11, 0, wblWall.S_N, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(14, 13, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(13, 13, 0, wblWall.N_S, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(13, 11, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local5, _local8, {}, 9, 15, 0, wblWall.E_W); _local9 = Builder.createRoom(_arg1, 8); Builder.floorNceiling(1, 6, 1, 6, 3); Builder.floorNceiling(1, 5, 1, 2, 1); Builder.floorNceiling(4, 5, 1, 3, 1); Builder.floorNceiling(1, 3, 1, 6, 2); Builder.wall(1, 3, 0, wblWall.S_N, 6); Builder.wall(1, 9, 0, wblWall.W_E, 6); Builder.wall(7, 9, 0, wblWall.N_S, 1); Builder.wall(7, 7, 0, wblWall.N_S, 1); Builder.wall(7, 6, 0, wblWall.E_W, 4); Builder.wall(3, 6, 0, wblWall.N_S, 1); Builder.wall(3, 5, 0, wblWall.W_E, 1); Builder.wall(4, 5, 0, wblWall.S_N, 1); Builder.wall(4, 6, 0, wblWall.W_E, 3); Builder.wall(7, 6, 0, wblWall.N_S, 3); Builder.wall(7, 3, 0, wblWall.E_W, 6); Builder.door(_local8, _local9, {locked:true, key:"red"}, 7, 7, 0, wblWall.S_N, _arg1.TEXLIB.DOOR4_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local10 = Builder.createRoom(_arg1, 9); Builder.floorNceiling(7, 3, 1, 6, 3); Builder.floorNceiling(10, 6, 1, 6, 3); Builder.floorNceiling(14, 5, 1, 2, 1); Builder.floorNceiling(13, 3, 1, 3, 2); Builder.wall(7, 3, 0, wblWall.S_N, 3); Builder.wall(7, 6, 0, wblWall.W_E, 1); Builder.wall(9, 6, 0, wblWall.W_E, 1); Builder.wall(10, 6, 0, wblWall.S_N, 3); Builder.wall(10, 9, 0, wblWall.W_E, 6); Builder.wall(16, 9, 0, wblWall.N_S, 4); Builder.wall(16, 4, 0, wblWall.N_S, 1); Builder.wall(16, 3, 0, wblWall.E_W, 3); Builder.wall(13, 3, 0, wblWall.S_N, 2); Builder.wall(13, 5, 0, wblWall.W_E, 1); Builder.wall(14, 5, 0, wblWall.S_N, 1); Builder.wall(14, 6, 0, wblWall.E_W, 1); Builder.wall(13, 6, 0, wblWall.N_S, 3); Builder.wall(13, 3, 0, wblWall.E_W, 6); Builder.door(_local8, _local10, {}, 9, 6, 0, wblWall.E_W); _local11 = Builder.createRoom(_arg1, 10); Builder.floorNceiling(16, 3, 1, 6, 3); Builder.floorNceiling(16, 6, 1, 1, 1); Builder.floorNceiling(18, 6, 1, 4, 1); Builder.floorNceiling(16, 7, 1, 6, 2); Builder.floorNceiling(16, 9, 1, 3, 1); Builder.floorNceiling(16, 10, 1, 5, 2); Builder.floorNceiling(18, 12, 1, 4, 1); Builder.floorNceiling(16, 13, 1, 6, 2); Builder.wall(16, 3, 0, wblWall.S_N, 1); Builder.wall(16, 5, 0, wblWall.S_N, 1); Builder.wall(16, 6, 0, wblWall.W_E, 2); Builder.wall(18, 6, 0, wblWall.S_N, 1); Builder.wall(18, 7, 0, wblWall.E_W, 2); Builder.wall(16, 7, 0, wblWall.S_N, 5); Builder.wall(16, 13, 0, wblWall.S_N, 2); Builder.wall(16, 15, 0, wblWall.W_E, 4); Builder.wall(21, 15, 0, wblWall.W_E, 1); Builder.wall(22, 15, 0, wblWall.N_S, 3); Builder.wall(22, 12, 0, wblWall.E_W, 1); Builder.wall(21, 12, 0, wblWall.N_S, 2); Builder.wall(21, 9, 0, wblWall.W_E, 1); Builder.wall(22, 9, 0, wblWall.N_S, 4); Builder.wall(22, 4, 0, wblWall.N_S, 1); Builder.wall(22, 3, 0, wblWall.E_W, 6); Builder.wall(21, 10, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(19, 10, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(19, 9, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(18, 12, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(18, 13, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(16, 12, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.door(_local10, _local11, {}, 16, 5, 0, wblWall.N_S); _local12 = Builder.createRoom(_arg1, 11); Builder.floorNceiling(22, 3, 1, 6, 3); Builder.wall(22, 3, 0, wblWall.S_N, 1); Builder.wall(22, 5, 0, wblWall.S_N, 1); Builder.wall(22, 6, 0, wblWall.W_E, 6); Builder.wall(28, 6, 0, wblWall.N_S, 3); Builder.wall(28, 3, 0, wblWall.E_W, 6); Builder.door(_local11, _local12, {}, 22, 5, 0, wblWall.N_S); _local13 = Builder.createRoom(_arg1, 12); Builder.floorNceiling(22, 6, 1, 6, 3); Builder.floorNceiling(21, 9, 1, 9, 1); Builder.floorNceiling(21, 10, 1, 3, 1); Builder.floorNceiling(26, 10, 1, 4, 1); Builder.floorNceiling(21, 11, 1, 9, 1); Builder.floorNceiling(22, 12, 1, 6, 3); Builder.floorNceiling(19, 15, 1, 5, 3); Builder.floorNceiling(25, 15, 1, 3, 3); Builder.wall(22, 6, 0, wblWall.S_N, 3); Builder.wall(22, 9, 0, wblWall.E_W, 1); Builder.wall(21, 9, 0, wblWall.S_N, 3); Builder.wall(21, 12, 0, wblWall.W_E, 1); Builder.wall(22, 12, 0, wblWall.S_N, 3); Builder.wall(22, 15, 0, wblWall.E_W, 1); Builder.wall(20, 15, 0, wblWall.E_W, 1); Builder.wall(19, 15, 0, wblWall.S_N, 3); Builder.wall(19, 18, 0, wblWall.W_E, 5); Builder.wall(25, 18, 0, wblWall.W_E, 3); Builder.wall(28, 18, 0, wblWall.N_S, 6); Builder.wall(28, 12, 0, wblWall.W_E, 2); Builder.wall(30, 12, 0, wblWall.N_S, 3); Builder.wall(30, 9, 0, wblWall.E_W, 2); Builder.wall(28, 9, 0, wblWall.N_S, 1); Builder.wall(28, 7, 0, wblWall.N_S, 1); Builder.wall(28, 6, 0, wblWall.E_W, 6); Builder.wall(26, 10, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(26, 11, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(24, 11, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(24, 10, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 15, 0, wblWall.S_N, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(24, 18, 0, wblWall.N_S, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(24, 15, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local11, _local13, {}, 20, 15, 0, wblWall.W_E); _local14 = Builder.createRoom(_arg1, 13); Builder.floorNceiling(13, 15, 1, 6, 3); Builder.floorNceiling(13, 18, 1, 2, 1); Builder.floorNceiling(16, 18, 1, 3, 1); Builder.floorNceiling(13, 19, 1, 6, 2); Builder.floorNceiling(13, 21, 1, 2, 1); Builder.floorNceiling(16, 21, 1, 3, 1); Builder.floorNceiling(13, 22, 1, 6, 2); Builder.wall(13, 15, 0, wblWall.S_N, 3); Builder.wall(13, 18, 0, wblWall.W_E, 3); Builder.wall(16, 18, 0, wblWall.S_N, 1); Builder.wall(16, 19, 0, wblWall.E_W, 1); Builder.wall(15, 19, 0, wblWall.N_S, 1); Builder.wall(15, 18, 0, wblWall.E_W, 2); Builder.wall(13, 18, 0, wblWall.S_N, 6); Builder.wall(13, 24, 0, wblWall.W_E, 6); Builder.wall(19, 24, 0, wblWall.N_S, 3); Builder.wall(19, 21, 0, wblWall.E_W, 3); Builder.wall(16, 21, 0, wblWall.S_N, 1); Builder.wall(16, 22, 0, wblWall.E_W, 1); Builder.wall(15, 22, 0, wblWall.N_S, 1); Builder.wall(15, 21, 0, wblWall.W_E, 4); Builder.wall(19, 21, 0, wblWall.N_S, 6); Builder.wall(19, 15, 0, wblWall.E_W, 4); Builder.wall(14, 15, 0, wblWall.E_W, 1); Builder.door(_local8, _local14, {}, 14, 15, 0, wblWall.W_E); _local15 = Builder.createRoom(_arg1, 14); Builder.floorNceiling(28, 3, 1, 6, 1); Builder.floorNceiling(35, 3, 1, 2, 1); Builder.floorNceiling(28, 4, 1, 9, 1); Builder.floorNceiling(28, 5, 1, 2, 1); Builder.floorNceiling(31, 5, 1, 6, 1); Builder.floorNceiling(28, 6, 1, 6, 3); Builder.floorNceiling(30, 9, 1, 4, 3); Builder.floorNceiling(28, 12, 1, 9, 3); Builder.floorNceiling(28, 15, 1, 6, 3); Builder.wall(28, 6, 0, wblWall.S_N, 1); Builder.wall(28, 8, 0, wblWall.S_N, 1); Builder.wall(28, 9, 0, wblWall.W_E, 2); Builder.wall(30, 9, 0, wblWall.S_N, 3); Builder.wall(30, 12, 0, wblWall.E_W, 2); Builder.wall(28, 12, 0, wblWall.S_N, 6); Builder.wall(28, 18, 0, wblWall.W_E, 6); Builder.wall(34, 18, 0, wblWall.N_S, 1); Builder.wall(34, 16, 0, wblWall.N_S, 1); Builder.wall(34, 15, 0, wblWall.W_E, 3); Builder.wall(37, 15, 0, wblWall.N_S, 3); Builder.wall(37, 12, 0, wblWall.E_W, 3); Builder.wall(34, 12, 0, wblWall.N_S, 6); Builder.wall(34, 6, 0, wblWall.W_E, 1); Builder.wall(36, 6, 0, wblWall.W_E, 1); Builder.wall(37, 6, 0, wblWall.N_S, 3); Builder.wall(37, 3, 0, wblWall.E_W, 2); Builder.wall(35, 3, 0, wblWall.S_N, 1); Builder.wall(35, 4, 0, wblWall.E_W, 1); Builder.wall(34, 4, 0, wblWall.N_S, 1); Builder.wall(34, 3, 0, wblWall.E_W, 6); Builder.wall(28, 3, 0, wblWall.S_N, 3); Builder.wall(28, 6, 0, wblWall.W_E, 2); Builder.wall(30, 6, 0, wblWall.N_S, 1); Builder.wall(30, 5, 0, wblWall.W_E, 1); Builder.wall(31, 5, 0, wblWall.S_N, 1); Builder.wall(31, 6, 0, wblWall.E_W, 3); Builder.door(_local13, _local15, {}, 28, 8, 0, wblWall.N_S); _local16 = Builder.createRoom(_arg1, 15); Builder.floorNceiling(34, 6, 1, 3, 6); Builder.wall(34, 6, 0, wblWall.S_N, 6); Builder.wall(34, 12, 0, wblWall.W_E, 3); Builder.wall(37, 12, 0, wblWall.N_S, 6); Builder.wall(37, 6, 0, wblWall.E_W, 1); Builder.wall(35, 6, 0, wblWall.E_W, 1); Builder.door(_local15, _local16, {locked:true, key:"yellow"}, 35, 6, 0, wblWall.W_E, _arg1.TEXLIB.DOOR6_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local17 = Builder.createRoom(_arg1, 16); Builder.floorNceiling(34, 15, 1, 3, 6); Builder.floorNceiling(28, 18, 1, 3, 3); Builder.floorNceiling(28, 21, 1, 12, 3); Builder.floorNceiling(31, 24, 1, 3, 3); Builder.wall(34, 15, 0, wblWall.S_N, 1); Builder.wall(34, 17, 0, wblWall.S_N, 4); Builder.wall(34, 21, 0, wblWall.E_W, 3); Builder.wall(31, 21, 0, wblWall.N_S, 3); Builder.wall(31, 18, 0, wblWall.E_W, 3); Builder.wall(28, 18, 0, wblWall.S_N, 6); Builder.wall(28, 24, 0, wblWall.W_E, 1); Builder.wall(30, 24, 0, wblWall.W_E, 1); Builder.wall(31, 24, 0, wblWall.S_N, 3); Builder.wall(31, 27, 0, wblWall.W_E, 3); Builder.wall(34, 27, 0, wblWall.N_S, 3); Builder.wall(34, 24, 0, wblWall.W_E, 6); Builder.wall(40, 24, 0, wblWall.N_S, 3); Builder.wall(40, 21, 0, wblWall.E_W, 3); Builder.wall(37, 21, 0, wblWall.N_S, 6); Builder.wall(37, 15, 0, wblWall.E_W, 3); Builder.door(_local15, _local17, {}, 34, 17, 0, wblWall.N_S); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; _local18 = new sasRoom(_arg1, 17); Builder.ROOM = _local18; Builder.floorNceiling(28, 24, 1, 3, 3); Builder.wall(28, 24, 0, wblWall.S_N, 3); Builder.wall(28, 27, 0, wblWall.W_E, 1); Builder.wall(30, 27, 0, wblWall.W_E, 1); Builder.wall(31, 27, 0, wblWall.N_S, 3); Builder.wall(31, 24, 0, wblWall.E_W, 1); Builder.wall(29, 24, 0, wblWall.E_W, 1); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR3_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR3_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR3_R; Builder.door(_local17, _local18, {locked:true, key:"blue"}, 29, 24, 0, wblWall.W_E); _local19 = new fpsRoom(_arg1, 18); Builder.door(_local18, _local19, {dummy:true}, 29, 27, 0, wblWall.W_E); new objPortal(_local5, new Vector(1250, 0, 1550)); new objPortal(_local10, new Vector(1550, 0, 850)); new objPortal(_local15, new Vector(3650, 0, 1350)); new itemBoxHealth("bh01", _local7, 18, 29); new itemBoxRPG("brpg01", _local3, 1, 29); new itemBoxRPG("brpg02", _local9, 6, 6); new itemBoxRPG("brpg03", _local6, 9, 20); new itemBoxGun("bg01", _local3, 6, 29); new itemBoxGun("bg02", _local4, 7, 29); new itemBoxGun("bg03", _local6, 4, 18); new itemBoxGun("bg04", _local8, 2, 9); new itemBoxGun("bg05", _local9, 6, 8); new itemBoxGun("bg06", _local11, 16, 5); new itemBoxGun("bg07", _local12, 22, 3); new itemBoxGun("bg08", _local13, 19, 20); new itemBoxGun("bg09", _local14, 18, 15); new itemBoxGun("bg10", _local15, 33, 3); } override public function loadUnits(_arg1:fpsGame){ var _local2:Object; var _local3:levelArea; _local3 = new levelArea(_arg1); new aiAlienEgg("egg01", _arg1, 12, 28); new aiAlienEgg("egg02", _arg1, 4, 19); new aiAlienEgg("egg03", _arg1, 11, 16); new aiAlienEgg("egg04", _arg1, 13, 29); new aiAlienEgg("egg05", _arg1, 18, 22); new aiAlienEgg("egg06", _arg1, 1, 14); new aiAlienEgg("egg07", _arg1, 15, 9); new aiAlienEgg("egg08", _arg1, 6, 4); new aiAlienEgg("egg09", _arg1, 16, 14); new aiAlienEgg("egg10", _arg1, 23, 7); new aiAlienEgg("egg11", _arg1, 29, 11); new aiAlienEgg("egg12", _arg1, 27, 4); new aiAlienEgg("egg13", _arg1, 28, 5); new aiAlienEgg("egg14", _arg1, 35, 11); new aiAlienEgg("egg15", _arg1, 29, 17); _local3.room(2); _local3.reset(); _local3.area(1, 22, 4, 26); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local3.room(3); _local3.reset(); _local3.area(7, 21, 10, 27); _local3.area(7, 27, 13, 30); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(4); _local3.reset(); _local3.area(1, 15, 13, 18); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.reset(); _local3.area(10, 18, 13, 21); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2 = _local3.unit04(); _local3.room(5); _local3.reset(); _local3.area(5, 18, 7, 21); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(6); _local3.reset(); _local3.area(16, 24, 19, 30); _local3.area(13, 28, 16, 30); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(7); _local3.reset(); _local3.area(7, 7, 10, 12); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(1, 13, 7, 15); _local3.area(1, 11, 3, 13); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(10, 13, 16, 15); _local3.area(14, 11, 16, 13); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2.itemToRelease(new itemKey("green")); _local3.reset(); _local3.area(1, 9, 5, 12); _local3.area(12, 9, 16, 12); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.reset(); _local3.area(6, 13, 7, 14); _local3.area(10, 13, 11, 14); _local2 = _local3.unit03(); _local3.room(8); _local3.reset(); _local3.area(1, 6, 4, 9); _local3.area(1, 3, 3, 6); _local3.area(4, 3, 7, 6); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.room(9); _local3.reset(); _local3.area(11, 3, 13, 6); _local3.area(10, 6, 16, 9); _local3.area(13, 3, 16, 5); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(13, 4, 14, 5); _local2 = _local3.unit04(); _local2.itemToRelease(new itemKey("red")); _local3.room(10); _local3.reset(); _local3.area(18, 3, 22, 7); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(16, 7, 22, 9); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(20, 10, 21, 12); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(16, 13, 18, 15); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.room(11); _local3.reset(); _local3.area(25, 3, 28, 6); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(12); _local3.reset(); _local3.area(25, 6, 28, 9); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(21, 11, 22, 12); _local2 = _local3.unit03(); _local3.reset(); _local3.area(25, 15, 28, 18); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(27, 9, 30, 12); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.reset(); _local3.area(22, 11, 25, 14); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(13); _local3.reset(); _local3.area(13, 18, 15, 22); _local3.area(15, 19, 19, 21); _local3.area(16, 21, 19, 24); _local3.area(13, 22, 16, 24); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(14); _local3.reset(); _local3.area(28, 3, 30, 6); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local3.reset(); _local3.area(35, 3, 37, 6); _local3.area(30, 9, 34, 12); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.reset(); _local3.area(28, 12, 30, 18); _local3.area(34, 12, 37, 15); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(15); _local3.reset(); _local3.area(34, 9, 37, 12); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local3.room(16); _local3.reset(); _local3.area(38, 21, 40, 22); _local3.area(29, 21, 32, 23); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2 = _local3.unit04(); _local3.reset(); _local3.area(31, 24, 34, 27); _local3.area(28, 18, 31, 21); _local2 = _local3.unit03(); _local2 = _local3.unit03(); _local2 = _local3.unit04(); _local2 = _local3.unit04(); _local2.itemToRelease(new itemKey("yellow")); } } }//package
Section 337
//level04 (level04) package { import gdk.fps.*; import sandy.core.data.*; import gdk.fps.wbl.*; public class level04 extends fpsZone { public function level04(){ super(4, 48, 36, new Vector(3450, 0, 2850), -90); } override public function loadWorld(_arg1:fpsGame){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local15:*; var _local16:*; var _local17:*; var _local18:*; var _local19:*; var _local20:*; var _local21:*; var _local22:*; var _local23:fpsRoom; if (glo.bal.PC_OPTION == 1){ new levelFloor(); new levelCeiling(); }; Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR1_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR1_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR1_R; _local2 = Builder.createRoom(_arg1, 1); Builder.floorNceiling(33, 27, 1, 3, 3); Builder.wall(33, 27, 0, wblWall.S_N, 3); Builder.wall(33, 30, 0, wblWall.W_E, 3); Builder.wall(36, 30, 0, wblWall.N_S, 3); Builder.wall(36, 27, 0, wblWall.E_W, 1); Builder.wall(34, 27, 0, wblWall.E_W, 1); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR1; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL1; _local3 = Builder.createRoom(_arg1, 2); Builder.floorNceiling(30, 21, 1, 9, 2); Builder.floorNceiling(30, 23, 1, 3, 1); Builder.floorNceiling(36, 23, 1, 3, 1); Builder.floorNceiling(30, 24, 1, 9, 2); Builder.floorNceiling(30, 26, 1, 2, 1); Builder.floorNceiling(33, 26, 1, 3, 1); Builder.floorNceiling(37, 26, 1, 2, 1); Builder.floorNceiling(27, 27, 1, 5, 1); Builder.floorNceiling(37, 27, 1, 2, 1); Builder.floorNceiling(27, 28, 1, 6, 2); Builder.floorNceiling(36, 28, 1, 3, 2); Builder.wall(30, 21, 0, wblWall.S_N, 6); Builder.wall(30, 27, 0, wblWall.E_W, 3); Builder.wall(27, 27, 0, wblWall.S_N, 3); Builder.wall(27, 30, 0, wblWall.W_E, 6); Builder.wall(33, 30, 0, wblWall.N_S, 2); Builder.wall(33, 28, 0, wblWall.E_W, 1); Builder.wall(32, 28, 0, wblWall.N_S, 2); Builder.wall(32, 26, 0, wblWall.W_E, 1); Builder.wall(33, 26, 0, wblWall.S_N, 1); Builder.wall(33, 27, 0, wblWall.W_E, 1); Builder.wall(35, 27, 0, wblWall.W_E, 1); Builder.wall(36, 27, 0, wblWall.N_S, 1); Builder.wall(36, 26, 0, wblWall.W_E, 1); Builder.wall(37, 26, 0, wblWall.S_N, 2); Builder.wall(37, 28, 0, wblWall.E_W, 1); Builder.wall(36, 28, 0, wblWall.S_N, 2); Builder.wall(36, 30, 0, wblWall.W_E, 3); Builder.wall(39, 30, 0, wblWall.N_S, 1); Builder.wall(39, 28, 0, wblWall.N_S, 7); Builder.wall(39, 21, 0, wblWall.E_W, 4); Builder.wall(34, 21, 0, wblWall.E_W, 4); Builder.wall(36, 23, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(36, 24, 0, wblWall.E_W, 3, 1, _arg1.TEXLIB.WALL2); Builder.wall(33, 24, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(33, 23, 0, wblWall.W_E, 3, 1, _arg1.TEXLIB.WALL2); Builder.door(_local2, _local3, {}, 35, 27, 0, wblWall.E_W); _local4 = Builder.createRoom(_arg1, 3); Builder.floorNceiling(39, 24, 1, 6, 2); Builder.floorNceiling(42, 26, 1, 3, 1); Builder.floorNceiling(39, 27, 1, 6, 2); Builder.floorNceiling(39, 29, 1, 3, 1); Builder.floorNceiling(43, 29, 1, 2, 2); Builder.floorNceiling(33, 30, 1, 8, 1); Builder.floorNceiling(33, 31, 1, 2, 1); Builder.floorNceiling(36, 31, 1, 2, 1); Builder.floorNceiling(39, 31, 1, 6, 1); Builder.floorNceiling(33, 32, 1, 12, 1); Builder.wall(39, 24, 0, wblWall.S_N, 2); Builder.wall(39, 26, 0, wblWall.W_E, 3); Builder.wall(42, 26, 0, wblWall.S_N, 1); Builder.wall(42, 27, 0, wblWall.E_W, 3); Builder.wall(39, 27, 0, wblWall.S_N, 1); Builder.wall(39, 29, 0, wblWall.S_N, 1); Builder.wall(39, 30, 0, wblWall.E_W, 6); Builder.wall(33, 30, 0, wblWall.S_N, 3); Builder.wall(33, 33, 0, wblWall.W_E, 12); Builder.wall(45, 33, 0, wblWall.N_S, 9); Builder.wall(45, 24, 0, wblWall.E_W, 6); Builder.wall(36, 31, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(36, 32, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(35, 32, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(35, 31, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(39, 31, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(39, 32, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(38, 32, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(38, 31, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(43, 29, 0, wblWall.S_N, 2); Builder.wall(43, 31, 0, wblWall.E_W, 2); Builder.wall(41, 31, 0, wblWall.N_S, 1); Builder.wall(41, 30, 0, wblWall.W_E, 1); Builder.wall(42, 30, 0, wblWall.N_S, 1); Builder.wall(42, 29, 0, wblWall.W_E, 1); Builder.door(_local3, _local4, {}, 39, 29, 0, wblWall.N_S); _local5 = Builder.createRoom(_arg1, 4); Builder.floorNceiling(27, 12, 1, 3, 6); Builder.floorNceiling(27, 21, 1, 3, 6); Builder.floorNceiling(21, 18, 1, 15, 1); Builder.floorNceiling(21, 19, 1, 7, 1); Builder.floorNceiling(29, 19, 1, 7, 1); Builder.floorNceiling(21, 20, 1, 15, 1); Builder.wall(27, 12, 0, wblWall.S_N, 6); Builder.wall(27, 18, 0, wblWall.E_W, 6); Builder.wall(21, 18, 0, wblWall.S_N, 1); Builder.wall(21, 20, 0, wblWall.S_N, 1); Builder.wall(21, 21, 0, wblWall.W_E, 6); Builder.wall(27, 21, 0, wblWall.S_N, 4); Builder.wall(27, 26, 0, wblWall.S_N, 1); Builder.wall(27, 27, 0, wblWall.W_E, 3); Builder.wall(30, 27, 0, wblWall.N_S, 6); Builder.wall(30, 21, 0, wblWall.W_E, 4); Builder.wall(35, 21, 0, wblWall.W_E, 1); Builder.wall(36, 21, 0, wblWall.N_S, 3); Builder.wall(36, 18, 0, wblWall.E_W, 6); Builder.wall(30, 18, 0, wblWall.N_S, 1); Builder.wall(30, 16, 0, wblWall.N_S, 4); Builder.wall(30, 12, 0, wblWall.E_W, 1); Builder.wall(28, 12, 0, wblWall.E_W, 1); Builder.wall(29, 19, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(29, 20, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(28, 20, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(28, 19, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local3, _local5, {}, 35, 21, 0, wblWall.E_W); _local6 = Builder.createRoom(_arg1, 5); Builder.floorNceiling(30, 12, 1, 6, 2); Builder.floorNceiling(32, 14, 1, 4, 1); Builder.floorNceiling(30, 15, 1, 9, 1); Builder.floorNceiling(30, 16, 1, 4, 1); Builder.floorNceiling(35, 16, 1, 4, 1); Builder.floorNceiling(30, 17, 1, 9, 1); Builder.floorNceiling(36, 18, 1, 3, 3); Builder.wall(30, 12, 0, wblWall.S_N, 2); Builder.wall(30, 14, 0, wblWall.W_E, 2); Builder.wall(32, 14, 0, wblWall.S_N, 1); Builder.wall(32, 15, 0, wblWall.E_W, 2); Builder.wall(30, 15, 0, wblWall.S_N, 1); Builder.wall(30, 17, 0, wblWall.S_N, 1); Builder.wall(30, 18, 0, wblWall.W_E, 6); Builder.wall(36, 18, 0, wblWall.S_N, 3); Builder.wall(36, 21, 0, wblWall.W_E, 3); Builder.wall(39, 21, 0, wblWall.N_S, 6); Builder.wall(39, 15, 0, wblWall.E_W, 1); Builder.wall(37, 15, 0, wblWall.E_W, 1); Builder.wall(36, 15, 0, wblWall.N_S, 3); Builder.wall(36, 12, 0, wblWall.E_W, 6); Builder.wall(35, 16, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(35, 17, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(34, 17, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(34, 16, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local5, _local6, {}, 30, 17, 0, wblWall.N_S); _local7 = Builder.createRoom(_arg1, 6); Builder.floorNceiling(36, 12, 1, 9, 1); Builder.floorNceiling(36, 13, 1, 5, 2); Builder.floorNceiling(42, 13, 1, 3, 2); Builder.floorNceiling(39, 15, 1, 6, 2); Builder.floorNceiling(41, 17, 1, 2, 1); Builder.floorNceiling(39, 18, 1, 6, 2); Builder.floorNceiling(39, 20, 1, 2, 1); Builder.floorNceiling(43, 20, 1, 2, 1); Builder.floorNceiling(39, 21, 1, 6, 3); Builder.wall(36, 12, 0, wblWall.S_N, 3); Builder.wall(36, 15, 0, wblWall.W_E, 1); Builder.wall(38, 15, 0, wblWall.W_E, 1); Builder.wall(39, 15, 0, wblWall.S_N, 2); Builder.wall(39, 17, 0, wblWall.W_E, 2); Builder.wall(41, 17, 0, wblWall.S_N, 1); Builder.wall(41, 18, 0, wblWall.E_W, 2); Builder.wall(39, 18, 0, wblWall.S_N, 6); Builder.wall(39, 24, 0, wblWall.W_E, 6); Builder.wall(45, 24, 0, wblWall.N_S, 6); Builder.wall(45, 18, 0, wblWall.E_W, 2); Builder.wall(43, 18, 0, wblWall.N_S, 1); Builder.wall(43, 17, 0, wblWall.W_E, 2); Builder.wall(45, 17, 0, wblWall.N_S, 5); Builder.wall(45, 12, 0, wblWall.E_W, 9); Builder.wall(42, 13, 0, wblWall.S_N, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(42, 15, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 15, 0, wblWall.N_S, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 13, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(43, 20, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(43, 21, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 21, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 20, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.door(_local6, _local7, {}, 38, 15, 0, wblWall.E_W); _local8 = Builder.createRoom(_arg1, 7); Builder.floorNceiling(21, 21, 1, 6, 2); Builder.floorNceiling(21, 23, 1, 4, 1); Builder.floorNceiling(18, 24, 1, 9, 1); Builder.floorNceiling(18, 25, 1, 4, 1); Builder.floorNceiling(23, 25, 1, 4, 1); Builder.floorNceiling(18, 26, 1, 9, 1); Builder.floorNceiling(21, 27, 1, 4, 1); Builder.floorNceiling(21, 28, 1, 6, 2); Builder.floorNceiling(21, 30, 1, 2, 1); Builder.floorNceiling(25, 30, 1, 8, 1); Builder.floorNceiling(21, 31, 1, 12, 2); Builder.wall(21, 21, 0, wblWall.S_N, 3); Builder.wall(21, 24, 0, wblWall.E_W, 3); Builder.wall(18, 24, 0, wblWall.S_N, 3); Builder.wall(18, 27, 0, wblWall.W_E, 1); Builder.wall(20, 27, 0, wblWall.W_E, 1); Builder.wall(21, 27, 0, wblWall.S_N, 6); Builder.wall(21, 33, 0, wblWall.W_E, 12); Builder.wall(33, 33, 0, wblWall.N_S, 3); Builder.wall(33, 30, 0, wblWall.E_W, 6); Builder.wall(27, 30, 0, wblWall.N_S, 2); Builder.wall(27, 28, 0, wblWall.E_W, 2); Builder.wall(25, 28, 0, wblWall.N_S, 1); Builder.wall(25, 27, 0, wblWall.W_E, 2); Builder.wall(27, 27, 0, wblWall.N_S, 1); Builder.wall(27, 25, 0, wblWall.N_S, 1); Builder.wall(27, 24, 0, wblWall.E_W, 2); Builder.wall(25, 24, 0, wblWall.N_S, 1); Builder.wall(25, 23, 0, wblWall.W_E, 2); Builder.wall(27, 23, 0, wblWall.N_S, 2); Builder.wall(27, 21, 0, wblWall.E_W, 6); Builder.wall(23, 25, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(23, 26, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(22, 26, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(22, 25, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 30, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 31, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(23, 31, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(23, 30, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.door(_local5, _local8, {}, 27, 25, 0, wblWall.S_N); _local9 = Builder.createRoom(_arg1, 8); Builder.floorNceiling(18, 27, 1, 3, 3); Builder.floorNceiling(9, 27, 1, 3, 3); Builder.floorNceiling(9, 30, 1, 12, 3); Builder.wall(18, 27, 0, wblWall.S_N, 3); Builder.wall(18, 30, 0, wblWall.E_W, 6); Builder.wall(12, 30, 0, wblWall.N_S, 1); Builder.wall(12, 28, 0, wblWall.N_S, 1); Builder.wall(12, 27, 0, wblWall.E_W, 1); Builder.wall(10, 27, 0, wblWall.E_W, 1); Builder.wall(9, 27, 0, wblWall.S_N, 6); Builder.wall(9, 33, 0, wblWall.W_E, 12); Builder.wall(21, 33, 0, wblWall.N_S, 6); Builder.wall(21, 27, 0, wblWall.E_W, 1); Builder.wall(19, 27, 0, wblWall.E_W, 1); Builder.door(_local8, _local9, {}, 19, 27, 0, wblWall.W_E); _local10 = Builder.createRoom(_arg1, 9); Builder.floorNceiling(12, 27, 1, 6, 3); Builder.wall(12, 27, 0, wblWall.S_N, 1); Builder.wall(12, 29, 0, wblWall.S_N, 1); Builder.wall(12, 30, 0, wblWall.W_E, 6); Builder.wall(18, 30, 0, wblWall.N_S, 3); Builder.wall(18, 27, 0, wblWall.E_W, 6); Builder.door(_local9, _local10, {}, 12, 29, 0, wblWall.N_S); _local11 = Builder.createRoom(_arg1, 10); Builder.floorNceiling(3, 24, 1, 15, 2); Builder.floorNceiling(3, 26, 1, 5, 2); Builder.floorNceiling(9, 26, 1, 3, 1); Builder.floorNceiling(13, 26, 1, 5, 1); Builder.floorNceiling(3, 28, 1, 6, 1); Builder.floorNceiling(3, 29, 1, 2, 1); Builder.floorNceiling(7, 29, 1, 2, 1); Builder.floorNceiling(3, 30, 1, 6, 3); Builder.wall(3, 24, 0, wblWall.S_N, 9); Builder.wall(3, 33, 0, wblWall.W_E, 6); Builder.wall(9, 33, 0, wblWall.N_S, 5); Builder.wall(9, 28, 0, wblWall.E_W, 1); Builder.wall(8, 28, 0, wblWall.N_S, 2); Builder.wall(8, 26, 0, wblWall.W_E, 1); Builder.wall(9, 26, 0, wblWall.S_N, 1); Builder.wall(9, 27, 0, wblWall.W_E, 1); Builder.wall(11, 27, 0, wblWall.W_E, 1); Builder.wall(12, 27, 0, wblWall.N_S, 1); Builder.wall(12, 26, 0, wblWall.W_E, 1); Builder.wall(13, 26, 0, wblWall.S_N, 1); Builder.wall(13, 27, 0, wblWall.W_E, 5); Builder.wall(18, 27, 0, wblWall.N_S, 3); Builder.wall(18, 24, 0, wblWall.E_W, 1); Builder.wall(16, 24, 0, wblWall.E_W, 11); Builder.wall(4, 24, 0, wblWall.E_W, 1); Builder.wall(7, 29, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(7, 30, 0, wblWall.E_W, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(5, 30, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(5, 29, 0, wblWall.W_E, 2, 1, _arg1.TEXLIB.WALL2); Builder.door(_local9, _local11, {}, 11, 27, 0, wblWall.E_W); _local12 = Builder.createRoom(_arg1, 11); Builder.floorNceiling(3, 15, 1, 6, 3); Builder.floorNceiling(5, 18, 1, 2, 1); Builder.floorNceiling(3, 19, 1, 6, 3); Builder.floorNceiling(3, 22, 1, 3, 2); Builder.floorNceiling(7, 22, 1, 2, 2); Builder.wall(3, 15, 0, wblWall.S_N, 3); Builder.wall(3, 18, 0, wblWall.W_E, 2); Builder.wall(5, 18, 0, wblWall.S_N, 1); Builder.wall(5, 19, 0, wblWall.E_W, 2); Builder.wall(3, 19, 0, wblWall.S_N, 5); Builder.wall(3, 24, 0, wblWall.W_E, 1); Builder.wall(5, 24, 0, wblWall.W_E, 1); Builder.wall(6, 24, 0, wblWall.N_S, 2); Builder.wall(6, 22, 0, wblWall.W_E, 1); Builder.wall(7, 22, 0, wblWall.S_N, 2); Builder.wall(7, 24, 0, wblWall.W_E, 2); Builder.wall(9, 24, 0, wblWall.N_S, 5); Builder.wall(9, 19, 0, wblWall.E_W, 2); Builder.wall(7, 19, 0, wblWall.N_S, 1); Builder.wall(7, 18, 0, wblWall.W_E, 2); Builder.wall(9, 18, 0, wblWall.N_S, 3); Builder.wall(9, 15, 0, wblWall.E_W, 6); Builder.door(_local11, _local12, {}, 5, 24, 0, wblWall.E_W); _local13 = Builder.createRoom(_arg1, 12); Builder.floorNceiling(9, 15, 1, 18, 3); Builder.floorNceiling(9, 18, 1, 2, 3); Builder.floorNceiling(12, 18, 1, 3, 1); Builder.floorNceiling(18, 18, 1, 3, 1); Builder.floorNceiling(12, 19, 1, 9, 2); Builder.floorNceiling(9, 21, 1, 12, 1); Builder.floorNceiling(9, 22, 1, 5, 2); Builder.floorNceiling(15, 22, 1, 3, 2); Builder.floorNceiling(19, 22, 1, 2, 2); Builder.wall(9, 15, 0, wblWall.S_N, 9); Builder.wall(9, 24, 0, wblWall.W_E, 5); Builder.wall(14, 24, 0, wblWall.N_S, 2); Builder.wall(14, 22, 0, wblWall.W_E, 1); Builder.wall(15, 22, 0, wblWall.S_N, 2); Builder.wall(15, 24, 0, wblWall.W_E, 1); Builder.wall(17, 24, 0, wblWall.W_E, 1); Builder.wall(18, 24, 0, wblWall.N_S, 2); Builder.wall(18, 22, 0, wblWall.W_E, 1); Builder.wall(19, 22, 0, wblWall.S_N, 2); Builder.wall(19, 24, 0, wblWall.W_E, 2); Builder.wall(21, 24, 0, wblWall.N_S, 4); Builder.wall(21, 19, 0, wblWall.N_S, 1); Builder.wall(21, 18, 0, wblWall.W_E, 6); Builder.wall(27, 18, 0, wblWall.N_S, 3); Builder.wall(27, 15, 0, wblWall.E_W, 18); Builder.wall(12, 18, 0, wblWall.S_N, 3); Builder.wall(12, 21, 0, wblWall.E_W, 1); Builder.wall(11, 21, 0, wblWall.N_S, 3); Builder.wall(11, 18, 0, wblWall.W_E, 1); Builder.wall(18, 18, 0, wblWall.S_N, 1); Builder.wall(18, 19, 0, wblWall.E_W, 3); Builder.wall(15, 19, 0, wblWall.N_S, 1); Builder.wall(15, 18, 0, wblWall.W_E, 3); Builder.door(_local11, _local13, {}, 17, 24, 0, wblWall.E_W); Builder.door(_local13, _local5, {locked:true, key:"green"}, 21, 20, 0, wblWall.N_S, _arg1.TEXLIB.DOOR5_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local14 = Builder.createRoom(_arg1, 13); Builder.floorNceiling(27, 9, 1, 9, 3); Builder.floorNceiling(33, 3, 1, 3, 6); Builder.wall(27, 9, 0, wblWall.S_N, 3); Builder.wall(27, 12, 0, wblWall.W_E, 1); Builder.wall(29, 12, 0, wblWall.W_E, 7); Builder.wall(36, 12, 0, wblWall.N_S, 4); Builder.wall(36, 7, 0, wblWall.N_S, 4); Builder.wall(36, 3, 0, wblWall.E_W, 3); Builder.wall(33, 3, 0, wblWall.S_N, 1); Builder.wall(33, 5, 0, wblWall.S_N, 4); Builder.wall(33, 9, 0, wblWall.E_W, 6); Builder.door(_local5, _local14, {locked:true, key:"yellow"}, 29, 12, 0, wblWall.E_W, _arg1.TEXLIB.DOOR6_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local15 = Builder.createRoom(_arg1, 14); Builder.floorNceiling(36, 3, 1, 9, 2); Builder.floorNceiling(36, 5, 1, 2, 1); Builder.floorNceiling(39, 5, 1, 2, 1); Builder.floorNceiling(42, 5, 1, 3, 1); Builder.floorNceiling(36, 6, 1, 9, 3); Builder.floorNceiling(36, 9, 1, 2, 1); Builder.floorNceiling(39, 9, 1, 2, 1); Builder.floorNceiling(42, 9, 1, 3, 1); Builder.floorNceiling(36, 10, 1, 9, 2); Builder.wall(36, 3, 0, wblWall.S_N, 4); Builder.wall(36, 8, 0, wblWall.S_N, 4); Builder.wall(36, 12, 0, wblWall.W_E, 9); Builder.wall(45, 12, 0, wblWall.N_S, 9); Builder.wall(45, 3, 0, wblWall.E_W, 9); Builder.wall(39, 5, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(39, 6, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(38, 6, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(38, 5, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(39, 9, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(39, 10, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(38, 10, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(38, 9, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(42, 5, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(42, 6, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 6, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 5, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(42, 9, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(42, 10, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 10, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(41, 9, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local14, _local15, {locked:true, key:"red"}, 36, 8, 0, wblWall.N_S, _arg1.TEXLIB.DOOR4_F, _arg1.TEXLIB.DOOR4_L, _arg1.TEXLIB.DOOR4_R); _local16 = Builder.createRoom(_arg1, 15); Builder.floorNceiling(27, 3, 1, 6, 3); Builder.wall(27, 3, 0, wblWall.S_N, 1); Builder.wall(27, 5, 0, wblWall.S_N, 1); Builder.wall(27, 6, 0, wblWall.W_E, 6); Builder.wall(33, 6, 0, wblWall.N_S, 1); Builder.wall(33, 4, 0, wblWall.N_S, 1); Builder.wall(33, 3, 0, wblWall.E_W, 6); Builder.door(_local14, _local16, {}, 33, 4, 0, wblWall.S_N); _local17 = Builder.createRoom(_arg1, 16); Builder.floorNceiling(24, 3, 1, 3, 3); Builder.floorNceiling(18, 6, 1, 15, 1); Builder.floorNceiling(18, 7, 1, 7, 1); Builder.floorNceiling(26, 7, 1, 7, 1); Builder.floorNceiling(18, 8, 1, 15, 1); Builder.floorNceiling(24, 9, 1, 3, 6); Builder.wall(24, 3, 0, wblWall.S_N, 3); Builder.wall(24, 6, 0, wblWall.E_W, 6); Builder.wall(18, 6, 0, wblWall.S_N, 1); Builder.wall(18, 8, 0, wblWall.S_N, 1); Builder.wall(18, 9, 0, wblWall.W_E, 6); Builder.wall(24, 9, 0, wblWall.S_N, 4); Builder.wall(24, 14, 0, wblWall.S_N, 1); Builder.wall(24, 15, 0, wblWall.W_E, 3); Builder.wall(27, 15, 0, wblWall.N_S, 6); Builder.wall(27, 9, 0, wblWall.W_E, 6); Builder.wall(33, 9, 0, wblWall.N_S, 3); Builder.wall(33, 6, 0, wblWall.E_W, 6); Builder.wall(27, 6, 0, wblWall.N_S, 1); Builder.wall(27, 4, 0, wblWall.N_S, 1); Builder.wall(27, 3, 0, wblWall.E_W, 3); Builder.wall(26, 7, 0, wblWall.S_N, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(26, 8, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 8, 0, wblWall.N_S, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(25, 7, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local16, _local17, {}, 27, 4, 0, wblWall.S_N); _local18 = Builder.createRoom(_arg1, 17); Builder.floorNceiling(15, 9, 1, 9, 2); Builder.floorNceiling(15, 11, 1, 3, 2); Builder.floorNceiling(19, 11, 1, 2, 2); Builder.floorNceiling(21, 12, 1, 3, 1); Builder.floorNceiling(15, 13, 1, 9, 2); Builder.wall(15, 9, 0, wblWall.S_N, 6); Builder.wall(15, 15, 0, wblWall.W_E, 9); Builder.wall(24, 15, 0, wblWall.N_S, 1); Builder.wall(24, 13, 0, wblWall.N_S, 1); Builder.wall(24, 12, 0, wblWall.E_W, 3); Builder.wall(21, 12, 0, wblWall.N_S, 1); Builder.wall(21, 11, 0, wblWall.W_E, 3); Builder.wall(24, 11, 0, wblWall.N_S, 2); Builder.wall(24, 9, 0, wblWall.E_W, 9); Builder.wall(19, 11, 0, wblWall.S_N, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(19, 13, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(18, 13, 0, wblWall.N_S, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(18, 11, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local17, _local18, {}, 24, 13, 0, wblWall.S_N); _local19 = Builder.createRoom(_arg1, 18); Builder.floorNceiling(15, 3, 1, 9, 3); Builder.floorNceiling(15, 6, 1, 3, 3); Builder.floorNceiling(12, 6, 1, 3, 6); Builder.wall(15, 3, 0, wblWall.S_N, 3); Builder.wall(15, 6, 0, wblWall.E_W, 3); Builder.wall(12, 6, 0, wblWall.S_N, 6); Builder.wall(12, 12, 0, wblWall.W_E, 1); Builder.wall(14, 12, 0, wblWall.W_E, 1); Builder.wall(15, 12, 0, wblWall.N_S, 3); Builder.wall(15, 9, 0, wblWall.W_E, 3); Builder.wall(18, 9, 0, wblWall.N_S, 1); Builder.wall(18, 7, 0, wblWall.N_S, 1); Builder.wall(18, 6, 0, wblWall.W_E, 6); Builder.wall(24, 6, 0, wblWall.N_S, 3); Builder.wall(24, 3, 0, wblWall.E_W, 9); Builder.door(_local17, _local19, {}, 18, 7, 0, wblWall.S_N); _local20 = Builder.createRoom(_arg1, 19); Builder.floorNceiling(3, 3, 1, 3, 3); Builder.floorNceiling(3, 6, 1, 6, 3); Builder.floorNceiling(3, 9, 1, 2, 1); Builder.floorNceiling(6, 9, 1, 6, 2); Builder.floorNceiling(3, 10, 1, 3, 5); Builder.floorNceiling(6, 11, 1, 2, 2); Builder.floorNceiling(9, 11, 1, 2, 2); Builder.floorNceiling(12, 12, 1, 3, 1); Builder.floorNceiling(6, 13, 1, 9, 2); Builder.wall(3, 3, 0, wblWall.S_N, 12); Builder.wall(3, 15, 0, wblWall.W_E, 3); Builder.wall(6, 15, 0, wblWall.N_S, 5); Builder.wall(6, 10, 0, wblWall.E_W, 1); Builder.wall(5, 10, 0, wblWall.N_S, 1); Builder.wall(5, 9, 0, wblWall.W_E, 1); Builder.wall(6, 9, 0, wblWall.S_N, 6); Builder.wall(6, 15, 0, wblWall.W_E, 9); Builder.wall(15, 15, 0, wblWall.N_S, 3); Builder.wall(15, 12, 0, wblWall.E_W, 1); Builder.wall(13, 12, 0, wblWall.E_W, 1); Builder.wall(12, 12, 0, wblWall.S_N, 1); Builder.wall(12, 13, 0, wblWall.E_W, 1); Builder.wall(11, 13, 0, wblWall.N_S, 2); Builder.wall(11, 11, 0, wblWall.W_E, 1); Builder.wall(12, 11, 0, wblWall.N_S, 2); Builder.wall(12, 9, 0, wblWall.E_W, 3); Builder.wall(9, 9, 0, wblWall.N_S, 3); Builder.wall(9, 6, 0, wblWall.E_W, 3); Builder.wall(6, 6, 0, wblWall.N_S, 1); Builder.wall(6, 4, 0, wblWall.N_S, 1); Builder.wall(6, 3, 0, wblWall.E_W, 3); Builder.wall(9, 11, 0, wblWall.S_N, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(9, 13, 0, wblWall.E_W, 1, 1, _arg1.TEXLIB.WALL2); Builder.wall(8, 13, 0, wblWall.N_S, 2, 1, _arg1.TEXLIB.WALL2); Builder.wall(8, 11, 0, wblWall.W_E, 1, 1, _arg1.TEXLIB.WALL2); Builder.door(_local19, _local20, {}, 13, 12, 0, wblWall.W_E); _local21 = Builder.createRoom(_arg1, 20); Builder.floorNceiling(6, 3, 1, 6, 2); Builder.floorNceiling(6, 5, 1, 3, 1); Builder.floorNceiling(10, 5, 1, 2, 2); Builder.floorNceiling(9, 7, 1, 3, 2); Builder.wall(6, 3, 0, wblWall.S_N, 1); Builder.wall(6, 5, 0, wblWall.S_N, 1); Builder.wall(6, 6, 0, wblWall.W_E, 3); Builder.wall(9, 6, 0, wblWall.N_S, 1); Builder.wall(9, 5, 0, wblWall.W_E, 1); Builder.wall(10, 5, 0, wblWall.S_N, 2); Builder.wall(10, 7, 0, wblWall.E_W, 1); Builder.wall(9, 7, 0, wblWall.S_N, 2); Builder.wall(9, 9, 0, wblWall.W_E, 3); Builder.wall(12, 9, 0, wblWall.N_S, 4); Builder.wall(12, 4, 0, wblWall.N_S, 1); Builder.wall(12, 3, 0, wblWall.E_W, 6); Builder.door(_local20, _local21, {}, 6, 5, 0, wblWall.N_S); Builder.TEX_FLOOR = _arg1.TEXLIB.FLOOR2; Builder.TEX_WALL = _arg1.TEXLIB.WALL1; Builder.TEX_CEILING = _arg1.TEXLIB.CEIL2; _local22 = new sasRoom(_arg1, 21); Builder.ROOM = _local22; Builder.floorNceiling(12, 3, 1, 3, 3); Builder.wall(12, 3, 0, wblWall.S_N, 1); Builder.wall(12, 5, 0, wblWall.S_N, 1); Builder.wall(12, 6, 0, wblWall.W_E, 3); Builder.wall(15, 6, 0, wblWall.N_S, 3); Builder.wall(15, 3, 0, wblWall.E_W, 1); Builder.wall(13, 3, 0, wblWall.E_W, 1); Builder.TEX_DOOR_F = _arg1.TEXLIB.DOOR3_F; Builder.TEX_DOOR_L = _arg1.TEXLIB.DOOR3_L; Builder.TEX_DOOR_R = _arg1.TEXLIB.DOOR3_R; Builder.door(_local21, _local22, {locked:true, key:"blue"}, 12, 5, 0, wblWall.N_S); _local23 = new fpsRoom(_arg1, 22); Builder.door(_local22, _local23, {dummy:true}, 14, 3, 0, wblWall.E_W); new objPortal(_local6, new Vector(3550, 0, 1250)); new objPortal(_local8, new Vector(2150, 0, 2150)); new objPortal(_local13, new Vector(1650, 0, 1550)); new objPortal(_local17, new Vector(2450, 0, 750)); new itemBoxHealth("bh01", _local4, 37, 31); new itemBoxRPG("brpg01", _local3, 32, 28); new itemBoxRPG("brpg02", _local10, 12, 29); new itemBoxRPG("brpg03", _local17, 25, 8); new itemBoxGun("bg01", _local3, 34, 24); new itemBoxGun("bg02", _local4, 41, 29); new itemBoxGun("bg03", _local6, 34, 12); new itemBoxGun("bg04", _local7, 39, 16); new itemBoxGun("bg05", _local8, 23, 25); new itemBoxGun("bg06", _local10, 12, 27); new itemBoxGun("bg07", _local11, 8, 28); new itemBoxGun("bg08", _local12, 8, 17); new itemBoxGun("bg09", _local13, 12, 19); new itemBoxGun("bg10", _local15, 40, 7); new itemBoxGun("bg11", _local18, 15, 14); } override public function loadUnits(_arg1:fpsGame){ var _local2:Object; var _local3:levelArea; _local3 = new levelArea(_arg1); new aiAlienEgg("egg01", _arg1, 33, 31); new aiAlienEgg("egg02", _arg1, 27, 29); new aiAlienEgg("egg03", _arg1, 39, 24); new aiAlienEgg("egg04", _arg1, 32, 30); new aiAlienEgg("egg05", _arg1, 39, 23); new aiAlienEgg("egg06", _arg1, 18, 24); new aiAlienEgg("egg07", _arg1, 17, 29); new aiAlienEgg("egg08", _arg1, 9, 27); new aiAlienEgg("egg09", _arg1, 3, 32); new aiAlienEgg("egg10", _arg1, 8, 23); new aiAlienEgg("egg11", _arg1, 9, 23); new aiAlienEgg("egg12", _arg1, 3, 17); new aiAlienEgg("egg13", _arg1, 3, 14); new aiAlienEgg("egg14", _arg1, 26, 15); new aiAlienEgg("egg15", _arg1, 24, 14); new aiAlienEgg("egg16", _arg1, 23, 9); new aiAlienEgg("egg17", _arg1, 23, 5); new aiAlienEgg("egg18", _arg1, 30, 12); new aiAlienEgg("egg19", _arg1, 44, 12); new aiAlienEgg("egg20", _arg1, 44, 3); _local3.room(2); _local3.reset(); _local3.area(33, 21, 36, 23); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(27, 27, 32, 30); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(32, 28, 33, 30); _local2 = _local3.unit06(); _local3.reset(); _local3.area(36, 28, 37, 30); _local2 = _local3.unit06(); _local3.reset(); _local3.area(37, 26, 39, 30); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.room(3); _local3.reset(); _local3.area(39, 24, 43, 26); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(43, 30, 45, 33); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(33, 30, 35, 33); _local3.area(36, 30, 38, 33); _local3.area(33, 32, 39, 33); _local3.area(33, 30, 39, 31); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local3.room(4); _local3.reset(); _local3.area(21, 18, 25, 21); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(27, 14, 30, 17); _local3.area(27, 22, 30, 25); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.room(5); _local3.reset(); _local3.area(30, 12, 34, 14); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(36, 15, 39, 21); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local3.room(6); _local3.reset(); _local3.area(42, 12, 45, 16); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(39, 18, 45, 20); _local3.area(39, 21, 45, 24); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local3.room(7); _local3.reset(); _local3.area(18, 25, 22, 26); _local2 = _local3.unit04(); _local2 = _local3.unit04(); _local3.reset(); _local3.area(23, 21, 27, 23); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(21, 31, 27, 33); _local3.area(27, 30, 33, 33); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.room(8); _local3.reset(); _local3.area(9, 27, 12, 33); _local3.area(12, 30, 21, 33); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.room(9); _local3.reset(); _local3.area(15, 27, 18, 30); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.room(10); _local3.reset(); _local3.area(15, 24, 18, 27); _local2 = _local3.unit06(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(3, 24, 6, 29); _local2 = _local3.unit05(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(3, 30, 9, 33); _local2 = _local3.unit04(); _local2 = _local3.unit04(); _local3.room(11); _local3.reset(); _local3.area(7, 21, 9, 24); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(3, 15, 9, 18); _local2 = _local3.unit04(); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.room(12); _local3.reset(); _local3.area(15, 15, 18, 18); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local2.itemToRelease(new itemKey("yellow")); _local3.reset(); _local3.area(9, 17, 11, 24); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local2.itemToRelease(new itemKey("green")); _local3.reset(); _local3.area(12, 15, 14, 24); _local2 = _local3.unit06(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(19, 22, 21, 24); _local3.area(24, 15, 27, 18); _local2 = _local3.unit05(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); _local3.room(13); _local3.reset(); _local3.area(33, 3, 36, 12); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local3.room(14); _local3.reset(); _local3.area(40, 3, 45, 5); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(40, 10, 45, 12); _local2 = _local3.unit06(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(40, 6, 45, 9); _local3.area(39, 5, 41, 10); _local2 = _local3.unit05(); _local2 = _local3.unit05(); _local3.room(15); _local3.reset(); _local3.area(27, 3, 30, 6); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.room(16); _local3.reset(); _local3.area(18, 6, 21, 9); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local2.itemToRelease(new itemKey("red")); _local3.reset(); _local3.area(27, 6, 33, 9); _local2 = _local3.unit04(); _local2 = _local3.unit06(); _local3.reset(); _local3.area(24, 10, 27, 15); _local2 = _local3.unit05(); _local2 = _local3.unit05(); _local3.room(17); _local3.reset(); _local3.area(15, 9, 24, 11); _local3.area(15, 11, 18, 13); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); _local3.room(18); _local3.reset(); _local3.area(12, 9, 15, 12); _local3.area(18, 3, 24, 6); _local2 = _local3.unit05(); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); _local3.room(19); _local3.reset(); _local3.area(6, 9, 12, 11); _local3.area(6, 11, 8, 13); _local3.area(9, 11, 11, 13); _local2 = _local3.unit06(); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(3, 3, 6, 9); _local3.area(6, 6, 9, 9); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local3.reset(); _local3.area(3, 10, 6, 15); _local2 = _local3.unit04(); _local2 = _local3.unit05(); _local3.room(20); _local3.reset(); _local3.area(9, 7, 12, 9); _local3.area(10, 3, 12, 7); _local2 = _local3.unit06(); _local2 = _local3.unit06(); _local2 = _local3.unit05(); _local2 = _local3.unit04(); } } }//package
Section 338
//levelArea (levelArea) package { import sandy.core.data.*; public class levelArea { public var AREAS:RandomSelection; private var ROOMCOUNTER:Number; private var GAME:Object; private var ROOM:Number; public function levelArea(_arg1:Object){ AREAS = new RandomSelection(); GAME = _arg1; ROOM = 1; ROOMCOUNTER = 0; } public function unit01():Object{ var _local1:*; ROOMCOUNTER++; _local1 = ((("r" + ROOM) + "u") + ROOMCOUNTER); return (new aiUnitAlpha1(_local1, GAME, select())); } public function unit05():Object{ var _local1:*; ROOMCOUNTER++; _local1 = ((("r" + ROOM) + "u") + ROOMCOUNTER); return (new aiUnitScorpid2(_local1, GAME, select())); } public function room(_arg1:Number){ ROOM = _arg1; ROOMCOUNTER = 0; } public function area(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ var _local5:*; _local5 = new Object(); _local5.x1 = ((_arg1 * 100) + 50); _local5.z1 = ((_arg2 * 100) + 50); _local5.x2 = ((_arg3 * 100) - 50); _local5.z2 = ((_arg4 * 100) - 50); _local5.dx = (_local5.x2 - _local5.x1); _local5.dz = (_local5.z2 - _local5.z1); AREAS.choice(_local5, ((_local5.dx + 100) * (_local5.dz + 100))); } public function unit03():Object{ var _local1:*; ROOMCOUNTER++; _local1 = ((("r" + ROOM) + "u") + ROOMCOUNTER); return (new aiUnitMonster1(_local1, GAME, select())); } public function unit06():Object{ var _local1:*; ROOMCOUNTER++; _local1 = ((("r" + ROOM) + "u") + ROOMCOUNTER); return (new aiUnitMonster2(_local1, GAME, select())); } public function unit02():Object{ var _local1:*; ROOMCOUNTER++; _local1 = ((("r" + ROOM) + "u") + ROOMCOUNTER); return (new aiUnitScorpid1(_local1, GAME, select())); } public function unit04():Object{ var _local1:*; ROOMCOUNTER++; _local1 = ((("r" + ROOM) + "u") + ROOMCOUNTER); return (new aiUnitAlpha2(_local1, GAME, select())); } public function select():Vector{ var _local1:*; var _local2:Object; var _local3:*; _local1 = 0; while (_local1 < 5) { _local2 = AREAS.choose(); _local3 = new Vector(0, 0, 0); _local3.x = (_local2.x1 + Math.round((_local2.dx * Math.random()))); _local3.y = 0; _local3.z = (_local2.z1 + Math.round((_local2.dz * Math.random()))); if (glo.bal.GAME.unitInRange(_local3, 100) == null){ return (_local3); }; _local1++; }; return (_local3); } public function reset(){ AREAS.reset(); } } }//package
Section 339
//levelCeiling (levelCeiling) package { import gdk.fps.*; import gdk.*; import sandy.core.scenegraph.*; public class levelCeiling extends fpsNode { public var TEX2:gdkBitmapTexture; public var GOMQ:gdkShape; public var TEX3:gdkBitmapTexture; public var SHAPELQ:Shape3D; public var PLAYER:aiPlayer; public var SHAPEMQ:Shape3D; public var GOLQ:gdkShape; public function levelCeiling(){ super(null, 0, 0, 0, glo.bal.GAME.TEXLIB.CEIL1); TEX2 = glo.bal.GAME.TEXLIB.CEIL2; TEX3 = glo.bal.GAME.TEXLIB.CEIL3; } override public function loadNode(){ LOADED = true; opt_cli = true; opt_tex = true; glo.bal.LEVELCEILING = this; PLAYER = glo.bal.PLAYER; TEX.setTiling(3, 3); TEX2.setTiling(9, 9); TEX3.setTiling(31, 31); GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEZX_FC_HQ); GOMQ = GAME.GPOOL.getShape(GAME.GPOOL.PLANEZX_FC_MQ); GOLQ = GAME.GPOOL.getShape(GAME.GPOOL.PLANEZX_FC_LQ); SHAPE = GO.obj; SHAPEMQ = GOMQ.obj; SHAPELQ = GOLQ.obj; SHAPE.x = (SHAPEMQ.x = (SHAPELQ.x = ((Math.floor((PLAYER.POS.x / 100)) * 100) + 50))); SHAPE.y = (SHAPEMQ.y = (SHAPELQ.y = 75)); SHAPE.z = (SHAPEMQ.z = (SHAPELQ.z = ((Math.floor((PLAYER.POS.z / 100)) * 100) + 50))); SHAPE.rotateX = 180; SHAPE.rotateY = 0; SHAPE.rotateZ = 0; SHAPEMQ.rotateX = 180; SHAPEMQ.rotateY = 0; SHAPEMQ.rotateZ = 0; SHAPELQ.rotateX = 180; SHAPELQ.rotateY = 0; SHAPELQ.rotateZ = 0; SHAPE.appearance = TEX.HQ; SHAPEMQ.appearance = TEX2.HQ; SHAPELQ.appearance = TEX3.HQ; SHAPE.enableForcedDepth = true; SHAPE.forcedDepth = 2000; SHAPE.enableClipping = true; SHAPE.enableNearClipping = true; SHAPEMQ.enableForcedDepth = true; SHAPEMQ.forcedDepth = 2200; SHAPEMQ.enableClipping = true; SHAPEMQ.enableNearClipping = true; SHAPELQ.enableForcedDepth = true; SHAPELQ.forcedDepth = 2500; SHAPELQ.enableClipping = true; SHAPELQ.enableNearClipping = true; } public function nextState(){ SHAPE.x = (SHAPELQ.x = (SHAPEMQ.x = ((Math.floor((PLAYER.POS.x / 100)) * 100) + 50))); SHAPE.z = (SHAPELQ.z = (SHAPEMQ.z = ((Math.floor((PLAYER.POS.z / 100)) * 100) + 50))); } override public function destroy(){ super.destroy(); if (GOLQ){ GOLQ.release(); }; SHAPELQ = null; GOLQ = null; if (GOMQ){ GOMQ.release(); }; SHAPEMQ = null; GOMQ = null; } } }//package
Section 340
//levelFloor (levelFloor) package { import gdk.fps.*; import gdk.*; import sandy.core.scenegraph.*; public class levelFloor extends fpsNode { public var TEX2:gdkBitmapTexture; public var GOMQ:gdkShape; public var TEX3:gdkBitmapTexture; public var SHAPELQ:Shape3D; public var PLAYER:aiPlayer; public var SHAPEMQ:Shape3D; public var GOLQ:gdkShape; public function levelFloor(){ super(null, 0, 0, 0, glo.bal.GAME.TEXLIB.FLOOR1); TEX2 = glo.bal.GAME.TEXLIB.FLOOR2; TEX3 = glo.bal.GAME.TEXLIB.FLOOR3; } override public function loadNode(){ LOADED = true; opt_cli = true; opt_tex = true; glo.bal.LEVELFLOOR = this; PLAYER = glo.bal.PLAYER; TEX.setTiling(3, 3); TEX2.setTiling(9, 9); TEX3.setTiling(31, 31); GO = GAME.GPOOL.getShape(GAME.GPOOL.PLANEZX_FC_HQ); GOMQ = GAME.GPOOL.getShape(GAME.GPOOL.PLANEZX_FC_MQ); GOLQ = GAME.GPOOL.getShape(GAME.GPOOL.PLANEZX_FC_LQ); SHAPE = GO.obj; SHAPEMQ = GOMQ.obj; SHAPELQ = GOLQ.obj; SHAPE.x = (SHAPEMQ.x = (SHAPELQ.x = ((Math.floor((PLAYER.POS.x / 100)) * 100) + 50))); SHAPE.y = (SHAPEMQ.y = (SHAPELQ.y = 0)); SHAPE.z = (SHAPEMQ.z = (SHAPELQ.z = ((Math.floor((PLAYER.POS.z / 100)) * 100) + 50))); SHAPE.rotateX = 0; SHAPE.rotateY = 0; SHAPE.rotateZ = 0; SHAPEMQ.rotateX = 0; SHAPEMQ.rotateY = 0; SHAPEMQ.rotateZ = 0; SHAPELQ.rotateX = 0; SHAPELQ.rotateY = 0; SHAPELQ.rotateZ = 0; SHAPE.appearance = TEX.HQ; SHAPEMQ.appearance = TEX2.HQ; SHAPELQ.appearance = TEX3.HQ; SHAPE.enableForcedDepth = true; SHAPE.forcedDepth = 2000; SHAPE.enableClipping = true; SHAPE.enableNearClipping = true; SHAPEMQ.enableForcedDepth = true; SHAPEMQ.forcedDepth = 2200; SHAPEMQ.enableClipping = true; SHAPEMQ.enableNearClipping = true; SHAPELQ.enableForcedDepth = true; SHAPELQ.forcedDepth = 2500; SHAPELQ.enableClipping = true; SHAPELQ.enableNearClipping = true; } public function nextState(){ SHAPE.x = (SHAPELQ.x = (SHAPEMQ.x = ((Math.floor((PLAYER.POS.x / 100)) * 100) + 50))); SHAPE.z = (SHAPELQ.z = (SHAPEMQ.z = ((Math.floor((PLAYER.POS.z / 100)) * 100) + 50))); } override public function destroy(){ super.destroy(); if (GOLQ){ GOLQ.release(); }; SHAPELQ = null; GOLQ = null; if (GOMQ){ GOMQ.release(); }; SHAPEMQ = null; GOMQ = null; } } }//package
Section 341
//MapScene (MapScene) package { import gdk.fps.wbl.*; import flash.display.*; import flash.geom.*; public class MapScene extends MovieClip { private var WALL_5:BitmapData; private var WALL_3:BitmapData; private var WALL_4:BitmapData; private var DOOR_R:BitmapData; private var WALL_1:BitmapData; private var DOOR_Y:BitmapData; private var WALL_6:BitmapData; private var VISITED:BitmapData; private var WALL_2:BitmapData; private var R180:Number; private var BUFFER:BitmapData; private var BMP:Bitmap; private var SRCWALLS:Array; private var R000:Number; private var R090:Number; private var NOTHING:BitmapData; private var DOOR:BitmapData; private var DOOR_B:BitmapData; private var R270:Number; private var DOOR_G:BitmapData; public function MapScene(){ addFrameScript(0, frame1); R000 = 0; R090 = (Math.PI * 0.5); R180 = (Math.PI * 1); R270 = (Math.PI * 1.5); BUFFER = new BitmapData(240, 180, true, 0); BMP = new Bitmap(BUFFER); BMP.y = -(BUFFER.height); addChild(BMP); DOOR = new BitmapData(5, 2, false, 4293848814); DOOR_B = new BitmapData(5, 2, false, 4278255615); DOOR_G = new BitmapData(5, 2, false, 4278255360); DOOR_R = new BitmapData(5, 2, false, 4294901760); DOOR_Y = new BitmapData(5, 2, false, 4294967040); WALL_1 = new BitmapData(6, 2, false, 4288256409); WALL_2 = new BitmapData(11, 2, false, 4288256409); WALL_3 = new BitmapData(16, 2, false, 4288256409); WALL_4 = new BitmapData(21, 2, false, 4288256409); WALL_5 = new BitmapData(26, 2, false, 4288256409); WALL_6 = new BitmapData(31, 2, false, 4288256409); SRCWALLS = [WALL_1, WALL_2, WALL_3, WALL_4, WALL_5, WALL_6]; NOTHING = new BitmapData(5, 5, false, 0); NOTHING.lock(); NOTHING.setPixel(0, 0, 0x6600); NOTHING.setPixel(1, 1, 0x6600); NOTHING.setPixel(2, 2, 0x6600); NOTHING.setPixel(3, 3, 0x6600); NOTHING.setPixel(4, 4, 0x6600); NOTHING.setPixel(0, 4, 0x6600); NOTHING.setPixel(1, 3, 0x6600); NOTHING.setPixel(3, 1, 0x6600); NOTHING.setPixel(4, 0, 0x6600); NOTHING.unlock(); VISITED = new BitmapData(6, 6, false, 0x6600); } function frame1(){ stop(); } public function build(){ var _local1:Array; var _local2:Array; var _local3:Array; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Point; var _local8:BitmapData; var _local9:*; var _local10:Number; var _local11:Matrix; var _local12:wblWall; var _local13:wblDoor; if (glo.bal.GAME == null){ return; }; GAME = glo.bal.GAME; BUFFER.fillRect(BUFFER.rect, 0); _local1 = GAME.MAP.WALLS; _local2 = GAME.MAP.DOORS; _local3 = GAME.MAP.MAP; _local4 = GAME.MAP.NU; _local5 = GAME.MAP.NV; _local6 = 0; while (_local6 < _local4) { j = 0; while (j < _local5) { _local7 = new Point(); _local7.x = (_local3[_local6][j].u * 5); _local7.y = ((_local3[_local6][j].v * -5) + BUFFER.height); if (_local3[_local6][j].isfree){ if (_local3[_local6][j].fogofwar){ _local8 = null; } else { _local8 = VISITED; _local7.x = (_local7.x - 0.5); _local7.y = (_local7.y - 5.5); }; } else { _local8 = NOTHING; _local7.x = (_local7.x - 0); _local7.y = (_local7.y - 5); }; if (_local8){ BUFFER.copyPixels(_local8, _local8.rect, _local7); }; j++; }; _local6++; }; for (_local6 in _local1) { _local12 = _local1[_local6]; _local11 = new Matrix(); switch (_local12.o){ case wblWall.W_E: _local11.rotate(R000); _local9 = 0; _local10 = -1; break; case wblWall.E_W: _local11.rotate(R180); _local9 = 0.5; _local10 = 1; break; case wblWall.S_N: _local11.rotate(R270); _local9 = -1; _local10 = 0.5; break; case wblWall.N_S: _local11.rotate(R090); _local9 = 1; _local10 = 0; break; }; _local11.translate(((_local12.u * 5) + _local9), (((_local12.v * -5) + _local10) + BUFFER.height)); _local8 = SRCWALLS[(_local12.N - 1)]; BUFFER.draw(_local8, _local11); }; for (_local6 in _local2) { _local13 = _local2[_local6]; _local11 = new Matrix(); switch (_local13.o){ case wblWall.W_E: _local11.rotate(R000); _local9 = 0; _local10 = -1; break; case wblWall.E_W: _local11.rotate(R180); _local9 = 0; _local10 = 1; break; case wblWall.S_N: _local11.rotate(R270); _local9 = -1; _local10 = 0; break; case wblWall.N_S: _local11.rotate(R090); _local9 = 1; _local10 = 0; break; }; switch (_local13.KEY){ case "red": _local8 = DOOR_R; break; case "blue": _local8 = DOOR_B; break; case "green": _local8 = DOOR_G; break; case "yellow": _local8 = DOOR_Y; break; default: _local8 = DOOR; break; }; _local11.translate(((_local13.u * 5) + _local9), (((_local13.v * -5) + _local10) + BUFFER.height)); BUFFER.draw(_local8, _local11); }; } public function update(){ build(); } } }//package
Section 342
//MochiBot (MochiBot) package { import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function onError(_arg1:Event){ } public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local8.contentLoaderInfo.addEventListener("ioError", onError); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 343
//numbers (numbers) package { public class numbers { public static function formatSeconds(_arg1:Number){ var _local2:String; var _local3:String; var _local4:String; var _local5:Number; _local2 = ""; _local5 = (_arg1 / 60); _local5 = Math.floor(_local5); _local3 = (_local5 + ":"); if (_local3.length == 2){ _local3 = ("0" + _local3); }; _local2 = (_local2 + _local3); _arg1 = (_arg1 - (_local5 * 60)); _local4 = String(_arg1); if (_local4.length == 1){ _local4 = ("0" + _local4); }; _local2 = (_local2 + _local4); return (_local2); } public static function format(_arg1:Number){ var _local2:String; var _local3:String; var _local4:String; var _local5:String; var _local6:Number; var _local7:Number; _local2 = ""; _local6 = (_arg1 / 1000000); _local6 = Math.floor(_local6); if (_local6 > 0){ _local3 = (_local6 + ","); if (_local3.length == 2){ _local3 = ("00" + _local3); }; if (_local3.length == 3){ _local3 = ("0" + _local3); }; _local2 = (_local2 + _local3); _arg1 = (_arg1 - (_local6 * 1000000)); }; _local7 = (_arg1 / 1000); _local7 = Math.floor(_local7); if ((((_local7 > 0)) || ((_local6 > 0)))){ _local4 = (_local7 + ","); if (_local2.length > 0){ if (_local4.length == 2){ _local4 = ("00" + _local4); }; if (_local4.length == 3){ _local4 = ("0" + _local4); }; }; _local2 = (_local2 + _local4); _arg1 = (_arg1 - (_local7 * 1000)); }; _local5 = String(Math.round(_arg1)); if (_local2.length > 0){ if (_local5.length == 1){ _local5 = ("00" + _local5); }; if (_local5.length == 2){ _local5 = ("0" + _local5); }; }; _local2 = (_local2 + _local5); return (_local2); } } }//package
Section 344
//objPortal (objPortal) package { import gdk.fps.*; import sandy.core.data.*; import flash.geom.*; public class objPortal extends fpsObject { private var SEQ:Object; private var BP:Point; private var CF:Number; public function objPortal(_arg1:fpsRoom, _arg2:Vector, _arg3:Number=0){ super(_arg1, _arg2); TYPE = "portal"; DATA = {}; setFacing(false); setInteractive(true, 100); SEQ = GAME.BITMAPLIB.PORTAL; } override public function createSprite(){ SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.PORTAL); SPRITE.scale = 0.5; SPRITE.autoCenter = false; SPRITE.setBoundingSphereRadius(50); SPRITE.BMP.y = -150; BP = new Point(0, 0); CF = 0; } override protected function inInteractionRange(){ GAME.PLAYER.closeFromPortal(this); } override public function render(){ SEQ.getFrame(4, CF, SPRITE.BUFFER, BP); CF++; if (CF >= 38){ CF = 0; }; } override protected function outOfInteractionRange(){ GAME.PLAYER.farFromPortal(this); } } }//package
Section 345
//RandomSelection (RandomSelection) package { public class RandomSelection { private var C:Number; private var i:Number; private var TWEIGHT:Number; private var INDEX:Number; private var OPTIONS:Array; public function RandomSelection(){ reset(); } public function choice(_arg1:Object, _arg2:Number){ TWEIGHT = (TWEIGHT + _arg2); OPTIONS.push([_arg1, TWEIGHT]); } public function reset(){ OPTIONS = []; TWEIGHT = 0; } public function choose(){ INDEX = Math.round((Math.random() * TWEIGHT)); C = OPTIONS.length; i = 0; while (i < C) { if (INDEX <= OPTIONS[i][1]){ return (OPTIONS[i][0]); }; i++; }; trace("RandomSelection->choose() : Invalid index ???"); return (OPTIONS[0][0]); } } }//package
Section 346
//rpgExplosion (rpgExplosion) package { import gdk.fps.*; import gdk.sprite.*; import sandy.core.data.*; import flash.geom.*; public class rpgExplosion { private var SPRITE:gBitmapSprite; private var SEQi:Number; private var BP:Point; private var GAME:fpsGame; private var POS:Vector; private var SEQ:Object; public function rpgExplosion(_arg1:Vector){ GAME = glo.bal.GAME; POS = _arg1; SEQ = GAME.BITMAPLIB.RPG_EXPLOSION; SEQi = 1; SPRITE = GAME.GPOOL.getBitmapSprite(GAME.GPOOL.RPG_EXPLOSION); SPRITE.scale = 0.75; SPRITE.autoCenter = false; SPRITE.setBoundingSphereRadius(50); BP = new Point(0, 0); SPRITE.x = POS.x; SPRITE.y = POS.y; SPRITE.z = POS.z; GAME.animation(this, 25, nextState); } public function nextState(_arg1:Number, _arg2:Number){ if (_arg1 >= _arg2){ destroy(); return; }; SEQ.getFrame(SEQi, (_arg1 - 1), SPRITE.BUFFER, BP); SPRITE.forcedDepth = 1; if (_arg1 > 15){ SPRITE.BMP.alpha = (1 + ((15 - _arg1) / 10)); }; } public function destroy(){ if (SPRITE){ SPRITE.release(); }; SPRITE = null; BP = null; } } }//package
Section 347
//sasRoom (sasRoom) package { import gdk.fps.*; public class sasRoom extends fpsRoom { private var PLAYERINSIDE:Boolean; private var ACTIVATED:Boolean; public function sasRoom(_arg1:fpsGame, _arg2:Number){ super(_arg1, _arg2); PLAYERINSIDE = false; ACTIVATED = false; } override public function onLeaveRoom(){ PLAYERINSIDE = false; } public function useSAS(_arg1:Object){ if (!PLAYERINSIDE){ return; }; if (ACTIVATED){ return; }; ACTIVATED = true; GAME.PLAYER.useSAS(); } override public function onEnterRoom(){ PLAYERINSIDE = true; GAME.evt((16 * 1), useSAS); } } }//package
Section 348
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//package
Section 349
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//package
Section 350
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//package
Section 351
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//package
Section 352
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//package
Section 353
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//package
Section 354
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//package
Section 355
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//package
Section 356
//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//package
Section 357
//ScrollPane_disabledSkin (ScrollPane_disabledSkin) package { import flash.display.*; public dynamic class ScrollPane_disabledSkin extends MovieClip { } }//package
Section 358
//ScrollPane_upSkin (ScrollPane_upSkin) package { import flash.display.*; public dynamic class ScrollPane_upSkin extends MovieClip { } }//package
Section 359
//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//package
Section 360
//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//package
Section 361
//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//package
Section 362
//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//package
Section 363
//sfxClick (sfxClick) package { import flash.media.*; public dynamic class sfxClick extends Sound { } }//package
Section 364
//sfxCloak (sfxCloak) package { import flash.media.*; public dynamic class sfxCloak extends Sound { } }//package
Section 365
//sfxDie1 (sfxDie1) package { import flash.media.*; public dynamic class sfxDie1 extends Sound { } }//package
Section 366
//sfxDie2 (sfxDie2) package { import flash.media.*; public dynamic class sfxDie2 extends Sound { } }//package
Section 367
//sfxDie3 (sfxDie3) package { import flash.media.*; public dynamic class sfxDie3 extends Sound { } }//package
Section 368
//sfxDie4 (sfxDie4) package { import flash.media.*; public dynamic class sfxDie4 extends Sound { } }//package
Section 369
//sfxDie5 (sfxDie5) package { import flash.media.*; public dynamic class sfxDie5 extends Sound { } }//package
Section 370
//sfxDie6 (sfxDie6) package { import flash.media.*; public dynamic class sfxDie6 extends Sound { } }//package
Section 371
//sfxDoor (sfxDoor) package { import flash.media.*; public dynamic class sfxDoor extends Sound { } }//package
Section 372
//sfxDryFire (sfxDryFire) package { import flash.media.*; public dynamic class sfxDryFire extends Sound { } }//package
Section 373
//sfxExplosion (sfxExplosion) package { import flash.media.*; public dynamic class sfxExplosion extends Sound { } }//package
Section 374
//sfxFootStep1 (sfxFootStep1) package { import flash.media.*; public dynamic class sfxFootStep1 extends Sound { } }//package
Section 375
//sfxFootStep2 (sfxFootStep2) package { import flash.media.*; public dynamic class sfxFootStep2 extends Sound { } }//package
Section 376
//sfxGunLoop01 (sfxGunLoop01) package { import flash.media.*; public dynamic class sfxGunLoop01 extends Sound { } }//package
Section 377
//sfxHeal (sfxHeal) package { import flash.media.*; public dynamic class sfxHeal extends Sound { } }//package
Section 378
//sfxLoadingStinger (sfxLoadingStinger) package { import flash.media.*; public dynamic class sfxLoadingStinger extends Sound { } }//package
Section 379
//sfxPistol (sfxPistol) package { import flash.media.*; public dynamic class sfxPistol extends Sound { } }//package
Section 380
//sfxReload1 (sfxReload1) package { import flash.media.*; public dynamic class sfxReload1 extends Sound { } }//package
Section 381
//sfxRifleLoop (sfxRifleLoop) package { import flash.media.*; public dynamic class sfxRifleLoop extends Sound { } }//package
Section 382
//sfxRoar1 (sfxRoar1) package { import flash.media.*; public dynamic class sfxRoar1 extends Sound { } }//package
Section 383
//sfxRoar2 (sfxRoar2) package { import flash.media.*; public dynamic class sfxRoar2 extends Sound { } }//package
Section 384
//sfxRoar3 (sfxRoar3) package { import flash.media.*; public dynamic class sfxRoar3 extends Sound { } }//package
Section 385
//sfxRoar4 (sfxRoar4) package { import flash.media.*; public dynamic class sfxRoar4 extends Sound { } }//package
Section 386
//sfxRoar5 (sfxRoar5) package { import flash.media.*; public dynamic class sfxRoar5 extends Sound { } }//package
Section 387
//sfxRoar6 (sfxRoar6) package { import flash.media.*; public dynamic class sfxRoar6 extends Sound { } }//package
Section 388
//sfxRPG (sfxRPG) package { import flash.media.*; public dynamic class sfxRPG extends Sound { } }//package
Section 389
//sfxShield (sfxShield) package { import flash.media.*; public dynamic class sfxShield extends Sound { } }//package
Section 390
//sfxSplatter (sfxSplatter) package { import flash.media.*; public dynamic class sfxSplatter extends Sound { } }//package
Section 391
//sfxStinger1 (sfxStinger1) package { import flash.media.*; public dynamic class sfxStinger1 extends Sound { } }//package
Section 392
//sfxStinger2 (sfxStinger2) package { import flash.media.*; public dynamic class sfxStinger2 extends Sound { } }//package
Section 393
//sfxToggle (sfxToggle) package { import flash.media.*; public dynamic class sfxToggle extends Sound { } }//package
Section 394
//SliderThumb_disabledSkin (SliderThumb_disabledSkin) package { import flash.display.*; public dynamic class SliderThumb_disabledSkin extends MovieClip { } }//package
Section 395
//SliderThumb_downSkin (SliderThumb_downSkin) package { import flash.display.*; public dynamic class SliderThumb_downSkin extends MovieClip { } }//package
Section 396
//SliderThumb_overSkin (SliderThumb_overSkin) package { import flash.display.*; public dynamic class SliderThumb_overSkin extends MovieClip { } }//package
Section 397
//SliderThumb_upSkin (SliderThumb_upSkin) package { import flash.display.*; public dynamic class SliderThumb_upSkin extends MovieClip { } }//package
Section 398
//SliderTick_skin (SliderTick_skin) package { import flash.display.*; public dynamic class SliderTick_skin extends MovieClip { } }//package
Section 399
//SliderTrack_disabledSkin (SliderTrack_disabledSkin) package { import flash.display.*; public dynamic class SliderTrack_disabledSkin extends MovieClip { } }//package
Section 400
//SliderTrack_skin (SliderTrack_skin) package { import flash.display.*; public dynamic class SliderTrack_skin extends MovieClip { } }//package
Section 401
//spacerangerCS3 (spacerangerCS3) package { import flash.display.*; import flash.text.*; import flash.net.*; import flash.system.*; import flash.ui.*; public class spacerangerCS3 extends MovieClip { public var versionString:String; public var ok:Boolean; public var result:Object; public var build1:Number; public var build2:Number; public var pattern:RegExp; public var minor:Number; public var major:Number; public function spacerangerCS3(){ var _local1:TextFormat; var _local2:TextFormat; var _local3:TextFormat; var _local4:ContextMenu; var _local5:ContextMenuItem; super(); addFrameScript(0, frame1, 1, frame2, 19, frame20, 29, frame30, 39, frame40, 49, frame50, 59, frame60); glo.bal.GAMEID = "alienslayer"; glo.bal.GAME_ID = "alienslayer"; glo.bal.FRAMERATE = 16; Security.allowDomain("*"); Security.allowInsecureDomain("*"); glo.bal.LC = new LocalConnection(); glo.bal.DOMAIN = glo.bal.LC.domain; glo.bal.GAME_AUTH = false; glo.bal.GAME_AUTH = true; if (glo.bal.DOMAIN.indexOf("qigames.com") != -1){ glo.bal.GAME_AUTH = true; }; if (glo.bal.DOMAIN.indexOf("playnow3dgames.com") != -1){ glo.bal.GAME_AUTH = true; }; if (glo.bal.DOMAIN.indexOf("bubblebox.com") != -1){ glo.bal.GAME_AUTH = true; }; if (glo.bal.DOMAIN.indexOf("addictinggames.com") != -1){ glo.bal.GAME_AUTH = true; }; glo.bal.LOCALHOST = false; if (glo.bal.DOMAIN.indexOf("localhost") != -1){ glo.bal.LOCALHOST = true; }; glo.bal.URLREQ_QIGAMES = new URLRequest("http://www.qigames.com/index.php?game=alienslayer"); glo.bal.URLREQ_MOREGAMES = new URLRequest("http://www.qigames.com/index.php?game=alienslayer"); glo.bal.URLREQ_VIEWSCORES = new URLRequest("http://www.qigames.com/highscores.php?game=alienslayer"); glo.bal.URLREQ_PLAY = new URLRequest("http://www.qigames.com/game.php?id=alienslayer"); glo.bal.URLREQ_SANDY = new URLRequest("http://www.flashsandy.org"); glo.bal.URLREQ_FLASH = new URLRequest("http://www.adobe.com/go/getflashplayer"); glo.bal.URLREQ_BUBBLEBOX_LOADER = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=loader"); glo.bal.URLREQ_BUBBLEBOX_SPLASH = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=splash"); glo.bal.URLREQ_BUBBLEBOX_GAMEMENU = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=gamemenu"); glo.bal.URLREQ_BUBBLEBOX_MOREGAMES = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=moregames"); glo.bal.URLREQ_BUBBLEBOX_LEVELLOADING = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=levelloading"); glo.bal.URLREQ_BUBBLEBOX_GAMEOVER = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=gameover"); glo.bal.URLREQ_BUBBLEBOX_GAMECOMPLETED = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=gamecompleted"); glo.bal.URLREQ_BUBBLEBOX_PLAY = new URLRequest("http://www.bubblebox.com/game/action/1012.htm"); glo.bal.URLREQ_BUBBLEBOX_EMBED = new URLRequest("http://www.bubblebox.com/freecontent.htm"); glo.bal.URLREQ_BUBBLEBOX_VIEWSCORES = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1012&subid=viewscores&action=viewscores"); _local1 = new TextFormat("Ethnocentric"); _local1.bold = true; glo.bal.FORMAT01 = _local1; _local2 = new TextFormat("Ethnocentric"); _local2.bold = true; glo.bal.FORMAT02 = _local2; _local3 = new TextFormat("Ethnocentric"); _local3.bold = true; glo.bal.FORMAT03 = _local3; _local4 = new ContextMenu(); _local4.hideBuiltInItems(); contextMenu = _local4; _local5 = new ContextMenuItem("Alien Slayer 3D V1.05u"); ITEM2 = new ContextMenuItem("Copyright QiGames.com 2008"); ITEM2.separatorBefore = true; _local4.customItems.push(_local5); _local4.customItems.push(ITEM2); glo.bal.GAMES = gameData.getGames(); glo.bal.GAMES.sort(orderGames); } public function orderGames(_arg1:Object, _arg2:Object):Number{ if (_arg1.LASTMODIFIED > _arg2.LASTMODIFIED){ return (-1); }; if (_arg1.LASTMODIFIED < _arg2.LASTMODIFIED){ return (1); }; return (0); } function frame1(){ try { MochiBot.track(this, "31ab51b0"); } catch(e:Error) { }; } function frame2(){ stage.frameRate = 16; versionString = Capabilities.version; pattern = /^(\w*) (\d*),(\d*),(\d*),(\d*)$/; result = pattern.exec(versionString); if (result != null){ ok = true; major = Number(result[2]); minor = Number(result[3]); build1 = Number(result[4]); build2 = Number(result[5]); trace(((((((("Flash player version " + major) + ",") + minor) + ",") + build1) + ",") + build2)); if (major < 9){ ok = false; }; if (!ok){ trace("Flash player upgrade required"); gotoAndStop("flash9"); } else { gotoAndStop("dummy"); }; } else { trace("Unable to read flash player version."); gotoAndStop("dummy"); }; } function frame30(){ stop(); } function frame20(){ gotoAndStop("splash1"); } function frame40(){ stop(); stage.frameRate = 24; } function frame50(){ stop(); stage.frameRate = 16; } function frame60(){ stop(); } } }//package
Section 402
//SpaceRangerGame (SpaceRangerGame) package { import gdk.fps.*; import sandy.core.data.*; import gdk.fps.wbl.*; import sandy.math.*; public class SpaceRangerGame extends fpsGame { public function SpaceRangerGame(){ trace("Unique game instance created"); glo.bal.GAME = this; Matrix4.USE_FAST_MATH = true; Matrix4Math.USE_FAST_MATH = true; super(600, 300); CAM.near = 1; TEXLIB = new gTexLib(); GPOOL = new GraphicPool(); BITMAPLIB = new gBitmapLib(); glo.bal.HZ_ALPHA1 = new hzAlpha1(); glo.bal.HZ_SCORPID1 = new hzScorpid1(); glo.bal.HZ_MONSTER1 = new hzMonster1(); glo.bal.HZ_ALIENEGG = new hzAlienEgg(); createZone(new level01()); createZone(new level02()); createZone(new level03()); createZone(new level04()); } public function init(_arg1:Object=null){ if (!glo.bal.GAME_AUTH){ return; }; PLAYER = glo.bal.PLAYER; setZone((glo.bal.CGAME.CLEVEL - 1)); PLAYER.loadFogOfWar(); ready(); glo.bal.JUKEBOX.gameScore(); } override protected function onDestroy(){ PLAYER = null; glo.bal.JUKEBOX.stopGunLoop(); } override public function keepItem(_arg1:fpsItem):Boolean{ var _local2:*; var _local3:*; _local2 = glo.bal.CGAME.ITEMSPICKED; for (_local3 in _local2) { if (_arg1.OBJID == _local2[_local3]){ return (false); }; }; return (true); } override public function keepUnit(_arg1:fpsUnit):Boolean{ var _local2:*; var _local3:*; if (glo.bal.TEST_UNITS){ return (false); }; _local2 = glo.bal.CGAME.UNITSKILLED; for (_local3 in _local2) { if (_arg1.OBJID == _local2[_local3]){ return (false); }; }; return (true); } } }//package
Section 403
//splatter (splatter) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import flash.text.*; import flash.media.*; import flash.net.*; import flash.system.*; import flash.filters.*; import flash.ui.*; import flash.accessibility.*; import flash.errors.*; public dynamic class splatter extends MovieClip { public var rip2_mc:MovieClip; public var RIPS; public var INDEX; public var rip3_mc:MovieClip; public var rip1_mc:MovieClip; public var redflash:MovieClip; public function splatter(){ addFrameScript(0, frame1); } function frame1(){ stop(); glo.bal.CLAWRIPS = this; INDEX = 0; RIPS = [rip1_mc, rip2_mc, rip3_mc]; } public function hit(){ RIPS[INDEX].gotoAndPlay(2); RIPS[INDEX].x = (0 + Math.round((Math.random() * 400))); RIPS[INDEX].y = (100 + Math.round((Math.random() * 100))); INDEX++; if (INDEX >= RIPS.length){ INDEX = 0; }; } public function redFlash(){ redflash.gotoAndPlay(2); } } }//package
Section 404
//TextArea_disabledSkin (TextArea_disabledSkin) package { import flash.display.*; public dynamic class TextArea_disabledSkin extends MovieClip { } }//package
Section 405
//TextArea_upSkin (TextArea_upSkin) package { import flash.display.*; public dynamic class TextArea_upSkin extends MovieClip { } }//package
Section 406
//trkMaydayOnMars (trkMaydayOnMars) package { import flash.media.*; public dynamic class trkMaydayOnMars extends Sound { } }//package
Section 407
//trkRockTheFuture (trkRockTheFuture) package { import flash.media.*; public dynamic class trkRockTheFuture extends Sound { } }//package
Section 408
//trkSlogItOut (trkSlogItOut) package { import flash.media.*; public dynamic class trkSlogItOut extends Sound { } }//package
Section 409
//trkStopCP (trkStopCP) package { import flash.media.*; public dynamic class trkStopCP extends Sound { } }//package
Section 410
//uiCharacterSheet (uiCharacterSheet) package { import flash.display.*; import flash.events.*; import flash.text.*; import fl.containers.*; public class uiCharacterSheet extends MovieClip { public var ACTIVE:Boolean; public var player_txt:TextField; public var level_txt:TextField; public var xppoints_txt:TextField; public var SKILLSUI:MovieClip; public var BUTTONS:Array; public var ok_btn:SimpleButton; public var caption_txt:TextField; public var xp_txt:TextField; public var nextlevel_txt:TextField; public var scrollpane:ScrollPane; public function uiCharacterSheet(){ addFrameScript(0, frame1); glo.bal.CHARACTERSHEET = this; BUTTONS = [ok_btn]; ok_btn.addEventListener("click", btnOk); scrollpane.source = (SKILLSUI = new uiCharacterSkills()); caption_txt.antiAliasType = "advanced"; caption_txt.embedFonts = true; caption_txt.setTextFormat(glo.bal.FORMAT01); ACTIVE = false; deactivate(); } public function activate(){ var _local1:*; ACTIVE = true; visible = true; for (_local1 in BUTTONS) { BUTTONS[_local1].enabled = true; }; SKILLSUI.reset(); } function btnOk(_arg1:Event){ if (!ACTIVE){ return; }; glo.bal.PLAYER.toggleCharacterSheet(); } function frame1(){ stop(); } public function deactivate(){ var _local1:*; ACTIVE = false; visible = false; for (_local1 in BUTTONS) { BUTTONS[_local1].enabled = false; }; } function reset(){ xppoints_txt.text = glo.bal.PLAYER.XP_SKILLPOINTS; xp_txt.text = glo.bal.PLAYER.XP; nextlevel_txt.text = glo.bal.PLAYER.XP_NEXT_LEVEL; player_txt.text = glo.bal.CGAME.PLAYERNAME; level_txt.text = ("LEVEL " + glo.bal.PLAYER.XP_LEVEL); } } }//package
Section 411
//uiCharacterSkills (uiCharacterSkills) package { import flash.display.*; import flash.events.*; import flash.text.*; public class uiCharacterSkills extends MovieClip { public var COSTLABELS:Array; public var bar4_mc:MovieClip; public var skill4_btn:SimpleButton; public var skill8_btn:SimpleButton; public var up8_txt:TextField; public var up4_txt:TextField; public var skill4_txt:TextField; public var skill8_txt:TextField; public var cost4_txt:TextField; public var cost8_txt:TextField; public var bar5_mc:MovieClip; public var skill3_btn:SimpleButton; public var skill7_btn:SimpleButton; public var MAXLEVEL:Array; public var up3_txt:TextField; public var up7_txt:TextField; public var skill3_txt:TextField; public var skill7_txt:TextField; public var cost7_txt:TextField; public var cost3_txt:TextField; public var bar6_mc:MovieClip; public var bar1_mc:MovieClip; public var skill2_btn:SimpleButton; public var skill6_btn:SimpleButton; public var up6_txt:TextField; public var up2_txt:TextField; public var bar7_mc:MovieClip; public var skill2_txt:TextField; public var skill6_txt:TextField; public var cost2_txt:TextField; public var cost6_txt:TextField; public var bar2_mc:MovieClip; public var DOTBARS:Array; public var BUTTONS:Array; public var bar8_mc:MovieClip; public var skill1_btn:SimpleButton; public var skill5_btn:SimpleButton; public var up1_txt:TextField; public var skill1_txt:TextField; public var up5_txt:TextField; public var cost1_txt:TextField; public var cost5_txt:TextField; public var bar3_mc:MovieClip; public var COST:Array; public var skill5_txt:TextField; public function uiCharacterSkills(){ COST = []; COST.push([2, 3, 5, 8]); COST.push([2, 3, 5, 8]); COST.push([1, 2, 3, 5]); COST.push([1, 2, 3, 5]); COST.push([2, 3, 5, 8]); COST.push([3, 5]); COST.push([3, 5]); COST.push([5, 8]); MAXLEVEL = [4, 4, 4, 4, 4, 2, 2, 2]; COSTLABELS = [cost1_txt, cost2_txt, cost3_txt, cost4_txt, cost5_txt, cost6_txt, cost7_txt, cost8_txt]; BUTTONS = [skill1_btn, skill2_btn, skill3_btn, skill4_btn, skill5_btn, skill6_btn, skill7_btn, skill8_btn]; skill1_btn.addEventListener("click", btnSkill1); skill2_btn.addEventListener("click", btnSkill2); skill3_btn.addEventListener("click", btnSkill3); skill4_btn.addEventListener("click", btnSkill4); skill5_btn.addEventListener("click", btnSkill5); skill6_btn.addEventListener("click", btnSkill6); skill7_btn.addEventListener("click", btnSkill7); skill8_btn.addEventListener("click", btnSkill8); DOTBARS = [bar1_mc, bar2_mc, bar3_mc, bar4_mc, bar5_mc, bar6_mc, bar7_mc, bar8_mc]; up1_txt.antiAliasType = "advanced"; up1_txt.embedFonts = true; up1_txt.setTextFormat(glo.bal.FORMAT01); up1_txt.defaultTextFormat = glo.bal.FORMAT01; up2_txt.antiAliasType = "advanced"; up2_txt.embedFonts = true; up2_txt.setTextFormat(glo.bal.FORMAT01); up2_txt.defaultTextFormat = glo.bal.FORMAT01; up3_txt.antiAliasType = "advanced"; up3_txt.embedFonts = true; up3_txt.setTextFormat(glo.bal.FORMAT01); up3_txt.defaultTextFormat = glo.bal.FORMAT01; up4_txt.antiAliasType = "advanced"; up4_txt.embedFonts = true; up4_txt.setTextFormat(glo.bal.FORMAT01); up4_txt.defaultTextFormat = glo.bal.FORMAT01; up5_txt.antiAliasType = "advanced"; up5_txt.embedFonts = true; up5_txt.setTextFormat(glo.bal.FORMAT01); up5_txt.defaultTextFormat = glo.bal.FORMAT01; up6_txt.antiAliasType = "advanced"; up6_txt.embedFonts = true; up6_txt.setTextFormat(glo.bal.FORMAT01); up6_txt.defaultTextFormat = glo.bal.FORMAT01; up7_txt.antiAliasType = "advanced"; up7_txt.embedFonts = true; up7_txt.setTextFormat(glo.bal.FORMAT01); up7_txt.defaultTextFormat = glo.bal.FORMAT01; up8_txt.antiAliasType = "advanced"; up8_txt.embedFonts = true; up8_txt.setTextFormat(glo.bal.FORMAT01); up8_txt.defaultTextFormat = glo.bal.FORMAT01; } function reset(){ var _local1:*; var _local2:*; _local1 = glo.bal.PLAYER.UPGRADES; for (_local2 in _local1) { DOTBARS[_local2].gotoAndStop((_local1[_local2] + 1)); if (_local1[_local2] < MAXLEVEL[_local2]){ if (COST[_local2][_local1[_local2]] <= glo.bal.PLAYER.XP_SKILLPOINTS){ BUTTONS[_local2].enabled = true; BUTTONS[_local2].visible = true; } else { BUTTONS[_local2].enabled = false; BUTTONS[_local2].visible = false; }; COSTLABELS[_local2].text = COST[_local2][_local1[_local2]]; } else { COSTLABELS[_local2].text = ""; BUTTONS[_local2].enabled = false; BUTTONS[_local2].visible = false; }; }; glo.bal.CHARACTERSHEET.reset(); } function btnSkill1(_arg1:Event){ upgradeSkill(0); } function btnSkill2(_arg1:Event){ upgradeSkill(1); } function btnSkill4(_arg1:Event){ upgradeSkill(3); } function btnSkill6(_arg1:Event){ upgradeSkill(5); } function btnSkill7(_arg1:Event){ upgradeSkill(6); } function btnSkill8(_arg1:Event){ upgradeSkill(7); } function btnSkill3(_arg1:Event){ upgradeSkill(2); } function btnSkill5(_arg1:Event){ upgradeSkill(4); } function upgradeSkill(_arg1:Number):Boolean{ if (glo.bal.PLAYER.UPGRADES[_arg1] >= MAXLEVEL[_arg1]){ return; }; if (COST[_arg1][glo.bal.PLAYER.UPGRADES[_arg1]] > glo.bal.PLAYER.XP_SKILLPOINTS){ return (false); }; glo.bal.PLAYER.XP_SKILLPOINTS = (glo.bal.PLAYER.XP_SKILLPOINTS - COST[_arg1][glo.bal.PLAYER.UPGRADES[_arg1]]); var _local2 = glo.bal.PLAYER.UPGRADES; var _local3 = _arg1; var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; reset(); return (true); } } }//package
Section 412
//UnitHealthBar (UnitHealthBar) package { import flash.display.*; import flash.geom.*; public class UnitHealthBar { private var BRECT:Rectangle; private var GRECT:Rectangle; public function UnitHealthBar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ BRECT = new Rectangle(_arg1, _arg2, _arg3, _arg4); GRECT = new Rectangle(_arg1, _arg2, _arg3, _arg4); } public function nextState(_arg1:BitmapData, _arg2:Number){ GRECT.width = Math.round((_arg2 * BRECT.width)); _arg1.fillRect(BRECT, 2569151010); _arg1.fillRect(GRECT, 3422617344); } } }//package
Section 413
//UnitHitZone (UnitHitZone) package { public class UnitHitZone { private var PARTS:Array; private var NPARTS:Number; private var NMOVES:Number; private var ZONES:Array; public function UnitHitZone(_arg1:Number){ var _local2:Number; super(); NMOVES = _arg1; NPARTS = 0; PARTS = []; ZONES = []; _local2 = 0; while (_local2 < NMOVES) { ZONES.push([]); _local2++; }; } public function insertZone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ ZONES[_arg1][_arg2].push({x:_arg3, y:_arg4, w:_arg5, h:_arg6, factor:PARTS[_arg2].factor, part:PARTS[_arg2].id}); } public function getHitZones(_arg1:Number, _arg2:Number){ var HZ:Array; var i:Number; var _MOVEi = _arg1; var _FRAMEi = _arg2; HZ = []; try { i = 0; while (i < NPARTS) { HZ.push(ZONES[_MOVEi][i][_FRAMEi]); i = (i + 1); }; } catch(e:Error) { trace("UnitHitZone->getHitZones : ERROR"); }; return (HZ); } public function insertPart(_arg1:String, _arg2:Number){ var _local3:Number; NPARTS++; PARTS.push({id:_arg1, factor:_arg2}); _local3 = 0; while (_local3 < NMOVES) { ZONES[_local3].push([]); _local3++; }; } } }//package
Section 414
//util (util) package { public class util { public static var D2R:Number = 0.0174532925199433; public static var R2D:Number = 57.2957795130823; public static var TWO_PI:Number = 6.28318530717959; public static function copyArray(_arg1:Array):Array{ var _local2:Number; var _local3:Number; var _local4:Array; _local3 = _arg1.length; _local4 = []; _local2 = 0; while (_local2 < _local3) { _local4.push(_arg1[_local2]); _local2++; }; return (_local4); } public static function resolveQuadratic(_arg1:Number, _arg2:Number, _arg3:Number):Array{ var _local4:Array; var _local5:Number; var _local6:Number; _local4 = [0, 0]; _local5 = ((_arg2 * _arg2) - ((4 * _arg1) * _arg3)); if (_local5 < 0){ return (undefined); }; _local6 = Math.sqrt(_local5); _local4[0] = ((-(_arg2) - _local6) / (2 * _arg1)); _local4[1] = ((-(_arg2) + _local6) / (2 * _arg1)); return (_local4); } } }//package
Section 415
//wall01 (wall01) package { import flash.display.*; public dynamic class wall01 extends BitmapData { public function wall01(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 416
//wall02 (wall02) package { import flash.display.*; public dynamic class wall02 extends BitmapData { public function wall02(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 417
//wallTexture (wallTexture) package { import flash.display.*; import gdk.*; import sandy.materials.*; import sandy.materials.attributes.*; public class wallTexture extends gdkTexture { public var TEXx4:gdkTexture; public var TEXx2:gdkTexture; public var TEXx5:gdkTexture; public var TEXx6:gdkTexture; public var TEXx3:gdkTexture; public function wallTexture(_arg1:BitmapData=null){ var _local2:Material; var _local3:Material; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; var _local11:*; var _local12:*; var _local13:*; var _local14:*; var _local15:*; if (glo.bal.PC_OPTION == 1){ _local2 = new BitmapMaterial(_arg1, null, 0); _local3 = new BitmapMaterial(_arg1, null, 50); _local4 = new BitmapMaterial(_arg1, null, 0); _local5 = new BitmapMaterial(_arg1, null, 50); _local6 = new BitmapMaterial(_arg1, null, 0); _local7 = new BitmapMaterial(_arg1, null, 50); _local8 = new BitmapMaterial(_arg1, null, 0); _local9 = new BitmapMaterial(_arg1, null, 50); _local10 = new BitmapMaterial(_arg1, null, 0); _local11 = new BitmapMaterial(_arg1, null, 50); _local12 = new BitmapMaterial(_arg1, null, 0); _local13 = new BitmapMaterial(_arg1, null, 50); _local4.setTiling(2, 1); _local5.setTiling(2, 1); _local6.setTiling(3, 1); _local7.setTiling(3, 1); _local8.setTiling(4, 1); _local9.setTiling(4, 1); _local10.setTiling(5, 1); _local11.setTiling(5, 1); _local12.setTiling(6, 1); _local13.setTiling(6, 1); TEXx2 = new gdkTexture(_local4, _local5); TEXx3 = new gdkTexture(_local6, _local7); TEXx4 = new gdkTexture(_local8, _local9); TEXx5 = new gdkTexture(_local10, _local11); TEXx6 = new gdkTexture(_local12, _local13); _arg1.dispose(); } else { _local14 = new LineAttributes(2, 0x333333); _local15 = new MaterialAttributes(_local14); _local2 = new ColorMaterial(0xCCCCCC, 1, _local15); _local3 = new ColorMaterial(0xCCCCCC, 1, _local15); }; super(_local2, _local3); } } }//package
Section 418
//wire_door01F (wire_door01F) package { import flash.display.*; public dynamic class wire_door01F extends BitmapData { public function wire_door01F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 419
//wire_door01L (wire_door01L) package { import flash.display.*; public dynamic class wire_door01L extends BitmapData { public function wire_door01L(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 420
//wire_door01R (wire_door01R) package { import flash.display.*; public dynamic class wire_door01R extends BitmapData { public function wire_door01R(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 421
//wire_door03F (wire_door03F) package { import flash.display.*; public dynamic class wire_door03F extends BitmapData { public function wire_door03F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 422
//wire_door03L (wire_door03L) package { import flash.display.*; public dynamic class wire_door03L extends BitmapData { public function wire_door03L(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 423
//wire_door03R (wire_door03R) package { import flash.display.*; public dynamic class wire_door03R extends BitmapData { public function wire_door03R(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 424
//wire_door04F (wire_door04F) package { import flash.display.*; public dynamic class wire_door04F extends BitmapData { public function wire_door04F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 425
//wire_door05F (wire_door05F) package { import flash.display.*; public dynamic class wire_door05F extends BitmapData { public function wire_door05F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 426
//wire_door06F (wire_door06F) package { import flash.display.*; public dynamic class wire_door06F extends BitmapData { public function wire_door06F(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package

Library Items

Symbol 1 Font {fEthnocentric}Used by:185 505 969 1004 1010 1013 1016 1019 1022 1025 1063 1067 1068 1070 1071 1072 1073 1075 1078 1079 1082 1084 1085 1088 1094 1097 1098 1099 1100 1101 1107 1108 1110 1112 1114 1127 1128 1129 1130 1132 1133 1136 1139 1143 1144 1145 1146 1148 1267 1276 1310 1343 1345 1347 1350 1356 1357 1359 1363 1364 1365 1366 1374 1387 1390 1396 1430 1431 1432 1433 1440 1443 1446 1449 1453 1456 1465 1486 1487 1488 1489
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:36 37 95 107 140
Symbol 4 MovieClip {fl.core.ComponentShim}Used by:36 37 94 95 107 140
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClip {TextArea_disabledSkin}Uses:5Used by:37
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClip {TextArea_upSkin}Uses:7Used by:37
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClip {focusRectSkin}Uses:9Used by:36 37 94 107 140
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClip {ScrollTrack_skin}Uses:11Used by:36 94
Symbol 13 GraphicUsed by:16
Symbol 14 GraphicUsed by:15 18 21 30
Symbol 15 MovieClipUses:14Used by:16 25 27
Symbol 16 MovieClip {ScrollArrowUp_downSkin}Uses:13 15Used by:36 94
Symbol 17 GraphicUsed by:18 21 30 33
Symbol 18 MovieClip {ScrollArrowDown_downSkin}Uses:17 14Used by:36 94
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClip {ScrollThumb_downSkin}Uses:19Used by:36 94
Symbol 21 MovieClip {ScrollArrowDown_overSkin}Uses:17 14Used by:36 94
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClip {ScrollThumb_overSkin}Uses:22Used by:36 94
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClip {ScrollArrowUp_overSkin}Uses:24 15Used by:36 94
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClip {ScrollArrowUp_upSkin}Uses:26 15Used by:36 94
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClip {ScrollThumb_upSkin}Uses:28Used by:36 94
Symbol 30 MovieClip {ScrollArrowDown_upSkin}Uses:17 14Used by:36 94
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClip {ScrollArrowDown_disabledSkin}Uses:31Used by:36 94
Symbol 33 MovieClip {ScrollArrowUp_disabledSkin}Uses:17Used by:36 94
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClip {ScrollBar_thumbIcon}Uses:34Used by:36 94
Symbol 36 MovieClip {fl.controls.UIScrollBar}Uses:3 4 10 12 16 18 20 21 23 25 27 29 30 32 33 35Used by:37
Symbol 37 MovieClip {fl.controls.TextArea}Uses:3 4 6 8 10 36
Symbol 38 BitmapUsed by:39 41 42 43 62 63
Symbol 39 GraphicUses:38Used by:45
Symbol 40 BitmapUsed by:41 42 43 44 63 64
Symbol 41 GraphicUses:38 40Used by:45
Symbol 42 GraphicUses:38 40Used by:45
Symbol 43 GraphicUses:38 40Used by:45
Symbol 44 GraphicUses:40Used by:45
Symbol 45 MovieClip {spacerangerCS3_fla.dot_bar4_346}Uses:39 41 42 43 44Used by:87
Symbol 46 GraphicUsed by:47 50 146 160 165 196 280 416 419 453 509 909 914 919 971 1077 1342 1398 1409 1415 1421 1482 1485
Symbol 47 MovieClipUses:46Used by:49 189 282 440 453 456 971 1077 1090 1341 1358 1378 1379 1398 1421 1423 1427 1452 1472 1482 1565 1566  Timeline
Symbol 48 GraphicUsed by:49 50
Symbol 49 MovieClipUses:47 48Used by:50
Symbol 50 ButtonUses:49 46 48Used by:87
Symbol 51 FontUsed by:52 53 54 55 56 57 58 59 60 61 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 167 168 169 170 171 401 421 422 423 427 428 429 431 435 436 437 439 441 442 443 445 446 450 454 496 497 922 923 924 925 926 927 928 976 977 978 1030 1031 1032 1033 1034 1035 1036 1044 1045 1054 1061 1069 1109 1111 1113 1115 1117 1118 1119 1120 1125 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1269 1270 1271 1272 1273 1274 1284 1285 1288 1289 1290 1291 1292 1293 1294 1295 1296 1306 1311 1319 1321 1323 1325 1331 1332 1333 1334 1335 1336 1337 1338 1367 1368 1369 1370 1371 1372 1373 1417 1418 1419 1420 1436 1437
Symbol 52 EditableTextUses:51Used by:87
Symbol 53 TextUses:51Used by:87
Symbol 54 EditableTextUses:51Used by:87
Symbol 55 EditableTextUses:51Used by:87
Symbol 56 EditableTextUses:51Used by:87
Symbol 57 TextUses:51Used by:87
Symbol 58 TextUses:51Used by:87
Symbol 59 TextUses:51Used by:87
Symbol 60 TextUses:51Used by:87
Symbol 61 EditableTextUses:51Used by:87
Symbol 62 GraphicUses:38Used by:65
Symbol 63 GraphicUses:38 40Used by:65
Symbol 64 GraphicUses:40Used by:65
Symbol 65 MovieClip {spacerangerCS3_fla.dot_bar2_349}Uses:62 63 64Used by:87
Symbol 66 EditableTextUses:51Used by:87
Symbol 67 TextUses:51Used by:87
Symbol 68 EditableTextUses:51Used by:87
Symbol 69 TextUses:51Used by:87
Symbol 70 EditableTextUses:51Used by:87
Symbol 71 TextUses:51Used by:87
Symbol 72 TextUses:51Used by:87
Symbol 73 TextUses:51Used by:87
Symbol 74 TextUses:51Used by:87
Symbol 75 EditableTextUses:51Used by:87
Symbol 76 EditableTextUses:51Used by:87
Symbol 77 EditableTextUses:51Used by:87
Symbol 78 EditableTextUses:51Used by:87
Symbol 79 EditableTextUses:51Used by:87
Symbol 80 EditableTextUses:51Used by:87
Symbol 81 EditableTextUses:51Used by:87
Symbol 82 EditableTextUses:51Used by:87
Symbol 83 TextUses:51Used by:87
Symbol 84 TextUses:51Used by:87
Symbol 85 TextUses:51Used by:87
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClip {uiCharacterSkills}Uses:45 50 52 53 54 55 56 57 58 59 60 61 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClipUses:88Used by:92 93
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClipUses:90Used by:92 93
Symbol 92 MovieClip {ScrollPane_disabledSkin}Uses:89 91Used by:95
Symbol 93 MovieClip {ScrollPane_upSkin}Uses:89 91Used by:95
Symbol 94 MovieClip {fl.controls.ScrollBar}Uses:12 4 10 16 18 20 21 23 25 27 29 30 32 33 35Used by:95
Symbol 95 MovieClip {fl.containers.ScrollPane}Uses:3 4 92 93 94Used by:1344
Symbol 96 GraphicUsed by:97 98 99 100
Symbol 97 MovieClip {SliderThumb_upSkin}Uses:96Used by:107
Symbol 98 MovieClip {SliderThumb_overSkin}Uses:96Used by:107
Symbol 99 MovieClip {SliderThumb_downSkin}Uses:96Used by:107
Symbol 100 MovieClip {SliderThumb_disabledSkin}Uses:96Used by:107
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClip {SliderTrack_skin}Uses:101Used by:107
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClip {SliderTick_skin}Uses:103Used by:107
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClip {SliderTrack_disabledSkin}Uses:105Used by:107
Symbol 107 MovieClip {fl.controls.Slider}Uses:3 4 97 98 99 100 102 104 106 10Used by:1102
Symbol 108 BitmapUsed by:109
Symbol 109 GraphicUses:108Used by:110
Symbol 110 MovieClipUses:109Used by:111
Symbol 111 MovieClip {spacerangerCS3_fla.firepistol_86}Uses:110Used by:114
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:114
Symbol 114 MovieClip {spacerangerCS3_fla.pistol_85}Uses:111 113Used by:122
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:117
Symbol 117 MovieClipUses:116Used by:118
Symbol 118 MovieClip {spacerangerCS3_fla.fireubergun_89}Uses:117Used by:121
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClip {spacerangerCS3_fla.ubergun_88}Uses:118 120Used by:122
Symbol 122 MovieClip {spacerangerCS3_fla.bodymoves_84}Uses:114 121Used by:124
Symbol 123 MovieClipUsed by:124
Symbol 124 MovieClip {aiPlayer}Uses:122 123Used by:1379
Symbol 125 GraphicUsed by:126 135
Symbol 126 MovieClip {CheckBox_upIcon}Uses:125Used by:140
Symbol 127 GraphicUsed by:128 136
Symbol 128 MovieClip {CheckBox_overIcon}Uses:127Used by:140
Symbol 129 GraphicUsed by:130 137
Symbol 130 MovieClip {CheckBox_downIcon}Uses:129Used by:140
Symbol 131 GraphicUsed by:132
Symbol 132 MovieClip {CheckBox_disabledIcon}Uses:131Used by:140
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClipUses:133Used by:135 136 137 139
Symbol 135 MovieClip {CheckBox_selectedUpIcon}Uses:125 134Used by:140
Symbol 136 MovieClip {CheckBox_selectedOverIcon}Uses:127 134Used by:140
Symbol 137 MovieClip {CheckBox_selectedDownIcon}Uses:129 134Used by:140
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClip {CheckBox_selectedDisabledIcon}Uses:138 134Used by:140
Symbol 140 MovieClip {fl.controls.CheckBox}Uses:3 4 126 128 130 132 135 136 137 139 10Used by:444
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:189 282
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:145 146
Symbol 145 MovieClipUses:144Used by:146
Symbol 146 ButtonUses:145 46 144Used by:189 1089 1358
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:149
Symbol 149 MovieClipUses:148Used by:160
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:152 1421
Symbol 152 MovieClipUses:151Used by:153 163
Symbol 153 MovieClipUses:152Used by:160 408 409 1482
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:156 160
Symbol 156 MovieClipUses:155Used by:160
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:159 160 1421 1482
Symbol 159 MovieClipUses:158Used by:160 1482
Symbol 160 ButtonUses:149 153 156 159 46 155 158Used by:189 1089 1358
Symbol 161 GraphicUsed by:162
Symbol 162 MovieClipUses:161Used by:163 164 184 458
Symbol 163 MovieClipUses:162 152Used by:189
Symbol 164 MovieClipUses:162Used by:166
Symbol 165 MovieClipUses:46Used by:166
Symbol 166 MovieClip {spacerangerCS3_fla.bar_13}Uses:164 165Used by:189
Symbol 167 EditableTextUses:51Used by:189
Symbol 168 EditableTextUses:51Used by:189
Symbol 169 EditableTextUses:51Used by:189
Symbol 170 EditableTextUses:51Used by:189
Symbol 171 TextUses:51Used by:189
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:174 1423 1452 1472
Symbol 174 MovieClipUses:173Used by:189
Symbol 175 FontUsed by:176 177 178 179
Symbol 176 EditableTextUses:175Used by:184
Symbol 177 EditableTextUses:175Used by:184
Symbol 178 EditableTextUses:175 180Used by:184
Symbol 179 EditableTextUses:175 180Used by:184
Symbol 180 FontUsed by:178 179 181 182 192 193 194 195 1301 1302 1303 1304 1305 1307 1308 1309 1312 1313 1314 1315 1320 1322 1324 1326 1403 1404 1406 1407
Symbol 181 EditableTextUses:180Used by:183
Symbol 182 EditableTextUses:180Used by:183
Symbol 183 ButtonUses:181 182Used by:184
Symbol 184 MovieClip {spacerangerCS3_fla.versionlocked_17}Uses:162 176 177 178 179 183Used by:189
Symbol 185 EditableTextUses:1Used by:186 188
Symbol 186 MovieClip {spacerangerCS3_fla.playtext_21}Uses:185Used by:187
Symbol 187 MovieClipUses:186Used by:188
Symbol 188 ButtonUses:187 185Used by:189
Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2}Uses:142 47 146 160 163 166 167 168 169 170 171 174 184 188Used by:Timeline
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:197
Symbol 192 EditableTextUses:180Used by:197
Symbol 193 EditableTextUses:180Used by:197
Symbol 194 EditableTextUses:180Used by:197
Symbol 195 EditableTextUses:180Used by:197
Symbol 196 ButtonUses:46Used by:197
Symbol 197 MovieClip {spacerangerCS3_fla.flash9required_22}Uses:191 192 193 194 195 196Used by:Timeline
Symbol 198 Bitmap {door01F}Used by:257
Symbol 199 Bitmap {door01L}Used by:257
Symbol 200 Bitmap {door01R}Used by:257
Symbol 201 Bitmap {door03F}Used by:257
Symbol 202 Bitmap {door03L}Used by:257
Symbol 203 Bitmap {door03R}Used by:257
Symbol 204 Bitmap {door04F}Used by:257
Symbol 205 Bitmap {door04L}Used by:257
Symbol 206 Bitmap {door04R}Used by:257
Symbol 207 Bitmap {door05F}Used by:257
Symbol 208 Bitmap {door06F}Used by:257
Symbol 209 Bitmap {wire_door01F}Used by:257
Symbol 210 Bitmap {wire_door01L}Used by:257
Symbol 211 Bitmap {wire_door01R}Used by:257
Symbol 212 Bitmap {wire_door03F}Used by:257
Symbol 213 Bitmap {wire_door03L}Used by:257
Symbol 214 Bitmap {wire_door03R}Used by:257
Symbol 215 Bitmap {wire_door04F}Used by:257
Symbol 216 Bitmap {wire_door05F}Used by:257
Symbol 217 Bitmap {wire_door06F}Used by:257
Symbol 218 Bitmap {floor01}Used by:257
Symbol 219 Bitmap {ceil01}Used by:257
Symbol 220 Bitmap {wall01}Used by:257
Symbol 221 Bitmap {wall02}Used by:257
Symbol 222 Sound {trkSlogItOut}Used by:257
Symbol 223 Sound {trkRockTheFuture}Used by:257
Symbol 224 Sound {trkStopCP}Used by:257
Symbol 225 Sound {trkMaydayOnMars}Used by:257
Symbol 226 Sound {sfxLoadingStinger}Used by:257
Symbol 227 Sound {sfxStinger1}Used by:257
Symbol 228 Sound {sfxStinger2}Used by:257
Symbol 229 Sound {sfxClick}Used by:257
Symbol 230 Sound {sfxPistol}Used by:257
Symbol 231 Sound {sfxRifleLoop}Used by:257
Symbol 232 Sound {sfxGunLoop01}Used by:257
Symbol 233 Sound {sfxFootStep1}Used by:257
Symbol 234 Sound {sfxFootStep2}Used by:257
Symbol 235 Sound {sfxHeal}Used by:257
Symbol 236 Sound {sfxCloak}Used by:257
Symbol 237 Sound {sfxShield}Used by:257
Symbol 238 Sound {sfxReload1}Used by:257
Symbol 239 Sound {sfxDryFire}Used by:257
Symbol 240 Sound {sfxToggle}Used by:257
Symbol 241 Sound {sfxDoor}Used by:257
Symbol 242 Sound {sfxRoar1}Used by:257
Symbol 243 Sound {sfxRoar2}Used by:257
Symbol 244 Sound {sfxRoar3}Used by:257
Symbol 245 Sound {sfxRoar4}Used by:257
Symbol 246 Sound {sfxRoar5}Used by:257
Symbol 247 Sound {sfxRoar6}Used by:257
Symbol 248 Sound {sfxDie1}Used by:257
Symbol 249 Sound {sfxDie2}Used by:257
Symbol 250 Sound {sfxDie3}Used by:257
Symbol 251 Sound {sfxDie4}Used by:257
Symbol 252 Sound {sfxDie5}Used by:257
Symbol 253 Sound {sfxDie6}Used by:257
Symbol 254 Sound {sfxRPG}Used by:257
Symbol 255 Sound {sfxExplosion}Used by:257
Symbol 256 Sound {sfxSplatter}Used by:257
Symbol 257 MovieClipUses:198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256Used by:Timeline
Symbol 258 MovieClip {Jukebox}Used by:Timeline
Symbol 259 GraphicUsed by:281
Symbol 260 GraphicUsed by:273
Symbol 261 GraphicUsed by:273
Symbol 262 GraphicUsed by:273
Symbol 263 GraphicUsed by:273
Symbol 264 GraphicUsed by:273
Symbol 265 GraphicUsed by:273
Symbol 266 GraphicUsed by:273
Symbol 267 GraphicUsed by:273
Symbol 268 GraphicUsed by:273
Symbol 269 GraphicUsed by:273
Symbol 270 GraphicUsed by:273
Symbol 271 GraphicUsed by:273
Symbol 272 GraphicUsed by:273
Symbol 273 MovieClipUses:260 261 262 263 264 265 266 267 268 269 270 271 272Used by:274
Symbol 274 MovieClip {spacerangerCS3_fla.bubblxbox_play_latest_text_28}Uses:273Used by:281
Symbol 275 BitmapUsed by:276 278
Symbol 276 GraphicUses:275Used by:277
Symbol 277 MovieClip {spacerangerCS3_fla.splashlogo1_31}Uses:276Used by:280
Symbol 278 GraphicUses:275Used by:279 280
Symbol 279 MovieClip {spacerangerCS3_fla.splashlogo2_32}Uses:278Used by:280
Symbol 280 ButtonUses:277 279 46 278Used by:281
Symbol 281 MovieClip {spacerangerCS3_fla.bubblebox_intro_27}Uses:259 274 280Used by:282
Symbol 282 MovieClip {spacerangerCS3_fla.splashintro_26}Uses:142 47 281Used by:Timeline
Symbol 283 BitmapUsed by:284
Symbol 284 GraphicUses:283Used by:313
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:313
Symbol 287 BitmapUsed by:288
Symbol 288 GraphicUses:287Used by:313
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:289Used by:313
Symbol 291 BitmapUsed by:292
Symbol 292 GraphicUses:291Used by:313
Symbol 293 BitmapUsed by:294
Symbol 294 GraphicUses:293Used by:313
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:313
Symbol 297 BitmapUsed by:298
Symbol 298 GraphicUses:297Used by:313
Symbol 299 BitmapUsed by:300
Symbol 300 GraphicUses:299Used by:313
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:313
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:313
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:305Used by:313
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:313
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:313
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:313
Symbol 313 MovieClipUses:284 286 288 290 292 294 296 298 300 302 304 306 308 310 312Used by:317
Symbol 314 BitmapUsed by:315
Symbol 315 GraphicUses:314Used by:316
Symbol 316 MovieClipUses:315Used by:317
Symbol 317 MovieClip {spacerangerCS3_fla.moves_36}Uses:313 316Used by:318
Symbol 318 MovieClip {spacerangerCS3_fla.handyman_35}Uses:317Used by:419
Symbol 319 BitmapUsed by:320
Symbol 320 GraphicUses:319Used by:359
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:359
Symbol 323 BitmapUsed by:324
Symbol 324 GraphicUses:323Used by:359
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:359
Symbol 327 BitmapUsed by:328
Symbol 328 GraphicUses:327Used by:359
Symbol 329 BitmapUsed by:330
Symbol 330 GraphicUses:329Used by:359
Symbol 331 BitmapUsed by:332
Symbol 332 GraphicUses:331Used by:359
Symbol 333 BitmapUsed by:334
Symbol 334 GraphicUses:333Used by:359
Symbol 335 BitmapUsed by:336
Symbol 336 GraphicUses:335Used by:359
Symbol 337 BitmapUsed by:338
Symbol 338 GraphicUses:337Used by:359
Symbol 339 BitmapUsed by:340
Symbol 340 GraphicUses:339Used by:359
Symbol 341 BitmapUsed by:342
Symbol 342 GraphicUses:341Used by:359
Symbol 343 BitmapUsed by:344
Symbol 344 GraphicUses:343Used by:359
Symbol 345 BitmapUsed by:346
Symbol 346 GraphicUses:345Used by:359
Symbol 347 BitmapUsed by:348
Symbol 348 GraphicUses:347Used by:359
Symbol 349 BitmapUsed by:350
Symbol 350 GraphicUses:349Used by:359
Symbol 351 BitmapUsed by:352
Symbol 352 GraphicUses:351Used by:359
Symbol 353 BitmapUsed by:354
Symbol 354 GraphicUses:353Used by:359
Symbol 355 BitmapUsed by:356
Symbol 356 GraphicUses:355Used by:359
Symbol 357 BitmapUsed by:358
Symbol 358 GraphicUses:357Used by:359
Symbol 359 MovieClipUses:320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358Used by:363
Symbol 360 BitmapUsed by:361
Symbol 361 GraphicUses:360Used by:362
Symbol 362 MovieClipUses:361Used by:363
Symbol 363 MovieClip {spacerangerCS3_fla.moves_40}Uses:359 362Used by:364
Symbol 364 MovieClip {spacerangerCS3_fla.spacebounty_39}Uses:363Used by:419
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:365Used by:395
Symbol 367 BitmapUsed by:368
Symbol 368 GraphicUses:367Used by:395
Symbol 369 BitmapUsed by:370
Symbol 370 GraphicUses:369Used by:395
Symbol 371 BitmapUsed by:372
Symbol 372 GraphicUses:371Used by:395
Symbol 373 BitmapUsed by:374
Symbol 374 GraphicUses:373Used by:395
Symbol 375 BitmapUsed by:376
Symbol 376 GraphicUses:375Used by:395
Symbol 377 BitmapUsed by:378
Symbol 378 GraphicUses:377Used by:395
Symbol 379 BitmapUsed by:380
Symbol 380 GraphicUses:379Used by:395
Symbol 381 BitmapUsed by:382
Symbol 382 GraphicUses:381Used by:395
Symbol 383 BitmapUsed by:384
Symbol 384 GraphicUses:383Used by:395
Symbol 385 BitmapUsed by:386
Symbol 386 GraphicUses:385Used by:395
Symbol 387 BitmapUsed by:388
Symbol 388 GraphicUses:387Used by:395
Symbol 389 BitmapUsed by:390
Symbol 390 GraphicUses:389Used by:395
Symbol 391 BitmapUsed by:392
Symbol 392 GraphicUses:391Used by:395
Symbol 393 BitmapUsed by:394
Symbol 394 GraphicUses:393Used by:395
Symbol 395 MovieClipUses:366 368 370 372 374 376 378 380 382 384 386 388 390 392 394Used by:399
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:398
Symbol 398 MovieClipUses:397Used by:399
Symbol 399 MovieClip {spacerangerCS3_fla.moves_44}Uses:395 398Used by:400
Symbol 400 MovieClip {spacerangerCS3_fla.13days_43}Uses:399Used by:419
Symbol 401 TextUses:51Used by:402 403
Symbol 402 MovieClipUses:401Used by:403
Symbol 403 ButtonUses:402 401Used by:419
Symbol 404 BitmapUsed by:405
Symbol 405 GraphicUses:404Used by:406
Symbol 406 MovieClipUses:405Used by:407
Symbol 407 MovieClip {spacerangerCS3_fla.producedbyalpha_49}Uses:406Used by:419
Symbol 408 MovieClip {spacerangerCS3_fla.qiroll_52}Uses:153Used by:409
Symbol 409 MovieClip {spacerangerCS3_fla.qislide_51}Uses:408 153Used by:419
Symbol 410 BitmapUsed by:411
Symbol 411 GraphicUses:410Used by:412
Symbol 412 MovieClipUses:411Used by:416
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:415 416
Symbol 415 MovieClipUses:414Used by:416
Symbol 416 ButtonUses:412 415 46 414Used by:417
Symbol 417 MovieClip {spacerangerCS3_fla.dotcomw_54}Uses:416Used by:418
Symbol 418 MovieClip {spacerangerCS3_fla.dotcomalpha_53}Uses:417Used by:419
Symbol 419 MovieClip {spacerangerCS3_fla.splash_34}Uses:46 318 364 400 403 407 409 418Used by:420
Symbol 420 MovieClip {spacerangerCS3_fla.intro_33}Uses:419Used by:Timeline
Symbol 421 EditableTextUses:51Used by:440
Symbol 422 EditableTextUses:51Used by:440
Symbol 423 EditableTextUses:51Used by:430
Symbol 424 BitmapUsed by:425
Symbol 425 GraphicUses:424Used by:426 430
Symbol 426 MovieClipUses:425Used by:430
Symbol 427 EditableTextUses:51Used by:430
Symbol 428 EditableTextUses:51Used by:430
Symbol 429 EditableTextUses:51Used by:430
Symbol 430 ButtonUses:423 426 427 428 429 425Used by:440
Symbol 431 EditableTextUses:51Used by:438
Symbol 432 BitmapUsed by:433
Symbol 433 GraphicUses:432Used by:434 438
Symbol 434 MovieClipUses:433Used by:438
Symbol 435 EditableTextUses:51Used by:438
Symbol 436 EditableTextUses:51Used by:438
Symbol 437 EditableTextUses:51Used by:438
Symbol 438 ButtonUses:431 434 435 436 437 433Used by:440
Symbol 439 EditableTextUses:51Used by:440
Symbol 440 MovieClip {spacerangerCS3_fla.pcoption_58}Uses:47 421 422 430 438 439Used by:Timeline
Symbol 441 EditableTextUses:51Used by:444
Symbol 442 EditableTextUses:51Used by:444
Symbol 443 EditableTextUses:51Used by:444
Symbol 444 MovieClip {spacerangerCS3_fla.soundcontrol_63}Uses:441 442 443 140Used by:Timeline
Symbol 445 EditableTextUses:51Used by:455
Symbol 446 EditableTextUses:51Used by:453
Symbol 447 BitmapUsed by:448
Symbol 448 GraphicUses:447Used by:449
Symbol 449 MovieClipUses:448Used by:453
Symbol 450 EditableTextUses:51Used by:453
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:453
Symbol 453 ButtonUses:47 446 449 450 452 46Used by:455
Symbol 454 EditableTextUses:51Used by:455
Symbol 455 MovieClip {spacerangerCS3_fla.fpsmonitor_76}Uses:445 453 454Used by:Timeline
Symbol 456 MovieClip {spacerangerCS3_fla.bggame_82}Uses:47Used by:457
Symbol 457 MovieClip {SpaceRangerGame}Uses:456Used by:1379
Symbol 458 MovieClip {spacerangerCS3_fla.redflash_93}Uses:162Used by:471
Symbol 459 BitmapUsed by:460
Symbol 460 GraphicUses:459Used by:461
Symbol 461 MovieClipUses:460Used by:462
Symbol 462 MovieClip {spacerangerCS3_fla.rip3_94}Uses:461Used by:471
Symbol 463 BitmapUsed by:464
Symbol 464 GraphicUses:463Used by:465
Symbol 465 MovieClipUses:464Used by:466
Symbol 466 MovieClip {spacerangerCS3_fla.rip1_96}Uses:465Used by:471
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:469
Symbol 469 MovieClipUses:468Used by:470
Symbol 470 MovieClip {spacerangerCS3_fla.rip2_98}Uses:469Used by:471
Symbol 471 MovieClip {splatter}Uses:458 462 466 470Used by:1379
Symbol 472 BitmapUsed by:473
Symbol 473 GraphicUses:472Used by:474
Symbol 474 MovieClipUses:473Used by:501
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:477
Symbol 477 MovieClipUses:476Used by:484 1039 1327
Symbol 478 BitmapUsed by:479 511
Symbol 479 GraphicUses:478Used by:480
Symbol 480 MovieClipUses:479Used by:484 1011 1037 1327
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:483
Symbol 483 MovieClipUses:482Used by:484 485 1014 1038 1327
Symbol 484 MovieClip {spacerangerCS3_fla.weapons_103}Uses:477 480 483Used by:501
Symbol 485 MovieClipUses:483Used by:486
Symbol 486 MovieClipUses:485Used by:487
Symbol 487 MovieClip {spacerangerCS3_fla.chamberrpg_107}Uses:486Used by:501
Symbol 488 BitmapUsed by:489
Symbol 489 GraphicUses:488Used by:490 493
Symbol 490 MovieClipUses:489Used by:491
Symbol 491 MovieClipUses:490Used by:492
Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110}Uses:491Used by:501
Symbol 493 MovieClipUses:489Used by:494
Symbol 494 MovieClipUses:493Used by:495
Symbol 495 MovieClip {spacerangerCS3_fla.chamberpistol_113}Uses:494Used by:501
Symbol 496 EditableTextUses:51Used by:501
Symbol 497 EditableTextUses:51Used by:501
Symbol 498 BitmapUsed by:499
Symbol 499 GraphicUses:498Used by:500
Symbol 500 MovieClipUses:499Used by:501 1040
Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101}Uses:474 484 487 492 495 496 497 500Used by:1378
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:504
Symbol 504 MovieClipUses:503Used by:518 1089 1116 1142
Symbol 505 EditableTextUses:1Used by:518
Symbol 506 BitmapUsed by:507
Symbol 507 GraphicUses:506Used by:508
Symbol 508 MovieClipUses:507Used by:510
Symbol 509 MovieClipUses:46Used by:510 513 517
Symbol 510 MovieClip {spacerangerCS3_fla.barrpg_119}Uses:508 509Used by:518
Symbol 511 GraphicUses:478Used by:512
Symbol 512 MovieClipUses:511Used by:513
Symbol 513 MovieClip {spacerangerCS3_fla.barubergun_122}Uses:512 509Used by:518
Symbol 514 BitmapUsed by:515
Symbol 515 GraphicUses:514Used by:516
Symbol 516 MovieClipUses:515Used by:517
Symbol 517 MovieClip {spacerangerCS3_fla.barpistol_124}Uses:516 509Used by:518
Symbol 518 MovieClip {spacerangerCS3_fla.reloading_117}Uses:504 505 510 513 517Used by:1378
Symbol 519 GraphicUsed by:879
Symbol 520 GraphicUsed by:879
Symbol 521 GraphicUsed by:879
Symbol 522 GraphicUsed by:879
Symbol 523 GraphicUsed by:879
Symbol 524 GraphicUsed by:879
Symbol 525 GraphicUsed by:879
Symbol 526 GraphicUsed by:879
Symbol 527 GraphicUsed by:879
Symbol 528 GraphicUsed by:879
Symbol 529 GraphicUsed by:879
Symbol 530 GraphicUsed by:879
Symbol 531 GraphicUsed by:879
Symbol 532 GraphicUsed by:879
Symbol 533 GraphicUsed by:879
Symbol 534 GraphicUsed by:879
Symbol 535 GraphicUsed by:879
Symbol 536 GraphicUsed by:879
Symbol 537 GraphicUsed by:879
Symbol 538 GraphicUsed by:879
Symbol 539 GraphicUsed by:879
Symbol 540 GraphicUsed by:879
Symbol 541 GraphicUsed by:879
Symbol 542 GraphicUsed by:879
Symbol 543 GraphicUsed by:879
Symbol 544 GraphicUsed by:879
Symbol 545 GraphicUsed by:879
Symbol 546 GraphicUsed by:879
Symbol 547 GraphicUsed by:879
Symbol 548 GraphicUsed by:879
Symbol 549 GraphicUsed by:879
Symbol 550 GraphicUsed by:879
Symbol 551 GraphicUsed by:879
Symbol 552 GraphicUsed by:879
Symbol 553 GraphicUsed by:879
Symbol 554 GraphicUsed by:879
Symbol 555 GraphicUsed by:879
Symbol 556 GraphicUsed by:879
Symbol 557 GraphicUsed by:879
Symbol 558 GraphicUsed by:879
Symbol 559 GraphicUsed by:879
Symbol 560 GraphicUsed by:879
Symbol 561 GraphicUsed by:879
Symbol 562 GraphicUsed by:879
Symbol 563 GraphicUsed by:879
Symbol 564 GraphicUsed by:879
Symbol 565 GraphicUsed by:879
Symbol 566 GraphicUsed by:879
Symbol 567 GraphicUsed by:879
Symbol 568 GraphicUsed by:879
Symbol 569 GraphicUsed by:879
Symbol 570 GraphicUsed by:879
Symbol 571 GraphicUsed by:879
Symbol 572 GraphicUsed by:879
Symbol 573 GraphicUsed by:879
Symbol 574 GraphicUsed by:879
Symbol 575 GraphicUsed by:879
Symbol 576 GraphicUsed by:879
Symbol 577 GraphicUsed by:879
Symbol 578 GraphicUsed by:879
Symbol 579 GraphicUsed by:879
Symbol 580 GraphicUsed by:879
Symbol 581 GraphicUsed by:879
Symbol 582 GraphicUsed by:879
Symbol 583 GraphicUsed by:879
Symbol 584 GraphicUsed by:879
Symbol 585 GraphicUsed by:879
Symbol 586 GraphicUsed by:879
Symbol 587 GraphicUsed by:879
Symbol 588 GraphicUsed by:879
Symbol 589 GraphicUsed by:879
Symbol 590 GraphicUsed by:879
Symbol 591 GraphicUsed by:879
Symbol 592 GraphicUsed by:879
Symbol 593 GraphicUsed by:879
Symbol 594 GraphicUsed by:879
Symbol 595 GraphicUsed by:879
Symbol 596 GraphicUsed by:879
Symbol 597 GraphicUsed by:879
Symbol 598 GraphicUsed by:879
Symbol 599 GraphicUsed by:879
Symbol 600 GraphicUsed by:879
Symbol 601 GraphicUsed by:879
Symbol 602 GraphicUsed by:879
Symbol 603 GraphicUsed by:879
Symbol 604 GraphicUsed by:879
Symbol 605 GraphicUsed by:879
Symbol 606 GraphicUsed by:879
Symbol 607 GraphicUsed by:879
Symbol 608 GraphicUsed by:879
Symbol 609 GraphicUsed by:879
Symbol 610 GraphicUsed by:879
Symbol 611 GraphicUsed by:879
Symbol 612 GraphicUsed by:879
Symbol 613 GraphicUsed by:879
Symbol 614 GraphicUsed by:879
Symbol 615 GraphicUsed by:879
Symbol 616 GraphicUsed by:879
Symbol 617 GraphicUsed by:879
Symbol 618 GraphicUsed by:879
Symbol 619 GraphicUsed by:879
Symbol 620 GraphicUsed by:879
Symbol 621 GraphicUsed by:879
Symbol 622 GraphicUsed by:879
Symbol 623 GraphicUsed by:879
Symbol 624 GraphicUsed by:879
Symbol 625 GraphicUsed by:879
Symbol 626 GraphicUsed by:879
Symbol 627 GraphicUsed by:879
Symbol 628 GraphicUsed by:879
Symbol 629 GraphicUsed by:879
Symbol 630 GraphicUsed by:879
Symbol 631 GraphicUsed by:879
Symbol 632 GraphicUsed by:879
Symbol 633 GraphicUsed by:879
Symbol 634 GraphicUsed by:879
Symbol 635 GraphicUsed by:879
Symbol 636 GraphicUsed by:879
Symbol 637 GraphicUsed by:879
Symbol 638 GraphicUsed by:879
Symbol 639 GraphicUsed by:879
Symbol 640 GraphicUsed by:879
Symbol 641 GraphicUsed by:879
Symbol 642 GraphicUsed by:879
Symbol 643 GraphicUsed by:879
Symbol 644 GraphicUsed by:879
Symbol 645 GraphicUsed by:879
Symbol 646 GraphicUsed by:879
Symbol 647 GraphicUsed by:879
Symbol 648 GraphicUsed by:879
Symbol 649 GraphicUsed by:879
Symbol 650 GraphicUsed by:879
Symbol 651 GraphicUsed by:879
Symbol 652 GraphicUsed by:879
Symbol 653 GraphicUsed by:879
Symbol 654 GraphicUsed by:879
Symbol 655 GraphicUsed by:879
Symbol 656 GraphicUsed by:879
Symbol 657 GraphicUsed by:879
Symbol 658 GraphicUsed by:879
Symbol 659 GraphicUsed by:879
Symbol 660 GraphicUsed by:879
Symbol 661 GraphicUsed by:879
Symbol 662 GraphicUsed by:879
Symbol 663 GraphicUsed by:879
Symbol 664 GraphicUsed by:879
Symbol 665 GraphicUsed by:879
Symbol 666 GraphicUsed by:879
Symbol 667 GraphicUsed by:879
Symbol 668 GraphicUsed by:879
Symbol 669 GraphicUsed by:879
Symbol 670 GraphicUsed by:879
Symbol 671 GraphicUsed by:879
Symbol 672 GraphicUsed by:879
Symbol 673 GraphicUsed by:879
Symbol 674 GraphicUsed by:879
Symbol 675 GraphicUsed by:879
Symbol 676 GraphicUsed by:879
Symbol 677 GraphicUsed by:879
Symbol 678 GraphicUsed by:879
Symbol 679 GraphicUsed by:879
Symbol 680 GraphicUsed by:879
Symbol 681 GraphicUsed by:879
Symbol 682 GraphicUsed by:879
Symbol 683 GraphicUsed by:879
Symbol 684 GraphicUsed by:879
Symbol 685 GraphicUsed by:879
Symbol 686 GraphicUsed by:879
Symbol 687 GraphicUsed by:879
Symbol 688 GraphicUsed by:879
Symbol 689 GraphicUsed by:879
Symbol 690 GraphicUsed by:879
Symbol 691 GraphicUsed by:879
Symbol 692 GraphicUsed by:879
Symbol 693 GraphicUsed by:879
Symbol 694 GraphicUsed by:879
Symbol 695 GraphicUsed by:879
Symbol 696 GraphicUsed by:879
Symbol 697 GraphicUsed by:879
Symbol 698 GraphicUsed by:879
Symbol 699 GraphicUsed by:879
Symbol 700 GraphicUsed by:879
Symbol 701 GraphicUsed by:879
Symbol 702 GraphicUsed by:879
Symbol 703 GraphicUsed by:879
Symbol 704 GraphicUsed by:879
Symbol 705 GraphicUsed by:879
Symbol 706 GraphicUsed by:879
Symbol 707 GraphicUsed by:879
Symbol 708 GraphicUsed by:879
Symbol 709 GraphicUsed by:879
Symbol 710 GraphicUsed by:879
Symbol 711 GraphicUsed by:879
Symbol 712 GraphicUsed by:879
Symbol 713 GraphicUsed by:879
Symbol 714 GraphicUsed by:879
Symbol 715 GraphicUsed by:879
Symbol 716 GraphicUsed by:879
Symbol 717 GraphicUsed by:879
Symbol 718 GraphicUsed by:879
Symbol 719 GraphicUsed by:879
Symbol 720 GraphicUsed by:879
Symbol 721 GraphicUsed by:879
Symbol 722 GraphicUsed by:879
Symbol 723 GraphicUsed by:879
Symbol 724 GraphicUsed by:879
Symbol 725 GraphicUsed by:879
Symbol 726 GraphicUsed by:879
Symbol 727 GraphicUsed by:879
Symbol 728 GraphicUsed by:879
Symbol 729 GraphicUsed by:879
Symbol 730 GraphicUsed by:879
Symbol 731 GraphicUsed by:879
Symbol 732 GraphicUsed by:879
Symbol 733 GraphicUsed by:879
Symbol 734 GraphicUsed by:879
Symbol 735 GraphicUsed by:879
Symbol 736 GraphicUsed by:879
Symbol 737 GraphicUsed by:879
Symbol 738 GraphicUsed by:879
Symbol 739 GraphicUsed by:879
Symbol 740 GraphicUsed by:879
Symbol 741 GraphicUsed by:879
Symbol 742 GraphicUsed by:879
Symbol 743 GraphicUsed by:879
Symbol 744 GraphicUsed by:879
Symbol 745 GraphicUsed by:879
Symbol 746 GraphicUsed by:879
Symbol 747 GraphicUsed by:879
Symbol 748 GraphicUsed by:879
Symbol 749 GraphicUsed by:879
Symbol 750 GraphicUsed by:879
Symbol 751 GraphicUsed by:879
Symbol 752 GraphicUsed by:879
Symbol 753 GraphicUsed by:879
Symbol 754 GraphicUsed by:879
Symbol 755 GraphicUsed by:879
Symbol 756 GraphicUsed by:879
Symbol 757 GraphicUsed by:879
Symbol 758 GraphicUsed by:879
Symbol 759 GraphicUsed by:879
Symbol 760 GraphicUsed by:879
Symbol 761 GraphicUsed by:879
Symbol 762 GraphicUsed by:879
Symbol 763 GraphicUsed by:879
Symbol 764 GraphicUsed by:879
Symbol 765 GraphicUsed by:879
Symbol 766 GraphicUsed by:879
Symbol 767 GraphicUsed by:879
Symbol 768 GraphicUsed by:879
Symbol 769 GraphicUsed by:879
Symbol 770 GraphicUsed by:879
Symbol 771 GraphicUsed by:879
Symbol 772 GraphicUsed by:879
Symbol 773 GraphicUsed by:879
Symbol 774 GraphicUsed by:879
Symbol 775 GraphicUsed by:879
Symbol 776 GraphicUsed by:879
Symbol 777 GraphicUsed by:879
Symbol 778 GraphicUsed by:879
Symbol 779 GraphicUsed by:879
Symbol 780 GraphicUsed by:879
Symbol 781 GraphicUsed by:879
Symbol 782 GraphicUsed by:879
Symbol 783 GraphicUsed by:879
Symbol 784 GraphicUsed by:879
Symbol 785 GraphicUsed by:879
Symbol 786 GraphicUsed by:879
Symbol 787 GraphicUsed by:879
Symbol 788 GraphicUsed by:879
Symbol 789 GraphicUsed by:879
Symbol 790 GraphicUsed by:879
Symbol 791 GraphicUsed by:879
Symbol 792 GraphicUsed by:879
Symbol 793 GraphicUsed by:879
Symbol 794 GraphicUsed by:879
Symbol 795 GraphicUsed by:879
Symbol 796 GraphicUsed by:879
Symbol 797 GraphicUsed by:879
Symbol 798 GraphicUsed by:879
Symbol 799 GraphicUsed by:879
Symbol 800 GraphicUsed by:879
Symbol 801 GraphicUsed by:879
Symbol 802 GraphicUsed by:879
Symbol 803 GraphicUsed by:879
Symbol 804 GraphicUsed by:879
Symbol 805 GraphicUsed by:879
Symbol 806 GraphicUsed by:879
Symbol 807 GraphicUsed by:879
Symbol 808 GraphicUsed by:879
Symbol 809 GraphicUsed by:879
Symbol 810 GraphicUsed by:879
Symbol 811 GraphicUsed by:879
Symbol 812 GraphicUsed by:879
Symbol 813 GraphicUsed by:879
Symbol 814 GraphicUsed by:879
Symbol 815 GraphicUsed by:879
Symbol 816 GraphicUsed by:879
Symbol 817 GraphicUsed by:879
Symbol 818 GraphicUsed by:879
Symbol 819 GraphicUsed by:879
Symbol 820 GraphicUsed by:879
Symbol 821 GraphicUsed by:879
Symbol 822 GraphicUsed by:879
Symbol 823 GraphicUsed by:879
Symbol 824 GraphicUsed by:879
Symbol 825 GraphicUsed by:879
Symbol 826 GraphicUsed by:879
Symbol 827 GraphicUsed by:879
Symbol 828 GraphicUsed by:879
Symbol 829 GraphicUsed by:879
Symbol 830 GraphicUsed by:879
Symbol 831 GraphicUsed by:879
Symbol 832 GraphicUsed by:879
Symbol 833 GraphicUsed by:879
Symbol 834 GraphicUsed by:879
Symbol 835 GraphicUsed by:879
Symbol 836 GraphicUsed by:879
Symbol 837 GraphicUsed by:879
Symbol 838 GraphicUsed by:879
Symbol 839 GraphicUsed by:879
Symbol 840 GraphicUsed by:879
Symbol 841 GraphicUsed by:879
Symbol 842 GraphicUsed by:879
Symbol 843 GraphicUsed by:879
Symbol 844 GraphicUsed by:879
Symbol 845 GraphicUsed by:879
Symbol 846 GraphicUsed by:879
Symbol 847 GraphicUsed by:879
Symbol 848 GraphicUsed by:879
Symbol 849 GraphicUsed by:879
Symbol 850 GraphicUsed by:879
Symbol 851 GraphicUsed by:879
Symbol 852 GraphicUsed by:879
Symbol 853 GraphicUsed by:879
Symbol 854 GraphicUsed by:879
Symbol 855 GraphicUsed by:879
Symbol 856 GraphicUsed by:879
Symbol 857 GraphicUsed by:879
Symbol 858 GraphicUsed by:879
Symbol 859 GraphicUsed by:879
Symbol 860 GraphicUsed by:879
Symbol 861 GraphicUsed by:879
Symbol 862 GraphicUsed by:879
Symbol 863 GraphicUsed by:879
Symbol 864 GraphicUsed by:879
Symbol 865 GraphicUsed by:879
Symbol 866 GraphicUsed by:879
Symbol 867 GraphicUsed by:879
Symbol 868 GraphicUsed by:879
Symbol 869 GraphicUsed by:879
Symbol 870 GraphicUsed by:879
Symbol 871 GraphicUsed by:879
Symbol 872 GraphicUsed by:879
Symbol 873 GraphicUsed by:879
Symbol 874 GraphicUsed by:879
Symbol 875 GraphicUsed by:879
Symbol 876 GraphicUsed by:879
Symbol 877 GraphicUsed by:879
Symbol 878 GraphicUsed by:879
Symbol 879 MovieClipUses:519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878Used by:882
Symbol 880 BitmapUsed by:881
Symbol 881 GraphicUses:880Used by:882
Symbol 882 MovieClip {spacerangerCS3_fla.outline_128}Uses:879 881Used by:890 895 900
Symbol 883 BitmapUsed by:884
Symbol 884 GraphicUses:883Used by:885 981 983 985
Symbol 885 MovieClipUses:884Used by:889 894 899 980 982 984
Symbol 886 BitmapUsed by:887 920
Symbol 887 GraphicUses:886Used by:888 981
Symbol 888 MovieClipUses:887Used by:889 980
Symbol 889 MovieClipUses:885 888Used by:890
Symbol 890 MovieClip {spacerangerCS3_fla.skill_127}Uses:882 889Used by:901
Symbol 891 BitmapUsed by:892
Symbol 892 GraphicUses:891Used by:893 983
Symbol 893 MovieClipUses:892Used by:894 982
Symbol 894 MovieClipUses:885 893Used by:895
Symbol 895 MovieClip {spacerangerCS3_fla.skill_133}Uses:882 894Used by:901
Symbol 896 BitmapUsed by:897
Symbol 897 GraphicUses:896Used by:898 985
Symbol 898 MovieClipUses:897Used by:899 984
Symbol 899 MovieClipUses:885 898Used by:900
Symbol 900 MovieClip {spacerangerCS3_fla.skill_136}Uses:882 899Used by:901
Symbol 901 MovieClip {spacerangerCS3_fla.skills_126}Uses:890 895 900Used by:1378
Symbol 902 BitmapUsed by:903
Symbol 903 GraphicUses:902Used by:904
Symbol 904 MovieClipUses:903Used by:930
Symbol 905 BitmapUsed by:906
Symbol 906 GraphicUses:905Used by:907
Symbol 907 MovieClipUses:906Used by:909
Symbol 908 ShapeTweeningUsed by:909
Symbol 909 MovieClip {spacerangerCS3_fla.healthbartween_141}Uses:907 908 46Used by:930
Symbol 910 BitmapUsed by:911
Symbol 911 GraphicUses:910Used by:912
Symbol 912 MovieClipUses:911Used by:914
Symbol 913 ShapeTweeningUsed by:914
Symbol 914 MovieClip {spacerangerCS3_fla.xpbartween_143}Uses:912 913 46Used by:930
Symbol 915 BitmapUsed by:916
Symbol 916 GraphicUses:915Used by:917
Symbol 917 MovieClipUses:916Used by:919
Symbol 918 ShapeTweeningUsed by:919
Symbol 919 MovieClip {spacerangerCS3_fla.focusbartween_145}Uses:917 918 46Used by:930
Symbol 920 GraphicUses:886Used by:921
Symbol 921 MovieClipUses:920Used by:930
Symbol 922 EditableTextUses:51Used by:930
Symbol 923 EditableTextUses:51Used by:930
Symbol 924 TextUses:51Used by:930
Symbol 925 EditableTextUses:51Used by:930
Symbol 926 TextUses:51Used by:930
Symbol 927 TextUses:51Used by:930
Symbol 928 EditableTextUses:51Used by:929
Symbol 929 MovieClip {spacerangerCS3_fla.pressctolevelup_148}Uses:928Used by:930 952
Symbol 930 MovieClip {spacerangerCS3_fla.health_139}Uses:904 909 914 919 921 922 923 924 925 926 927 929Used by:1378
Symbol 931 BitmapUsed by:932
Symbol 932 GraphicUses:931Used by:951
Symbol 933 BitmapUsed by:934
Symbol 934 GraphicUses:933Used by:951
Symbol 935 BitmapUsed by:936
Symbol 936 GraphicUses:935Used by:951
Symbol 937 BitmapUsed by:938
Symbol 938 GraphicUses:937Used by:951
Symbol 939 BitmapUsed by:940
Symbol 940 GraphicUses:939Used by:951
Symbol 941 BitmapUsed by:942
Symbol 942 GraphicUses:941Used by:951
Symbol 943 BitmapUsed by:944
Symbol 944 GraphicUses:943Used by:951
Symbol 945 BitmapUsed by:946
Symbol 946 GraphicUses:945Used by:951
Symbol 947 BitmapUsed by:948
Symbol 948 GraphicUses:947Used by:951
Symbol 949 BitmapUsed by:950
Symbol 950 GraphicUses:949Used by:951
Symbol 951 MovieClipUses:932 934 936 938 940 942 944 946 948 950Used by:952
Symbol 952 MovieClip {spacerangerCS3_fla.levelup_149}Uses:929 951Used by:1378
Symbol 953 BitmapUsed by:954
Symbol 954 GraphicUses:953Used by:955
Symbol 955 MovieClipUses:954Used by:968
Symbol 956 GraphicUsed by:968
Symbol 957 MovieClip {MapScene}Used by:958 1131
Symbol 958 MovieClip {spacerangerCS3_fla.map_153}Uses:957Used by:968
Symbol 959 GraphicUsed by:960
Symbol 960 MovieClipUses:959Used by:968 1131
Symbol 961 GraphicUsed by:962
Symbol 962 MovieClipUses:961Used by:963
Symbol 963 MovieClipUses:962Used by:968
Symbol 964 BitmapUsed by:965
Symbol 965 GraphicUses:964Used by:966
Symbol 966 MovieClipUses:965Used by:967 1131
Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}Uses:966Used by:968 1131
Symbol 968 MovieClip {spacerangerCS3_fla.radar_151}Uses:955 956 958 960 963 967Used by:1378
Symbol 969 EditableTextUses:1Used by:970 971
Symbol 970 MovieClip {spacerangerCS3_fla.mapbtnclip_161}Uses:969Used by:971
Symbol 971 ButtonUses:47 970 46 969Used by:1378
Symbol 972 BitmapUsed by:973
Symbol 973 GraphicUses:972Used by:974
Symbol 974 MovieClipUses:973Used by:975 1029
Symbol 975 MovieClip {spacerangerCS3_fla.keybgrpg_164}Uses:974Used by:1003 1040
Symbol 976 TextUses:51Used by:1003
Symbol 977 TextUses:51Used by:1003
Symbol 978 TextUses:51Used by:1003
Symbol 979 GraphicUsed by:981 983 985
Symbol 980 MovieClip {spacerangerCS3_fla.icon2_167}Uses:885 888Used by:981 1327
Symbol 981 ButtonUses:979 980 884 887Used by:1003
Symbol 982 MovieClip {spacerangerCS3_fla.icon2_169}Uses:885 893Used by:983 1327
Symbol 983 ButtonUses:979 982 884 892Used by:1003
Symbol 984 MovieClip {spacerangerCS3_fla.icon2_171}Uses:885 898Used by:985 1327
Symbol 985 ButtonUses:979 984 884 897Used by:1003
Symbol 986 BitmapUsed by:987
Symbol 987 GraphicUses:986Used by:988
Symbol 988 MovieClipUses:987Used by:989 1017 1283
Symbol 989 MovieClip {spacerangerCS3_fla.keyred_173}Uses:988Used by:1002
Symbol 990 BitmapUsed by:991
Symbol 991 GraphicUses:990Used by:992
Symbol 992 MovieClipUses:991Used by:993 1026 1283
Symbol 993 MovieClip {spacerangerCS3_fla.keyblue_175}Uses:992Used by:1002
Symbol 994 BitmapUsed by:995
Symbol 995 GraphicUses:994Used by:996
Symbol 996 MovieClipUses:995Used by:997 1020 1283
Symbol 997 MovieClip {spacerangerCS3_fla.keygreen_177}Uses:996Used by:1002
Symbol 998 BitmapUsed by:999
Symbol 999 GraphicUses:998Used by:1000
Symbol 1000 MovieClipUses:999Used by:1001 1023 1283
Symbol 1001 MovieClip {spacerangerCS3_fla.keyyellow_179}Uses:1000Used by:1002
Symbol 1002 MovieClip {spacerangerCS3_fla.keys_172}Uses:989 993 997 1001Used by:1003
Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163}Uses:975 976 977 978 981 983 985 1002Used by:1028
Symbol 1004 EditableTextUses:1Used by:1008
Symbol 1005 BitmapUsed by:1006
Symbol 1006 GraphicUses:1005Used by:1007
Symbol 1007 MovieClipUses:1006Used by:1008 1040 1283
Symbol 1008 MovieClip {spacerangerCS3_fla.clip_182}Uses:1004 1007Used by:1009
Symbol 1009 MovieClip {spacerangerCS3_fla.medikitnotice_181}Uses:1008Used by:1028
Symbol 1010 EditableTextUses:1Used by:1011
Symbol 1011 MovieClip {spacerangerCS3_fla.clip1_185}Uses:1010 480Used by:1012
Symbol 1012 MovieClip {spacerangerCS3_fla.ammo1notice_184}Uses:1011Used by:1028
Symbol 1013 EditableTextUses:1Used by:1014
Symbol 1014 MovieClip {spacerangerCS3_fla.cliprpg_187}Uses:1013 483Used by:1015
Symbol 1015 MovieClip {spacerangerCS3_fla.ammo2notice_186}Uses:1014Used by:1028
Symbol 1016 EditableTextUses:1Used by:1017
Symbol 1017 MovieClip {spacerangerCS3_fla.clip_189}Uses:1016 988Used by:1018
Symbol 1018 MovieClip {spacerangerCS3_fla.keyrednotice_188}Uses:1017Used by:1028
Symbol 1019 EditableTextUses:1Used by:1020
Symbol 1020 MovieClip {spacerangerCS3_fla.clip_191}Uses:1019 996Used by:1021
Symbol 1021 MovieClip {spacerangerCS3_fla.keygreennotice_190}Uses:1020Used by:1028
Symbol 1022 EditableTextUses:1Used by:1023
Symbol 1023 MovieClip {spacerangerCS3_fla.clip_193}Uses:1022 1000Used by:1024
Symbol 1024 MovieClip {spacerangerCS3_fla.keyyellownotice_192}Uses:1023Used by:1028
Symbol 1025 EditableTextUses:1Used by:1026
Symbol 1026 MovieClip {spacerangerCS3_fla.clip_195}Uses:1025 992Used by:1027
Symbol 1027 MovieClip {spacerangerCS3_fla.keybluenotice_194}Uses:1026Used by:1028
Symbol 1028 MovieClip {spacerangerCS3_fla.messages_162}Uses:1003 1009 1012 1015 1018 1021 1024 1027Used by:1378
Symbol 1029 MovieClip {spacerangerCS3_fla.keybgubergun_197}Uses:974Used by:1040
Symbol 1030 TextUses:51Used by:1040
Symbol 1031 EditableTextUses:51Used by:1040
Symbol 1032 TextUses:51Used by:1040
Symbol 1033 TextUses:51Used by:1040
Symbol 1034 EditableTextUses:51Used by:1040
Symbol 1035 TextUses:51Used by:1040
Symbol 1036 EditableTextUses:51Used by:1040
Symbol 1037 MovieClip {spacerangerCS3_fla.gun2_198}Uses:480Used by:1040
Symbol 1038 MovieClip {spacerangerCS3_fla.gun3_199}Uses:483Used by:1040
Symbol 1039 MovieClip {spacerangerCS3_fla.gun1_200}Uses:477Used by:1040
Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196}Uses:975 1029 1030 1031 1032 1033 1034 1035 1036 1007 500 1037 1038 1039Used by:1378
Symbol 1041 BitmapUsed by:1042
Symbol 1042 GraphicUses:1041Used by:1043
Symbol 1043 MovieClipUses:1042Used by:1046 1149
Symbol 1044 EditableTextUses:51Used by:1046
Symbol 1045 EditableTextUses:51Used by:1046
Symbol 1046 MovieClip {spacerangerCS3_fla.missionprogress_201}Uses:1043 1044 1045Used by:1378
Symbol 1047 GraphicUsed by:1053
Symbol 1048 GraphicUsed by:1053
Symbol 1049 GraphicUsed by:1053
Symbol 1050 GraphicUsed by:1053
Symbol 1051 GraphicUsed by:1053
Symbol 1052 GraphicUsed by:1053
Symbol 1053 MovieClip {spacerangerCS3_fla.interactionbg_204}Uses:1047 1048 1049 1050 1051 1052Used by:1055 1062
Symbol 1054 EditableTextUses:51Used by:1055
Symbol 1055 MovieClip {spacerangerCS3_fla.interaction_203}Uses:1053 1054Used by:1378
Symbol 1056 BitmapUsed by:1057
Symbol 1057 GraphicUses:1056Used by:1058
Symbol 1058 MovieClipUses:1057Used by:1059
Symbol 1059 MovieClip {spacerangerCS3_fla.arrow_206}Uses:1058Used by:1060
Symbol 1060 MovieClip {spacerangerCS3_fla.monsterwarning_205}Uses:1059Used by:1378
Symbol 1061 EditableTextUses:51Used by:1062
Symbol 1062 MovieClip {spacerangerCS3_fla.notice_208}Uses:1053 1061Used by:1378
Symbol 1063 EditableTextUses:1Used by:1064 1065
Symbol 1064 MovieClip {spacerangerCS3_fla.text_213}Uses:1063Used by:1065
Symbol 1065 ButtonUses:1064 1063Used by:1083
Symbol 1066 GraphicUsed by:1083
Symbol 1067 EditableTextUses:1Used by:1083
Symbol 1068 EditableTextUses:1Used by:1083
Symbol 1069 EditableTextUses:51Used by:1083
Symbol 1070 EditableTextUses:1Used by:1074
Symbol 1071 EditableTextUses:1Used by:1074
Symbol 1072 EditableTextUses:1Used by:1074
Symbol 1073 EditableTextUses:1Used by:1074
Symbol 1074 MovieClip {spacerangerCS3_fla.textsubmitting_214}Uses:1070 1071 1072 1073Used by:1083
Symbol 1075 EditableTextUses:1Used by:1076 1077
Symbol 1076 MovieClip {spacerangerCS3_fla.text_216}Uses:1075Used by:1077
Symbol 1077 ButtonUses:47 1076 46 1075Used by:1083 1399
Symbol 1078 EditableTextUses:1Used by:1083
Symbol 1079 EditableTextUses:1Used by:1080 1081
Symbol 1080 MovieClip {spacerangerCS3_fla.text_218}Uses:1079Used by:1081
Symbol 1081 ButtonUses:1080 1079Used by:1083 1089
Symbol 1082 EditableTextUses:1Used by:1083
Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211}Uses:1065 1066 1067 1068 1069 1074 1077 1078 1081 1082Used by:1089 1358
Symbol 1084 EditableTextUses:1Used by:1089
Symbol 1085 EditableTextUses:1Used by:1086 1087
Symbol 1086 MovieClip {spacerangerCS3_fla.text_220}Uses:1085Used by:1087
Symbol 1087 ButtonUses:1086 1085Used by:1089 1142
Symbol 1088 EditableTextUses:1Used by:1089
Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210}Uses:504 1083 1084 1081 1087 1088 160 146Used by:1090
Symbol 1090 MovieClip {spacerangerCS3_fla.gameover_209}Uses:47 1089Used by:1378
Symbol 1091 BitmapUsed by:1092
Symbol 1092 GraphicUses:1091Used by:1093
Symbol 1093 MovieClipUses:1092Used by:1102 1131
Symbol 1094 EditableTextUses:1Used by:1095 1096 1266
Symbol 1095 MovieClip {spacerangerCS3_fla.text_224}Uses:1094Used by:1096 1266
Symbol 1096 ButtonUses:1095 1094Used by:1102 1116 1131 1434 1438
Symbol 1097 EditableTextUses:1Used by:1102
Symbol 1098 EditableTextUses:1Used by:1102
Symbol 1099 EditableTextUses:1Used by:1102
Symbol 1100 EditableTextUses:1Used by:1102
Symbol 1101 EditableTextUses:1Used by:1102
Symbol 1102 MovieClip {spacerangerCS3_fla.options_221}Uses:1093 1096 107 1097 1098 1099 1100 1101Used by:1378
Symbol 1103 BitmapUsed by:1105
Symbol 1104 BitmapUsed by:1105
Symbol 1105 GraphicUses:1103 1104Used by:1106
Symbol 1106 MovieClipUses:1105Used by:1116
Symbol 1107 EditableTextUses:1Used by:1116
Symbol 1108 EditableTextUses:1Used by:1116
Symbol 1109 EditableTextUses:51Used by:1116
Symbol 1110 EditableTextUses:1Used by:1116
Symbol 1111 EditableTextUses:51Used by:1116
Symbol 1112 EditableTextUses:1Used by:1116
Symbol 1113 EditableTextUses:51Used by:1116
Symbol 1114 EditableTextUses:1Used by:1116
Symbol 1115 EditableTextUses:51Used by:1116
Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233}Uses:504 1096 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115Used by:1378
Symbol 1117 TextUses:51Used by:1131
Symbol 1118 TextUses:51Used by:1131
Symbol 1119 TextUses:51Used by:1131
Symbol 1120 TextUses:51Used by:1131
Symbol 1121 BitmapUsed by:1124 1126
Symbol 1122 BitmapUsed by:1124
Symbol 1123 BitmapUsed by:1124
Symbol 1124 GraphicUses:1121 1122 1123Used by:1131
Symbol 1125 TextUses:51Used by:1131
Symbol 1126 GraphicUses:1121Used by:1131
Symbol 1127 EditableTextUses:1Used by:1131
Symbol 1128 EditableTextUses:1Used by:1131
Symbol 1129 EditableTextUses:1Used by:1131
Symbol 1130 EditableTextUses:1Used by:1131
Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235}Uses:1093 1096 966 1117 1118 1119 1120 1124 1125 960 967 957 1126 1127 1128 1129 1130Used by:1378
Symbol 1132 EditableTextUses:1Used by:1142
Symbol 1133 EditableTextUses:1Used by:1134 1135
Symbol 1134 MovieClip {spacerangerCS3_fla.text_238}Uses:1133Used by:1135
Symbol 1135 ButtonUses:1134 1133Used by:1142
Symbol 1136 EditableTextUses:1Used by:1137 1138
Symbol 1137 MovieClip {spacerangerCS3_fla.text_240}Uses:1136Used by:1138
Symbol 1138 ButtonUses:1137 1136Used by:1142
Symbol 1139 EditableTextUses:1Used by:1140 1141
Symbol 1140 MovieClip {spacerangerCS3_fla.text_242}Uses:1139Used by:1141
Symbol 1141 ButtonUses:1140 1139Used by:1142
Symbol 1142 MovieClip {spacerangerCS3_fla.gamepaused_236}Uses:504 1132 1087 1135 1138 1141Used by:1378
Symbol 1143 EditableTextUses:1Used by:1147
Symbol 1144 EditableTextUses:1Used by:1147
Symbol 1145 EditableTextUses:1Used by:1147
Symbol 1146 EditableTextUses:1Used by:1147
Symbol 1147 MovieClip {spacerangerCS3_fla.textsaving_244}Uses:1143 1144 1145 1146Used by:1149
Symbol 1148 EditableTextUses:1Used by:1149
Symbol 1149 MovieClip {spacerangerCS3_fla.saving_243}Uses:1043 1147 1148Used by:1378
Symbol 1150 BitmapUsed by:1151
Symbol 1151 GraphicUses:1150Used by:1152
Symbol 1152 MovieClipUses:1151Used by:1268 1283 1327 1344 1358 1375
Symbol 1153 EditableTextUses:51Used by:1268
Symbol 1154 EditableTextUses:51Used by:1268
Symbol 1155 EditableTextUses:51Used by:1268
Symbol 1156 EditableTextUses:51Used by:1268
Symbol 1157 EditableTextUses:51Used by:1268
Symbol 1158 EditableTextUses:51Used by:1268
Symbol 1159 EditableTextUses:51Used by:1268
Symbol 1160 EditableTextUses:51Used by:1268
Symbol 1161 EditableTextUses:51Used by:1268
Symbol 1162 EditableTextUses:51Used by:1268
Symbol 1163 BitmapUsed by:1164
Symbol 1164 GraphicUses:1163Used by:1263
Symbol 1165 BitmapUsed by:1166
Symbol 1166 GraphicUses:1165Used by:1263
Symbol 1167 BitmapUsed by:1168
Symbol 1168 GraphicUses:1167Used by:1263
Symbol 1169 BitmapUsed by:1170
Symbol 1170 GraphicUses:1169Used by:1263
Symbol 1171 BitmapUsed by:1172
Symbol 1172 GraphicUses:1171Used by:1263
Symbol 1173 BitmapUsed by:1174
Symbol 1174 GraphicUses:1173Used by:1263
Symbol 1175 BitmapUsed by:1176
Symbol 1176 GraphicUses:1175Used by:1263
Symbol 1177 BitmapUsed by:1178
Symbol 1178 GraphicUses:1177Used by:1263
Symbol 1179 BitmapUsed by:1180
Symbol 1180 GraphicUses:1179Used by:1263
Symbol 1181 BitmapUsed by:1182
Symbol 1182 GraphicUses:1181Used by:1263
Symbol 1183 BitmapUsed by:1184
Symbol 1184 GraphicUses:1183Used by:1263
Symbol 1185 BitmapUsed by:1186
Symbol 1186 GraphicUses:1185Used by:1263
Symbol 1187 BitmapUsed by:1188
Symbol 1188 GraphicUses:1187Used by:1263
Symbol 1189 BitmapUsed by:1190
Symbol 1190 GraphicUses:1189Used by:1263
Symbol 1191 BitmapUsed by:1192
Symbol 1192 GraphicUses:1191Used by:1263
Symbol 1193 BitmapUsed by:1194
Symbol 1194 GraphicUses:1193Used by:1263
Symbol 1195 BitmapUsed by:1196
Symbol 1196 GraphicUses:1195Used by:1263
Symbol 1197 BitmapUsed by:1198
Symbol 1198 GraphicUses:1197Used by:1263
Symbol 1199 BitmapUsed by:1200
Symbol 1200 GraphicUses:1199Used by:1263
Symbol 1201 BitmapUsed by:1202
Symbol 1202 GraphicUses:1201Used by:1263
Symbol 1203 BitmapUsed by:1204
Symbol 1204 GraphicUses:1203Used by:1263
Symbol 1205 BitmapUsed by:1206
Symbol 1206 GraphicUses:1205Used by:1263
Symbol 1207 BitmapUsed by:1208
Symbol 1208 GraphicUses:1207Used by:1263
Symbol 1209 BitmapUsed by:1210
Symbol 1210 GraphicUses:1209Used by:1263
Symbol 1211 BitmapUsed by:1212
Symbol 1212 GraphicUses:1211Used by:1263
Symbol 1213 BitmapUsed by:1214
Symbol 1214 GraphicUses:1213Used by:1263
Symbol 1215 BitmapUsed by:1216
Symbol 1216 GraphicUses:1215Used by:1263
Symbol 1217 BitmapUsed by:1218
Symbol 1218 GraphicUses:1217Used by:1263
Symbol 1219 BitmapUsed by:1220
Symbol 1220 GraphicUses:1219Used by:1263
Symbol 1221 BitmapUsed by:1222
Symbol 1222 GraphicUses:1221Used by:1263
Symbol 1223 BitmapUsed by:1224
Symbol 1224 GraphicUses:1223Used by:1263
Symbol 1225 BitmapUsed by:1226
Symbol 1226 GraphicUses:1225Used by:1263
Symbol 1227 BitmapUsed by:1228
Symbol 1228 GraphicUses:1227Used by:1263
Symbol 1229 BitmapUsed by:1230
Symbol 1230 GraphicUses:1229Used by:1263
Symbol 1231 BitmapUsed by:1232
Symbol 1232 GraphicUses:1231Used by:1263
Symbol 1233 BitmapUsed by:1234
Symbol 1234 GraphicUses:1233Used by:1263
Symbol 1235 BitmapUsed by:1236
Symbol 1236 GraphicUses:1235Used by:1263
Symbol 1237 BitmapUsed by:1238
Symbol 1238 GraphicUses:1237Used by:1263
Symbol 1239 BitmapUsed by:1240
Symbol 1240 GraphicUses:1239Used by:1263
Symbol 1241 BitmapUsed by:1242
Symbol 1242 GraphicUses:1241Used by:1263
Symbol 1243 BitmapUsed by:1244
Symbol 1244 GraphicUses:1243Used by:1263
Symbol 1245 BitmapUsed by:1246
Symbol 1246 GraphicUses:1245Used by:1263
Symbol 1247 BitmapUsed by:1248
Symbol 1248 GraphicUses:1247Used by:1263
Symbol 1249 BitmapUsed by:1250
Symbol 1250 GraphicUses:1249Used by:1263
Symbol 1251 BitmapUsed by:1252
Symbol 1252 GraphicUses:1251Used by:1263
Symbol 1253 BitmapUsed by:1254
Symbol 1254 GraphicUses:1253Used by:1263
Symbol 1255 BitmapUsed by:1256
Symbol 1256 GraphicUses:1255Used by:1263
Symbol 1257 BitmapUsed by:1258
Symbol 1258 GraphicUses:1257Used by:1263
Symbol 1259 BitmapUsed by:1260
Symbol 1260 GraphicUses:1259Used by:1263
Symbol 1261 BitmapUsed by:1262
Symbol 1262 GraphicUses:1261Used by:1263
Symbol 1263 MovieClipUses:1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262Used by:1268 1327 1377
Symbol 1264 GraphicUsed by:1265
Symbol 1265 MovieClipUses:1264Used by:1268 1327 1376
Symbol 1266 ButtonUses:1095 1094Used by:1268 1283 1327
Symbol 1267 EditableTextUses:1Used by:1268
Symbol 1268 MovieClip {spacerangerCS3_fla.combattips_245}Uses:1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1263 1265 1266 1267Used by:1378
Symbol 1269 EditableTextUses:51Used by:1283
Symbol 1270 EditableTextUses:51Used by:1283
Symbol 1271 EditableTextUses:51Used by:1283
Symbol 1272 EditableTextUses:51Used by:1283
Symbol 1273 EditableTextUses:51Used by:1283
Symbol 1274 EditableTextUses:51Used by:1283
Symbol 1275 GraphicUsed by:1283
Symbol 1276 EditableTextUses:1Used by:1283
Symbol 1277 BitmapUsed by:1278
Symbol 1278 GraphicUses:1277Used by:1279
Symbol 1279 MovieClipUses:1278Used by:1283
Symbol 1280 BitmapUsed by:1281
Symbol 1281 GraphicUses:1280Used by:1282
Symbol 1282 MovieClipUses:1281Used by:1283
Symbol 1283 MovieClip {spacerangerCS3_fla.itemstocollect_250}Uses:1152 1269 1270 1271 1272 1273 1274 1275 1266 1276 1007 992 996 1000 988 1279 1282Used by:1378
Symbol 1284 EditableTextUses:51Used by:1327
Symbol 1285 EditableTextUses:51Used by:1327
Symbol 1286 BitmapUsed by:1287
Symbol 1287 GraphicUses:1286Used by:1327
Symbol 1288 EditableTextUses:51Used by:1327
Symbol 1289 EditableTextUses:51Used by:1327
Symbol 1290 EditableTextUses:51Used by:1327
Symbol 1291 EditableTextUses:51Used by:1327
Symbol 1292 EditableTextUses:51Used by:1327
Symbol 1293 EditableTextUses:51Used by:1327
Symbol 1294 EditableTextUses:51Used by:1327
Symbol 1295 EditableTextUses:51Used by:1327
Symbol 1296 EditableTextUses:51Used by:1327
Symbol 1297 GraphicUsed by:1327
Symbol 1298 BitmapUsed by:1299
Symbol 1299 GraphicUses:1298Used by:1300
Symbol 1300 MovieClipUses:1299Used by:1327
Symbol 1301 TextUses:180Used by:1327
Symbol 1302 TextUses:180Used by:1327
Symbol 1303 TextUses:180Used by:1327
Symbol 1304 TextUses:180Used by:1327
Symbol 1305 TextUses:180Used by:1327
Symbol 1306 EditableTextUses:51Used by:1327
Symbol 1307 TextUses:180Used by:1327
Symbol 1308 TextUses:180Used by:1327
Symbol 1309 EditableTextUses:180Used by:1327
Symbol 1310 EditableTextUses:1Used by:1327
Symbol 1311 EditableTextUses:51Used by:1327
Symbol 1312 TextUses:180Used by:1327
Symbol 1313 TextUses:180Used by:1327
Symbol 1314 TextUses:180Used by:1327
Symbol 1315 TextUses:180Used by:1327
Symbol 1316 BitmapUsed by:1317
Symbol 1317 GraphicUses:1316Used by:1318
Symbol 1318 MovieClipUses:1317Used by:1327
Symbol 1319 EditableTextUses:51Used by:1327
Symbol 1320 TextUses:180Used by:1327
Symbol 1321 EditableTextUses:51Used by:1327
Symbol 1322 EditableTextUses:180Used by:1327
Symbol 1323 EditableTextUses:51Used by:1327
Symbol 1324 EditableTextUses:180Used by:1327
Symbol 1325 EditableTextUses:51Used by:1327
Symbol 1326 EditableTextUses:180Used by:1327
Symbol 1327 MovieClip {spacerangerCS3_fla.howtoplay_253}Uses:1152 1284 1285 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1263 1265 1297 1266 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 982 984 980 480 483 1312 1313 1314 1315 1318 1319 1320 477 1321 1322 1323 1324 1325 1326Used by:1378
Symbol 1328 BitmapUsed by:1329
Symbol 1329 GraphicUses:1328Used by:1330
Symbol 1330 MovieClipUses:1329Used by:1344
Symbol 1331 EditableTextUses:51Used by:1344
Symbol 1332 EditableTextUses:51Used by:1344
Symbol 1333 TextUses:51Used by:1344
Symbol 1334 TextUses:51Used by:1344
Symbol 1335 EditableTextUses:51Used by:1344
Symbol 1336 EditableTextUses:51Used by:1344
Symbol 1337 TextUses:51Used by:1344
Symbol 1338 EditableTextUses:51Used by:1344
Symbol 1339 GraphicUsed by:1344
Symbol 1340 GraphicUsed by:1341 1342
Symbol 1341 MovieClipUses:47 1340Used by:1342
Symbol 1342 ButtonUses:1341 46 1340Used by:1344
Symbol 1343 EditableTextUses:1Used by:1344
Symbol 1344 MovieClip {uiCharacterSheet}Uses:1152 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1342 95 1343Used by:1378
Symbol 1345 EditableTextUses:1Used by:1346
Symbol 1346 MovieClip {spacerangerCS3_fla.timer_280}Uses:1345Used by:1378
Symbol 1347 EditableTextUses:1Used by:1348 1349
Symbol 1348 MovieClip {spacerangerCS3_fla.text_282}Uses:1347Used by:1349
Symbol 1349 ButtonUses:1348 1347Used by:1378
Symbol 1350 EditableTextUses:1Used by:1351 1352
Symbol 1351 MovieClip {spacerangerCS3_fla.text_285}Uses:1350Used by:1352
Symbol 1352 ButtonUses:1351 1350Used by:1358 1438
Symbol 1353 BitmapUsed by:1354
Symbol 1354 GraphicUses:1353Used by:1355
Symbol 1355 MovieClipUses:1354Used by:1358
Symbol 1356 EditableTextUses:1Used by:1358
Symbol 1357 EditableTextUses:1Used by:1358
Symbol 1358 MovieClip {spacerangerCS3_fla.gamecompleted_283}Uses:47 160 146 1152 1352 1355 1356 1357 1083Used by:1378
Symbol 1359 EditableTextUses:1Used by:1360 1361
Symbol 1360 MovieClip {spacerangerCS3_fla.text_289}Uses:1359Used by:1361
Symbol 1361 ButtonUses:1360 1359Used by:1375
Symbol 1362 GraphicUsed by:1375
Symbol 1363 EditableTextUses:1Used by:1375
Symbol 1364 EditableTextUses:1Used by:1375
Symbol 1365 EditableTextUses:1Used by:1375
Symbol 1366 EditableTextUses:1Used by:1375
Symbol 1367 EditableTextUses:51Used by:1375
Symbol 1368 EditableTextUses:51Used by:1375
Symbol 1369 EditableTextUses:51Used by:1375
Symbol 1370 EditableTextUses:51Used by:1375
Symbol 1371 EditableTextUses:51Used by:1375
Symbol 1372 EditableTextUses:51Used by:1375
Symbol 1373 EditableTextUses:51Used by:1375
Symbol 1374 EditableTextUses:1Used by:1375
Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287}Uses:1152 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374Used by:1378
Symbol 1376 MovieClip {spacerangerCS3_fla.aim_291}Uses:1265Used by:1377
Symbol 1377 MovieClip {spacerangerCS3_fla.cursor_290}Uses:1376 1263Used by:1378
Symbol 1378 MovieClip {GameInterface}Uses:47 501 518 901 930 952 968 971 1028 1040 1046 1055 1060 1062 1090 1102 1116 1131 1142 1149 1268 1283 1327 1344 1346 1349 1358 1375 1377Used by:1379
Symbol 1379 MovieClip {spacerangerCS3_fla.game_80}Uses:457 124 471 47 1378Used by:1566
Symbol 1380 BitmapUsed by:1381
Symbol 1381 GraphicUses:1380Used by:1423
Symbol 1382 VideoUsed by:1383
Symbol 1383 MovieClip {spacerangerCS3_fla.chairclip_293}Uses:1382Used by:1423
Symbol 1384 BitmapUsed by:1385 1395
Symbol 1385 GraphicUses:1384Used by:1386
Symbol 1386 MovieClipUses:1385Used by:1394 1416 1422
Symbol 1387 EditableTextUses:1Used by:1388 1389
Symbol 1388 MovieClip {spacerangerCS3_fla.text_298}Uses:1387Used by:1389
Symbol 1389 ButtonUses:1388 1387Used by:1393
Symbol 1390 EditableTextUses:1Used by:1391 1392
Symbol 1391 MovieClip {spacerangerCS3_fla.text_300}Uses:1390Used by:1392
Symbol 1392 ButtonUses:1391 1390Used by:1393
Symbol 1393 MovieClip {spacerangerCS3_fla.menunew_296}Uses:1389 1392Used by:1394
Symbol 1394 MovieClip {spacerangerCS3_fla.panelnew_294}Uses:1386 1393Used by:1423
Symbol 1395 GraphicUses:1384Used by:1400
Symbol 1396 EditableTextUses:1Used by:1397 1398
Symbol 1397 MovieClip {spacerangerCS3_fla.text_304}Uses:1396Used by:1398
Symbol 1398 ButtonUses:47 1397 46 1396Used by:1399
Symbol 1399 MovieClip {spacerangerCS3_fla.menulinks_302}Uses:1398 1077Used by:1400
Symbol 1400 MovieClip {spacerangerCS3_fla.paneloptions_301}Uses:1395 1399Used by:1423
Symbol 1401 BitmapUsed by:1402
Symbol 1402 GraphicUses:1401Used by:1409
Symbol 1403 TextUses:180Used by:1405
Symbol 1404 TextUses:180Used by:1405
Symbol 1405 MovieClipUses:1403 1404Used by:1409
Symbol 1406 TextUses:180Used by:1408 1409
Symbol 1407 TextUses:180Used by:1408 1409
Symbol 1408 MovieClipUses:1406 1407Used by:1409
Symbol 1409 ButtonUses:1402 1405 1408 46 1406 1407Used by:1410
Symbol 1410 MovieClip {spacerangerCS3_fla.sandymc_305}Uses:1409Used by:1423
Symbol 1411 BitmapUsed by:1413 1483
Symbol 1412 BitmapUsed by:1413 1483
Symbol 1413 GraphicUses:1411 1412Used by:1414 1415
Symbol 1414 MovieClipUses:1413Used by:1415
Symbol 1415 ButtonUses:1414 46 1413Used by:1416
Symbol 1416 MovieClip {spacerangerCS3_fla.panelsponsor_309}Uses:1386 1415Used by:1423
Symbol 1417 EditableTextUses:51Used by:1421
Symbol 1418 EditableTextUses:51Used by:1421
Symbol 1419 EditableTextUses:51Used by:1421
Symbol 1420 EditableTextUses:51Used by:1421
Symbol 1421 ButtonUses:47 1417 1418 151 1419 1420 158 46Used by:1422
Symbol 1422 MovieClip {spacerangerCS3_fla.panelqigames_312}Uses:1386 1421Used by:1423
Symbol 1423 MovieClip {spacerangerCS3_fla.menutransition_292}Uses:1381 1383 47 173 1394 1400 1410 1416 1422Used by:1566
Symbol 1424 BitmapUsed by:1425
Symbol 1425 GraphicUses:1424Used by:1452 1472
Symbol 1426 VideoUsed by:1427
Symbol 1427 MovieClip {spacerangerCS3_fla.terminalclip_315}Uses:47 1426Used by:1452 1472
Symbol 1428 BitmapUsed by:1429
Symbol 1429 GraphicUses:1428Used by:1452 1472
Symbol 1430 EditableTextUses:1Used by:1434
Symbol 1431 EditableTextUses:1Used by:1434
Symbol 1432 EditableTextUses:1Used by:1434
Symbol 1433 EditableTextUses:1Used by:1434
Symbol 1434 MovieClip {spacerangerCS3_fla.menu_317}Uses:1430 1096 1431 1432 1433Used by:1451
Symbol 1435 GraphicUsed by:1438
Symbol 1436 EditableTextUses:51Used by:1438
Symbol 1437 EditableTextUses:51Used by:1438
Symbol 1438 MovieClip {spacerangerCS3_fla.menu_318}Uses:1435 1436 1437 1096 1352Used by:1451
Symbol 1439 GraphicUsed by:1450
Symbol 1440 EditableTextUses:1Used by:1441 1442
Symbol 1441 MovieClip {spacerangerCS3_fla.text_321}Uses:1440Used by:1442
Symbol 1442 ButtonUses:1441 1440Used by:1450
Symbol 1443 EditableTextUses:1Used by:1444 1445
Symbol 1444 MovieClip {spacerangerCS3_fla.text_323}Uses:1443Used by:1445
Symbol 1445 ButtonUses:1444 1443Used by:1450
Symbol 1446 EditableTextUses:1Used by:1447 1448
Symbol 1447 MovieClip {spacerangerCS3_fla.text_325}Uses:1446Used by:1448
Symbol 1448 ButtonUses:1447 1446Used by:1450
Symbol 1449 EditableTextUses:1Used by:1450
Symbol 1450 MovieClip {spacerangerCS3_fla.menu_319}Uses:1439 1442 1445 1448 1449Used by:1451
Symbol 1451 MovieClip {spacerangerCS3_fla.screen_316}Uses:1434 1438 1450Used by:1452
Symbol 1452 MovieClip {spacerangerCS3_fla.newgame_314}Uses:1425 173 47 1427 1429 1451Used by:1566
Symbol 1453 EditableTextUses:1Used by:1454 1455
Symbol 1454 MovieClip {spacerangerCS3_fla.text_330}Uses:1453Used by:1455
Symbol 1455 ButtonUses:1454 1453Used by:1470
Symbol 1456 EditableTextUses:1Used by:1457 1458
Symbol 1457 MovieClip {spacerangerCS3_fla.text_332}Uses:1456Used by:1458
Symbol 1458 ButtonUses:1457 1456Used by:1470
Symbol 1459 FontUsed by:1460 1461 1462 1463 1464
Symbol 1460 EditableTextUses:1459Used by:1470
Symbol 1461 EditableTextUses:1459Used by:1470
Symbol 1462 EditableTextUses:1459Used by:1470
Symbol 1463 EditableTextUses:1459Used by:1470
Symbol 1464 EditableTextUses:1459Used by:1470
Symbol 1465 EditableTextUses:1Used by:1470
Symbol 1466 GraphicUsed by:1467
Symbol 1467 MovieClipUses:1466Used by:1470
Symbol 1468 GraphicUsed by:1469
Symbol 1469 ButtonUses:1468Used by:1470
Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328}Uses:1455 1458 1460 1461 1462 1463 1464 1465 1467 1469Used by:1471
Symbol 1471 MovieClip {spacerangerCS3_fla.screen_327}Uses:1470Used by:1472
Symbol 1472 MovieClip {spacerangerCS3_fla.loadgame_326}Uses:1425 173 47 1427 1429 1471Used by:1566
Symbol 1473 BitmapUsed by:1474
Symbol 1474 GraphicUses:1473Used by:1475
Symbol 1475 MovieClipUses:1474Used by:1564
Symbol 1476 BitmapUsed by:1477
Symbol 1477 GraphicUses:1476Used by:1478
Symbol 1478 MovieClipUses:1477Used by:1482
Symbol 1479 BitmapUsed by:1480
Symbol 1480 GraphicUses:1479Used by:1481 1482
Symbol 1481 MovieClipUses:1480Used by:1482
Symbol 1482 ButtonUses:47 1478 153 1481 159 46 1480 158Used by:1564
Symbol 1483 GraphicUses:1411 1412Used by:1484 1485
Symbol 1484 MovieClipUses:1483Used by:1485
Symbol 1485 ButtonUses:1484 46 1483Used by:1564
Symbol 1486 EditableTextUses:1Used by:1490
Symbol 1487 EditableTextUses:1Used by:1490
Symbol 1488 EditableTextUses:1Used by:1490
Symbol 1489 EditableTextUses:1Used by:1490
Symbol 1490 MovieClip {spacerangerCS3_fla.textloading_343}Uses:1486 1487 1488 1489Used by:1564
Symbol 1491 BitmapUsed by:1492
Symbol 1492 GraphicUses:1491Used by:1563
Symbol 1493 BitmapUsed by:1494
Symbol 1494 GraphicUses:1493Used by:1563
Symbol 1495 BitmapUsed by:1496
Symbol 1496 GraphicUses:1495Used by:1563
Symbol 1497 BitmapUsed by:1498
Symbol 1498 GraphicUses:1497Used by:1563
Symbol 1499 BitmapUsed by:1500
Symbol 1500 GraphicUses:1499Used by:1563
Symbol 1501 BitmapUsed by:1502
Symbol 1502 GraphicUses:1501Used by:1563
Symbol 1503 BitmapUsed by:1504
Symbol 1504 GraphicUses:1503Used by:1563
Symbol 1505 BitmapUsed by:1506
Symbol 1506 GraphicUses:1505Used by:1563
Symbol 1507 BitmapUsed by:1508
Symbol 1508 GraphicUses:1507Used by:1563
Symbol 1509 BitmapUsed by:1510
Symbol 1510 GraphicUses:1509Used by:1563
Symbol 1511 BitmapUsed by:1512
Symbol 1512 GraphicUses:1511Used by:1563
Symbol 1513 BitmapUsed by:1514
Symbol 1514 GraphicUses:1513Used by:1563
Symbol 1515 BitmapUsed by:1516
Symbol 1516 GraphicUses:1515Used by:1563
Symbol 1517 BitmapUsed by:1518
Symbol 1518 GraphicUses:1517Used by:1563
Symbol 1519 BitmapUsed by:1520
Symbol 1520 GraphicUses:1519Used by:1563
Symbol 1521 BitmapUsed by:1522
Symbol 1522 GraphicUses:1521Used by:1563
Symbol 1523 BitmapUsed by:1524
Symbol 1524 GraphicUses:1523Used by:1563
Symbol 1525 BitmapUsed by:1526
Symbol 1526 GraphicUses:1525Used by:1563
Symbol 1527 BitmapUsed by:1528
Symbol 1528 GraphicUses:1527Used by:1563
Symbol 1529 BitmapUsed by:1530
Symbol 1530 GraphicUses:1529Used by:1563
Symbol 1531 BitmapUsed by:1532
Symbol 1532 GraphicUses:1531Used by:1563
Symbol 1533 BitmapUsed by:1534
Symbol 1534 GraphicUses:1533Used by:1563
Symbol 1535 BitmapUsed by:1536
Symbol 1536 GraphicUses:1535Used by:1563
Symbol 1537 BitmapUsed by:1538
Symbol 1538 GraphicUses:1537Used by:1563
Symbol 1539 BitmapUsed by:1540
Symbol 1540 GraphicUses:1539Used by:1563
Symbol 1541 BitmapUsed by:1542
Symbol 1542 GraphicUses:1541Used by:1563
Symbol 1543 BitmapUsed by:1544
Symbol 1544 GraphicUses:1543Used by:1563
Symbol 1545 BitmapUsed by:1546
Symbol 1546 GraphicUses:1545Used by:1563
Symbol 1547 BitmapUsed by:1548
Symbol 1548 GraphicUses:1547Used by:1563
Symbol 1549 BitmapUsed by:1550
Symbol 1550 GraphicUses:1549Used by:1563
Symbol 1551 BitmapUsed by:1552
Symbol 1552 GraphicUses:1551Used by:1563
Symbol 1553 BitmapUsed by:1554
Symbol 1554 GraphicUses:1553Used by:1563
Symbol 1555 BitmapUsed by:1556
Symbol 1556 GraphicUses:1555Used by:1563
Symbol 1557 BitmapUsed by:1558
Symbol 1558 GraphicUses:1557Used by:1563
Symbol 1559 BitmapUsed by:1560
Symbol 1560 GraphicUses:1559Used by:1563
Symbol 1561 BitmapUsed by:1562
Symbol 1562 GraphicUses:1561Used by:1563
Symbol 1563 MovieClipUses:1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562Used by:1564
Symbol 1564 MovieClip {spacerangerCS3_fla.gameloading_336}Uses:1475 1482 1485 1490 1563Used by:1565
Symbol 1565 MovieClip {spacerangerCS3_fla.game_335}Uses:47 1564Used by:1566
Symbol 1566 MovieClip {spacerangerCS3_fla.game_79}Uses:1379 47 1423 1452 1472 1565Used by:Timeline

Instance Names

"bar5_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 45 MovieClip {spacerangerCS3_fla.dot_bar4_346}
"skill5_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"up5_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 52 EditableText
"bar1_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 45 MovieClip {spacerangerCS3_fla.dot_bar4_346}
"bar2_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 45 MovieClip {spacerangerCS3_fla.dot_bar4_346}
"bar3_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 45 MovieClip {spacerangerCS3_fla.dot_bar4_346}
"bar4_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 45 MovieClip {spacerangerCS3_fla.dot_bar4_346}
"skill1_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"skill2_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"skill3_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"skill4_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"up2_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 54 EditableText
"up3_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 55 EditableText
"up4_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 56 EditableText
"up1_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 61 EditableText
"bar6_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 65 MovieClip {spacerangerCS3_fla.dot_bar2_349}
"skill6_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"up6_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 66 EditableText
"bar7_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 65 MovieClip {spacerangerCS3_fla.dot_bar2_349}
"skill7_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"up7_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 68 EditableText
"bar8_mc"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 65 MovieClip {spacerangerCS3_fla.dot_bar2_349}
"skill8_btn"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 50 Button
"up8_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 70 EditableText
"cost1_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 75 EditableText
"cost2_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 76 EditableText
"cost3_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 77 EditableText
"cost4_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 78 EditableText
"cost5_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 79 EditableText
"cost6_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 80 EditableText
"cost7_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 81 EditableText
"cost8_txt"Symbol 87 MovieClip {uiCharacterSkills} Frame 1Symbol 82 EditableText
"flash_mc"Symbol 111 MovieClip {spacerangerCS3_fla.firepistol_86} Frame 1Symbol 110 MovieClip
"fire_mc"Symbol 114 MovieClip {spacerangerCS3_fla.pistol_85} Frame 1Symbol 111 MovieClip {spacerangerCS3_fla.firepistol_86}
"flash_mc"Symbol 118 MovieClip {spacerangerCS3_fla.fireubergun_89} Frame 1Symbol 117 MovieClip
"fire_mc"Symbol 121 MovieClip {spacerangerCS3_fla.ubergun_88} Frame 1Symbol 118 MovieClip {spacerangerCS3_fla.fireubergun_89}
"pistol_mc"Symbol 122 MovieClip {spacerangerCS3_fla.bodymoves_84} Frame 1Symbol 114 MovieClip {spacerangerCS3_fla.pistol_85}
"ubergun_mc"Symbol 122 MovieClip {spacerangerCS3_fla.bodymoves_84} Frame 1Symbol 121 MovieClip {spacerangerCS3_fla.ubergun_88}
"BODY"Symbol 124 MovieClip {aiPlayer} Frame 1Symbol 122 MovieClip {spacerangerCS3_fla.bodymoves_84}
"TIP"Symbol 124 MovieClip {aiPlayer} Frame 1Symbol 123 MovieClip
"embed_btn"Symbol 184 MovieClip {spacerangerCS3_fla.versionlocked_17} Frame 1Symbol 183 Button
"label_txt"Symbol 186 MovieClip {spacerangerCS3_fla.playtext_21} Frame 1Symbol 185 EditableText
"bubblebox_btn"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 146 Button
"qigames_btn"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 160 Button
"adBox"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 163 MovieClip
"bar_mc"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 166 MovieClip {spacerangerCS3_fla.bar_13}
"pct_txt"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 167 EditableText
"kb_txt"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 168 EditableText
"file_txt"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 169 EditableText
"status_txt"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 1Symbol 170 EditableText
"locked_mc"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 5Symbol 184 MovieClip {spacerangerCS3_fla.versionlocked_17}
"play_btn"Symbol 189 MovieClip {spacerangerCS3_fla.loaderCPMStar_2} Frame 5Symbol 188 Button
"current_txt"Symbol 197 MovieClip {spacerangerCS3_fla.flash9required_22} Frame 1Symbol 193 EditableText
"flash_btn"Symbol 197 MovieClip {spacerangerCS3_fla.flash9required_22} Frame 1Symbol 196 Button
"play_latest_text"Symbol 281 MovieClip {spacerangerCS3_fla.bubblebox_intro_27} Frame 1Symbol 274 MovieClip {spacerangerCS3_fla.bubblxbox_play_latest_text_28}
"bubblebox_btn"Symbol 281 MovieClip {spacerangerCS3_fla.bubblebox_intro_27} Frame 1Symbol 280 Button
"walk_mc"Symbol 317 MovieClip {spacerangerCS3_fla.moves_36} Frame 2Symbol 313 MovieClip
"stand_mc"Symbol 317 MovieClip {spacerangerCS3_fla.moves_36} Frame 3Symbol 316 MovieClip
"body_mc"Symbol 318 MovieClip {spacerangerCS3_fla.handyman_35} Frame 1Symbol 317 MovieClip {spacerangerCS3_fla.moves_36}
"walk_mc"Symbol 363 MovieClip {spacerangerCS3_fla.moves_40} Frame 2Symbol 359 MovieClip
"stand_mc"Symbol 363 MovieClip {spacerangerCS3_fla.moves_40} Frame 3Symbol 362 MovieClip
"body_mc"Symbol 364 MovieClip {spacerangerCS3_fla.spacebounty_39} Frame 1Symbol 363 MovieClip {spacerangerCS3_fla.moves_40}
"walk_mc"Symbol 399 MovieClip {spacerangerCS3_fla.moves_44} Frame 2Symbol 395 MovieClip
"stand_mc"Symbol 399 MovieClip {spacerangerCS3_fla.moves_44} Frame 3Symbol 398 MovieClip
"body_mc"Symbol 400 MovieClip {spacerangerCS3_fla.13days_43} Frame 1Symbol 399 MovieClip {spacerangerCS3_fla.moves_44}
"alpha_mc"Symbol 407 MovieClip {spacerangerCS3_fla.producedbyalpha_49} Frame 1Symbol 406 MovieClip
"qigames_btn"Symbol 417 MovieClip {spacerangerCS3_fla.dotcomw_54} Frame 1Symbol 416 Button
"dotcom_mc"Symbol 418 MovieClip {spacerangerCS3_fla.dotcomalpha_53} Frame 1Symbol 417 MovieClip {spacerangerCS3_fla.dotcomw_54}
"c2_mc"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 318 MovieClip {spacerangerCS3_fla.handyman_35}
"c1_mc"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 364 MovieClip {spacerangerCS3_fla.spacebounty_39}
"c3_mc"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 400 MovieClip {spacerangerCS3_fla.13days_43}
"skip_btn"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 403 Button
"producedby_mc"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 407 MovieClip {spacerangerCS3_fla.producedbyalpha_49}
"qi_mc"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 409 MovieClip {spacerangerCS3_fla.qislide_51}
"dotcom_mc"Symbol 419 MovieClip {spacerangerCS3_fla.splash_34} Frame 1Symbol 418 MovieClip {spacerangerCS3_fla.dotcomalpha_53}
"btn_good"Symbol 440 MovieClip {spacerangerCS3_fla.pcoption_58} Frame 1Symbol 430 Button
"btn_slow"Symbol 440 MovieClip {spacerangerCS3_fla.pcoption_58} Frame 1Symbol 438 Button
"fps_txt"Symbol 444 MovieClip {spacerangerCS3_fla.soundcontrol_63} Frame 1Symbol 441 EditableText
"fps_txt"Symbol 444 MovieClip {spacerangerCS3_fla.soundcontrol_63} Frame 1Symbol 443 EditableText
"music_chk"Symbol 444 MovieClip {spacerangerCS3_fla.soundcontrol_63} Frame 1Symbol 140 MovieClip {fl.controls.CheckBox}
"sfx_chk"Symbol 444 MovieClip {spacerangerCS3_fla.soundcontrol_63} Frame 1Symbol 140 MovieClip {fl.controls.CheckBox}
"fps_txt"Symbol 455 MovieClip {spacerangerCS3_fla.fpsmonitor_76} Frame 1Symbol 445 EditableText
"qigames_btn"Symbol 455 MovieClip {spacerangerCS3_fla.fpsmonitor_76} Frame 1Symbol 453 Button
"memory_txt"Symbol 455 MovieClip {spacerangerCS3_fla.fpsmonitor_76} Frame 1Symbol 454 EditableText
"redflash"Symbol 471 MovieClip {splatter} Frame 1Symbol 458 MovieClip {spacerangerCS3_fla.redflash_93}
"rip3_mc"Symbol 471 MovieClip {splatter} Frame 1Symbol 462 MovieClip {spacerangerCS3_fla.rip3_94}
"rip1_mc"Symbol 471 MovieClip {splatter} Frame 1Symbol 466 MovieClip {spacerangerCS3_fla.rip1_96}
"rip2_mc"Symbol 471 MovieClip {splatter} Frame 1Symbol 470 MovieClip {spacerangerCS3_fla.rip2_98}
"row1"Symbol 487 MovieClip {spacerangerCS3_fla.chamberrpg_107} Frame 1Symbol 486 MovieClip
"row2"Symbol 487 MovieClip {spacerangerCS3_fla.chamberrpg_107} Frame 1Symbol 486 MovieClip
"row1"Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110} Frame 1Symbol 491 MovieClip
"row2"Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110} Frame 1Symbol 491 MovieClip
"row3"Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110} Frame 1Symbol 491 MovieClip
"row4"Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110} Frame 1Symbol 491 MovieClip
"row5"Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110} Frame 1Symbol 491 MovieClip
"row1"Symbol 495 MovieClip {spacerangerCS3_fla.chamberpistol_113} Frame 1Symbol 494 MovieClip
"row2"Symbol 495 MovieClip {spacerangerCS3_fla.chamberpistol_113} Frame 1Symbol 494 MovieClip
"row3"Symbol 495 MovieClip {spacerangerCS3_fla.chamberpistol_113} Frame 1Symbol 494 MovieClip
"gun_mc"Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101} Frame 1Symbol 484 MovieClip {spacerangerCS3_fla.weapons_103}
"chamber_rpg"Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101} Frame 1Symbol 487 MovieClip {spacerangerCS3_fla.chamberrpg_107}
"chamber_ubergun"Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101} Frame 1Symbol 492 MovieClip {spacerangerCS3_fla.chamberubergun_110}
"chamber_pistol"Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101} Frame 1Symbol 495 MovieClip {spacerangerCS3_fla.chamberpistol_113}
"chamber_txt"Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101} Frame 1Symbol 496 EditableText
"total_txt"Symbol 501 MovieClip {spacerangerCS3_fla.ammo_101} Frame 1Symbol 497 EditableText
"label1_txt"Symbol 518 MovieClip {spacerangerCS3_fla.reloading_117} Frame 1Symbol 505 EditableText
"bar3"Symbol 518 MovieClip {spacerangerCS3_fla.reloading_117} Frame 1Symbol 510 MovieClip {spacerangerCS3_fla.barrpg_119}
"bar2"Symbol 518 MovieClip {spacerangerCS3_fla.reloading_117} Frame 1Symbol 513 MovieClip {spacerangerCS3_fla.barubergun_122}
"bar1"Symbol 518 MovieClip {spacerangerCS3_fla.reloading_117} Frame 1Symbol 517 MovieClip {spacerangerCS3_fla.barpistol_124}
"pie_mask_mc"Symbol 882 MovieClip {spacerangerCS3_fla.outline_128} Frame 1Symbol 879 MovieClip
"outline_mc"Symbol 890 MovieClip {spacerangerCS3_fla.skill_127} Frame 1Symbol 882 MovieClip {spacerangerCS3_fla.outline_128}
"outline_mc"Symbol 895 MovieClip {spacerangerCS3_fla.skill_133} Frame 1Symbol 882 MovieClip {spacerangerCS3_fla.outline_128}
"outline_mc"Symbol 900 MovieClip {spacerangerCS3_fla.skill_136} Frame 1Symbol 882 MovieClip {spacerangerCS3_fla.outline_128}
"stealth"Symbol 901 MovieClip {spacerangerCS3_fla.skills_126} Frame 1Symbol 890 MovieClip {spacerangerCS3_fla.skill_127}
"heal"Symbol 901 MovieClip {spacerangerCS3_fla.skills_126} Frame 1Symbol 895 MovieClip {spacerangerCS3_fla.skill_133}
"repulse"Symbol 901 MovieClip {spacerangerCS3_fla.skills_126} Frame 1Symbol 900 MovieClip {spacerangerCS3_fla.skill_136}
"xp_txt"Symbol 929 MovieClip {spacerangerCS3_fla.pressctolevelup_148} Frame 1Symbol 928 EditableText
"health_bar_mc"Symbol 930 MovieClip {spacerangerCS3_fla.health_139} Frame 1Symbol 909 MovieClip {spacerangerCS3_fla.healthbartween_141}
"xp_bar_mc"Symbol 930 MovieClip {spacerangerCS3_fla.health_139} Frame 1Symbol 914 MovieClip {spacerangerCS3_fla.xpbartween_143}
"focus_bar_mc"Symbol 930 MovieClip {spacerangerCS3_fla.health_139} Frame 1Symbol 919 MovieClip {spacerangerCS3_fla.focusbartween_145}
"xp_txt"Symbol 930 MovieClip {spacerangerCS3_fla.health_139} Frame 1Symbol 922 EditableText
"health_txt"Symbol 930 MovieClip {spacerangerCS3_fla.health_139} Frame 1Symbol 923 EditableText
"focus_txt"Symbol 930 MovieClip {spacerangerCS3_fla.health_139} Frame 1Symbol 925 EditableText
"mapscene"Symbol 958 MovieClip {spacerangerCS3_fla.map_153} Frame 1Symbol 957 MovieClip {MapScene}
"map"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 958 MovieClip {spacerangerCS3_fla.map_153}
"dot01"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot02"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot03"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot04"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot05"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot06"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot07"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot08"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot09"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot10"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot11"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot12"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot13"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot14"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot15"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot16"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot17"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot18"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot19"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot20"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot21"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot22"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot23"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot24"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot25"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot26"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot27"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot28"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot29"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot30"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot31"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot32"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot33"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot34"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot35"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot36"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot37"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot38"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot39"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot40"Symbol 968 MovieClip {spacerangerCS3_fla.radar_151} Frame 1Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"label_txt"Symbol 970 MovieClip {spacerangerCS3_fla.mapbtnclip_161} Frame 1Symbol 969 EditableText
"key_red"Symbol 1002 MovieClip {spacerangerCS3_fla.keys_172} Frame 1Symbol 989 MovieClip {spacerangerCS3_fla.keyred_173}
"key_blue"Symbol 1002 MovieClip {spacerangerCS3_fla.keys_172} Frame 1Symbol 993 MovieClip {spacerangerCS3_fla.keyblue_175}
"key_green"Symbol 1002 MovieClip {spacerangerCS3_fla.keys_172} Frame 1Symbol 997 MovieClip {spacerangerCS3_fla.keygreen_177}
"key_yellow"Symbol 1002 MovieClip {spacerangerCS3_fla.keys_172} Frame 1Symbol 1001 MovieClip {spacerangerCS3_fla.keyyellow_179}
"key4_mc"Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163} Frame 1Symbol 975 MovieClip {spacerangerCS3_fla.keybgrpg_164}
"key4_mc"Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163} Frame 1Symbol 975 MovieClip {spacerangerCS3_fla.keybgrpg_164}
"key4_mc"Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163} Frame 1Symbol 975 MovieClip {spacerangerCS3_fla.keybgrpg_164}
"btn_stealth"Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163} Frame 1Symbol 981 Button
"btn_heal"Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163} Frame 1Symbol 983 Button
"btn_repulse"Symbol 1003 MovieClip {spacerangerCS3_fla.keys_163} Frame 1Symbol 985 Button
"label1_txt"Symbol 1008 MovieClip {spacerangerCS3_fla.clip_182} Frame 1Symbol 1004 EditableText
"label1_txt"Symbol 1011 MovieClip {spacerangerCS3_fla.clip1_185} Frame 1Symbol 1010 EditableText
"label1_txt"Symbol 1014 MovieClip {spacerangerCS3_fla.cliprpg_187} Frame 1Symbol 1013 EditableText
"label1_txt"Symbol 1017 MovieClip {spacerangerCS3_fla.clip_189} Frame 1Symbol 1016 EditableText
"label1_txt"Symbol 1020 MovieClip {spacerangerCS3_fla.clip_191} Frame 1Symbol 1019 EditableText
"label1_txt"Symbol 1023 MovieClip {spacerangerCS3_fla.clip_193} Frame 1Symbol 1022 EditableText
"label1_txt"Symbol 1026 MovieClip {spacerangerCS3_fla.clip_195} Frame 1Symbol 1025 EditableText
"key3_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 975 MovieClip {spacerangerCS3_fla.keybgrpg_164}
"key2_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1029 MovieClip {spacerangerCS3_fla.keybgubergun_197}
"key4_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 975 MovieClip {spacerangerCS3_fla.keybgrpg_164}
"key1_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1029 MovieClip {spacerangerCS3_fla.keybgubergun_197}
"ammo3_txt"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1031 EditableText
"ammo2_txt"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1034 EditableText
"medikit_txt"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1036 EditableText
"gun2_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1037 MovieClip {spacerangerCS3_fla.gun2_198}
"gun3_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1038 MovieClip {spacerangerCS3_fla.gun3_199}
"gun1_mc"Symbol 1040 MovieClip {spacerangerCS3_fla.inventory_196} Frame 1Symbol 1039 MovieClip {spacerangerCS3_fla.gun1_200}
"label1_txt"Symbol 1046 MovieClip {spacerangerCS3_fla.missionprogress_201} Frame 2Symbol 1044 EditableText
"label2_txt"Symbol 1046 MovieClip {spacerangerCS3_fla.missionprogress_201} Frame 2Symbol 1045 EditableText
"bg"Symbol 1055 MovieClip {spacerangerCS3_fla.interaction_203} Frame 3Symbol 1053 MovieClip {spacerangerCS3_fla.interactionbg_204}
"label1_txt"Symbol 1055 MovieClip {spacerangerCS3_fla.interaction_203} Frame 3Symbol 1054 EditableText
"arrowL"Symbol 1060 MovieClip {spacerangerCS3_fla.monsterwarning_205} Frame 1Symbol 1059 MovieClip {spacerangerCS3_fla.arrow_206}
"arrowR"Symbol 1060 MovieClip {spacerangerCS3_fla.monsterwarning_205} Frame 1Symbol 1059 MovieClip {spacerangerCS3_fla.arrow_206}
"bg"Symbol 1062 MovieClip {spacerangerCS3_fla.notice_208} Frame 1Symbol 1053 MovieClip {spacerangerCS3_fla.interactionbg_204}
"label1_txt"Symbol 1062 MovieClip {spacerangerCS3_fla.notice_208} Frame 1Symbol 1061 EditableText
"label_txt"Symbol 1064 MovieClip {spacerangerCS3_fla.text_213} Frame 1Symbol 1063 EditableText
"caption_txt"Symbol 1074 MovieClip {spacerangerCS3_fla.textsubmitting_214} Frame 1Symbol 1070 EditableText
"caption_txt"Symbol 1074 MovieClip {spacerangerCS3_fla.textsubmitting_214} Frame 6Symbol 1071 EditableText
"caption_txt"Symbol 1074 MovieClip {spacerangerCS3_fla.textsubmitting_214} Frame 11Symbol 1072 EditableText
"caption_txt"Symbol 1074 MovieClip {spacerangerCS3_fla.textsubmitting_214} Frame 16Symbol 1073 EditableText
"label_txt"Symbol 1076 MovieClip {spacerangerCS3_fla.text_216} Frame 1Symbol 1075 EditableText
"label_txt"Symbol 1080 MovieClip {spacerangerCS3_fla.text_218} Frame 1Symbol 1079 EditableText
"btn_submit"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 1Symbol 1065 Button
"player_txt"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 1Symbol 1067 EditableText
"label1_txt"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 1Symbol 1068 EditableText
"score_txt"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 1Symbol 1069 EditableText
"btn_viewscores"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 20Symbol 1077 Button
"label2_txt"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 20Symbol 1078 EditableText
"btn_tryagain"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 30Symbol 1081 Button
"label2_txt"Symbol 1083 MovieClip {spacerangerCS3_fla.submitscore_211} Frame 30Symbol 1082 EditableText
"label_txt"Symbol 1086 MovieClip {spacerangerCS3_fla.text_220} Frame 1Symbol 1085 EditableText
"caption_txt"Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210} Frame 1Symbol 1084 EditableText
"tryagain_btn"Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210} Frame 1Symbol 1081 Button
"quit_btn"Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210} Frame 1Symbol 1087 Button
"message_txt"Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210} Frame 1Symbol 1088 EditableText
"qigames_btn"Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210} Frame 1Symbol 160 Button
"bubblebox_btn"Symbol 1089 MovieClip {spacerangerCS3_fla.gameovermenu_210} Frame 1Symbol 146 Button
"label_txt"Symbol 1095 MovieClip {spacerangerCS3_fla.text_224} Frame 1Symbol 1094 EditableText
"ok_btn"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 1096 Button
"slider1"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 107 MovieClip {fl.controls.Slider}
"slider2"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 107 MovieClip {fl.controls.Slider}
"slider3"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 107 MovieClip {fl.controls.Slider}
"slider4"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 107 MovieClip {fl.controls.Slider}
"label1_txt"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 1097 EditableText
"label2_txt"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 1098 EditableText
"label3_txt"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 1099 EditableText
"label4_txt"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 1100 EditableText
"caption_txt"Symbol 1102 MovieClip {spacerangerCS3_fla.options_221} Frame 1Symbol 1101 EditableText
"ok_btn"Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233} Frame 2Symbol 1096 Button
"label1_txt"Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233} Frame 2Symbol 1107 EditableText
"caption_txt"Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233} Frame 2Symbol 1108 EditableText
"caption_txt"Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233} Frame 3Symbol 1110 EditableText
"caption_txt"Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233} Frame 4Symbol 1112 EditableText
"caption_txt"Symbol 1116 MovieClip {spacerangerCS3_fla.briefing_233} Frame 5Symbol 1114 EditableText
"ok_btn"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 1096 Button
"player"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 960 MovieClip
"dot01"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot02"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot03"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot04"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot05"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot06"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot07"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot08"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot09"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot10"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot11"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot12"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot13"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot14"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot15"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot16"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot17"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot18"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot19"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot20"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot21"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot22"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot23"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot24"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot25"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot26"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot27"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot28"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot29"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot30"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot31"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot32"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot33"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot34"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot35"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot36"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot37"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot38"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot39"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"dot40"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 3Symbol 967 MovieClip {spacerangerCS3_fla.dotmonster_158}
"map"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 4Symbol 957 MovieClip {MapScene}
"caption_txt"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 4Symbol 1127 EditableText
"caption_txt"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 5Symbol 1128 EditableText
"caption_txt"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 6Symbol 1129 EditableText
"caption_txt"Symbol 1131 MovieClip {spacerangerCS3_fla.levelmap_235} Frame 7Symbol 1130 EditableText
"label_txt"Symbol 1134 MovieClip {spacerangerCS3_fla.text_238} Frame 1Symbol 1133 EditableText
"label_txt"Symbol 1137 MovieClip {spacerangerCS3_fla.text_240} Frame 1Symbol 1136 EditableText
"label_txt"Symbol 1140 MovieClip {spacerangerCS3_fla.text_242} Frame 1Symbol 1139 EditableText
"caption_txt"Symbol 1142 MovieClip {spacerangerCS3_fla.gamepaused_236} Frame 3Symbol 1132 EditableText
"quit_btn"Symbol 1142 MovieClip {spacerangerCS3_fla.gamepaused_236} Frame 3Symbol 1087 Button
"resume_btn"Symbol 1142 MovieClip {spacerangerCS3_fla.gamepaused_236} Frame 3Symbol 1135 Button
"help_btn"Symbol 1142 MovieClip {spacerangerCS3_fla.gamepaused_236} Frame 3Symbol 1138 Button
"options_btn"Symbol 1142 MovieClip {spacerangerCS3_fla.gamepaused_236} Frame 3Symbol 1141 Button
"caption_txt"Symbol 1147 MovieClip {spacerangerCS3_fla.textsaving_244} Frame 1Symbol 1143 EditableText
"caption_txt"Symbol 1147 MovieClip {spacerangerCS3_fla.textsaving_244} Frame 6Symbol 1144 EditableText
"caption_txt"Symbol 1147 MovieClip {spacerangerCS3_fla.textsaving_244} Frame 11Symbol 1145 EditableText
"caption_txt"Symbol 1147 MovieClip {spacerangerCS3_fla.textsaving_244} Frame 16Symbol 1146 EditableText
"caption_txt"Symbol 1149 MovieClip {spacerangerCS3_fla.saving_243} Frame 30Symbol 1148 EditableText
"ok_btn"Symbol 1268 MovieClip {spacerangerCS3_fla.combattips_245} Frame 3Symbol 1266 Button
"caption_txt"Symbol 1268 MovieClip {spacerangerCS3_fla.combattips_245} Frame 3Symbol 1267 EditableText
"ok_btn"Symbol 1283 MovieClip {spacerangerCS3_fla.itemstocollect_250} Frame 3Symbol 1266 Button
"caption_txt"Symbol 1283 MovieClip {spacerangerCS3_fla.itemstocollect_250} Frame 3Symbol 1276 EditableText
"ok_btn"Symbol 1327 MovieClip {spacerangerCS3_fla.howtoplay_253} Frame 3Symbol 1266 Button
"caption_txt"Symbol 1327 MovieClip {spacerangerCS3_fla.howtoplay_253} Frame 3Symbol 1310 EditableText
"player_txt"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1331 EditableText
"level_txt"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1332 EditableText
"xp_txt"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1335 EditableText
"nextlevel_txt"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1336 EditableText
"xppoints_txt"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1338 EditableText
"ok_btn"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1342 Button
"scrollpane"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 95 MovieClip {fl.containers.ScrollPane}
"caption_txt"Symbol 1344 MovieClip {uiCharacterSheet} Frame 1Symbol 1343 EditableText
"time_txt"Symbol 1346 MovieClip {spacerangerCS3_fla.timer_280} Frame 1Symbol 1345 EditableText
"label_txt"Symbol 1348 MovieClip {spacerangerCS3_fla.text_282} Frame 1Symbol 1347 EditableText
"label_txt"Symbol 1351 MovieClip {spacerangerCS3_fla.text_285} Frame 1Symbol 1350 EditableText
"qigames_btn"Symbol 1358 MovieClip {spacerangerCS3_fla.gamecompleted_283} Frame 3Symbol 160 Button
"bubblebox_btn"Symbol 1358 MovieClip {spacerangerCS3_fla.gamecompleted_283} Frame 3Symbol 146 Button
"back_btn"Symbol 1358 MovieClip {spacerangerCS3_fla.gamecompleted_283} Frame 3Symbol 1352 Button
"caption_txt"Symbol 1358 MovieClip {spacerangerCS3_fla.gamecompleted_283} Frame 3Symbol 1356 EditableText
"caption_txt"Symbol 1358 MovieClip {spacerangerCS3_fla.gamecompleted_283} Frame 3Symbol 1357 EditableText
"label_txt"Symbol 1360 MovieClip {spacerangerCS3_fla.text_289} Frame 1Symbol 1359 EditableText
"continue_btn"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1361 Button
"label1_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1363 EditableText
"label2_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1364 EditableText
"label3_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1365 EditableText
"label5_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1366 EditableText
"xpbase_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1367 EditableText
"ded1_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1368 EditableText
"ded2_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1369 EditableText
"xptotal_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1370 EditableText
"score1_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1371 EditableText
"res1_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1372 EditableText
"res2_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1373 EditableText
"caption_txt"Symbol 1375 MovieClip {spacerangerCS3_fla.levelcompleted_287} Frame 3Symbol 1374 EditableText
"dot_mc"Symbol 1376 MovieClip {spacerangerCS3_fla.aim_291} Frame 1Symbol 1265 MovieClip
"map_btn"Symbol 1378 MovieClip {GameInterface} Frame 1Symbol 971 Button
"menu_btn"Symbol 1378 MovieClip {GameInterface} Frame 1Symbol 1349 Button
"cursor_mc"Symbol 1378 MovieClip {GameInterface} Frame 1Symbol 1377 MovieClip {spacerangerCS3_fla.cursor_290}
"hero_mc"Symbol 1379 MovieClip {spacerangerCS3_fla.game_80} Frame 1Symbol 124 MovieClip {aiPlayer}
"label_txt"Symbol 1388 MovieClip {spacerangerCS3_fla.text_298} Frame 1Symbol 1387 EditableText
"label_txt"Symbol 1391 MovieClip {spacerangerCS3_fla.text_300} Frame 1Symbol 1390 EditableText
"load_btn"Symbol 1393 MovieClip {spacerangerCS3_fla.menunew_296} Frame 1Symbol 1389 Button
"new_btn"Symbol 1393 MovieClip {spacerangerCS3_fla.menunew_296} Frame 1Symbol 1392 Button
"menu_mc"Symbol 1394 MovieClip {spacerangerCS3_fla.panelnew_294} Frame 1Symbol 1393 MovieClip {spacerangerCS3_fla.menunew_296}
"label_txt"Symbol 1397 MovieClip {spacerangerCS3_fla.text_304} Frame 1Symbol 1396 EditableText
"moregames_btn"Symbol 1399 MovieClip {spacerangerCS3_fla.menulinks_302} Frame 1Symbol 1398 Button
"scores_btn"Symbol 1399 MovieClip {spacerangerCS3_fla.menulinks_302} Frame 1Symbol 1077 Button
"menu_mc"Symbol 1400 MovieClip {spacerangerCS3_fla.paneloptions_301} Frame 1Symbol 1399 MovieClip {spacerangerCS3_fla.menulinks_302}
"sandy_btn"Symbol 1410 MovieClip {spacerangerCS3_fla.sandymc_305} Frame 1Symbol 1409 Button
"bubblebox_btn"Symbol 1416 MovieClip {spacerangerCS3_fla.panelsponsor_309} Frame 1Symbol 1415 Button
"btn_qigames"Symbol 1422 MovieClip {spacerangerCS3_fla.panelqigames_312} Frame 1Symbol 1421 Button
"chair"Symbol 1423 MovieClip {spacerangerCS3_fla.menutransition_292} Frame 1Symbol 1383 MovieClip {spacerangerCS3_fla.chairclip_293}
"label1_txt"Symbol 1434 MovieClip {spacerangerCS3_fla.menu_317} Frame 1Symbol 1430 EditableText
"ok_btn"Symbol 1434 MovieClip {spacerangerCS3_fla.menu_317} Frame 1Symbol 1096 Button
"label2_txt"Symbol 1434 MovieClip {spacerangerCS3_fla.menu_317} Frame 1Symbol 1431 EditableText
"label3_txt"Symbol 1434 MovieClip {spacerangerCS3_fla.menu_317} Frame 1Symbol 1432 EditableText
"label4_txt"Symbol 1434 MovieClip {spacerangerCS3_fla.menu_317} Frame 1Symbol 1433 EditableText
"playerName_txt"Symbol 1438 MovieClip {spacerangerCS3_fla.menu_318} Frame 1Symbol 1436 EditableText
"label1_txt"Symbol 1438 MovieClip {spacerangerCS3_fla.menu_318} Frame 1Symbol 1437 EditableText
"ok_btn"Symbol 1438 MovieClip {spacerangerCS3_fla.menu_318} Frame 1Symbol 1096 Button
"back_btn"Symbol 1438 MovieClip {spacerangerCS3_fla.menu_318} Frame 1Symbol 1352 Button
"label_txt"Symbol 1441 MovieClip {spacerangerCS3_fla.text_321} Frame 1Symbol 1440 EditableText
"label_txt"Symbol 1444 MovieClip {spacerangerCS3_fla.text_323} Frame 1Symbol 1443 EditableText
"label_txt"Symbol 1447 MovieClip {spacerangerCS3_fla.text_325} Frame 1Symbol 1446 EditableText
"medium_btn"Symbol 1450 MovieClip {spacerangerCS3_fla.menu_319} Frame 1Symbol 1442 Button
"hard_btn"Symbol 1450 MovieClip {spacerangerCS3_fla.menu_319} Frame 1Symbol 1445 Button
"easy_btn"Symbol 1450 MovieClip {spacerangerCS3_fla.menu_319} Frame 1Symbol 1448 Button
"caption_txt"Symbol 1450 MovieClip {spacerangerCS3_fla.menu_319} Frame 1Symbol 1449 EditableText
"label_txt"Symbol 1454 MovieClip {spacerangerCS3_fla.text_330} Frame 1Symbol 1453 EditableText
"label_txt"Symbol 1457 MovieClip {spacerangerCS3_fla.text_332} Frame 1Symbol 1456 EditableText
"ok_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1455 Button
"cancel_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1458 Button
"game1_txt"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1460 EditableText
"game2_txt"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1461 EditableText
"game3_txt"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1462 EditableText
"game4_txt"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1463 EditableText
"game5_txt"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1464 EditableText
"text1_txt"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1465 EditableText
"selection_mc"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1467 MovieClip
"zone1_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1469 Button
"zone2_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1469 Button
"zone3_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1469 Button
"zone4_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1469 Button
"zone5_btn"Symbol 1470 MovieClip {spacerangerCS3_fla.menu_328} Frame 1Symbol 1469 Button
"caption_txt"Symbol 1490 MovieClip {spacerangerCS3_fla.textloading_343} Frame 1Symbol 1486 EditableText
"caption_txt"Symbol 1490 MovieClip {spacerangerCS3_fla.textloading_343} Frame 6Symbol 1487 EditableText
"caption_txt"Symbol 1490 MovieClip {spacerangerCS3_fla.textloading_343} Frame 11Symbol 1488 EditableText
"caption_txt"Symbol 1490 MovieClip {spacerangerCS3_fla.textloading_343} Frame 16Symbol 1489 EditableText
"btn_qigames"Symbol 1564 MovieClip {spacerangerCS3_fla.gameloading_336} Frame 1Symbol 1482 Button
"bubblebox_btn"Symbol 1564 MovieClip {spacerangerCS3_fla.gameloading_336} Frame 1Symbol 1485 Button
"play_mc"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 50Symbol 1565 MovieClip {spacerangerCS3_fla.game_335}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""

Labels

"init"Frame 1
"flash9"Frame 10
"dummy"Frame 20
"splash1"Frame 30
"splash2"Frame 40
"pc"Frame 50
"game"Frame 60
"fadeout"Symbol 1423 MovieClip {spacerangerCS3_fla.menutransition_292} Frame 142
"fadeout"Symbol 1452 MovieClip {spacerangerCS3_fla.newgame_314} Frame 50
"fadeout"Symbol 1472 MovieClip {spacerangerCS3_fla.loadgame_326} Frame 50
"intro"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 1
"menu"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 2
"help"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 10
"options"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 20
"new game"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 30
"load game"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 40
"play"Symbol 1566 MovieClip {spacerangerCS3_fla.game_79} Frame 50




http://swfchan.com/6/29977/info.shtml
Created: 19/5 -2019 15:04:33 Last modified: 19/5 -2019 15:04:33 Server time: 20/04 -2024 03:49:10