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

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

Alien Thief - collect puzzle game.swf

This is the info page for
Flash #135457

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


Text
add this to your site

add this to your site

BR

Use                    to move the camera

Press         again to resume the game

Enter

1UP

1UP

Total Score:

?

ActionScript [AS3]

Section 1
//flag_icon_234 (AlienThief_fla.flag_icon_234) package AlienThief_fla { import flash.display.*; public dynamic class flag_icon_234 extends MovieClip { public function flag_icon_234(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package AlienThief_fla
Section 2
//Timeline_107 (AlienThief_fla.Timeline_107) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_107 extends SimpleButton { public var __id16_:LocalizedTextField; public function Timeline_107(){ __setProp___id16__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id16__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id16___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id16__(_arg1:Object){ var __id16_ = _arg1; try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.text = "{quitBtn}"; __id16_.textColor = 4137230; __id16_.textSize = 14; __id16_.bold = true; __id16_.disableWordwrap = false; __id16_.embedFonts = true; __id16_.font = ""; __id16_.hAlign = "center"; __id16_.multiline = false; __id16_.vAlign = "top"; __id16_.antiAliasType = "advanced"; __id16_.glowBlur = 3; __id16_.glowColor = 0; __id16_.useGlowFilter = true; __id16_.glowQuality = 0; __id16_.glowStrength = 0; __id16_.gridFitType = "pixel"; __id16_.italic = false; __id16_.selectable = false; __id16_.underline = false; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id16___1(_arg1:Object){ var __id16_ = _arg1; try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.text = "{quitBtn}"; __id16_.textColor = 0xFFFFFF; __id16_.textSize = 14; __id16_.bold = true; __id16_.disableWordwrap = false; __id16_.embedFonts = true; __id16_.font = ""; __id16_.hAlign = "center"; __id16_.multiline = false; __id16_.vAlign = "top"; __id16_.antiAliasType = "advanced"; __id16_.glowBlur = 3; __id16_.glowColor = 0; __id16_.useGlowFilter = true; __id16_.glowQuality = 0; __id16_.glowStrength = 0; __id16_.gridFitType = "pixel"; __id16_.italic = false; __id16_.selectable = false; __id16_.underline = false; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 3
//Timeline_113 (AlienThief_fla.Timeline_113) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_113 extends SimpleButton { public var __id18_:LocalizedTextField; public function Timeline_113(){ __setProp___id18__(DisplayObjectContainer(upState).getChildAt(9)); __setProp___id18___1(DisplayObjectContainer(overState).getChildAt(9)); __setProp___id18___2(DisplayObjectContainer(downState).getChildAt(9)); } function __setProp___id18__(_arg1:Object){ var __id18_ = _arg1; try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.text = "{keyboard}"; __id18_.textColor = 4137230; __id18_.textSize = 20; __id18_.bold = true; __id18_.disableWordwrap = false; __id18_.embedFonts = true; __id18_.font = ""; __id18_.hAlign = "center"; __id18_.multiline = false; __id18_.vAlign = "top"; __id18_.antiAliasType = "advanced"; __id18_.glowBlur = 3; __id18_.glowColor = 0; __id18_.useGlowFilter = true; __id18_.glowQuality = 0; __id18_.glowStrength = 0; __id18_.gridFitType = "pixel"; __id18_.italic = false; __id18_.selectable = false; __id18_.underline = false; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id18___1(_arg1:Object){ var __id18_ = _arg1; try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.text = "{keyboard}"; __id18_.textColor = 0xFFFFFF; __id18_.textSize = 20; __id18_.bold = true; __id18_.disableWordwrap = false; __id18_.embedFonts = true; __id18_.font = ""; __id18_.hAlign = "center"; __id18_.multiline = false; __id18_.vAlign = "top"; __id18_.antiAliasType = "advanced"; __id18_.glowBlur = 3; __id18_.glowColor = 0; __id18_.useGlowFilter = true; __id18_.glowQuality = 0; __id18_.glowStrength = 0; __id18_.gridFitType = "pixel"; __id18_.italic = false; __id18_.selectable = false; __id18_.underline = false; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id18___2(_arg1:Object){ var __id18_ = _arg1; try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.text = "{keyboard}"; __id18_.textColor = 4137230; __id18_.textSize = 20; __id18_.bold = true; __id18_.disableWordwrap = false; __id18_.embedFonts = true; __id18_.font = ""; __id18_.hAlign = "center"; __id18_.multiline = false; __id18_.vAlign = "top"; __id18_.antiAliasType = "advanced"; __id18_.glowBlur = 3; __id18_.glowColor = 0; __id18_.useGlowFilter = true; __id18_.glowQuality = 0; __id18_.glowStrength = 0; __id18_.gridFitType = "pixel"; __id18_.italic = false; __id18_.selectable = false; __id18_.underline = false; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 4
//Timeline_114 (AlienThief_fla.Timeline_114) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_114 extends SimpleButton { public var __id19_:LocalizedTextField; public function Timeline_114(){ __setProp___id19__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id19___1(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id19___2(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id19__(_arg1:Object){ var __id19_ = _arg1; try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.text = "{mouse}"; __id19_.textColor = 4137230; __id19_.textSize = 20; __id19_.bold = true; __id19_.disableWordwrap = false; __id19_.embedFonts = true; __id19_.font = ""; __id19_.hAlign = "center"; __id19_.multiline = false; __id19_.vAlign = "top"; __id19_.antiAliasType = "advanced"; __id19_.glowBlur = 3; __id19_.glowColor = 0; __id19_.useGlowFilter = true; __id19_.glowQuality = 0; __id19_.glowStrength = 0; __id19_.gridFitType = "pixel"; __id19_.italic = false; __id19_.selectable = false; __id19_.underline = false; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id19___1(_arg1:Object){ var __id19_ = _arg1; try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.text = "{mouse}"; __id19_.textColor = 0xFFFFFF; __id19_.textSize = 20; __id19_.bold = true; __id19_.disableWordwrap = false; __id19_.embedFonts = true; __id19_.font = ""; __id19_.hAlign = "center"; __id19_.multiline = false; __id19_.vAlign = "top"; __id19_.antiAliasType = "advanced"; __id19_.glowBlur = 3; __id19_.glowColor = 0; __id19_.useGlowFilter = true; __id19_.glowQuality = 0; __id19_.glowStrength = 0; __id19_.gridFitType = "pixel"; __id19_.italic = false; __id19_.selectable = false; __id19_.underline = false; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id19___2(_arg1:Object){ var __id19_ = _arg1; try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.text = "{mouse}"; __id19_.textColor = 4137230; __id19_.textSize = 20; __id19_.bold = true; __id19_.disableWordwrap = false; __id19_.embedFonts = true; __id19_.font = ""; __id19_.hAlign = "center"; __id19_.multiline = false; __id19_.vAlign = "top"; __id19_.antiAliasType = "advanced"; __id19_.glowBlur = 3; __id19_.glowColor = 0; __id19_.useGlowFilter = true; __id19_.glowQuality = 0; __id19_.glowStrength = 0; __id19_.gridFitType = "pixel"; __id19_.italic = false; __id19_.selectable = false; __id19_.underline = false; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 5
//Timeline_116 (AlienThief_fla.Timeline_116) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_116 extends SimpleButton { public var __id21_:LocalizedTextField; public function Timeline_116(){ __setProp___id21__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id21__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id21___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id21__(_arg1:Object){ var __id21_ = _arg1; try { __id21_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id21_.text = "{submitBtn}"; __id21_.textColor = 4137230; __id21_.textSize = 14; __id21_.bold = true; __id21_.disableWordwrap = false; __id21_.embedFonts = true; __id21_.font = ""; __id21_.hAlign = "center"; __id21_.multiline = false; __id21_.vAlign = "top"; __id21_.antiAliasType = "advanced"; __id21_.glowBlur = 3; __id21_.glowColor = 0; __id21_.useGlowFilter = true; __id21_.glowQuality = 0; __id21_.glowStrength = 0; __id21_.gridFitType = "pixel"; __id21_.italic = false; __id21_.selectable = false; __id21_.underline = false; try { __id21_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id21___1(_arg1:Object){ var __id21_ = _arg1; try { __id21_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id21_.text = "{submitBtn}"; __id21_.textColor = 0xFFFFFF; __id21_.textSize = 14; __id21_.bold = true; __id21_.disableWordwrap = false; __id21_.embedFonts = true; __id21_.font = ""; __id21_.hAlign = "center"; __id21_.multiline = false; __id21_.vAlign = "top"; __id21_.antiAliasType = "advanced"; __id21_.glowBlur = 3; __id21_.glowColor = 0; __id21_.useGlowFilter = true; __id21_.glowQuality = 0; __id21_.glowStrength = 0; __id21_.gridFitType = "pixel"; __id21_.italic = false; __id21_.selectable = false; __id21_.underline = false; try { __id21_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 6
//Timeline_120 (AlienThief_fla.Timeline_120) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_120 extends SimpleButton { public var __id25_:LocalizedTextField; public function Timeline_120(){ __setProp___id25__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id25__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id25___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id25__(_arg1:Object){ var __id25_ = _arg1; try { __id25_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id25_.text = "{tryAgainBtn}"; __id25_.textColor = 4137230; __id25_.textSize = 14; __id25_.bold = true; __id25_.disableWordwrap = false; __id25_.embedFonts = true; __id25_.font = ""; __id25_.hAlign = "center"; __id25_.multiline = false; __id25_.vAlign = "top"; __id25_.antiAliasType = "advanced"; __id25_.glowBlur = 3; __id25_.glowColor = 0; __id25_.useGlowFilter = true; __id25_.glowQuality = 0; __id25_.glowStrength = 0; __id25_.gridFitType = "pixel"; __id25_.italic = false; __id25_.selectable = false; __id25_.underline = false; try { __id25_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id25___1(_arg1:Object){ var __id25_ = _arg1; try { __id25_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id25_.text = "{tryAgainBtn}"; __id25_.textColor = 0xFFFFFF; __id25_.textSize = 14; __id25_.bold = true; __id25_.disableWordwrap = false; __id25_.embedFonts = true; __id25_.font = ""; __id25_.hAlign = "center"; __id25_.multiline = false; __id25_.vAlign = "top"; __id25_.antiAliasType = "advanced"; __id25_.glowBlur = 3; __id25_.glowColor = 0; __id25_.useGlowFilter = true; __id25_.glowQuality = 0; __id25_.glowStrength = 0; __id25_.gridFitType = "pixel"; __id25_.italic = false; __id25_.selectable = false; __id25_.underline = false; try { __id25_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 7
//Timeline_122 (AlienThief_fla.Timeline_122) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_122 extends SimpleButton { public var __id28_:LocalizedTextField; public function Timeline_122(){ __setProp___id28__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id28__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id28___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id28__(_arg1:Object){ var __id28_ = _arg1; try { __id28_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id28_.text = "{resumeBtn}"; __id28_.textColor = 4137230; __id28_.textSize = 14; __id28_.bold = true; __id28_.disableWordwrap = false; __id28_.embedFonts = true; __id28_.font = ""; __id28_.hAlign = "center"; __id28_.multiline = false; __id28_.vAlign = "top"; __id28_.antiAliasType = "advanced"; __id28_.glowBlur = 3; __id28_.glowColor = 0; __id28_.useGlowFilter = true; __id28_.glowQuality = 0; __id28_.glowStrength = 0; __id28_.gridFitType = "pixel"; __id28_.italic = false; __id28_.selectable = false; __id28_.underline = false; try { __id28_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id28___1(_arg1:Object){ var __id28_ = _arg1; try { __id28_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id28_.text = "{resumeBtn}"; __id28_.textColor = 0xFFFFFF; __id28_.textSize = 14; __id28_.bold = true; __id28_.disableWordwrap = false; __id28_.embedFonts = true; __id28_.font = ""; __id28_.hAlign = "center"; __id28_.multiline = false; __id28_.vAlign = "top"; __id28_.antiAliasType = "advanced"; __id28_.glowBlur = 3; __id28_.glowColor = 0; __id28_.useGlowFilter = true; __id28_.glowQuality = 0; __id28_.glowStrength = 0; __id28_.gridFitType = "pixel"; __id28_.italic = false; __id28_.selectable = false; __id28_.underline = false; try { __id28_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 8
//Timeline_123 (AlienThief_fla.Timeline_123) package AlienThief_fla { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Timeline_123 extends SimpleButton { public var __id29_:LocalizedTextField; public function Timeline_123(){ __setProp___id29__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id29__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id29___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id29__(_arg1:Object){ var __id29_ = _arg1; try { __id29_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id29_.text = "{restartBtn}"; __id29_.textColor = 4137230; __id29_.textSize = 14; __id29_.bold = true; __id29_.disableWordwrap = false; __id29_.embedFonts = true; __id29_.font = ""; __id29_.hAlign = "center"; __id29_.multiline = false; __id29_.vAlign = "top"; __id29_.antiAliasType = "advanced"; __id29_.glowBlur = 3; __id29_.glowColor = 0; __id29_.useGlowFilter = true; __id29_.glowQuality = 0; __id29_.glowStrength = 0; __id29_.gridFitType = "pixel"; __id29_.italic = false; __id29_.selectable = false; __id29_.underline = false; try { __id29_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id29___1(_arg1:Object){ var __id29_ = _arg1; try { __id29_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id29_.text = "{restartBtn}"; __id29_.textColor = 0xFFFFFF; __id29_.textSize = 14; __id29_.bold = true; __id29_.disableWordwrap = false; __id29_.embedFonts = true; __id29_.font = ""; __id29_.hAlign = "center"; __id29_.multiline = false; __id29_.vAlign = "top"; __id29_.antiAliasType = "advanced"; __id29_.glowBlur = 3; __id29_.glowColor = 0; __id29_.useGlowFilter = true; __id29_.glowQuality = 0; __id29_.glowStrength = 0; __id29_.gridFitType = "pixel"; __id29_.italic = false; __id29_.selectable = false; __id29_.underline = false; try { __id29_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package AlienThief_fla
Section 9
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 10
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2CircleShape extends b2Shape { public var m_localPosition:b2Vec2; public var m_radius:Number; public function b2CircleShape(_arg1:b2ShapeDef){ m_localPosition = new b2Vec2(); super(_arg1); var _local2:b2CircleDef = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local10:Number; var _local6:b2Mat22 = _arg1.R; var _local7:Number = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); var _local8:Number = (_arg1.position.y + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); var _local9:Number = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); var _local11:Number = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; var _local12:Number = (_arg4.p2.x - _arg4.p1.x); var _local13:Number = (_arg4.p2.y - _arg4.p1.y); var _local14:Number = ((_local9 * _local12) + (_local10 * _local13)); var _local15:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local16:Number = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; var _local17:Number = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; _local4 = _arg2.R; var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local8:Number = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } public function GetRadius():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number = (m_localPosition.x - _arg1.x); var _local3:Number = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } } }//package Box2D.Collision.Shapes
Section 11
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var categoryBits:uint;// = 1 public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 12
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package Box2D.Collision.Shapes
Section 13
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertices:Array; public var vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; var _local1:int; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } } }//package Box2D.Collision.Shapes
Section 14
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; import Box2D.Dynamics.*; public class b2PolygonShape extends b2Shape { private var s_supportVec:b2Vec2; public var m_centroid:b2Vec2; public var m_obb:b2OBB; public var m_vertices:Array; public var m_normals:Array; public var m_coreVertices:Array; public var m_vertexCount:int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local3:int; 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; s_supportVec = new b2Vec2(); m_obb = new b2OBB(); m_vertices = new Array(b2Settings.b2_maxPolygonVertices); m_normals = new Array(b2Settings.b2_maxPolygonVertices); m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; var _local2:b2PolygonDef = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; var _local4:int = _local3; var _local5:int = _local3; _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = (m_vertices[_local5].x - m_vertices[_local4].x); _local7 = (m_vertices[_local5].y - m_vertices[_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(m_obb, m_vertices, m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1); _local5 = _local3; _local9 = m_normals[_local4].x; _local10 = m_normals[_local4].y; _local11 = m_normals[_local5].x; _local12 = m_normals[_local5].y; _local13 = (m_vertices[_local3].x - m_centroid.x); _local14 = (m_vertices[_local3].y - m_centroid.y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local20:Number; var _local21:Number; var _local6:Number = 0; var _local7:Number = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; var _local12:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local13:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; var _local14:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local15:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); var _local18:int = -1; var _local19:int; while (_local19 < m_vertexCount) { _local11 = m_vertices[_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = m_normals[_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = m_normals[_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22 = s_computeMat; _local3 = _arg2.R; _local4 = m_obb.R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = m_obb.R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); var _local6:b2Mat22 = _local5; _local4 = m_obb.extents; var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local10:Number = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB = s_sweptAABB1; var _local5:b2AABB = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } override public function ComputeMass(_arg1:b2MassData):void{ var _local10:b2Vec2; var _local11:b2Vec2; 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 _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (1 / 3); var _local9:int; while (_local9 < m_vertexCount) { _local10 = m_vertices[_local9]; _local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function GetOBB():b2OBB{ return (m_obb); } public function GetCentroid():b2Vec2{ return (m_centroid); } public function GetVertexCount():int{ return (m_vertexCount); } public function GetVertices():Array{ return (m_vertices); } public function GetCoreVertices():Array{ return (m_coreVertices); } public function GetNormals():Array{ return (m_normals); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_coreVertices[0])); } public function Centroid(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_centroid)); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local11:Number; _local5 = _arg1.R; var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); var _local8:int; _local4 = m_coreVertices[0]; var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7)); var _local10:int = 1; while (_local10 < m_vertexCount) { _local4 = m_coreVertices[_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = m_coreVertices[_local8]; s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (s_supportVec); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local4:Number; var _local5:Number; m_sweepRadius = 0; var _local3:int; while (_local3 < m_vertexCount) { _local2 = m_coreVertices[_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local7:Number; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local7:b2Vec2; 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:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 15
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.Math.*; public class b2Shape { public var m_type:int; public var m_next:b2Shape; public var m_body:b2Body; public var m_sweepRadius:Number; public var m_density:Number; public var m_friction:Number; public var m_restitution:Number; public var m_proxyId:uint; public var m_filter:b2FilterData; public var m_isSensor:Boolean; public var m_userData; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_polygonShape:int = 1; public static const e_shapeTypeCount:int = 2; private static var s_proxyAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_resetAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; m_proxyId = b2Pair.b2_nullProxy; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function GetType():int{ return (m_type); } public function IsSensor():Boolean{ return (m_isSensor); } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function GetBody():b2Body{ return (m_body); } public function GetNext():b2Shape{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function ComputeMass(_arg1:b2MassData):void{ } public function GetSweepRadius():Number{ return (m_sweepRadius); } public function GetFriction():Number{ return (m_friction); } public function GetRestitution():Number{ return (m_restitution); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB = s_proxyAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (m_proxyId != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(m_proxyId); m_proxyId = b2Pair.b2_nullProxy; }; } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; var _local4:b2AABB = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(m_proxyId, _local4); return (true); }; return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); var _local3:b2AABB = s_resetAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } } }//package Box2D.Collision.Shapes
Section 16
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var type:int;// = -1 public var userData;// = null public var friction:Number;// = 0.2 public var restitution:Number;// = 0 public var density:Number;// = 0 public var isSensor:Boolean;// = false public var filter:b2FilterData; public function b2ShapeDef(){ filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 17
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var lowerBound:b2Vec2; public var upperBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 18
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var value:uint; public var proxyId:uint; public var stabbingCount:uint; public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } public function Swap(_arg1:b2Bound):void{ var _local2:uint = value; var _local3:uint = proxyId; var _local4:uint = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } } }//package Box2D.Collision
Section 19
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 20
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.*; import Box2D.Common.Math.*; public class b2BroadPhase { public var m_pairManager:b2PairManager; public var m_proxyPool:Array; public var m_freeProxy:uint; public var m_bounds:Array; public var m_queryResults:Array; public var m_queryResultCount:int; public var m_worldAABB:b2AABB; public var m_quantizationFactor:b2Vec2; public var m_proxyCount:int; public var m_timeStamp:uint; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); m_queryResults = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { m_queryResults[_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; var _local4:Number = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; m_freeProxy = 0; m_timeStamp = 1; m_queryResultCount = 0; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function GetProxy(_arg1:int):b2Proxy{ var _local2:b2Proxy = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; var _local5:uint = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; var _local6:uint = (2 * m_proxyCount); var _local7:Array = new Array(); var _local8:Array = new Array(); ComputeBounds(_local7, _local8, _arg1); var _local9:int; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; var _local10:int; while (_local10 < m_queryResultCount) { m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]); _local10++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; var _local4:b2Proxy = m_proxyPool[_arg1]; var _local5:int = (2 * m_proxyCount); var _local6:int; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; var _local7:int; while (_local7 < m_queryResultCount) { m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]); _local7++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(m_freeProxy); m_freeProxy = _arg1; m_proxyCount--; } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; var _local12:uint = (2 * m_proxyCount); var _local13:b2Proxy = m_proxyPool[_arg1]; var _local14:b2BoundValues = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); var _local15:b2BoundValues = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if (TestOverlap(_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if (TestOverlap(_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if (TestOverlap(_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if (TestOverlap(_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public function Commit():void{ m_pairManager.Commit(); } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local6:uint; var _local7:uint; var _local12:b2Proxy; var _local4:Array = new Array(); var _local5:Array = new Array(); ComputeBounds(_local4, _local5, _arg1); var _local8:Array = [_local6]; var _local9:Array = [_local7]; Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); var _local10:int; var _local11:int; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[m_queryResults[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; IncrementTimeStamp(); return (_local10); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local5:int; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number = _arg3.lowerBound.x; var _local5:Number = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); var _local6:Number = _arg3.upperBound.x; var _local7:Number = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local10:b2Bound; var _local12:int; var _local13:int; var _local14:b2Proxy; var _local8:uint = BinarySearch(_arg5, _arg6, _arg3); var _local9:uint = BinarySearch(_arg5, _arg6, _arg4); var _local11:uint = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ IncrementOverlapCount(_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ IncrementOverlapCount(_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function IncrementOverlapCount(_arg1:uint):void{ var _local2:b2Proxy = m_proxyPool[_arg1]; if (_local2.timeStamp < m_timeStamp){ _local2.timeStamp = m_timeStamp; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; m_queryResults[m_queryResultCount] = _arg1; m_queryResultCount++; }; } private function IncrementTimeStamp():void{ var _local1:uint; if (m_timeStamp == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; m_timeStamp = 1; } else { m_timeStamp++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local6:int; var _local7:b2Bound; var _local4:int; var _local5:int = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 21
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 22
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; import Box2D.Collision.Shapes.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); var _local10:Number = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local11:b2Mat22; var _local12:b2Vec2; var _local25:Number; var _local6:int = _arg1.m_vertexCount; var _local7:Array = _arg1.m_vertices; var _local8:Array = _arg1.m_normals; var _local9:int = _arg4.m_vertexCount; var _local10:Array = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); var _local24:Number = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local17:int; var _local18:uint; var _local34:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; var _local7:int; var _local8:Array = [_local7]; var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; var _local10:int; var _local11:Array = [_local10]; var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; var _local15:b2XForm = new b2XForm(); var _local16:b2XForm = new b2XForm(); var _local19:Number = 0.98; var _local20:Number = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; var _local21:Array = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); var _local22:int = _local13.m_vertexCount; var _local23:Array = _local13.m_vertices; var _local24:b2Vec2 = _local23[_local17]; var _local25:b2Vec2 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25); var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); var _local29:Number = b2Math.b2Dot(_local28, _local25); var _local30:Number = -(b2Math.b2Dot(_local27, _local25)); var _local31:Number = b2Math.b2Dot(_local27, _local37); var _local32:Array = [new ClipVertex(), new ClipVertex()]; var _local33:Array = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); var _local35:int; var _local36:int; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id.features.flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local18:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = _arg2.m_radius; var _local16:Number = _arg4.m_radius; var _local17:Number = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; var _local19:b2ManifoldPoint = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); var _local20:Number = (0.5 * (_local8 + _local10)); var _local21:Number = (0.5 * (_local9 + _local11)); var _local22:Number = (_local20 - _arg3.position.x); var _local23:Number = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local17:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = _arg4.m_radius; var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; var _local27:b2Vec2 = _local22[_local26]; var _local28:Number = (_local27.x - _local11.x); var _local29:Number = (_local27.y - _local11.y); var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); var _local31:Number = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } } }//package Box2D.Collision
Section 23
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var features:Features; public var _key:uint; public function b2ContactID(){ features = new Features(); super(); features._m_id = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; features._referenceEdge = (_key & 0xFF); features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF); features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF); features._flip = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 24
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var velocity:b2Vec2; public var normal:b2Vec2; public var separation:Number; public var friction:Number; public var restitution:Number; public var id:b2ContactID; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 25
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; import Box2D.Collision.Shapes.*; public class b2Distance { private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local17:Number; var _local6:b2Vec2 = _arg5[0]; var _local7:b2Vec2 = _arg5[1]; var _local8:b2Vec2 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; var _local12:Number = -(_local7.x); var _local13:Number = -(_local7.y); var _local14:Number = (_local6.x - _local7.x); var _local15:Number = (_local6.y - _local7.y); var _local16:Number = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local35:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; var _local14:b2Vec2 = _arg4[2]; var _local15:Number = _local6.x; var _local16:Number = _local6.y; var _local17:Number = _local7.x; var _local18:Number = _local7.y; var _local19:Number = _local8.x; var _local20:Number = _local8.y; var _local21:Number = (_local17 - _local15); var _local22:Number = (_local18 - _local16); var _local23:Number = (_local19 - _local15); var _local24:Number = (_local20 - _local16); var _local25:Number = (_local19 - _local17); var _local26:Number = (_local20 - _local18); var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22))); var _local28:Number = ((_local17 * _local21) + (_local18 * _local22)); var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24))); var _local30:Number = ((_local19 * _local23) + (_local20 * _local24)); var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26))); var _local32:Number = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; var _local33:Number = ((_local21 * _local24) - (_local22 * _local23)); var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); var _local36:Number = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; var _local37:Number = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; var _local38:Number = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); var _local39:Number = (_local36 * _local38); var _local40:Number = (_local37 * _local38); var _local41:Number = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local4:Number = (100 * Number.MIN_VALUE); var _local5:int; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; var _local8:Array = s_p1s; var _local9:Array = s_p2s; var _local10:Array = s_points; var _local11:int; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); var _local12:Number = 0; var _local13:int = 20; var _local14:int; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - _local21) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:Number = ((_local13 * _local13) + (_local14 * _local14)); var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop); var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); var _local18:Number = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(_local15); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(_local15); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local9:b2Point = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); var _local11:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int = _arg3.m_type; var _local8:int = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } } }//package Box2D.Collision
Section 26
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.*; import Box2D.Common.Math.*; public class b2Manifold { public var points:Array; public var normal:b2Vec2; public var pointCount:int;// = 0 public function b2Manifold(){ points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Reset():void{ var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } public function Set(_arg1:b2Manifold):void{ pointCount = _arg1.pointCount; var _local2:int; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } } }//package Box2D.Collision
Section 27
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var localPoint1:b2Vec2; public var localPoint2:b2Vec2; public var separation:Number; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } } }//package Box2D.Collision
Section 28
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 29
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var next:uint; public var status:uint; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairBuffered:uint = 1; public static var e_pairRemoved:uint = 2; public static var e_pairFinal:uint = 4; public function SetBuffered():void{ status = (status | e_pairBuffered); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } } }//package Box2D.Collision
Section 30
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairAdded(_arg1, _arg2){ return (null); } public function PairRemoved(_arg1, _arg2, _arg3):void{ } } }//package Box2D.Collision
Section 31
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.*; import Box2D.Common.Math.*; public class b2PairManager { public var m_broadPhase:b2BroadPhase; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_freePair:uint; public var m_pairCount:int; public var m_pairBuffer:Array; public var m_pairBufferCount:int; public var m_hashTable:Array; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; m_pairBuffer = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairBuffer[_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; m_pairBufferCount = 0; } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; m_callback = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = AddPair(_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = Find(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; var _local3:int; var _local4:Array = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < m_pairBufferCount) { _local1 = m_pairBuffer[_local2]; _local5 = Find(_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = m_pairBuffer[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = m_pairBuffer[_local2]; RemovePair(_local1.proxyId1, _local1.proxyId2); _local2++; }; m_pairBufferCount = 0; if (b2BroadPhase.s_validate){ ValidateTable(); }; } private function AddPair(_arg1:uint, _arg2:uint):b2Pair{ var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; var _local5:uint = m_freePair; _local4 = m_pairs[_local5]; m_freePair = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function RemovePair(_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local5:uint = m_hashTable[_local4]; var _local6:b2Pair; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = m_freePair; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; m_freePair = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } private function Find(_arg1:uint, _arg2:uint):b2Pair{ var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return (FindHash(_arg1, _arg2, _local3)); } private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function ValidateBuffer():void{ } private function ValidateTable():void{ } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } } }//package Box2D.Collision
Section 32
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 33
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var lowerBounds:Array; public var upperBounds:Array; public var overlapCount:uint; public var timeStamp:uint; public var userData;// = null public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } } }//package Box2D.Collision
Section 34
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local5:b2Vec2 = _arg3.p1; var _local6:Number = (_arg3.p2.x - _local5.x); var _local7:Number = (_arg3.p2.y - _local5.y); var _local8:Number = (p2.x - p1.x); var _local9:Number = (p2.y - p1.y); var _local10:Number = _local9; var _local11:Number = -(_local8); var _local12:Number = (100 * Number.MIN_VALUE); var _local13:Number = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local6) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 35
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; import Box2D.Collision.Shapes.*; public class b2TimeOfImpact { public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local7:Number = _arg1.m_sweepRadius; var _local8:Number = _arg3.m_sweepRadius; var _local9:Number = _arg2.t0; var _local10:Number = (_arg2.c.x - _arg2.c0.x); var _local11:Number = (_arg2.c.y - _arg2.c0.y); var _local12:Number = (_arg4.c.x - _arg4.c0.x); var _local13:Number = (_arg4.c.y - _arg4.c0.y); var _local14:Number = (_arg2.a - _arg2.a0); var _local15:Number = (_arg4.a - _arg4.a0); var _local16:Number = 0; var _local17:b2Vec2 = s_p1; var _local18:b2Vec2 = s_p2; var _local19:int = 20; var _local20:int; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; var _local24:Number = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 36
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 37
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var _referenceEdge:int; public var _incidentEdge:int; public var _incidentVertex:int; public var _flip:int; public var _m_id:b2ContactID; public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function get referenceEdge():int{ return (_referenceEdge); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } public function get incidentEdge():int{ return (_incidentEdge); } public function set incidentVertex(_arg1:int):void{ _incidentVertex = _arg1; _m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function get flip():int{ return (_flip); } } }//package Box2D.Collision
Section 38
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function Set(_arg1:Number):void{ var _local2:Number; _local2 = Math.cos(_arg1); var _local3:Number = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local4:Number; var _local6:Number; _local2 = col1.x; var _local3:Number = col2.x; _local4 = col1.y; var _local5:Number = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number = col1.x; var _local5:Number = col2.x; var _local6:Number = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } public function Abs():void{ col1.Abs(); col2.Abs(); } } }//package Box2D.Common.Math
Section 39
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } } }//package Box2D.Common.Math
Section 40
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c0:b2Vec2; public var c:b2Vec2; public var a0:Number; public var a:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; var _local3:b2Mat22 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } } }//package Box2D.Common.Math
Section 41
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetZero():void{ x = 0; y = 0; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function MulM(_arg1:b2Mat22):void{ var _local2:Number = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function Normalize():Number{ var _local1:Number = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; var _local2:Number = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 42
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var position:b2Vec2; public var R:b2Mat22; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } } }//package Box2D.Common.Math
Section 43
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function get color():uint{ return (((_r | (_g << 8)) | (_b << 16))); } } }//package Box2D.Common
Section 44
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const USHRT_MAX:int = 0xFFFF; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxPolygonVertices:int = 8; public static const b2_maxProxies:int = 0x0200; public static const b2_maxPairs:int = 4096; public static const b2_linearSlop:Number = 0.005; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_toiSlop:Number = 0.04; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_velocityThreshold:Number = 1; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearVelocitySquared:Number = 40000; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_timeToSleep:Number = 0.5; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!(_arg1)){ _local2.x++; }; } } }//package Box2D.Common
Section 45
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Common.*; import Box2D.Common.Math.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local8:b2ManifoldPoint; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); var _local7:b2ContactPoint = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = m0.points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 46
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Contact { public var m_flags:uint; public var m_prev:b2Contact; public var m_next:b2Contact; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_manifoldCount:int; public var m_friction:Number; public var m_restitution:Number; public var m_toi:Number; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var e_toiFlag:uint = 8; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function GetManifolds():Array{ return (null); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetShape1():b2Shape{ return (m_shape1); } public function GetShape2():b2Shape{ return (m_shape2); } public function Update(_arg1:b2ContactListener):void{ var _local2:int = m_manifoldCount; Evaluate(_arg1); var _local3:int = m_manifoldCount; var _local4:b2Body = m_shape1.m_body; var _local5:b2Body = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function InitializeRegisters():void{ var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; var _local4:int = _arg1.m_type; var _local5:int = _arg2.m_type; var _local6:b2ContactRegister = s_registers[_local4][_local5]; var _local7:Function = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local10.normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } public static function Destroy(_arg1:b2Contact, _arg2):void{ if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; var _local3:int = _arg1.m_shape1.m_type; var _local4:int = _arg1.m_shape2.m_type; var _local5:b2ContactRegister = s_registers[_local3][_local4]; var _local6:Function = _local5.destroyFcn; _local6(_arg1, _arg2); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Common.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class b2ContactConstraint { public var points:Array; public var normal:b2Vec2; public var manifold:b2Manifold; public var body1:b2Body; public var body2:b2Body; public var friction:Number; public var restitution:Number; public var pointCount:int; public function b2ContactConstraint(){ normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 48
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var r1:b2Vec2; public var r2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var positionImpulse:Number; public var normalMass:Number; public var tangentMass:Number; public var equalizedMass:Number; public var separation:Number; public var velocityBias:Number; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 49
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; public var next:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 50
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var createFcn:Function; public var destroyFcn:Function; public var primary:Boolean; } }//package Box2D.Dynamics.Contacts
Section 51
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; public class b2ContactResult { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var normal:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 52
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactSolver { public var m_step:b2TimeStep; public var m_allocator; public var m_constraints:Array; public var m_constraintCount:int; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; 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:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; 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; m_step = new b2TimeStep(); m_constraints = new Array(); super(); m_step.dt = _arg1.dt; m_step.inv_dt = _arg1.inv_dt; m_step.maxIterations = _arg1.maxIterations; m_allocator = _arg4; m_constraintCount = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; m_constraintCount = (m_constraintCount + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < m_constraintCount) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; var _local9:int; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; 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:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local20.normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; 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:b2Mat22; var _local18:b2Vec2; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; 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:int; var _local38:Number; var _local19:int; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local3:b2Mat22; var _local4:b2Vec2; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; 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 _local2:Number = 0; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } } }//package Box2D.Dynamics.Contacts
Section 53
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function Evaluate(_arg1:b2ContactListener):void{ } override public function GetManifolds():Array{ return (null); } } }//package Box2D.Dynamics.Contacts
Section 54
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Common.*; import Box2D.Common.Math.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local6:b2Body = m_shape1.m_body; var _local7:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); var _local8:Array = [false, false]; var _local9:b2ContactPoint = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local8[_local13] == true){ } else { _local5 = m0.points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < m0.pointCount) { if (_local8[_local2]){ } else { _local5 = m0.points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 55
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Common.*; import Box2D.Common.Math.*; public class b2PolygonContact extends b2Contact { private var m0:b2Manifold; private var m_manifolds:Array; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new b2Manifold(); m_manifolds = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local7:b2ContactPoint; var _local8:int; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); var _local9:Array = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local9[_local13] == true){ } else { _local4 = m0.points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < m0.pointCount) { if (_local9[_local8]){ } else { _local4 = m0.points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 56
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_u:b2Vec2; public var m_frequencyHz:Number; public var m_dampingRatio:Number; public var m_gamma:Number; public var m_bias:Number; public var m_impulse:Number; public var m_mass:Number; public var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; m_inv_dt = 0; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); var _local10:Number = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local1 = _local2.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); var _local12:Number = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local13:Number = (-(m_mass) * _local12); m_u.Set(_local9, _local10); var _local14:Number = (_local13 * m_u.x); var _local15:Number = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function GetReactionTorque():Number{ return (0); } } }//package Box2D.Dynamics.Joints
Section 57
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var length:Number; public var frequencyHz:Number; public var dampingRatio:Number; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 58
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_ground1:b2Body; public var m_ground2:b2Body; public var m_revolute1:b2RevoluteJoint; public var m_prismatic1:b2PrismaticJoint; public var m_revolute2:b2RevoluteJoint; public var m_prismatic2:b2PrismaticJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_J:b2Jacobian; public var m_constant:Number; public var m_ratio:Number; public var m_mass:Number; public var m_force:Number; public function b2GearJoint(_arg1:b2GearJointDef){ var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); var _local2:int = _arg1.joint1.m_type; var _local3:int = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.m_body1; m_body1 = _arg1.joint1.m_body2; if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.m_body1; m_body2 = _arg1.joint2.m_body2; if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function GetReactionTorque():Number{ var _local1:b2Mat22 = m_body2.m_xf.R; var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); var _local4:Number = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local15:Number; var _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; var _local4:b2Body = m_body1; var _local5:b2Body = m_body2; var _local14:Number = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear1.Set(-(_local6), -(_local7)); m_J.angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); var _local6:Number = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2)); } override public function SolvePositionConstraints():Boolean{ var _local4:Number; var _local5:Number; var _local1:Number = 0; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; if (m_revolute1){ _local4 = m_revolute1.GetJointAngle(); } else { _local4 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local5 = m_revolute2.GetJointAngle(); } else { _local5 = m_prismatic2.GetJointTranslation(); }; var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5))); var _local7:Number = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 59
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var joint1:b2Joint; public var joint2:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 60
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var angular1:Number; public var linear2:b2Vec2; public var angular2:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 61
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_type:int; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_body1:b2Body; public var m_body2:b2Body; public var m_inv_dt:Number; public var m_islandFlag:Boolean; public var m_collideConnected:Boolean; public var m_userData; public static const e_unknownJoint:int = 0; public static const e_revoluteJoint:int = 1; public static const e_prismaticJoint:int = 2; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_mouseJoint:int = 5; public static const e_gearJoint:int = 6; public static const e_inactiveLimit:int = 0; public static const e_atLowerLimit:int = 1; public static const e_atUpperLimit:int = 2; public static const e_equalLimits:int = 3; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetType():int{ return (m_type); } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function GetReactionForce():b2Vec2{ return (null); } public function GetReactionTorque():Number{ return (0); } public function GetBody1():b2Body{ return (m_body1); } public function GetBody2():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public function SolvePositionConstraints():Boolean{ return (false); } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } public static function Destroy(_arg1:b2Joint, _arg2):void{ } } }//package Box2D.Dynamics.Joints
Section 62
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var type:int; public var userData; public var body1:b2Body; public var body2:b2Body; public var collideConnected:Boolean; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 63
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var joint:b2Joint; public var prev:b2JointEdge; public var next:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 64
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Common.*; import Box2D.Dynamics.*; public class b2MouseJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; public var m_localAnchor:b2Vec2; public var m_target:b2Vec2; public var m_impulse:b2Vec2; public var m_mass:b2Mat22; public var m_C:b2Vec2; public var m_maxForce:Number; public var m_beta:Number; public var m_gamma:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local3:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); var _local2:Number = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); var _local4:b2Mat22 = m_body2.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); var _local5:Number = m_body2.m_mass; var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6); var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; K1.col1.x = _local7; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local7; K2.col1.x = ((_local8 * _local5) * _local5); K2.col2.x = ((-(_local8) * _local4) * _local5); K2.col1.y = ((-(_local8) * _local4) * _local5); K2.col2.y = ((_local8 * _local4) * _local4); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); var _local9:Number = (_arg1.dt * m_impulse.x); var _local10:Number = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_body2; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); var _local15:Number = (_arg1.dt * _local10); var _local16:Number = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } override public function SolvePositionConstraints():Boolean{ return (true); } } }//package Box2D.Dynamics.Joints
Section 65
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var target:b2Vec2; public var maxForce:Number; public var frequencyHz:Number; public var dampingRatio:Number; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 66
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_localXAxis1:b2Vec2; public var m_localYAxis1:b2Vec2; public var m_refAngle:Number; public var m_linearJacobian:b2Jacobian; public var m_linearMass:Number; public var m_force:Number; public var m_angularMass:Number; public var m_torque:Number; public var m_motorJacobian:b2Jacobian; public var m_motorMass:Number; public var m_motorForce:Number; public var m_limitForce:Number; public var m_limitPositionImpulse:Number; public var m_lowerTranslation:Number; public var m_upperTranslation:Number; public var m_maxMotorForce:Number; public var m_motorSpeed:Number; public var m_enableLimit:Boolean; public var m_enableMotor:Boolean; public var m_limitState:int; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_linearJacobian = new b2Jacobian(); m_motorJacobian = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.localAxis1); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_linearJacobian.SetZero(); m_linearMass = 0; m_force = 0; m_angularMass = 0; m_torque = 0; m_motorJacobian.SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22 = m_body1.m_xf.R; var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); var _local5:Number = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function GetReactionTorque():Number{ return (m_torque); } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } public function GetMotorForce():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5: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 _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; _local4 = _local2.m_xf.R; var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); var _local17:Number = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); m_linearJacobian.linear1.x = -(_local14); m_linearJacobian.linear1.y = -(_local15); m_linearJacobian.linear2.x = _local14; m_linearJacobian.linear2.y = _local15; m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14))); m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14)); m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2)); m_linearMass = (1 / m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > Number.MIN_VALUE){ m_angularMass = (1 / m_angularMass); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); m_motorJacobian.linear1.x = -(_local18); m_motorJacobian.linear1.y = -(_local19); m_motorJacobian.linear2.x = _local18; m_motorJacobian.linear2.y = _local19; m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18))); m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = _local2.m_invMass; var _local5:Number = _local3.m_invMass; var _local6:Number = _local2.m_invI; var _local7:Number = _local3.m_invI; var _local9:Number = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local10:Number = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); var _local11:Number = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity); var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); var _local14:Number = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local9:b2Mat22; var _local10:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = _local3.m_invMass; var _local6:Number = _local4.m_invMass; var _local7:Number = _local3.m_invI; var _local8:Number = _local4.m_invI; _local9 = _local3.m_xf.R; var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local12:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local14:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; var _local15:Number = (_local3.m_sweep.c.x + _local11); var _local16:Number = (_local3.m_sweep.c.y + _local12); var _local17:Number = (_local4.m_sweep.c.x + _local13); var _local18:Number = (_local4.m_sweep.c.y + _local14); var _local19:Number = (_local17 - _local15); var _local20:Number = (_local18 - _local16); _local9 = _local3.m_xf.R; var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); var _local23:Number = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local24:Number = (-(m_linearMass) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2)); var _local25:Number = b2Math.b2Abs(_local23); var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); var _local27:Number = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local28:Number = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - m_lowerTranslation); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - m_upperTranslation); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 67
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var localAxis1:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerTranslation:Number; public var upperTranslation:Number; public var enableMotor:Boolean; public var maxMotorForce:Number; public var motorSpeed:Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); localAxis1 = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxis1.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); localAxis1 = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 68
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var m_ground:b2Body; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_u1:b2Vec2; public var m_u2:b2Vec2; public var m_constant:Number; public var m_ratio:Number; public var m_maxLength1:Number; public var m_maxLength2:Number; public var m_pulleyMass:Number; public var m_limitMass1:Number; public var m_limitMass2:Number; public var m_force:Number; public var m_limitForce1:Number; public var m_limitForce2:Number; public var m_positionImpulse:Number; public var m_limitPositionImpulse1:Number; public var m_limitPositionImpulse2:Number; public var m_state:int; public var m_limitState1:int; public var m_limitState2:int; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_body1.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.length1 + (m_ratio * _arg1.length2)); m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function GetReactionTorque():Number{ return (0); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } public function GetLength1():Number{ var _local1:b2Vec2 = m_body1.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetRatio():Number{ return (m_ratio); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; var _local20:Number = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_force = 0; } else { m_state = e_atUpperLimit; m_positionImpulse = 0; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitForce1 = 0; } else { m_limitState1 = e_atUpperLimit; m_limitPositionImpulse1 = 0; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitForce2 = 0; } else { m_limitState2 = e_atUpperLimit; m_limitPositionImpulse2 = 0; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; }; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; 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 _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.dt) * _local19) * m_u2.x); _local17 = ((-(_arg1.dt) * _local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } override public function SolvePositionConstraints():Boolean{ var _local3:b2Mat22; 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 _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local23:Number = 0; if (m_state == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u1.Set((_local12 - _local4), (_local13 - _local5)); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local16 = m_u1.Length(); _local17 = m_u2.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local16)); } else { m_u1.SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local17)); } else { m_u2.SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_pulleyMass) * _local18); _local20 = m_positionImpulse; m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19)); _local19 = (m_positionImpulse - _local20); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local14 = ((-(m_ratio) * _local19) * m_u2.x); _local15 = ((-(m_ratio) * _local19) * m_u2.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); m_u1.Set((_local12 - _local4), (_local13 - _local5)); _local16 = m_u1.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local16)); m_u1.y = (m_u1.y * (1 / _local16)); } else { m_u1.SetZero(); }; _local18 = (m_maxLength1 - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass1) * _local18); _local21 = m_limitPositionImpulse1; m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19)); _local19 = (m_limitPositionImpulse1 - _local21); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local17 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local17)); m_u2.y = (m_u2.y * (1 / _local17)); } else { m_u2.SetZero(); }; _local18 = (m_maxLength2 - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass2) * _local18); _local21 = m_limitPositionImpulse2; m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19)); _local19 = (m_limitPositionImpulse2 - _local21); _local14 = (-(_local19) * m_u2.x); _local15 = (-(_local19) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 69
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var length1:Number; public var maxLength1:Number; public var length2:Number; public var maxLength2:Number; public var ratio:Number; public function b2PulleyJointDef(){ groundAnchor1 = new b2Vec2(); groundAnchor2 = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchor1.Set(-1, 1); groundAnchor2.Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); length1 = 0; maxLength1 = 0; length2 = 0; maxLength2 = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 70
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_pivotForce:b2Vec2; public var m_motorForce:Number; public var m_limitForce:Number; public var m_limitPositionImpulse:Number; public var m_pivotMass:b2Mat22; public var m_motorMass:Number; public var m_enableMotor:Boolean; public var m_maxMotorTorque:Number; public var m_motorSpeed:Number; public var m_enableLimit:Boolean; public var m_referenceAngle:Number; public var m_lowerAngle:Number; public var m_upperAngle:Number; public var m_limitState:int; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_pivotForce = new b2Vec2(); m_pivotMass = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_referenceAngle = _arg1.referenceAngle; m_pivotForce.Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ return (m_pivotForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetMotorTorque():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; K1.col1.x = (_local10 + _local11); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local10 + _local11); K2.col1.x = ((_local12 * _local7) * _local7); K2.col2.x = ((-(_local12) * _local6) * _local7); K2.col1.y = ((-(_local12) * _local6) * _local7); K2.col2.y = ((_local12 * _local6) * _local6); K3.col1.x = ((_local13 * _local9) * _local9); K3.col2.x = ((-(_local13) * _local8) * _local9); K3.col1.y = ((-(_local13) * _local8) * _local9); K3.col2.y = ((_local13 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Invert(m_pivotMass); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); } else { m_pivotForce.SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local10:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local11:Number = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); var _local12:Number = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); var _local13:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); var _local14:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); var _local15:Number = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local6:b2Mat22; var _local25:Number; var _local26:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = 0; _local6 = _local3.m_xf.R; var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local11:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; var _local12:Number = (_local3.m_sweep.c.x + _local7); var _local13:Number = (_local3.m_sweep.c.y + _local8); var _local14:Number = (_local4.m_sweep.c.x + _local10); var _local15:Number = (_local4.m_sweep.c.y + _local11); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); var _local18:Number = _local3.m_invMass; var _local19:Number = _local4.m_invMass; var _local20:Number = _local3.m_invI; var _local21:Number = _local4.m_invI; K1.col1.x = (_local18 + _local19); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local18 + _local19); K2.col1.x = ((_local20 * _local8) * _local8); K2.col2.x = ((-(_local20) * _local7) * _local8); K2.col1.y = ((-(_local20) * _local7) * _local8); K2.col2.y = ((_local20 * _local7) * _local7); K3.col1.x = ((_local21 * _local11) * _local11); K3.col2.x = ((-(_local21) * _local10) * _local11); K3.col1.y = ((-(_local21) * _local10) * _local11); K3.col2.y = ((_local21 * _local10) * _local10); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); var _local22:Number = tImpulse.x; var _local23:Number = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local24:Number = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - m_lowerAngle); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - m_upperAngle); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 71
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerAngle:Number; public var upperAngle:Number; public var enableMotor:Boolean; public var motorSpeed:Number; public var maxMotorTorque:Number; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 72
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_flags:uint; public var m_type:int; public var m_xf:b2XForm; public var m_sweep:b2Sweep; public var m_linearVelocity:b2Vec2; public var m_angularVelocity:Number; public var m_force:b2Vec2; public var m_torque:Number; public var m_world:b2World; public var m_prev:b2Body; public var m_next:b2Body; public var m_shapeList:b2Shape; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var m_contactList:b2ContactEdge; public var m_mass:Number; public var m_invMass:Number; public var m_I:Number; public var m_invI:Number; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_sleepTime:Number; public var m_userData; private static var s_massData:b2MassData = new b2MassData(); private static var s_xf1:b2XForm = new b2XForm(); public static var e_frozenFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var e_sleepFlag:uint = 8; public static var e_allowSleepFlag:uint = 16; public static var e_bulletFlag:uint = 32; public static var e_fixedRotationFlag:uint = 64; public static var e_staticType:uint = 1; public static var e_dynamicType:uint = 2; public static var e_maxTypes:uint = 3; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.isBullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1.massData.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.massData.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.massData.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function DestroyShape(_arg1:b2Shape):void{ if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); var _local2:b2Shape = m_shapeList; var _local3:b2Shape; var _local4:Boolean; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; if (m_world.m_lock == true){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; m_sweep.localCenter.SetV(_arg1.center); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; var _local5:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function SetMassFromShapes():void{ var _local1:b2Shape; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:b2MassData = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); m_I = (m_I + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); var _local5:b2Mat22 = m_xf.R; var _local6:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; var _local7:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (IsFrozen()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); var _local6:Boolean; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetXForm():b2XForm{ return (m_xf); } public function GetPosition():b2Vec2{ return (m_xf.position); } public function GetAngle():Number{ return (m_sweep.a); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetMass():Number{ return (m_mass); } public function GetInertia():Number{ return (m_I); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function PutToSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetShapeList():b2Shape{ return (m_shapeList); } public function GetJointList():b2JointEdge{ return (m_jointList); } public function GetNext():b2Body{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetWorld():b2World{ return (m_world); } public function SynchronizeShapes():Boolean{ var _local4:b2Shape; var _local1:b2XForm = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); var _local5:Boolean = true; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function SynchronizeTransform():void{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } } }//package Box2D.Dynamics
Section 73
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; public class b2BodyDef { public var massData:b2MassData; public var userData; public var position:b2Vec2; public var angle:Number; public var linearDamping:Number; public var angularDamping:Number; public var allowSleep:Boolean; public var isSleeping:Boolean; public var fixedRotation:Boolean; public var isBullet:Boolean; public function b2BodyDef(){ massData = new b2MassData(); position = new b2Vec2(); super(); massData.center.SetZero(); massData.mass = 0; massData.I = 0; userData = null; position.Set(0, 0); angle = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; isSleeping = false; fixedRotation = false; isBullet = false; } } }//package Box2D.Dynamics
Section 74
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 75
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 76
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 77
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Common.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var m_nullContact:b2NullContact; public var m_destroyImmediate:Boolean; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_nullContact = new b2NullContact(); super(); m_world = null; m_destroyImmediate = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape = (_arg1 as b2Shape); var _local4:b2Shape = (_arg2 as b2Shape); var _local5:b2Body = _local3.m_body; var _local6:b2Body = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (m_nullContact); }; if (_local3.m_body == _local4.m_body){ return (m_nullContact); }; if (_local6.IsConnected(_local5)){ return (m_nullContact); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (m_nullContact); }; var _local7:b2Contact = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (m_nullContact); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ if (_arg3 == null){ return; }; var _local4:b2Contact = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; var _local2:b2Shape = _arg1.m_shape1; var _local3:b2Shape = _arg1.m_shape2; var _local4:int = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape2; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; var _local5:b2Body = _local2.m_body; var _local6:b2Body = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local2:b2Body; var _local3:b2Body; var _local1:b2Contact = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 78
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.Math.*; import Box2D.Common.*; import flash.display.*; public class b2DebugDraw { public var m_drawFlags:uint; public var m_sprite:Sprite; public var m_drawScale:Number;// = 1 public var m_lineThickness:Number;// = 1 public var m_alpha:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_xformScale:Number;// = 1 public static var e_shapeBit:uint = 1; public static var e_jointBit:uint = 2; public static var e_coreShapeBit:uint = 4; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_centerOfMassBit:uint = 64; public function b2DebugDraw(){ m_drawFlags = 0; } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function GetFlags():uint{ return (m_drawFlags); } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); var _local4:int = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); var _local4:int = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } } }//package Box2D.Dynamics
Section 79
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 80
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.*; public class b2Island { public var m_allocator; public var m_listener:b2ContactListener; public var m_bodies:Array; public var m_contacts:Array; public var m_joints:Array; public var m_bodyCount:int; public var m_jointCount:int; public var m_contactCount:int; public var m_bodyCapacity:int; public var m_contactCapacity:int; public var m_jointCapacity:int; public var m_positionIterationCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; m_joints = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { m_joints[_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; var _local8:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 = m_joints[_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; }; Report(_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; _local6.m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local5:b2Body; var _local6:Boolean; var _local3:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; var _local4:Number = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } public function Report(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (m_listener == null){ return; }; var _local4:int; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; m_listener.Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } } }//package Box2D.Dynamics
Section 81
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var dt:Number; public var inv_dt:Number; public var dtRatio:Number; public var maxIterations:int; public var warmStarting:Boolean; public var positionCorrection:Boolean; } }//package Box2D.Dynamics
Section 82
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Common.*; import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var m_blockAllocator; public var m_stackAllocator; public var m_lock:Boolean; public var m_broadPhase:b2BroadPhase; public var m_contactManager:b2ContactManager; public var m_bodyList:b2Body; public var m_jointList:b2Joint; public var m_contactList:b2Contact; public var m_bodyCount:int; public var m_contactCount:int; public var m_jointCount:int; public var m_gravity:b2Vec2; public var m_allowSleep:Boolean; public var m_groundBody:b2Body; public var m_destructionListener:b2DestructionListener; public var m_boundaryListener:b2BoundaryListener; public var m_contactFilter:b2ContactFilter; public var m_contactListener:b2ContactListener; public var m_debugDraw:b2DebugDraw; public var m_inv_dt0:Number; public var m_positionIterationCount:int; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); private static var s_xf:b2XForm = new b2XForm(); public static var m_positionCorrection:Boolean; public static var m_warmStarting:Boolean; public static var m_continuousPhysics:Boolean; public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ m_contactManager = new b2ContactManager(); super(); m_destructionListener = null; m_boundaryListener = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg3; m_gravity = _arg2; m_lock = false; m_inv_dt0 = 0; m_contactManager.m_world = this; m_broadPhase = new b2BroadPhase(_arg1, m_contactManager); var _local4:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function Validate():void{ m_broadPhase.Validate(); } public function GetProxyCount():int{ return (m_broadPhase.m_proxyCount); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function CreateBody(_arg1:b2BodyDef):b2Body{ if (m_lock == true){ return (null); }; var _local2:b2Body = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function DestroyBody(_arg1:b2Body):void{ var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; var _local3:b2Shape = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local3:b2Body; var _local4:b2Shape; var _local2:b2Joint = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local5:b2Body; var _local6:b2Shape; var _local2:Boolean = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; var _local3:b2Body = _arg1.m_body1; var _local4:b2Body = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } public function GetContactCount():int{ return (m_contactCount); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function Step(_arg1:Number, _arg2:int):void{ m_lock = true; var _local3:b2TimeStep = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (m_inv_dt0 * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; DrawDebugData(); m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array = new Array(_arg3); var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); var _local6:int; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function GetBodyList():b2Body{ return (m_bodyList); } public function GetJointList():b2Joint{ return (m_jointList); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; var _local3:b2Island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; var _local4:b2Contact = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; var _local5:b2Joint = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; var _local6:int = m_bodyCount; var _local7:Array = new Array(_local6); var _local8:b2Body = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); var _local9:int = m_bodyCount; var _local10:Array = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.m_body1; var _local3:b2Body = _arg1.m_body2; var _local4:b2XForm = _local2.m_xf; var _local5:b2XForm = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchor1(); var _local9:b2Vec2 = _arg1.GetAnchor2(); var _local10:b2Color = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; var _local5:b2Color = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ m_debugDraw.DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; m_debugDraw.DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; m_debugDraw.DrawPolygon(_local14, _local12, _local5); }; break; }; } public function DrawDebugData():void{ var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local11:b2XForm; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); var _local1:uint = m_debugDraw.GetFlags(); var _local7:b2Vec2 = new b2Vec2(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Color = new b2Color(0, 0, 0); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { DrawJoint(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); m_debugDraw.DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawXForm(_local11); _local3 = _local3.m_next; }; }; } } }//package Box2D.Dynamics
Section 83
//PropTween (com.greensock.core.PropTween) package com.greensock.core { public class PropTween { public var target:Object; public var property:String; public var start:Number; public var change:Number; public var name:String; public var priority:int; public var isPlugin:Boolean; public var nextNode:PropTween; public var prevNode:PropTween; public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; if (_arg7){ _arg7.prevNode = this; this.nextNode = _arg7; }; this.priority = _arg8; } } }//package com.greensock.core
Section 84
//SimpleTimeline (com.greensock.core.SimpleTimeline) package com.greensock.core { public class SimpleTimeline extends TweenCore { protected var _firstChild:TweenCore; protected var _lastChild:TweenCore; public var autoRemoveChildren:Boolean; public function SimpleTimeline(_arg1:Object=null){ super(0, _arg1); } public function addChild(_arg1:TweenCore):void{ if (((!(_arg1.gc)) && (_arg1.timeline))){ _arg1.timeline.remove(_arg1, true); }; _arg1.timeline = this; if (_arg1.gc){ _arg1.setEnabled(true, true); }; if (_firstChild){ _firstChild.prevNode = _arg1; }; _arg1.nextNode = _firstChild; _firstChild = _arg1; _arg1.prevNode = null; } public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{ if (((!(_arg1.gc)) && (!(_arg2)))){ _arg1.setEnabled(false, true); }; if (_arg1.nextNode){ _arg1.nextNode.prevNode = _arg1.prevNode; } else { if (_lastChild == _arg1){ _lastChild = _arg1.prevNode; }; }; if (_arg1.prevNode){ _arg1.prevNode.nextNode = _arg1.nextNode; } else { if (_firstChild == _arg1){ _firstChild = _arg1.nextNode; }; }; } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local5:Number; var _local6:TweenCore; var _local4:TweenCore = _firstChild; this.cachedTotalTime = _arg1; this.cachedTime = _arg1; while (_local4) { _local6 = _local4.nextNode; if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){ if (!(_local4.cachedReversed)){ _local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false); } else { _local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration; _local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false); }; }; _local4 = _local6; }; } public function get rawTime():Number{ return (this.cachedTotalTime); } } }//package com.greensock.core
Section 85
//TweenCore (com.greensock.core.TweenCore) package com.greensock.core { import com.greensock.*; public class TweenCore { protected var _delay:Number; protected var _hasUpdate:Boolean; protected var _rawPrevTime:Number;// = -1 protected var _pauseTime:Number; public var vars:Object; public var active:Boolean; public var gc:Boolean; public var initted:Boolean; public var timeline:SimpleTimeline; public var cachedStartTime:Number; public var cachedTime:Number; public var cachedTotalTime:Number; public var cachedDuration:Number; public var cachedTotalDuration:Number; public var cachedTimeScale:Number; public var cachedReversed:Boolean; public var nextNode:TweenCore; public var prevNode:TweenCore; public var cacheIsDirty:Boolean; public var cachedPaused:Boolean; public var data; public static const version:Number = 1.13; protected static var _classInitted:Boolean; public function TweenCore(_arg1:Number=0, _arg2:Object=null){ this.vars = ((_arg2) || ({})); this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0))); _delay = ((this.vars.delay) || (0)); this.cachedTimeScale = ((this.vars.timeScale) || (1)); this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false))))); this.cachedTotalTime = (this.cachedTime = 0); this.data = this.vars.data; if (!(_classInitted)){ if (isNaN(TweenLite.rootFrame)){ TweenLite.initClass(); _classInitted = true; } else { return; }; }; var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline; this.cachedStartTime = (_local3.cachedTotalTime + _delay); _local3.addChild(this); if (this.vars.reversed){ this.cachedReversed = true; }; if (this.vars.paused){ this.paused = true; }; } public function play():void{ this.reversed = false; this.paused = false; } public function pause():void{ this.paused = true; } public function resume():void{ this.paused = false; } public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{ this.reversed = false; this.paused = false; this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2); } public function reverse(_arg1:Boolean=true):void{ this.reversed = true; if (_arg1){ this.paused = false; } else { if (this.gc){ this.setEnabled(true, false); }; }; } public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ } public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{ if (!(_arg1)){ renderTime(this.cachedTotalDuration, _arg2, false); return; }; if (this.timeline.autoRemoveChildren){ this.setEnabled(false, false); } else { this.active = false; }; if (!(_arg2)){ if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); } else { if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){ this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams); }; }; }; } public function invalidate():void{ } public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{ if (_arg1){ this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration)))); if (((!(_arg2)) && (this.gc))){ this.timeline.addChild(this); }; } else { this.active = false; if (!(_arg2)){ this.timeline.remove(this, true); }; }; this.gc = !(_arg1); return (false); } public function kill():void{ setEnabled(false, false); } protected function setDirtyCache(_arg1:Boolean=true):void{ var _local2:TweenCore = (_arg1) ? this : this.timeline; while (_local2) { _local2.cacheIsDirty = true; _local2 = _local2.timeline; }; } protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{ var _local3:Number; var _local4:Number; if (this.timeline){ _local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime; if (this.cachedReversed){ _local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration; this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale)); } else { this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale)); }; if (!(this.timeline.cacheIsDirty)){ setDirtyCache(false); }; if (this.cachedTotalTime != _arg1){ renderTime(_arg1, _arg2, false); }; }; } public function get delay():Number{ return (_delay); } public function set delay(_arg1:Number):void{ this.startTime = (this.startTime + (_arg1 - _delay)); _delay = _arg1; } public function get duration():Number{ return (this.cachedDuration); } public function set duration(_arg1:Number):void{ this.cachedDuration = (this.cachedTotalDuration = _arg1); setDirtyCache(false); } public function get totalDuration():Number{ return (this.cachedTotalDuration); } public function set totalDuration(_arg1:Number):void{ this.duration = _arg1; } public function get currentTime():Number{ return (this.cachedTime); } public function set currentTime(_arg1:Number):void{ setTotalTime(_arg1, false); } public function get totalTime():Number{ return (this.cachedTotalTime); } public function set totalTime(_arg1:Number):void{ setTotalTime(_arg1, false); } public function get startTime():Number{ return (this.cachedStartTime); } public function set startTime(_arg1:Number):void{ var _local2:Boolean = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc))))); this.cachedStartTime = _arg1; if (_local2){ this.timeline.addChild(this); }; } public function get reversed():Boolean{ return (this.cachedReversed); } public function set reversed(_arg1:Boolean):void{ if (_arg1 != this.cachedReversed){ this.cachedReversed = _arg1; setTotalTime(this.cachedTotalTime, true); }; } public function get paused():Boolean{ return (this.cachedPaused); } public function set paused(_arg1:Boolean):void{ if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){ if (_arg1){ _pauseTime = this.timeline.rawTime; } else { this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime)); _pauseTime = NaN; setDirtyCache(false); }; this.cachedPaused = _arg1; this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration)))); }; if (((!(_arg1)) && (this.gc))){ this.setTotalTime(this.cachedTotalTime, false); this.setEnabled(true, false); }; } } }//package com.greensock.core
Section 86
//Back (com.greensock.easing.Back) package com.greensock.easing { public class Back { public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{ _arg1 = (_arg1 / (_arg4 * 0.5)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 * 0.5) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } } }//package com.greensock.easing
Section 87
//TweenLite (com.greensock.TweenLite) package com.greensock { import flash.utils.*; import flash.display.*; import com.greensock.core.*; import flash.events.*; import com.greensock.plugins.*; public class TweenLite extends TweenCore { public var target:Object; public var propTweenLookup:Object; public var ratio:Number;// = 0 public var cachedPT1:PropTween; protected var _ease:Function; protected var _overwrite:uint; protected var _overwrittenProps:Object; protected var _hasPlugins:Boolean; protected var _notifyPluginsOfEnabled:Boolean; public static const version:Number = 11.131; public static var plugins:Object = {}; public static var fastEaseLookup:Dictionary = new Dictionary(false); public static var onPluginEvent:Function; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var defaultEase:Function = TweenLite.easeOut; public static var overwriteManager:Object; public static var rootFrame:Number; public static var rootTimeline:SimpleTimeline; public static var rootFramesTimeline:SimpleTimeline; public static var masterList:Dictionary = new Dictionary(false); private static var _shape:Shape = new Shape(); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1}; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local5:TweenLite; super(_arg2, _arg3); this.target = _arg1; if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){ this.cachedTimeScale = 1; }; propTweenLookup = {}; _ease = defaultEase; _overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); var _local4:Array = masterList[_arg1]; if (!(_local4)){ masterList[_arg1] = [this]; } else { if (_overwrite == 1){ for each (_local5 in _local4) { if (!(_local5.gc)){ _local5.setEnabled(false, false); }; }; masterList[_arg1] = [this]; } else { _local4[_local4.length] = this; }; }; if (((this.active) || (this.vars.immediateRender))){ renderTime(0, false, true); }; } protected function init():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:Boolean; var _local5:Array; var _local6:PropTween; if (typeof(this.vars.ease) == "function"){ _ease = this.vars.ease; }; if (this.vars.easeParams){ this.vars.proxiedEase = _ease; _ease = easeProxy; }; this.cachedPT1 = null; this.propTweenLookup = {}; for (_local1 in this.vars) { if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){ } else { if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){ this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1); if (this.cachedPT1.name == "_MULTIPLE_"){ _local2 = _local3.overwriteProps.length; while (_local2--) { this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1; }; } else { this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1; }; if (_local3.priority){ this.cachedPT1.priority = _local3.priority; _local4 = true; }; if (((_local3.onDisable) || (_local3.onEnable))){ _notifyPluginsOfEnabled = true; }; _hasPlugins = true; } else { this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1); this.propTweenLookup[_local1] = this.cachedPT1; }; }; }; if (_local4){ onPluginEvent("onInit", this); }; if (this.vars.runBackwards){ _local6 = this.cachedPT1; while (_local6) { _local6.start = (_local6.start + _local6.change); _local6.change = -(_local6.change); _local6 = _local6.nextNode; }; }; _hasUpdate = Boolean(!((this.vars.onUpdate == null))); if (_overwrittenProps){ killVars(_overwrittenProps); if (this.cachedPT1 == null){ this.setEnabled(false, false); }; }; if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){ if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){ init(); }; }; this.initted = true; } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local4:Boolean; var _local5:Number = this.cachedTime; if (_arg1 >= this.cachedDuration){ this.cachedTotalTime = (this.cachedTime = this.cachedDuration); this.ratio = 1; _local4 = true; if (this.cachedDuration == 0){ if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){ _arg3 = true; }; _rawPrevTime = _arg1; }; } else { if (_arg1 <= 0){ this.cachedTotalTime = (this.cachedTime = (this.ratio = 0)); if (_arg1 < 0){ this.active = false; if (this.cachedDuration == 0){ if (_rawPrevTime > 0){ _arg3 = true; _local4 = true; }; _rawPrevTime = _arg1; }; }; if (((this.cachedReversed) && (!((_local5 == 0))))){ _local4 = true; }; } else { this.cachedTotalTime = (this.cachedTime = _arg1); this.ratio = _ease(_arg1, 0, 1, this.cachedDuration); }; }; if ((((this.cachedTime == _local5)) && (!(_arg3)))){ return; }; if (!(this.initted)){ init(); if (((!(_local4)) && (this.cachedTime))){ this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration); }; }; if (((!(this.active)) && (!(this.cachedPaused)))){ this.active = true; }; if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){ this.vars.onStart.apply(null, this.vars.onStartParams); }; var _local6:PropTween = this.cachedPT1; while (_local6) { _local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change)); _local6 = _local6.nextNode; }; if (((_hasUpdate) && (!(_arg2)))){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local4){ if (((_hasPlugins) && (this.cachedPT1))){ onPluginEvent("onComplete", this); }; complete(true, _arg2); }; } public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{ var _local3:String; var _local4:PropTween; var _local5:Boolean; if (_overwrittenProps == null){ _overwrittenProps = {}; }; for (_local3 in _arg1) { if ((_local3 in propTweenLookup)){ _local4 = propTweenLookup[_local3]; if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){ _local4.target.killProps(_arg1); if (_local4.target.overwriteProps.length == 0){ _local4.name = ""; }; }; if (_local4.name != "_MULTIPLE_"){ if (_local4.nextNode){ _local4.nextNode.prevNode = _local4.prevNode; }; if (_local4.prevNode){ _local4.prevNode.nextNode = _local4.nextNode; } else { if (this.cachedPT1 == _local4){ this.cachedPT1 = _local4.nextNode; }; }; if (((_local4.isPlugin) && (_local4.target.onDisable))){ _local4.target.onDisable(); if (_local4.target.activeDisable){ _local5 = true; }; }; delete propTweenLookup[_local3]; }; }; if (_arg2){ _overwrittenProps[_local3] = 1; }; }; return (_local5); } override public function invalidate():void{ if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){ onPluginEvent("onDisable", this); }; this.cachedPT1 = null; _overwrittenProps = null; _hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false))); this.propTweenLookup = {}; } override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{ var _local3:Array; if (_arg1){ _local3 = TweenLite.masterList[this.target]; if (!(_local3)){ TweenLite.masterList[this.target] = [this]; } else { _local3[_local3.length] = this; }; }; super.setEnabled(_arg1, _arg2); if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){ return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this)); }; return (false); } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public static function initClass():void{ rootFrame = 0; rootTimeline = new SimpleTimeline(null); rootFramesTimeline = new SimpleTimeline(null); rootTimeline.cachedStartTime = (getTimer() * 0.001); rootFramesTimeline.cachedStartTime = rootFrame; rootTimeline.autoRemoveChildren = true; rootFramesTimeline.autoRemoveChildren = true; _shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; if (!(("immediateRender" in _arg3))){ _arg3.immediateRender = true; }; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0})); } protected static function updateAll(_arg1:Event=null):void{ var _local2:Dictionary; var _local3:Object; var _local4:Array; var _local5:int; rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false); rootFrame++; rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false); if (!((rootFrame % 60))){ _local2 = masterList; for (_local3 in _local2) { _local4 = _local2[_local3]; _local5 = _local4.length; while (_local5--) { if (TweenLite(_local4[_local5]).gc){ _local4.splice(_local5, 1); }; }; if (_local4.length == 0){ delete _local2[_local3]; }; }; }; } public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; if ((_arg1 in masterList)){ _local3 = masterList[_arg1]; _local4 = _local3.length; while (_local4--) { if (!(TweenLite(_local3[_local4]).gc)){ if (_arg2){ TweenLite(_local3[_local4]).complete(false, false); } else { TweenLite(_local3[_local4]).setEnabled(false, false); }; }; }; delete masterList[_arg1]; }; } protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (1 - (_arg1 / _arg4)); return ((1 - (_arg1 * _arg1))); } } }//package com.greensock
Section 88
//AnimatedBitmap (com.hexagonstar.display.bitmaps.AnimatedBitmap) package com.hexagonstar.display.bitmaps { import flash.display.*; import flash.geom.*; import com.hexagonstar.display.*; import flash.events.*; import com.hexagonstar.env.event.*; public class AnimatedBitmap extends Bitmap implements IAnimatedDisplayObject { private var _buffer:BitmapData; private var _timer:FrameRateTimer; private var _frameAmount:int; private var _frameNr:int; private var _isPlaying:Boolean; private var _point:Point; private var _rect:Rectangle; private var _wCount:int; public function AnimatedBitmap(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:FrameRateTimer, _arg7:Boolean=true, _arg8:String="auto", _arg9:Boolean=false){ super(new BitmapData(_arg2, _arg3, _arg7, 0), _arg8, _arg9); _buffer = _arg1.clone(); _wCount = _arg4; _frameAmount = _arg5; _frameNr = 1; _isPlaying = false; _timer = _arg6; _point = new Point(0, 0); _rect = new Rectangle(0, 0, width, height); bitmapData.copyPixels(_buffer, _rect, _point); play(); } public function setFrameRateTimer(_arg1:FrameRateTimer):void{ if (_isPlaying){ stop(); _timer = _arg1; play(); } else { _timer = _arg1; }; } public function getFrameRate():int{ return (_timer.getFrameRate()); } public function getCurrentFrame():int{ return (_frameNr); } public function getTotalFrames():int{ return (_frameAmount); } public function isPlaying():Boolean{ return (_isPlaying); } public function play():void{ if (!(_isPlaying)){ _isPlaying = true; _timer.addEventListener(TimerEvent.TIMER, playForward); } else { stop(); play(); }; } public function stop():void{ if (_isPlaying){ _timer.removeEventListener(TimerEvent.TIMER, playForward); _isPlaying = false; }; } public function gotoAndPlay(_arg1:int):void{ _frameNr = (_arg1 - 1); play(); } public function gotoAndStop(_arg1:int):void{ if (_arg1 >= _frameNr){ _frameNr = (_arg1 - 1); nextFrame(); } else { _frameNr = (_arg1 + 1); prevFrame(); }; } public function nextFrame():void{ if (_isPlaying){ stop(); }; _frameNr++; if (_frameNr > _frameAmount){ _frameNr = _frameAmount; }; draw(); } public function prevFrame():void{ if (_isPlaying){ stop(); }; _frameNr--; if (_frameNr < 1){ _frameNr = 1; }; draw(); } private function playForward(_arg1:TimerEvent=null):void{ _frameNr++; if (_frameNr > _frameAmount){ _frameNr = 1; } else { if (_frameNr < 1){ _frameNr = _frameAmount; }; }; draw(); } private function draw():void{ dispatchEvent(new FrameEvent(FrameEvent.ENTER)); _rect = new Rectangle((((_frameNr - 1) % _wCount) * width), (int(((_frameNr - 1) / _wCount)) * height), width, height); bitmapData.copyPixels(_buffer, _rect, _point); } public function destroy():void{ stop(); _timer = null; _buffer = null; } } }//package com.hexagonstar.display.bitmaps
Section 89
//FrameRateTimer (com.hexagonstar.display.FrameRateTimer) package com.hexagonstar.display { import flash.utils.*; public class FrameRateTimer extends Timer { private var _fps:int; public function FrameRateTimer(_arg1:int=-1){ _fps = ((_arg1)>-1) ? _arg1 : 24; super(Math.round((1000 / _fps)), 0); start(); } public function getFrameRate():int{ return (_fps); } } }//package com.hexagonstar.display
Section 90
//IAnimatedDisplayObject (com.hexagonstar.display.IAnimatedDisplayObject) package com.hexagonstar.display { public interface IAnimatedDisplayObject { function setFrameRateTimer(_arg1:FrameRateTimer):void; function getFrameRate():int; function getCurrentFrame():int; function getTotalFrames():int; function isPlaying():Boolean; function play():void; function stop():void; function gotoAndPlay(_arg1:int):void; function gotoAndStop(_arg1:int):void; function nextFrame():void; function prevFrame():void; } }//package com.hexagonstar.display
Section 91
//FrameEvent (com.hexagonstar.env.event.FrameEvent) package com.hexagonstar.env.event { import flash.events.*; public class FrameEvent extends Event { public static const ENTER:String = "enter"; public function FrameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package com.hexagonstar.env.event
Section 92
//AwardsService (com.spilgames.api.AwardsService) package com.spilgames.api { public class AwardsService { public static function submitAward(_arg1:String, _arg2:Function=null):int{ return (SpilGamesServices.getInstance().send("Awards", "submitAward", _arg2, {tag:_arg1, userName:User.getUserName(), userHash:User.getUserHash()})); } } }//package com.spilgames.api
Section 93
//ScoreService (com.spilgames.api.ScoreService) package com.spilgames.api { public class ScoreService { public static function submitScore(_arg1:int, _arg2:Function=null):int{ return (SpilGamesServices.getInstance().send("Score", "submitScore", _arg2, {score:_arg1, userName:User.getUserName(), userHash:User.getUserHash()})); } } }//package com.spilgames.api
Section 94
//SpilGamesServices (com.spilgames.api.SpilGamesServices) package com.spilgames.api { import flash.events.*; import flash.net.*; import flash.display.*; import flash.system.*; import flash.utils.*; public class SpilGamesServices extends MovieClip { private const DEFAULT_CONNECTION_LOCATION:String = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"; private var _servicesConnection;// = null private var _loader:Loader; private var _connecting:Boolean;// = false private var _connected:Boolean;// = false private var _request:URLRequest; private var _numConnectionLoadTries:uint;// = 0 private var _alwaysInFront:Boolean;// = false private var currentDelay:Number;// = 0 private var previousFrameTime:Number; public static const INVALID_ID:int = -1; public static const INVALID_DOMAIN:String = "invalidDomain"; public static const CONFIGURATION_FAILED:String = "configurationFailure"; private static const MAX_CONNECTION_LOAD_RETRIES:uint = 99; private static var _instance:SpilGamesServices = null; public function SpilGamesServices(_arg1:Private=null){ if (!(_arg1)){ throw (new Error("Cannot instantiate this class, use SpilGamesServices.getInstance")); }; } public function get version():String{ return ("1.1"); } public function get connecting():Boolean{ return (_connecting); } public function get connection(){ return (_servicesConnection); } public function set alwaysInFront(_arg1:Boolean):void{ if (_alwaysInFront != _arg1){ _alwaysInFront = _arg1; if (_alwaysInFront){ addEventListener(Event.ENTER_FRAME, bringToFront); } else { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } public function get alwaysInFront():Boolean{ return (_alwaysInFront); } public function connect(_arg1:DisplayObjectContainer, ... _args):void{ var _local3:String; var _local4:URLVariables; var _local5:Date; if (((!(_connecting)) && (!(_connected)))){ if (!(_arg1.stage)){ throw (new Error("The given clip must be present in the display list (added to stage)")); }; _connecting = true; _arg1.stage.addChild(this); addEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){ _local3 = root.loaderInfo.parameters["servicesLoc"]; _request = new URLRequest(_local3); } else { _local3 = DEFAULT_CONNECTION_LOCATION; _local4 = new URLVariables(); _local5 = new Date(); _local4.nocache = ((((_local5.fullYear * 12) + (_local5.month + 1)) * 31) + _local5.day); _request = new URLRequest(_local3); _request.data = _local4; }; allowDomain(_local3); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); _loader.load(_request); }; } public function disconnect():void{ if (_servicesConnection){ _servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.removeEventListener("serviceError", handleServiceError); if (_connected){ _servicesConnection.disconnect(); }; removeChild(_servicesConnection); }; _servicesConnection = null; if (_loader){ try { _loader.close(); } catch(e:Error) { } finally { _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); }; _loader = null; }; removeEventListener(Event.ENTER_FRAME, bringToFront); removeEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (parent){ parent.removeChild(this); }; _connected = (_connecting = false); } public function getChannelID():int{ if (_servicesConnection != null){ return (_servicesConnection.getChannelID()); }; return (INVALID_ID); } public function getSiteID():int{ if (_servicesConnection != null){ return (_servicesConnection.getSiteID()); }; return (INVALID_ID); } public function getItemID():int{ if (_servicesConnection != null){ return (_servicesConnection.getItemID()); }; return (INVALID_ID); } public function isReady():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isReady()))); } public function isDomainAllowed():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid()))); } public function isServiceAvailable(_arg1:String):Boolean{ return (((isReady()) && (_servicesConnection.isServiceAvailable(_arg1)))); } public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{ if (isReady()){ return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4)); }; return (INVALID_ID); } public function bringToFront(_arg1:Event=null):void{ var e = _arg1; if (parent){ try { parent.setChildIndex(this, (parent.numChildren - 1)); } catch(e:Error) { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } public function allowDomain(_arg1:String):void{ Security.allowDomain("*"); Security.allowInsecureDomain("*"); } private function handleRemovedFromStage(_arg1:Event):void{ trace("WARNING: please do not remove SpilGamesServices from the stage"); } private function handleLoadComplete(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _servicesConnection = LoaderInfo(_arg1.target).content; _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); addChild(_servicesConnection); } private function handleIOError(_arg1:IOErrorEvent):void{ _numConnectionLoadTries++; if (_numConnectionLoadTries > MAX_CONNECTION_LOAD_RETRIES){ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connecting = false; trace("ERROR: SpilGamesServices failed to load the connection object"); if (hasEventListener(_arg1.type)){ dispatchEvent(_arg1); }; } else { trace(("WARN: SpilGamesServices failed to load the connection object, retry #" + _numConnectionLoadTries)); previousFrameTime = getTimer(); addEventListener(Event.ENTER_FRAME, updateConnectionRetry); }; } private function updateConnectionRetry(_arg1:Event):void{ var _local2:Number = getTimer(); var _local3:Number = ((_local2 - previousFrameTime) / 1000); currentDelay = (currentDelay + _local3); if (currentDelay >= 2){ trace(("WARN: SpilGamesServices trying to reconnect after: " + currentDelay)); _loader.load(_request); removeEventListener(Event.ENTER_FRAME, updateConnectionRetry); currentDelay = 0; }; previousFrameTime = _local2; } private function handleServicesReady(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connected = true; _connecting = false; dispatchEvent(new Event("servicesReady")); } private function handleServicesFailed(_arg1:ErrorEvent):void{ _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); _connecting = false; if (hasEventListener("servicesFailed")){ dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text)); }; } private function handleServiceError(_arg1:Event):void{ var _local2:String; if (hasEventListener("serviceError")){ _local2 = ""; if ((_arg1 is ErrorEvent)){ _local2 = ErrorEvent(_arg1).text; } else { _local2 = _arg1.toString(); }; dispatchEvent(new ErrorEvent("serviceError", false, false, _local2)); }; } public static function getInstance():SpilGamesServices{ if (!(_instance)){ _instance = new SpilGamesServices(new Private()); }; return (_instance); } } }//package com.spilgames.api class Private { private function Private(){ } }
Section 95
//User (com.spilgames.api.User) package com.spilgames.api { import flash.display.*; public class User { public static function isGuest():Boolean{ var _local2:DisplayObject; var _local3:Object; var _local1:* = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.isGuest()); }; _local2 = SpilGamesServices.getInstance().root; if (_local2.loaderInfo != null){ _local3 = _local2.loaderInfo.parameters; return (((((((!(_local3.username)) || ((_local3.username == "")))) || (!(_local3.hash)))) || ((_local3.hash == "")))); }; return (false); } public static function getUserName():String{ var _local1:* = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserName()); }; return (""); } public static function getUserHash():String{ var _local1:* = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserHash()); }; return (""); } } }//package com.spilgames.api
Section 96
//Actor (com.tinime.actors.Actor) package com.tinime.actors { import Box2D.Dynamics.*; import flash.display.*; import com.tinime.data.*; import flash.geom.*; import flash.events.*; public class Actor extends EventDispatcher { public var isAlive:Boolean;// = true protected var _body:b2Body; protected var _costume:DisplayObjectContainer; public function Actor(_arg1:b2Body, _arg2:DisplayObjectContainer){ _body = _arg1; _body.SetUserData(this); _costume = _arg2; updateMyLook(); } public function update():void{ if (!(_body.IsStatic())){ updateMyLook(); childSpecificUpdate(); }; } public function destroy():void{ isAlive = false; cleanUpBeforeRemoving(); _costume.parent.removeChild(_costume); PhysicsVals.world.DestroyBody(_body); _body = null; _costume = null; } public function getCostumeLoc():Point{ return (new Point(_costume.x, _costume.y)); } protected function cleanUpBeforeRemoving():void{ } protected function childSpecificUpdate():void{ } protected function updateMyLook():void{ _costume.x = (_body.GetPosition().x * PhysicsVals.RATIO); _costume.y = (_body.GetPosition().y * PhysicsVals.RATIO); _costume.rotation = ((_body.GetAngle() * 180) / Math.PI); } public function get body():b2Body{ return (_body); } public function set body(_arg1:b2Body):void{ _body = _arg1; } public function get costume():DisplayObjectContainer{ return (_costume); } public function set costume(_arg1:DisplayObjectContainer):void{ _costume = _arg1; } } }//package com.tinime.actors
Section 97
//AnimalActor (com.tinime.actors.AnimalActor) package com.tinime.actors { import com.tinime.event.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.display.*; import com.tinime.control.*; import com.tinime.view.*; import flash.geom.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import com.hexagonstar.display.bitmaps.*; import Box2D.Collision.*; import com.tinime.interfaces.*; public class AnimalActor extends Actor implements Liftable, LevelDataRecordable { protected var _walkDir:Number; protected var _flipCount:int;// = 0 protected var _scale:Number; protected var _isStopped:Boolean;// = false protected var _originBodyDensity:Number; protected var _originWheelDensity:Number; protected var _curMass:Number; protected var _isFalling:Boolean;// = false protected var _deadAnim:MovieClip; protected var _gameEventDispatcher:GameEventDispatcher; protected var _isMovable:Boolean; protected var _animatedBitmap:AnimatedBitmap; protected var _walkSprite:Sprite; protected var _halfWidth:Number; public var isLifted:Boolean;// = false public var waitToDie:Boolean;// = false public var isAbsorbing:Boolean;// = false private var _tweenTime:Number; private var _moveForce:Number; private var _recordNum:int; private var _prevX:Number; private var _checkXPosCount:int; public function AnimalActor(_arg1:b2Body, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ _gameEventDispatcher = GameEventDispatcher.getInstance(); _halfWidth = _arg6; _moveForce = _arg5; _isMovable = true; _originBodyDensity = _arg3; _scale = _arg4; _arg1.GetShapeList().m_filter.categoryBits = PhysicsVals.NPC_CATAGORY; _arg1.GetShapeList().m_filter.maskBits = (((((PhysicsVals.BOMB_CATAGORY | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.UFO_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.TUNNEL_BLOCK); super(_arg1, _arg2); if (_costume.scaleX < 0){ _walkDir = -1; } else { _walkDir = 1; }; _prevX = _arg2.x; } public function contactCar():void{ if (!(isLifted)){ _isMovable = false; _animatedBitmap.gotoAndStop(1); }; } public function die():void{ if (_deadAnim != null){ return; }; if (isLifted){ LevelController._ufo.removeLiftedObject(); }; isAlive = false; var _local1:Camera = Camera.getInstance(); _local1.isCameraLocked = true; CommonVals.gameLocked = true; CommonVals.gamePaused = true; _deadAnim = getDeadMc(); _deadAnim.x = _costume.x; _deadAnim.y = _costume.y; _deadAnim.scaleX = _costume.scaleX; _deadAnim.scaleY = _costume.scaleY; _deadAnim.rotation = 0; _costume.visible = false; _costume.parent.addChild(_deadAnim); _deadAnim.gotoAndStop(1); _tweenTime = (Math.sqrt((Math.pow(((-(_local1.frontLayer.x) + (CommonVals.STAGE_WIDTH * 0.5)) - _costume.x), 2) + Math.pow(((-(_local1.frontLayer.y) + (CommonVals.STAGE_HEIGHT * 0.5)) - _costume.y), 2))) / 400); if (_tweenTime > 0.5){ _gameEventDispatcher.addEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); _local1.tweenTo(new Point((_costume.x - (CommonVals.STAGE_WIDTH * 0.5)), (_costume.y - (CommonVals.STAGE_HEIGHT * 0.5))), 1); } else { _gameEventDispatcher.onTweenComplete(); _deadAnim.addEventListener(Event.ENTER_FRAME, onDeadAnim); _deadAnim.gotoAndPlay(1); SoundManager.playCowScream(); }; } protected function getDeadMc():MovieClip{ return (null); } private function onTweenComplete(_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); _costume.parent.addChild(_deadAnim); _deadAnim.addEventListener(Event.ENTER_FRAME, onDeadAnim); _deadAnim.gotoAndPlay(1); SoundManager.playCowScream(); } public function getLiftable():Boolean{ if (((!((_deadAnim == null))) || (isAbsorbing))){ return (false); }; return (true); } private function onDeadAnim(_arg1:Event):void{ if (_deadAnim.currentFrame == _deadAnim.totalFrames){ _deadAnim.removeEventListener(Event.ENTER_FRAME, onDeadAnim); _deadAnim.parent.removeChild(_deadAnim); if ((this is CowActor)){ _gameEventDispatcher.onCowDead(); } else { if (_tweenTime > 0.5){ _gameEventDispatcher.addEventListener(GameEvent.TWEEN_COMPLETE, onTweenBack); Camera.getInstance().tweenTo(new Point((LevelController._ufo.costume.x - 320), (LevelController._ufo.costume.y - 240)), _tweenTime); } else { Camera.getInstance().isCameraLocked = false; CommonVals.gameLocked = false; CommonVals.gamePaused = false; ActorsManager.getInstance().remove(this); }; }; }; } private function onTweenBack(_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenBack); Camera.getInstance().isCameraLocked = false; CommonVals.gameLocked = false; CommonVals.gamePaused = false; ActorsManager.getInstance().remove(this); } public function getMass():Number{ return (_body.GetMass()); } public function getBody():b2Body{ return (_body); } public function getPos():Point{ return (new Point(_costume.x, _costume.y)); } public function getLiftHeight():Number{ return (0); } public function prepareLiftStatus():void{ _curMass = _body.GetMass(); setLightWeight(); _animatedBitmap.play(); } public function restoreOriginStatus():void{ restoreMove(); restoreWeight(); } private function setLightWeight():void{ var _local1:Number = 0.001; _body.GetShapeList().m_density = _local1; _body.SetMassFromShapes(); _curMass = _body.GetMass(); } private function restoreWeight():void{ body.GetShapeList().m_density = _originBodyDensity; _body.SetMassFromShapes(); _curMass = _body.GetMass(); } public function stopMove():void{ _isStopped = true; isLifted = true; } protected function restoreMove():void{ _isStopped = false; isLifted = false; var _local1:DisplayObjectContainer = _costume.parent; var _local2:Number = _local1.getChildIndex(_costume); _local1.removeChild(_costume); _walkSprite.x = _costume.x; _walkSprite.y = _costume.y; _local1.addChildAt(_walkSprite, _local2); _costume = _walkSprite; } public function setFalling():void{ _isFalling = true; } private function move():void{ var _local1:b2ContactEdge; var _local2:Boolean; if (!(_isMovable)){ _local1 = _body.m_contactList; _local2 = false; while (_local1 != null) { if ((_local1.other.GetUserData() is CarActor)){ return; }; _local1 = _local1.next; }; _isMovable = true; _animatedBitmap.play(); }; if (Math.abs(_body.GetLinearVelocity().x) > (20 / PhysicsVals.RATIO)){ return; }; if (_walkDir == 1){ _costume.scaleX = _scale; _body.ApplyForce(new b2Vec2((_body.m_mass * _moveForce), 0), _body.GetWorldCenter()); } else { _body.ApplyForce(new b2Vec2((-(_body.m_mass) * _moveForce), 0), _body.GetWorldCenter()); _costume.scaleX = -(_scale); }; } override protected function childSpecificUpdate():void{ var _local1:b2MassData; var _local2:b2ContactEdge; var _local3:Boolean; var _local4:Number; var _local5:Number; if (waitToDie){ ActorsManager.getInstance().remove(this); return; }; if (((!((_deadAnim == null))) && (!((_body.m_mass == 0))))){ _local1 = new b2MassData(); _local1.mass = 0; _body.SetMass(_local1); _body.AllowSleeping(true); _body.PutToSleep(); _animatedBitmap.stop(); }; if (_body.m_mass == 0){ return; }; if (_isMovable){ _body.m_sweep.a = 0; }; if (_isStopped){ return; }; if (_isFalling){ _local2 = _body.m_contactList; _local3 = false; while (_local2 != null) { if (((!((_local2.other.GetUserData() is UfoActor))) && (!((_local2.other.GetUserData() is HaloActor))))){ _local3 = true; break; }; _local2 = _local2.next; }; if (_local3){ _isFalling = false; _flipCount = 0; move(); } else { return; }; } else { if ((this is CowActor)){ _local4 = (_costume.y + 20); } else { _local4 = (_costume.y - 3); }; if (_walkDir > 0){ _local5 = ((_costume.x + _halfWidth) + 5); } else { _local5 = ((_costume.x - _halfWidth) - 5); }; if (checkIfContactBlockAtPos(_local5, _local4)){ if (++_flipCount > 10){ _checkXPosCount = 0; _flipCount = 0; _walkDir = (_walkDir * -1); }; } else { if ((((Math.abs((_prevX - _costume.x)) < 0.1)) && ((++_checkXPosCount > 30)))){ _checkXPosCount = 0; _walkDir = (_walkDir * -1); }; }; move(); _prevX = _costume.x; }; } override protected function cleanUpBeforeRemoving():void{ _animatedBitmap.destroy(); _animatedBitmap = null; } public function setRecordNum(_arg1:int):void{ _recordNum = _arg1; } public function getRecordNum():int{ return (_recordNum); } public function get animatedBitmap():AnimatedBitmap{ return (_animatedBitmap); } public function set animatedBitmap(_arg1:AnimatedBitmap):void{ _animatedBitmap = _arg1; } private function checkIfContactBlockAtPos(_arg1:Number, _arg2:Number):Boolean{ var _local10:b2Shape; var _local11:Object; var _local12:Boolean; var _local3:b2Vec2 = new b2Vec2((_arg1 / PhysicsVals.RATIO), (_arg2 / PhysicsVals.RATIO)); var _local4:b2AABB = new b2AABB(); _local4.lowerBound.Set((_local3.x - 0.001), (_local3.y - 0.001)); _local4.upperBound.Set((_local3.x + 0.001), (_local3.y + 0.001)); var _local5:int = 10; var _local6:Array = new Array(); var _local7:int = PhysicsVals.world.Query(_local4, _local6, _local5); var _local8:b2Body; var _local9:int; while (_local9 < _local7) { _local10 = (_local6[_local9] as b2Shape); _local11 = _local10.GetBody().GetUserData(); if ((((((((((((((((((((_local11 is int)) && ((_local11 == CommonVals.LASER_BEAM)))) || ((_local11 is StarTokenActor)))) || ((_local11 is TeleTransmissionActor)))) || ((_local11 is AnimalActor)))) || ((_local11 is FloatBombActor)))) || ((_local11 is HiddenBlockActor)))) || ((_local11 is TriggerActor)))) || ((_local11 is KeyActor)))) || ((_local11 is SpinyBallActor)))){ } else { _local12 = _local10.TestPoint(_local10.m_body.GetXForm(), _local3); if (_local12){ return (true); }; }; _local9++; }; return (false); } } }//package com.tinime.actors
Section 98
//AnimalCarSpawner (com.tinime.actors.AnimalCarSpawner) package com.tinime.actors { import Box2D.Dynamics.*; import com.tinime.data.*; import flash.display.*; import flash.geom.*; import com.tinime.control.*; import com.tinime.interfaces.*; public class AnimalCarSpawner extends Actor implements Triggered { private var _parent:DisplayObjectContainer; private var _location:Point; private var _animalType:int; private var _waitTime:Number; private var _watiTimeCount:Number; private var _carSpeed:Number; private var _isTriggered:Boolean; private var _isGenerated:Boolean; public function AnimalCarSpawner(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:int, _arg4:Number, _arg5:Number){ _parent = _arg1; _location = _arg2; _animalType = _arg3; _waitTime = _arg4; _carSpeed = _arg5; _isTriggered = false; _isGenerated = false; _watiTimeCount = 0; var _local6:b2BodyDef = new b2BodyDef(); _body = PhysicsVals.world.CreateBody(_local6); super(_body, new Sprite()); } public function onTriggered():void{ _isTriggered = true; } override public function update():void{ if (_isGenerated){ return; }; if (_isTriggered){ if (_watiTimeCount < _waitTime){ _watiTimeCount++; } else { generateAnimalCar(); }; }; } private function generateAnimalCar():void{ var _local2:Point; var _local3:Number; var _local5:CowActor; var _local6:CatActor; var _local7:DogActor; _isGenerated = true; var _local1:ActorsManager = ActorsManager.getInstance(); _local2 = new Point(_location.x, (_location.y - 20)); _local3 = (_carSpeed / Math.abs(_carSpeed)); switch (_animalType){ case CommonVals.COW: _local5 = new CowActor(_parent, _local2, (1 * _local3)); _local1.add(_local5); break; case CommonVals.CAT: _local6 = new CatActor(_parent, _local2, (1 * _local3)); _local1.add(_local6); break; case CommonVals.DOG: _local7 = new DogActor(_parent, _local2, (1 * _local3)); _local1.add(_local7); break; default: break; }; var _local4:CarActor = new CarActor(_parent, _location, _carSpeed); _local1.add(_local4); } override public function destroy():void{ PhysicsVals.world.DestroyBody(_body); } } }//package com.tinime.actors
Section 99
//BreakableSquareActor (com.tinime.actors.BreakableSquareActor) package com.tinime.actors { import com.tinime.control.*; import flash.geom.*; import flash.display.*; import Box2D.Common.Math.*; import com.tinime.interfaces.*; public class BreakableSquareActor extends Actor implements Explosive { private var _waitToEjectDebris:Boolean;// = false private var _setAlpha:Boolean;// = false public function BreakableSquareActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number){ var _local5:Sprite = Box2dObjSpawner.buildBitmapSprite(_arg1, new BreakableSquareSprLib(), _arg2, _arg3, new Point(45, 44), new Point(0, 0), _arg4); _body = Box2dObjSpawner.buildBody([[0, 0], [42, 0], [42, 42], [0, 42]], this, _arg2, 0, 0.7, 0, _arg3, _arg4); super(_body, _local5); } public function explode():void{ _waitToEjectDebris = true; _setAlpha = true; } override public function update():void{ if (_waitToEjectDebris){ _body.GetShapeList().m_isSensor = true; _waitToEjectDebris = false; ejectDebris(); ScoreManager.addScore(50, new Point(_costume.x, (_costume.y - 10))); }; if (_setAlpha){ if (_costume.alpha > 0.1){ _costume.alpha = (_costume.alpha - 0.05); } else { ActorsManager.getInstance().remove(this); }; }; } private function ejectDebris():void{ var _local3:DebrisActor; var _local1:Number = ((Math.ceil(Math.random()) * 3) + 2); var _local2:int; while (_local2 < _local1) { _local3 = new DebrisActor(_costume.parent, new Point(((_costume.x + (Math.random() * 6)) - 3), ((_costume.y + (Math.random() * 6)) - 3))); _local3.body.ApplyImpulse(new b2Vec2((((Math.random() * 6) - 3) * _local3.body.m_mass), (-(((Math.random() * 5) + 2)) * _local3.body.m_mass)), _local3.body.GetWorldCenter()); _local2++; }; } } }//package com.tinime.actors
Section 100
//BumperActor (com.tinime.actors.BumperActor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.geom.*; import com.tinime.control.*; import flash.events.*; import com.hexagonstar.display.bitmaps.*; public class BumperActor extends Actor { private var _animatedBitmap:AnimatedBitmap; private var _touchAnim:MovieClip; private var _scale:Number; public function BumperActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ var _local4:b2CircleDef; _costume = new Sprite(); _costume.x = _arg2.x; _costume.y = _arg2.y; switch (_arg3){ case 1: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.BUMPER); break; case 0.53: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.BUMPER_53); break; default: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.BUMPER); break; }; _animatedBitmap.x = (-36 * _arg3); _animatedBitmap.y = (-36 * _arg3); _costume.addChild(_animatedBitmap); _arg1.addChild(_costume); _scale = _arg3; _local4 = new b2CircleDef(); _local4.radius = ((30 * _arg3) / PhysicsVals.RATIO); _local4.density = 0; _local4.restitution = 4; var _local5:b2BodyDef = new b2BodyDef(); _local5.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _body = PhysicsVals.world.CreateBody(_local5); _body.CreateShape(_local4); _body.SetMassFromShapes(); _body.GetShapeList().m_filter.categoryBits = PhysicsVals.TUNNEL_BLOCK; _body.GetShapeList().m_filter.maskBits = (((PhysicsVals.BOMB_CATAGORY | PhysicsVals.UFO_CATEGORY) | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); super(_body, _costume); } public function touch():void{ if (_touchAnim != null){ return; }; SoundManager.playBumperHit(); _touchAnim = new BumperHittedMcLib(); _touchAnim.x = _costume.x; _touchAnim.y = _costume.y; _touchAnim.scaleX = _scale; _touchAnim.scaleY = _scale; var _local1:int = _costume.parent.getChildIndex(_costume); _costume.parent.addChildAt(_touchAnim, _local1); _costume.visible = false; _touchAnim.addEventListener(Event.ENTER_FRAME, onTouchAnimEnterFrame); _touchAnim.gotoAndPlay(1); } private function onTouchAnimEnterFrame(_arg1:Event):void{ if (_touchAnim.currentFrame == _touchAnim.totalFrames){ _costume.visible = true; _touchAnim.removeEventListener(Event.ENTER_FRAME, onTouchAnimEnterFrame); _touchAnim.parent.removeChild(_touchAnim); _touchAnim = null; }; } override protected function cleanUpBeforeRemoving():void{ if (_touchAnim != null){ _touchAnim.removeEventListener(Event.ENTER_FRAME, onTouchAnimEnterFrame); _touchAnim.parent.removeChild(_touchAnim); _touchAnim = null; }; _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 101
//CannonActor (com.tinime.actors.CannonActor) package com.tinime.actors { import com.tinime.control.*; import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import flash.geom.*; import flash.events.*; import Box2D.Common.Math.*; import com.hexagonstar.display.bitmaps.*; public class CannonActor extends Actor { private var _fireForce:Object; private var _fireTimeInterval:Number; private var _timeCount:Number;// = 0 private var _scale:Number; private var _cannonMuzzlePos:Point; private var _cannonBallExplodeTime:Number; private var _animatedBitmap:AnimatedBitmap; private var _actorsManager:ActorsManager; public function CannonActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Object, _arg6:Number, _arg7:Number){ _actorsManager = ActorsManager.getInstance(); _costume = new Sprite(); _costume.x = _arg2.x; _costume.y = _arg2.y; _costume.rotation = _arg4; switch (_arg3){ case 0.6: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.CANNON_60); break; case 1: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.CANNON); break; case 1.5: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.CANNON_150); break; default: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.CANNON); break; }; _animatedBitmap.x = (-43 * _arg3); _animatedBitmap.y = (-97 * _arg3); _costume.addChild(_animatedBitmap); _arg1.addChild(_costume); _animatedBitmap.gotoAndStop(1); _body = Box2dObjSpawner.buildBody([[6, -24], [92, -22], [89, 15], [14, 26], [-10, 5], [-8, -14]], this, _arg2, 0, 0.7, 0, _arg3, _arg4); _fireForce = _arg5; _fireTimeInterval = _arg6; _scale = _arg3; _cannonBallExplodeTime = _arg7; super(_body, _costume); _cannonMuzzlePos = new Point(); _cannonMuzzlePos.x = (((101 * _arg3) * Math.cos(((_arg4 * Math.PI) / 180))) + _arg2.x); _cannonMuzzlePos.y = (((101 * _arg3) * Math.sin(((_arg4 * Math.PI) / 180))) + _arg2.y); } override public function update():void{ _timeCount++; if (_timeCount > _fireTimeInterval){ _timeCount = 0; spawnACannonBall(); }; } private function spawnACannonBall():void{ var _local5:Number; if (_animatedBitmap.isPlaying()){ return; }; _animatedBitmap.gotoAndPlay(2); _animatedBitmap.addEventListener(Event.ENTER_FRAME, onAnimEnterFrame); var _local1:Number = (-(Camera.getInstance().frontLayer.x) - 150); var _local2:Number = ((_local1 + CommonVals.STAGE_WIDTH) + 300); var _local3:Number = (-(Camera.getInstance().frontLayer.y) - 150); var _local4:Number = ((_local3 + CommonVals.STAGE_HEIGHT) + 300); if ((((((((_costume.x > _local1)) && ((_costume.x < _local2)))) && ((_costume.y > _local3)))) && ((_costume.y < _local4)))){ SoundManager.playCannon(); }; if ((_fireForce is Number)){ _local5 = Number(_fireForce); } else { if ((_fireForce is Array)){ _local5 = ((Math.random() * (_fireForce[1] - _fireForce[0])) + _fireForce[0]); }; }; var _local6:CannonBallActor = new CannonBallActor(_costume.parent, _cannonMuzzlePos, _scale, _costume.rotation, _cannonBallExplodeTime); _local6.body.ApplyImpulse(new b2Vec2((_local5 * Math.cos(_body.GetAngle())), (_local5 * Math.sin(_body.GetAngle()))), _local6.body.GetWorldCenter()); _actorsManager.add(_local6); } private function onAnimEnterFrame(_arg1:Event):void{ if (_animatedBitmap.getCurrentFrame() == _animatedBitmap.getTotalFrames()){ _animatedBitmap.gotoAndStop(1); _animatedBitmap.removeEventListener(Event.ENTER_FRAME, onAnimEnterFrame); }; } override protected function cleanUpBeforeRemoving():void{ _animatedBitmap.removeEventListener(Event.ENTER_FRAME, onAnimEnterFrame); _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 102
//CannonBallActor (com.tinime.actors.CannonBallActor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import com.tinime.event.*; import com.tinime.control.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.display.*; import flash.geom.*; import Box2D.Common.Math.*; import flash.events.*; import com.tinime.view.*; import Box2D.Dynamics.Contacts.*; import com.tinime.interfaces.*; public class CannonBallActor extends Actor implements Liftable, Explosive { private var _explodeTime:Number; private var _explodeCount:Number;// = 0 private var _isPrepareExplosion:Boolean;// = false private var _waiteToCreateExplosionCircle:Boolean;// = false private var _explosionAnim:MovieClip; private var _scale:Number; private var _explosionCircle:b2Body; private var _gameEventDispatcher:GameEventDispatcher; public var _immediateExplode:Boolean;// = false private var _cannonBallParticle:MovieClip; private var _explodePos:b2Vec2; public function CannonBallActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:b2CircleDef; _gameEventDispatcher = GameEventDispatcher.getInstance(); _explodeTime = _arg5; _costume = Box2dObjSpawner.buildCostume(_arg1, new CannonBallMcLib(), _arg2, _arg3, _arg4); _scale = _arg3; _local6 = new b2CircleDef(); _local6.radius = ((15 * _arg3) / PhysicsVals.RATIO); _local6.density = 10; _local6.friction = 0.7; _local6.restitution = 0.4; _local6.filter.categoryBits = PhysicsVals.BOMB_CATAGORY; _local6.filter.maskBits = ((((((PhysicsVals.BOMB_CATAGORY | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.NPC_CATAGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.TUNNEL_BLOCK) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.UFO_CATEGORY); var _local7:b2BodyDef = new b2BodyDef(); _local7.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _local7.angle = ((_arg4 * Math.PI) / 180); _body = PhysicsVals.world.CreateBody(_local7); _body.CreateShape(_local6); _body.SetMassFromShapes(); _body.AllowSleeping(false); super(_body, _costume); _cannonBallParticle = new CannonBallParticleMcLib(); _cannonBallParticle.x = 4.3; _cannonBallParticle.y = -19.6; _costume.addChild(_cannonBallParticle); } override public function update():void{ super.update(); _cannonBallParticle.rotation = -(_costume.rotation); if (_waiteToCreateExplosionCircle){ createExplosionCircle(); _body.GetShapeList().m_filter.maskBits = 0; _waiteToCreateExplosionCircle = false; return; }; if (_isPrepareExplosion){ if (_explosionCircle != null){ _explosionCircle.ApplyForce(new b2Vec2(0, (-(_explosionCircle.m_mass) * PhysicsVals.GRAVITY)), _explosionCircle.GetWorldCenter()); _explosionCircle.SetXForm(_explodePos, _explosionCircle.GetAngle()); }; return; }; _explodeCount++; if (_explodeCount > _explodeTime){ explode(); }; } private function createExplosionCircle():void{ _explodePos = new b2Vec2((_costume.x / PhysicsVals.RATIO), (_costume.y / PhysicsVals.RATIO)); var _local1:b2CircleDef = new b2CircleDef(); _local1.radius = ((43 * _scale) / PhysicsVals.RATIO); _local1.density = 0.1; _local1.isSensor = true; var _local2:b2BodyDef = new b2BodyDef(); _local2.position.Set(_explodePos.x, _explodePos.y); _explosionCircle = PhysicsVals.world.CreateBody(_local2); _explosionCircle.CreateShape(_local1); _explosionCircle.SetMassFromShapes(); _explosionCircle.ApplyForce(new b2Vec2(0, (-(_explosionCircle.m_mass) * PhysicsVals.GRAVITY)), _explosionCircle.GetWorldCenter()); _explosionCircle.SetXForm(_explodePos, _explosionCircle.GetAngle()); } override protected function cleanUpBeforeRemoving():void{ _costume.removeEventListener(Event.ENTER_FRAME, onEnterFrame); if (_explosionAnim != null){ _explosionAnim.removeEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _explosionAnim.parent.removeChild(_explosionAnim); }; if (_explosionCircle != null){ PhysicsVals.world.DestroyBody(_explosionCircle); }; _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); } public function explode():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; if (_isPrepareExplosion){ return; }; _isPrepareExplosion = true; if (_immediateExplode){ _local1 = (-(Camera.getInstance().frontLayer.x) - 100); _local2 = ((_local1 + CommonVals.STAGE_WIDTH) + 200); _local3 = (-(Camera.getInstance().frontLayer.y) - 100); _local4 = ((_local3 + CommonVals.STAGE_HEIGHT) + 200); if ((((((((_costume.x > _local1)) && ((_costume.x < _local2)))) && ((_costume.y > _local3)))) && ((_costume.y < _local4)))){ SoundManager.playExplosion(); }; isAlive = false; _explosionAnim = new FloatBombExplosion(); _explosionAnim.x = _costume.x; _explosionAnim.y = _costume.y; _explosionAnim.scaleX = _scale; _explosionAnim.scaleY = _scale; _costume.visible = false; _explosionAnim.rotation = _costume.rotation; _costume.parent.addChild(_explosionAnim); _explosionAnim.addEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _explosionAnim.gotoAndPlay(1); _waiteToCreateExplosionCircle = true; } else { _costume.addEventListener(Event.ENTER_FRAME, onEnterFrame); MovieClip(_costume).gotoAndPlay(5); }; } private function onEnterFrame(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; if (MovieClip(_costume).currentFrame == MovieClip(_costume).totalFrames){ _costume.removeEventListener(Event.ENTER_FRAME, onEnterFrame); _local2 = ((-(Camera.getInstance().frontLayer.x) - 30) - _costume.width); _local3 = (((_local2 + CommonVals.STAGE_WIDTH) + 60) + (_costume.width * 2)); _local4 = ((-(Camera.getInstance().frontLayer.y) - 30) - _costume.height); _local5 = (((_local4 + CommonVals.STAGE_HEIGHT) + 60) + (_costume.height * 2)); if ((((((((_costume.x > _local2)) && ((_costume.x < _local3)))) && ((_costume.y > _local4)))) && ((_costume.y < _local5)))){ SoundManager.playExplosion(); }; isAlive = false; _explosionAnim = new FloatBombExplosion(); _explosionAnim.x = _costume.x; _explosionAnim.y = _costume.y; _explosionAnim.scaleX = _scale; _explosionAnim.scaleY = _scale; _costume.visible = false; _explosionAnim.rotation = _costume.rotation; _costume.parent.addChild(_explosionAnim); _explosionAnim.addEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _explosionAnim.gotoAndPlay(1); _waiteToCreateExplosionCircle = true; }; } public function getLiftable():Boolean{ if (_isPrepareExplosion){ return (false); }; return (true); } private function onExplosionEnterFrame(_arg1:Event):void{ var _local2:ActorsManager; var _local3:b2ContactEdge; var _local4:Object; if (_explosionAnim.currentFrame == _explosionAnim.totalFrames){ _explosionAnim.removeEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _explosionAnim.parent.removeChild(_explosionAnim); _explosionAnim = null; _local2 = ActorsManager.getInstance(); _local2.remove(this); } else { if ((((_explosionAnim.currentFrame == 3)) && (!((_explosionCircle == null))))){ _local3 = _explosionCircle.m_contactList; while (_local3 != null) { _local4 = _local3.other.GetUserData(); if ((_local4 is Explosive)){ Explosive(_local4).explode(); } else { if ((_local4 is AnimalActor)){ _gameEventDispatcher.addEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); _explosionAnim.gotoAndStop(4); AnimalActor(_local4).die(); }; }; _local3 = _local3.next; }; }; }; } private function onTweenComplete(_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); _explosionAnim.play(); } public function prepareLiftStatus():void{ var _local1:Number = 0.001; _body.GetShapeList().m_density = _local1; _body.SetMassFromShapes(); } public function restoreOriginStatus():void{ body.GetShapeList().m_density = 200; _body.SetMassFromShapes(); } public function getLiftHeight():Number{ return ((30 * _scale)); } public function getPos():Point{ return (new Point(_costume.x, _costume.y)); } public function stopMove():void{ } public function getBody():b2Body{ return (_body); } public function getMass():Number{ return (_body.m_mass); } public function setFalling():void{ } } }//package com.tinime.actors
Section 103
//CarActor (com.tinime.actors.CarActor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import com.tinime.control.*; import flash.geom.*; import flash.display.*; import com.tinime.data.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; public class CarActor extends Actor { private var _wheel1Body:b2Body; private var _wheel2Body:b2Body; private var _wheel1Costume:Sprite; private var _wheel2Costume:Sprite; private var _wheel1Joint:b2RevoluteJoint; private var _wheel2Joint:b2RevoluteJoint; private var _speed:Number; public function CarActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ var _local7:b2PolygonDef; _speed = _arg3; var _local4:Sprite = Box2dObjSpawner.buildBitmapSprite(_arg1, new CarBodySprLib(), _arg2, 1, new Point(96, 36), new Point(-48, -37), 0); var _local5:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-44, -12], [44, -12], [44, 0], [-44, 0]]); var _local6:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[36, -26], [44, -26], [44, 0], [36, 0]]); _local7 = Box2dObjSpawner.buildPolygonDef([[-44, -26], [-36, -26], [-36, 0], [-44, 0]]); _local5.filter.categoryBits = PhysicsVals.BOMB_CATAGORY; _local5.filter.maskBits = (((((PhysicsVals.NPC_CATAGORY | PhysicsVals.UFO_CATEGORY) | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.BOMB_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); _local6.filter.categoryBits = PhysicsVals.BOMB_CATAGORY; _local6.filter.maskBits = (((((PhysicsVals.NPC_CATAGORY | PhysicsVals.UFO_CATEGORY) | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.BOMB_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); _local7.filter.categoryBits = PhysicsVals.BOMB_CATAGORY; _local7.filter.maskBits = (((((PhysicsVals.NPC_CATAGORY | PhysicsVals.UFO_CATEGORY) | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.BOMB_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); _local5.density = 200; _local6.density = 200; _local7.density = 200; var _local8:b2BodyDef = new b2BodyDef(); _local8.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); var _local9:b2Body = PhysicsVals.world.CreateBody(_local8); _local9.CreateShape(_local5); _local9.CreateShape(_local6); _local9.CreateShape(_local7); _local9.SetMassFromShapes(); var _local10:b2CircleDef = new b2CircleDef(); _local10.radius = (6 / PhysicsVals.RATIO); _local10.density = 1000; _local10.friction = 1; var _local11:b2BodyDef = new b2BodyDef(); _local11.position.Set(((_arg2.x - 22) / PhysicsVals.RATIO), ((_arg2.y - 3) / PhysicsVals.RATIO)); _wheel1Body = PhysicsVals.world.CreateBody(_local11); _wheel1Body.CreateShape(_local10); _wheel1Body.SetMassFromShapes(); _wheel1Costume = Box2dObjSpawner.buildBitmapSprite(_arg1, new CarWheelSprLib(), new Point((_arg2.x - 22), (_arg2.y - 1)), 1, new Point(18, 18), new Point(-9, -9), 0); var _local12:b2BodyDef = new b2BodyDef(); _local12.position.Set(((_arg2.x + 22) / PhysicsVals.RATIO), ((_arg2.y - 3) / PhysicsVals.RATIO)); _wheel2Body = PhysicsVals.world.CreateBody(_local12); _wheel2Body.CreateShape(_local10); _wheel2Body.SetMassFromShapes(); _wheel2Costume = Box2dObjSpawner.buildBitmapSprite(_arg1, new CarWheelSprLib(), new Point((_arg2.x - 22), (_arg2.y - 1)), 1, new Point(18, 18), new Point(-9, -9), 0); var _local13:b2RevoluteJointDef = new b2RevoluteJointDef(); if (_arg3 > 0){ _local13.Initialize(_local9, _wheel1Body, _wheel1Body.GetWorldCenter()); } else { _local13.Initialize(_wheel1Body, _local9, _wheel1Body.GetWorldCenter()); }; _local13.enableMotor = true; _local13.motorSpeed = 500; _local13.maxMotorTorque = Math.abs(_arg3); _wheel1Joint = (PhysicsVals.world.CreateJoint(_local13) as b2RevoluteJoint); var _local14:b2RevoluteJointDef = new b2RevoluteJointDef(); if (_arg3 > 0){ _local14.Initialize(_local9, _wheel2Body, _wheel2Body.GetWorldCenter()); } else { _local14.Initialize(_wheel2Body, _local9, _wheel2Body.GetWorldCenter()); }; _local14.enableMotor = true; _local14.motorSpeed = 500; _local14.maxMotorTorque = Math.abs(_arg3); _wheel2Joint = (PhysicsVals.world.CreateJoint(_local14) as b2RevoluteJoint); super(_local9, _local4); } override protected function updateMyLook():void{ _wheel1Costume.x = (_wheel1Body.GetPosition().x * PhysicsVals.RATIO); _wheel1Costume.y = (_wheel1Body.GetPosition().y * PhysicsVals.RATIO); _wheel1Costume.rotation = ((_wheel1Body.GetAngle() * 180) / Math.PI); _wheel2Costume.x = (_wheel2Body.GetPosition().x * PhysicsVals.RATIO); _wheel2Costume.y = (_wheel2Body.GetPosition().y * PhysicsVals.RATIO); _wheel2Costume.rotation = ((_wheel2Body.GetAngle() * 180) / Math.PI); super.updateMyLook(); } override protected function cleanUpBeforeRemoving():void{ PhysicsVals.world.DestroyJoint(_wheel1Joint); PhysicsVals.world.DestroyJoint(_wheel2Joint); PhysicsVals.world.DestroyBody(_wheel1Body); PhysicsVals.world.DestroyBody(_wheel2Body); _wheel1Costume.parent.removeChild(_wheel1Costume); _wheel2Costume.parent.removeChild(_wheel2Costume); } } }//package com.tinime.actors
Section 104
//CatActor (com.tinime.actors.CatActor) package com.tinime.actors { import com.tinime.view.*; import com.tinime.data.*; import flash.display.*; import com.tinime.control.*; import Box2D.Dynamics.*; import flash.geom.*; public class CatActor extends AnimalActor { public function CatActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ var _local4:Number; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.CAT); _local4 = Math.abs(_arg3); _animatedBitmap.x = -16; _animatedBitmap.y = -26; _walkSprite = new Sprite(); _walkSprite.x = _arg2.x; _walkSprite.y = _arg2.y; _walkSprite.scaleX = _arg3; _walkSprite.scaleY = _local4; _walkSprite.addChild(_animatedBitmap); _arg1.addChild(_walkSprite); var _local5:Number = 100; var _local6:b2Body = Box2dObjSpawner.buildBody([[-9, -9], [9, -9], [9, -1], [-9, -1]], this, _arg2, _local5, 0.5, 0, Math.abs(_arg3)); _halfWidth = 9; super(_local6, _walkSprite, _local5, _arg3, 25, _halfWidth); } override public function stopMove():void{ super.stopMove(); var _local1:MovieClip = new LiftedCatMcLib(); _local1.scaleX = _costume.scaleX; _local1.scaleY = _costume.scaleY; _local1.rotation = _costume.rotation; _local1.x = _costume.x; _local1.y = _costume.y; var _local2:DisplayObjectContainer = _costume.parent; var _local3:Number = _local2.getChildIndex(_costume); _local2.removeChild(_costume); _local2.addChildAt(_local1, _local3); _costume = _local1; } override public function getLiftHeight():Number{ return (20); } override protected function getDeadMc():MovieClip{ return (new CatDeadMcLib()); } } }//package com.tinime.actors
Section 105
//CowActor (com.tinime.actors.CowActor) package com.tinime.actors { import com.tinime.view.*; import com.tinime.data.*; import flash.display.*; import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.geom.*; public class CowActor extends AnimalActor { public function CowActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ var _local4:Number; var _local5:Number; _local4 = 100; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.COW); _local5 = Math.abs(_arg3); _animatedBitmap.x = -51; _animatedBitmap.y = -34; _walkSprite = new Sprite(); _walkSprite.x = _arg2.x; _walkSprite.y = _arg2.y; _walkSprite.scaleX = _arg3; _walkSprite.scaleY = _local5; _walkSprite.addChild(_animatedBitmap); _arg1.addChild(_walkSprite); var _local6:b2PolygonDef = new b2PolygonDef(); _local6.vertexCount = 4; b2Vec2(_local6.vertices[0]).Set(((-33 * _local5) / PhysicsVals.RATIO), ((-24 * _local5) / PhysicsVals.RATIO)); b2Vec2(_local6.vertices[1]).Set(((27 * _local5) / PhysicsVals.RATIO), ((-24 * _local5) / PhysicsVals.RATIO)); b2Vec2(_local6.vertices[2]).Set(((27 * _local5) / PhysicsVals.RATIO), ((25 * _local5) / PhysicsVals.RATIO)); b2Vec2(_local6.vertices[3]).Set(((-33 * _local5) / PhysicsVals.RATIO), ((25 * _local5) / PhysicsVals.RATIO)); _local6.density = _local4; _local6.friction = 0.5; _local6.restitution = 0; _halfWidth = ((27 + 33) / 2); var _local7:b2BodyDef = new b2BodyDef(); _local7.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); var _local8:b2Body = PhysicsVals.world.CreateBody(_local7); _local8.CreateShape(_local6); _local8.SetMassFromShapes(); super(_local8, _walkSprite, _local4, _local5, 25, _halfWidth); } override public function getLiftHeight():Number{ return (35); } override public function stopMove():void{ super.stopMove(); var _local1:MovieClip = new LiftedCowMcLib(); _local1.scaleX = _costume.scaleX; _local1.scaleY = _costume.scaleY; _local1.rotation = _costume.rotation; _local1.x = _costume.x; _local1.y = _costume.y; var _local2:DisplayObjectContainer = _costume.parent; var _local3:Number = _local2.getChildIndex(_costume); _local2.removeChild(_costume); _local2.addChildAt(_local1, _local3); _costume = _local1; } override protected function getDeadMc():MovieClip{ return (new CowDeadMcLib()); } } }//package com.tinime.actors
Section 106
//DebrisActor (com.tinime.actors.DebrisActor) package com.tinime.actors { import com.tinime.control.*; import flash.display.*; import flash.geom.*; import com.tinime.interfaces.*; public class DebrisActor extends Actor implements Explosive { private var prepareToExplode:Boolean;// = false private var waitCount:int;// = 80 private var waitTime:int;// = 0 public function DebrisActor(_arg1:DisplayObjectContainer, _arg2:Point){ var _local3:Number = Math.ceil((Math.random() * 4)); switch (_local3){ case 1: _costume = Box2dObjSpawner.buildCostume(_arg1, new Debris1SprLib(), _arg2); _body = Box2dObjSpawner.buildBody([[-6.8, 0.5], [-3.5, -4.1], [1.8, -6.5], [6.4, -3.6], [4.5, 4.6], [-2, 5.3]], this, _arg2, 2); break; case 2: _costume = Box2dObjSpawner.buildCostume(_arg1, new Debris2SprLib(), _arg2); _body = Box2dObjSpawner.buildBody([[-4.4, -1.5], [0, -4.5], [3.9, -2.3], [4, 2.4], [0.9, 4], [-4.3, 2.3]], this, _arg2, 2); break; case 3: _costume = Box2dObjSpawner.buildCostume(_arg1, new Debris3SprLib(), _arg2); _body = Box2dObjSpawner.buildBody([[-6.5, -0.8], [-3.4, -4.8], [2.3, -4.6], [6.3, -1.6], [6.5, 1], [2.1, 5.5], [-4.5, 5.3]], this, _arg2, 2); break; case 4: _costume = Box2dObjSpawner.buildCostume(_arg1, new Debris4SprLib(), _arg2); _body = Box2dObjSpawner.buildBody([[-3.6, -3.3], [4.4, -3.3], [4.4, 2.4], [1.1, 3.3], [-3.6, 2.8]], this, _arg2, 2); break; default: break; }; super(_body, _costume); ActorsManager.getInstance().add(this); } public function explode():void{ prepareToExplode = true; } override protected function childSpecificUpdate():void{ if (prepareToExplode){ if (_costume.alpha > 0.1){ _costume.alpha = (_costume.alpha * 0.7); } else { ActorsManager.getInstance().remove(this); }; } else { if (waitTime < waitCount){ waitTime++; } else { prepareToExplode = true; }; }; } } }//package com.tinime.actors
Section 107
//DogActor (com.tinime.actors.DogActor) package com.tinime.actors { import com.tinime.view.*; import com.tinime.data.*; import flash.display.*; import com.tinime.control.*; import Box2D.Dynamics.*; import flash.geom.*; public class DogActor extends AnimalActor { public function DogActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ var _local4:Number; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.DOG); _local4 = Math.abs(_arg3); _animatedBitmap.x = -29; _animatedBitmap.y = -33; _walkSprite = new Sprite(); _walkSprite.x = _arg2.x; _walkSprite.y = _arg2.y; _walkSprite.scaleX = _arg3; _walkSprite.scaleY = _local4; _walkSprite.addChild(_animatedBitmap); _arg1.addChild(_walkSprite); var _local5:Number = 100; var _local6:b2Body = Box2dObjSpawner.buildBody([[-16, -28], [16, -28], [16, -1], [-16, -1]], this, _arg2, _local5, 0.5, 0, Math.abs(_arg3)); _halfWidth = 16; super(_local6, _walkSprite, _local5, Math.abs(_arg3), 20, _halfWidth); } override public function stopMove():void{ super.stopMove(); var _local1:MovieClip = new LiftedDogMcLib(); _local1.scaleX = _costume.scaleX; _local1.scaleY = _costume.scaleY; _local1.rotation = _costume.rotation; _local1.x = _costume.x; _local1.y = _costume.y; var _local2:DisplayObjectContainer = _costume.parent; var _local3:Number = _local2.getChildIndex(_costume); _local2.removeChild(_costume); _local2.addChildAt(_local1, _local3); _costume = _local1; } override public function getLiftHeight():Number{ return (26); } override protected function getDeadMc():MovieClip{ return (new DogDeadMcLib()); } } }//package com.tinime.actors
Section 108
//DoorActor (com.tinime.actors.DoorActor) package com.tinime.actors { import flash.display.*; import com.tinime.control.*; import flash.geom.*; import Box2D.Dynamics.*; import com.tinime.data.*; import Box2D.Common.Math.*; import com.tinime.interfaces.*; public class DoorActor extends Actor implements Triggered { private var _isTriggered:Boolean;// = false private var _moveSpeed:Number;// = 1 private var _angle:Number; private var _rotation:Number; private var _startX:Number; private var _startY:Number; private var _endY:Number; private var _endX:Number; private var _scale:Number; private var _isClosed:Boolean;// = true private var _useOnce:Boolean;// = false public function DoorActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Boolean, _arg6:Number){ var _local9:DisplayObjectContainer; _scale = _arg3; _useOnce = _arg5; if (_arg5){ _local9 = Box2dObjSpawner.buildBitmapSprite(_arg1, new DoorSprLib(), _arg2, _arg3, new Point(25, 99), new Point(0, 0), _arg4); } else { _local9 = Box2dObjSpawner.buildBitmapSprite(_arg1, new Door2SprLib(), _arg2, _arg3, new Point(25, 99), new Point(0, 0), _arg4); }; var _local7:b2Body = Box2dObjSpawner.buildBody([[0, 0], [28, 0], [28, 97], [0, 97]], this, _arg2, 0, 0.7, 0, _arg3, _arg4); _local7.GetShapeList().m_filter.categoryBits = PhysicsVals.DOOR_CATEGORY; _local7.GetShapeList().m_filter.maskBits = ((((PhysicsVals.UFO_CATEGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.BOMB_CATAGORY) | PhysicsVals.TUNNEL_BLOCK); super(_local7, _local9); _rotation = _arg4; _moveSpeed = ((_moveSpeed * _arg6) * _arg3); var _local8:DisplayObjectContainer = Box2dObjSpawner.buildBitmapSprite(_arg1, new DoorSprLib(), _arg2, _arg3, new Point(25, 99), new Point(0, 0), _arg4); _local9.mask = _local8; _startX = _arg2.x; _startY = _arg2.y; if (_rotation == 0){ if (_moveSpeed < 0){ _endY = (_arg2.y - _local9.height); } else { _endY = (_arg2.y + _local9.height); }; } else { if (_rotation == 90){ if (_moveSpeed < 0){ _endX = (_arg2.x - _local9.width); } else { _endX = (_arg2.x + _local9.width); }; }; }; } public function onTriggered():void{ if (_isTriggered){ _isClosed = !(_isClosed); }; _isTriggered = true; } public function activeBody():void{ _body.GetShapeList().m_density = 1000000; _body.SetMassFromShapes(); _body.AllowSleeping(false); } public function sleepBody():void{ _body.GetShapeList().m_density = 0; _body.SetMassFromShapes(); _body.AllowSleeping(true); } override public function update():void{ if (_isTriggered){ if (_isClosed){ activeBody(); if (_rotation == 0){ if (_moveSpeed < 0){ if (_costume.y > _endY){ _body.SetXForm(new b2Vec2((_costume.x / PhysicsVals.RATIO), ((_costume.y + _moveSpeed) / PhysicsVals.RATIO)), 0); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { if (_useOnce){ ActorsManager.getInstance().remove(this); } else { _isClosed = false; _isTriggered = false; sleepBody(); _costume.y = _endY; }; }; } else { if (_costume.y < _endY){ _body.SetXForm(new b2Vec2((_costume.x / PhysicsVals.RATIO), ((_costume.y + _moveSpeed) / PhysicsVals.RATIO)), 0); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { if (_useOnce){ ActorsManager.getInstance().remove(this); } else { _isClosed = false; _isTriggered = false; sleepBody(); _costume.y = _endY; }; }; }; } else { if (_rotation == 90){ if (_moveSpeed < 0){ if (_costume.x > _endX){ _body.SetXForm(new b2Vec2(((_costume.x + _moveSpeed) / PhysicsVals.RATIO), (_costume.y / PhysicsVals.RATIO)), ((_rotation * Math.PI) / 180)); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { if (_useOnce){ ActorsManager.getInstance().remove(this); } else { _costume.x = _endX; _isClosed = false; _isTriggered = false; sleepBody(); }; }; } else { if (_costume.x < _endX){ _body.SetXForm(new b2Vec2(((_costume.x + _moveSpeed) / PhysicsVals.RATIO), (_costume.y / PhysicsVals.RATIO)), ((_rotation * Math.PI) / 180)); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { if (_useOnce){ ActorsManager.getInstance().remove(this); } else { _costume.x = _endX; _isClosed = false; _isTriggered = false; sleepBody(); }; }; }; }; }; } else { activeBody(); if (_rotation == 0){ if (_moveSpeed < 0){ if (_costume.y < _startY){ _body.SetXForm(new b2Vec2((_costume.x / PhysicsVals.RATIO), ((_costume.y - _moveSpeed) / PhysicsVals.RATIO)), 0); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { _costume.y = _startY; _isClosed = true; _isTriggered = false; sleepBody(); }; } else { if (_costume.y > _startY){ _body.SetXForm(new b2Vec2((_costume.x / PhysicsVals.RATIO), ((_costume.y - _moveSpeed) / PhysicsVals.RATIO)), 0); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { _costume.y = _startY; _isClosed = true; _isTriggered = false; sleepBody(); }; }; } else { if (_rotation == 90){ if (_moveSpeed < 0){ if (_costume.x < _startX){ _body.SetXForm(new b2Vec2(((_costume.x - _moveSpeed) / PhysicsVals.RATIO), (_costume.y / PhysicsVals.RATIO)), ((_rotation * Math.PI) / 180)); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { _costume.x = _startX; _isClosed = true; _isTriggered = false; sleepBody(); }; } else { if (_costume.x > _startX){ _body.SetXForm(new b2Vec2(((_costume.x - _moveSpeed) / PhysicsVals.RATIO), (_costume.y / PhysicsVals.RATIO)), ((_rotation * Math.PI) / 180)); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); updateMyLook(); } else { _costume.x = _startX; _isClosed = true; _isTriggered = false; sleepBody(); }; }; }; }; }; }; } } }//package com.tinime.actors
Section 109
//FloatBombActor (com.tinime.actors.FloatBombActor) package com.tinime.actors { import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import flash.geom.*; import com.tinime.control.*; import flash.events.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Contacts.*; import com.tinime.interfaces.*; import com.hexagonstar.display.bitmaps.*; public class FloatBombActor extends Actor implements Explosive { private var _explosionAnim:MovieClip; private var _explosionCircle:b2Body; private var _scale:Number; private var _animatedBitmap:AnimatedBitmap; public function FloatBombActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ _costume = new Sprite(); _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.FLOAT_BOMB); _animatedBitmap.x = -23; _animatedBitmap.y = -23; _costume.x = _arg2.x; _costume.y = _arg2.y; _costume.addChild(_animatedBitmap); _arg1.addChild(_costume); var _local4:b2CircleDef = new b2CircleDef(); _local4.radius = ((14 * _arg3) / PhysicsVals.RATIO); _local4.density = 0; var _local5:b2BodyDef = new b2BodyDef(); _local5.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); var _local6:b2Body = PhysicsVals.world.CreateBody(_local5); _local6.CreateShape(_local4); _scale = _arg3; super(_local6, _costume); } public function explode():void{ if (_explosionAnim != null){ return; }; isAlive = false; SoundManager.playExplosion(); _explosionAnim = new FloatBombExplosion(); _explosionAnim.x = _costume.x; _explosionAnim.y = _costume.y; _explosionAnim.scaleX = _scale; _explosionAnim.scaleY = _scale; _costume.visible = false; _costume.parent.addChild(_explosionAnim); _explosionAnim.addEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _explosionAnim.gotoAndPlay(1); } override public function update():void{ var _local1:b2CircleDef; var _local2:b2BodyDef; if (((!((_explosionAnim == null))) && ((_explosionCircle == null)))){ _local1 = new b2CircleDef(); _local1.radius = ((35 * _scale) / PhysicsVals.RATIO); _local1.density = 0.1; _local1.isSensor = true; _local2 = new b2BodyDef(); _local2.position.Set((_costume.x / PhysicsVals.RATIO), (_costume.y / PhysicsVals.RATIO)); _explosionCircle = PhysicsVals.world.CreateBody(_local2); _explosionCircle.CreateShape(_local1); _explosionCircle.SetMassFromShapes(); _explosionCircle.ApplyForce(new b2Vec2(0, (-(_explosionCircle.m_mass) * PhysicsVals.GRAVITY)), _explosionCircle.GetWorldCenter()); } else { if (_explosionCircle != null){ _explosionCircle.ApplyForce(new b2Vec2(0, (-(_explosionCircle.m_mass) * PhysicsVals.GRAVITY)), _explosionCircle.GetWorldCenter()); }; }; } private function onExplosionEnterFrame(_arg1:Event):void{ var _local2:ActorsManager; var _local3:b2ContactEdge; var _local4:Object; if (_explosionAnim.currentFrame == _explosionAnim.totalFrames){ _explosionAnim.removeEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _costume.parent.removeChild(_explosionAnim); _explosionAnim = null; _local2 = ActorsManager.getInstance(); _local2.remove(this); } else { if ((((_explosionAnim.currentFrame == 3)) && (!((_explosionCircle == null))))){ _local3 = _explosionCircle.m_contactList; ScoreManager.addScore(10, new Point(_costume.x, _costume.y)); while (_local3 != null) { _local4 = _local3.other.GetUserData(); if ((_local4 is Explosive)){ if ((_local4 is UfoActor)){ if (UfoActor(_local4)._isLiftJointCreated){ UfoActor(_local4).explode(); }; } else { Explosive(_local4).explode(); }; }; _local3 = _local3.next; }; }; }; } override protected function cleanUpBeforeRemoving():void{ if (_explosionAnim != null){ _explosionAnim.removeEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _costume.parent.removeChild(_explosionAnim); _explosionAnim = null; }; if (_explosionCircle != null){ PhysicsVals.world.DestroyBody(_explosionCircle); }; _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 110
//Gear1Actor (com.tinime.actors.Gear1Actor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import com.tinime.control.*; import flash.geom.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.display.*; public class Gear1Actor extends GearActor { public function Gear1Actor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ var _local8:b2PolygonDef; _costume = Box2dObjSpawner.buildBitmapSprite(_arg1, new GearWheel1SprLib(), _arg2, _arg3, new Point(422, 418), new Point(-209, -209), _arg4); var _local7:b2CircleDef = new b2CircleDef(); _local7.radius = ((146 * _arg3) / PhysicsVals.RATIO); _local7.density = 9999999999; _local8 = Box2dObjSpawner.buildPolygonDef([[-200, -28], [200, -28], [200, 28], [-200, 28]], _arg3); _local8.density = 9999999999; var _local9:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-28, -200], [28, -200], [28, 200], [-28, 200]], _arg3); _local9.density = 9999999999; var _local10:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-161, -121], [-121, -161], [161, 121], [121, 161]], _arg3); _local10.density = 9999999999; var _local11:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[121, -161], [161, -121], [-121, 161], [-161, 121]], _arg3); _local11.density = 9999999999; var _local12:b2BodyDef = new b2BodyDef(); _local12.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _local12.angle = ((Math.PI * _arg4) / 180); var _local13:b2Body = PhysicsVals.world.CreateBody(_local12); _local13.CreateShape(_local7); _local13.CreateShape(_local8); _local13.CreateShape(_local9); _local13.CreateShape(_local10); _local13.CreateShape(_local11); _local13.SetMassFromShapes(); super(_local13, _costume, _arg5, _arg6); } } }//package com.tinime.actors
Section 111
//Gear2Actor (com.tinime.actors.Gear2Actor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import com.tinime.control.*; import flash.geom.*; import flash.display.*; import com.tinime.data.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; public class Gear2Actor extends GearActor { private var _malicBody:b2Body; public function Gear2Actor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ var _local9:b2PolygonDef; var _local7:DisplayObjectContainer = Box2dObjSpawner.buildBitmapSprite(_arg1, new GearWhee2SprLib(), _arg2, _arg3, new Point(421, 412), new Point(-211, -203), _arg4); var _local8:b2CircleDef = new b2CircleDef(); _local8.radius = ((143 * _arg3) / PhysicsVals.RATIO); _local8.density = 9999999999; _local9 = Box2dObjSpawner.buildPolygonDef([[-200, -28], [200, -28], [200, 28], [-200, 28]], _arg3); _local9.density = 9999999999; var _local10:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-28, -134], [0, -171], [28, -134], [28, 200], [-28, 200]], _arg3); _local10.density = 9999999999; var _local11:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-161, -121], [-121, -161], [161, 121], [121, 161]], _arg3); _local11.density = 9999999999; var _local12:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[121, -161], [161, -121], [-121, 161], [-161, 121]], _arg3); _local12.density = 9999999999; var _local13:b2BodyDef = new b2BodyDef(); _local13.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _local13.angle = ((Math.PI * _arg4) / 180); var _local14:b2Body = PhysicsVals.world.CreateBody(_local13); _local14.CreateShape(_local8); _local14.CreateShape(_local9); _local14.CreateShape(_local10); _local14.CreateShape(_local11); _local14.CreateShape(_local12); _local14.SetMassFromShapes(); super(_local14, _local7, _arg5, _arg6); _malicBody = Box2dObjSpawner.buildBody([[-27, -197], [19, -198], [30, -133], [-27, -133]], CommonVals.MALICIOUS_BLOCK, _arg2, 20000, 0.7, 0, _arg3, _arg4); var _local15:b2RevoluteJointDef = new b2RevoluteJointDef(); _local15.Initialize(_local14, _malicBody, _malicBody.GetWorldCenter()); _local15.enableLimit = true; _local15.upperAngle = 0; _local15.lowerAngle = 0; var _local16:b2RevoluteJoint = (PhysicsVals.world.CreateJoint(_local15) as b2RevoluteJoint); } override protected function cleanUpBeforeRemoving():void{ PhysicsVals.world.DestroyBody(_malicBody); } } }//package com.tinime.actors
Section 112
//GearActor (com.tinime.actors.GearActor) package com.tinime.actors { import Box2D.Common.Math.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.display.*; public class GearActor extends Actor { private var _startPos:b2Vec2; private var _speedAngle:Number; private var _dirChangeTime:Number; private var _dirChangeCount:Number;// = 0 public function GearActor(_arg1:b2Body, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number){ super(_arg1, _arg2); _arg1.ApplyForce(new b2Vec2(0, (-(_arg1.m_mass) * PhysicsVals.GRAVITY)), _arg1.GetWorldCenter()); _startPos = new b2Vec2((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _speedAngle = ((_arg3 * Math.PI) / 180); _dirChangeTime = _arg4; } override protected function childSpecificUpdate():void{ var _local1:Number; _body.ApplyForce(new b2Vec2(0, (-(body.m_mass) * PhysicsVals.GRAVITY)), body.GetWorldCenter()); if (_body.GetAngle() > (Math.PI * 2)){ _local1 = ((_body.GetAngle() + _speedAngle) - (Math.PI * 2)); } else { if (_body.GetAngle() < (-(Math.PI) * 2)){ _local1 = ((_body.GetAngle() + _speedAngle) + (Math.PI * 2)); } else { _local1 = (_body.GetAngle() + _speedAngle); }; }; _body.SetXForm(_startPos, _local1); if (_dirChangeTime != 0){ if (_dirChangeCount < _dirChangeTime){ _dirChangeCount++; } else { _speedAngle = (_speedAngle * -1); _dirChangeCount = 0; }; }; } } }//package com.tinime.actors
Section 113
//HaloActor (com.tinime.actors.HaloActor) package com.tinime.actors { import flash.display.*; import Box2D.Collision.Shapes.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.geom.*; public class HaloActor extends Actor { public var moveCount:int;// = 0 public var updateAlphaMutlply:Number;// = 0.96 public function HaloActor(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Point, _arg4:Number){ var _local5:Sprite; _local5 = new HaloSprLib(); _local5.scaleX = _arg2; _local5.scaleY = _arg2; _local5.x = _arg3.x; _local5.y = _arg3.y; _arg1.addChild(_local5); _local5.alpha = 0.8; _local5.rotation = _arg4; var _local6:b2PolygonDef = new b2PolygonDef(); _local6.SetAsBox(((34 * _arg2) / PhysicsVals.RATIO), ((12 * _arg2) / PhysicsVals.RATIO)); _local6.restitution = 0; _local6.density = 0.1; _local6.friction = 0; _local6.isSensor = true; var _local7:b2BodyDef = new b2BodyDef(); _local7.fixedRotation = true; _local7.angle = ((_arg4 * Math.PI) / 180); _local7.position.Set((_arg3.x / PhysicsVals.RATIO), (_arg3.y / PhysicsVals.RATIO)); var _local8:b2Body = PhysicsVals.world.CreateBody(_local7); _local8.CreateShape(_local6); _local8.SetUserData(this); _local8.SetMassFromShapes(); super(_local8, _local5); } public function hide():void{ _costume.visible = false; } public function show():void{ _costume.visible = true; } override protected function childSpecificUpdate():void{ moveCount++; _costume.scaleX = (_costume.scaleX * 1.037); _costume.scaleY = (_costume.scaleY * 1.037); _costume.alpha = (_costume.alpha * updateAlphaMutlply); } } }//package com.tinime.actors
Section 114
//HiddenBlockActor (com.tinime.actors.HiddenBlockActor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import flash.utils.*; import flash.display.*; import com.tinime.control.*; import flash.geom.*; import Box2D.Dynamics.*; import com.tinime.data.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; public class HiddenBlockActor extends Actor { private var _isContacted:Boolean;// = false public function HiddenBlockActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Array, _arg4:Number, _arg5:Number){ var _local13:Array; var _local14:b2PolygonDef; var _local6:Class = (getDefinitionByName(((("Level" + _arg5) + "Hidden") + _arg4)) as Class); var _local7:Sprite = new (_local6); var _local8:Number = (_local7.width + 50); var _local9:Number = (_local7.height + 50); _costume = Box2dObjSpawner.buildBitmapSprite(_arg1, _local7, _arg2, 1, new Point(_local8, _local9), new Point(0, 0), 0); var _local10:int = _arg3.length; var _local11:b2BodyDef = new b2BodyDef(); _local11.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _body = PhysicsVals.world.CreateBody(_local11); var _local12:int; while (_local12 < _local10) { _local13 = _arg3[_local12]; _local14 = Box2dObjSpawner.buildPolygonDef(_local13); _local14.isSensor = true; _body.CreateShape(_local14); _local12++; }; _body.SetUserData(this); super(_body, _costume); } public function onContact():void{ if (_isContacted){ return; }; _costume.removeEventListener(Event.ENTER_FRAME, onLeaveContactEnterFrame); _isContacted = true; _costume.addEventListener(Event.ENTER_FRAME, onContactEnterFrame); MedalsManager.checkExplorerAchievements(); } public function onLeaveContact():void{ if (!(_isContacted)){ return; }; _costume.removeEventListener(Event.ENTER_FRAME, onContactEnterFrame); _isContacted = false; _costume.addEventListener(Event.ENTER_FRAME, onLeaveContactEnterFrame); } private function onLeaveContactEnterFrame(_arg1:Event):void{ if (_costume.alpha <= 1){ _costume.alpha = (_costume.alpha + 0.1); } else { _costume.removeEventListener(Event.ENTER_FRAME, onLeaveContactEnterFrame); }; } private function onContactEnterFrame(_arg1:Event):void{ if (_costume.alpha > 0){ _costume.alpha = (_costume.alpha - 0.1); } else { _costume.removeEventListener(Event.ENTER_FRAME, onContactEnterFrame); }; } override public function update():void{ var _local1:b2ContactEdge; var _local2:Boolean; if (_isContacted){ _local1 = _body.m_contactList; _local2 = false; while (_local1 != null) { if ((_local1.other.GetUserData() is UfoActor)){ _local2 = true; break; }; _local1 = _local1.next; }; if (!(_local2)){ onLeaveContact(); _isContacted = false; }; }; } override protected function cleanUpBeforeRemoving():void{ _costume.removeEventListener(Event.ENTER_FRAME, onContactEnterFrame); _costume.removeEventListener(Event.ENTER_FRAME, onLeaveContactEnterFrame); } } }//package com.tinime.actors
Section 115
//KeyActor (com.tinime.actors.KeyActor) package com.tinime.actors { import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import com.tinime.control.*; import Box2D.Dynamics.*; import flash.filters.*; import flash.geom.*; import com.hexagonstar.display.bitmaps.*; public class KeyActor extends Actor { private var _linkCodeArr:Array; private var _waitToTrigger:Boolean;// = false private var _isTriggered:Boolean;// = false private var _timeCount:int;// = 0 private var _timeToWait:int;// = 150 private var _ifNeverComeBack:Boolean;// = false private var _keyFadeMc:MovieClip; private var _animatedBitmap:AnimatedBitmap; private var _isReturning:Boolean; public function KeyActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Boolean, _arg4:Array){ _costume = new Sprite(); _costume.x = _arg2.x; _costume.y = _arg2.y; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.KEY); _animatedBitmap.x = 2; _animatedBitmap.y = -10; _costume.addChild(_animatedBitmap); _arg1.addChild(_costume); var _local5:b2Body = Box2dObjSpawner.buildBody([[8, 1], [36, -4], [48, 9], [36, 22], [8, 12]], this, _arg2, 0, 0.7, 0, 1); _local5.GetShapeList().m_isSensor = true; super(_local5, _costume); _isReturning = false; _linkCodeArr = _arg4; _ifNeverComeBack = _arg3; if (!(_ifNeverComeBack)){ _costume.filters = new Array(new GlowFilter(0xFFFF00, 1, 19, 19, 1)); }; } public function trigger():void{ var _local1:Number; if (_isTriggered){ return; }; SoundManager.playKeySound(); _isTriggered = true; _waitToTrigger = true; for each (_local1 in _linkCodeArr) { TriggerController.trigger(_local1); }; _costume.alpha = 0; if (_keyFadeMc == null){ _keyFadeMc = new keyFadeAnim(); _keyFadeMc.x = _costume.x; _keyFadeMc.y = _costume.y; _costume.parent.addChild(_keyFadeMc); _keyFadeMc.gotoAndPlay(1); }; } override public function update():void{ if (_keyFadeMc != null){ if (_keyFadeMc.currentFrame == _keyFadeMc.totalFrames){ _keyFadeMc.parent.removeChild(_keyFadeMc); _keyFadeMc = null; if (_ifNeverComeBack){ ActorsManager.getInstance().remove(this); }; }; }; if (_ifNeverComeBack){ return; }; if (_isReturning){ if (_costume.alpha < 1){ _costume.alpha = (_costume.alpha + 0.1); } else { _isReturning = false; _isTriggered = false; }; } else { if (_isTriggered){ if (_timeCount < _timeToWait){ _timeCount++; } else { _timeCount = 0; _isReturning = true; }; }; }; } override protected function cleanUpBeforeRemoving():void{ _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 116
//LifterSensor (com.tinime.actors.LifterSensor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import com.tinime.data.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; public class LifterSensor { private var _parent:UfoActor; public var body:b2Body; private var _liftJoint:b2RevoluteJoint; public function LifterSensor(_arg1:UfoActor, _arg2:b2Vec2){ _parent = _arg1; var _local3:b2PolygonDef = new b2PolygonDef(); _local3.vertexCount = 3; b2Vec2(_local3.vertices[0]).Set(0, (-5 / PhysicsVals.RATIO)); b2Vec2(_local3.vertices[1]).Set((1 / PhysicsVals.RATIO), (30 / PhysicsVals.RATIO)); b2Vec2(_local3.vertices[2]).Set((-1 / PhysicsVals.RATIO), (30 / PhysicsVals.RATIO)); _local3.density = 0.001; _local3.friction = 0; _local3.restitution = 0; _local3.isSensor = true; var _local4:b2PolygonDef = new b2PolygonDef(); _local4.vertexCount = 3; b2Vec2(_local4.vertices[0]).Set(0, (29 / PhysicsVals.RATIO)); b2Vec2(_local4.vertices[1]).Set((40 / PhysicsVals.RATIO), (110 / PhysicsVals.RATIO)); b2Vec2(_local4.vertices[2]).Set((-40 / PhysicsVals.RATIO), (110 / PhysicsVals.RATIO)); _local4.density = 0.001; _local4.friction = 0; _local4.restitution = 0; _local4.isSensor = true; var _local5:b2BodyDef = new b2BodyDef(); _local5.position.Set(_arg2.x, _arg2.y); body = PhysicsVals.world.CreateBody(_local5); body.CreateShape(_local3); body.CreateShape(_local4); body.SetMassFromShapes(); body.SetUserData(this); var _local6:b2RevoluteJointDef = new b2RevoluteJointDef(); _local6.Initialize(body, _arg1.body, _arg2); _local6.enableLimit = true; _local6.lowerAngle = 0; _local6.upperAngle = 0; _liftJoint = (PhysicsVals.world.CreateJoint(_local6) as b2RevoluteJoint); } public function destroy():void{ PhysicsVals.world.DestroyJoint(_liftJoint); PhysicsVals.world.DestroyBody(body); body = null; _liftJoint = null; } public function get parent():UfoActor{ return (_parent); } public function set parent(_arg1:UfoActor):void{ _parent = _arg1; } } }//package com.tinime.actors
Section 117
//MovableStickBlockActor (com.tinime.actors.MovableStickBlockActor) package com.tinime.actors { import Box2D.Collision.Shapes.*; import flash.geom.*; import com.tinime.control.*; import com.tinime.view.*; import com.tinime.data.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.Math.*; import flash.display.*; public class MovableStickBlockActor extends Actor { private var _moveLen:Number; private var _speed:Number; private var _spikeBody:b2Body; private var _startLoc:Point; private var _endLoc:Point; private var _curLoc:Point; private var _stickLen:Number;// = 362 private var _angle:Number; private var _isMovingToEnd:Boolean; public function MovableStickBlockActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number){ var _local9:b2PolygonDef; _moveLen = _arg5; _speed = _arg6; _startLoc = _arg2; _stickLen = (_stickLen * _arg3); _angle = ((_arg4 * Math.PI) / 180); _endLoc = new Point((_startLoc.x - (_arg5 * Math.sin(_angle))), (_startLoc.y + (_arg5 * Math.cos(_angle)))); _curLoc = new Point((_startLoc.x - (_arg7 * Math.sin(_angle))), (_startLoc.y + (_arg7 * Math.cos(_angle)))); if (_speed > 0){ _isMovingToEnd = true; } else { _isMovingToEnd = false; }; _costume = Box2dObjSpawner.buildBitmapSprite(_arg1, new StickBarrierSprLib(), _arg2, _arg3, new Point(81, 386), new Point(0, 0), _arg4); var _local8:Number = Camera.getInstance().frontLayer.getChildIndex(Camera.getInstance().frontLayerBitMap); _arg1.addChildAt(_costume, _local8); _local9 = Box2dObjSpawner.buildPolygonDef([[0, 0], [80, 0], [80, 362], [0, 362]], _arg3); _local9.density = 20000; _local9.filter.categoryBits = PhysicsVals.DOOR_CATEGORY; _local9.filter.maskBits = (((PhysicsVals.UFO_CATEGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.BOMB_CATAGORY); var _local10:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[3, 362], [77, 362], [77, 374], [3, 374]], _arg3); _local10.density = 20000; _local10.filter.categoryBits = PhysicsVals.DOOR_CATEGORY; _local10.filter.maskBits = (((PhysicsVals.UFO_CATEGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.BOMB_CATAGORY); var _local11:b2BodyDef = new b2BodyDef(); _local11.position.Set((_curLoc.x / PhysicsVals.RATIO), (_curLoc.y / PhysicsVals.RATIO)); _body = PhysicsVals.world.CreateBody(_local11); _body.CreateShape(_local9); _body.CreateShape(_local10); _body.SetMassFromShapes(); super(_body, _costume); _spikeBody = Box2dObjSpawner.buildBody([[1, 362], [39, 200], [79, 362], [79, 379], [1, 379]], CommonVals.MALICIOUS_BLOCK, _curLoc, 20000, 1, 0, _arg3, 0); _spikeBody.GetShapeList().m_filter.categoryBits = PhysicsVals.DOOR_CATEGORY; _spikeBody.GetShapeList().m_filter.maskBits = (((PhysicsVals.UFO_CATEGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.BOMB_CATAGORY); var _local12:b2RevoluteJointDef = new b2RevoluteJointDef(); _local12.Initialize(_spikeBody, _body, _spikeBody.GetWorldCenter()); _local12.enableLimit = true; _local12.lowerAngle = 0; _local12.upperAngle = 0; var _local13:b2RevoluteJoint = (PhysicsVals.world.CreateJoint(_local12) as b2RevoluteJoint); _body.ApplyForce(new b2Vec2(0, (-(_body.GetMass()) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); _spikeBody.ApplyForce(new b2Vec2(0, (-(_spikeBody.GetMass()) * PhysicsVals.GRAVITY)), _spikeBody.GetWorldCenter()); } override protected function childSpecificUpdate():void{ var _local3:Number; _body.ApplyForce(new b2Vec2(0, (-(_body.GetMass()) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); _spikeBody.ApplyForce(new b2Vec2(0, (-(_spikeBody.GetMass()) * PhysicsVals.GRAVITY)), _spikeBody.GetWorldCenter()); var _local1:Number = (_curLoc.x - (_speed * Math.sin(_angle))); var _local2:Number = (_curLoc.y + (_speed * Math.cos(_angle))); if (_isMovingToEnd){ _local3 = Math.sqrt((Math.pow((_local1 - _endLoc.x), 2) + Math.pow((_local2 - _endLoc.y), 2))); if (_local3 <= Math.abs(_speed)){ _local1 = _endLoc.x; _local2 = _endLoc.y; _speed = (_speed * -1); _isMovingToEnd = false; }; } else { _local3 = Math.sqrt((Math.pow((_local1 - _startLoc.x), 2) + Math.pow((_local2 - _startLoc.y), 2))); if (_local3 <= Math.abs(_speed)){ _local1 = _startLoc.x; _local2 = _startLoc.y; _speed = (_speed * -1); _isMovingToEnd = true; }; }; _body.SetXForm(new b2Vec2((_local1 / PhysicsVals.RATIO), (_local2 / PhysicsVals.RATIO)), _angle); _curLoc.x = _local1; _curLoc.y = _local2; } override protected function cleanUpBeforeRemoving():void{ PhysicsVals.world.DestroyBody(_spikeBody); } } }//package com.tinime.actors
Section 118
//SpinyBallActor (com.tinime.actors.SpinyBallActor) package com.tinime.actors { import flash.geom.*; import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Common.Math.*; import com.hexagonstar.display.bitmaps.*; public class SpinyBallActor extends Actor { private var _movePosChain:Array; private var _nextEndIterNum:Number; private var _nextEndPoint:Point; private var _isCircularChain:Boolean; private var _moveSpeed:Number; private var _prevAngle:Number; private var _targetAngle:Number; private var _rotateTime:int;// = 10 private var _rotateCount:int;// = 0 private var _rotateAngle:Number;// = 0 private var _isRotating:Boolean;// = false private var _animatedBitmap:AnimatedBitmap; public function SpinyBallActor(_arg1:DisplayObjectContainer, _arg2:Array, _arg3:Number=1, _arg4:Number=4){ var _local12:Array; _movePosChain = new Array(); var _local5:int = _arg2.length; var _local6:int; while (_local6 < _local5) { _local12 = _arg2[_local6]; _movePosChain.push([_local12[0], _local12[1]]); _local6++; }; _moveSpeed = _arg4; if ((((_movePosChain[0][0] == _movePosChain[(_movePosChain.length - 1)][0])) && ((_movePosChain[0][1] == _movePosChain[(_movePosChain.length - 1)][1])))){ _isCircularChain = true; }; _nextEndIterNum = 1; _nextEndPoint = new Point(_movePosChain[_nextEndIterNum][0], _movePosChain[_nextEndIterNum][1]); var _local7:Point = new Point(_movePosChain[0][0], _movePosChain[0][1]); _costume = new Sprite(); _costume.x = _local7.x; _costume.y = _local7.y; switch (_arg3){ case 1: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.SPINY_BALL); break; case 1.5: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.SPINY_BALL_150); break; case 1.8: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.SPINY_BALL_180); break; default: _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.SPINY_BALL); break; }; _animatedBitmap.x = (-42 * _arg3); _animatedBitmap.y = (-39 * _arg3); _costume.addChild(_animatedBitmap); _arg1.addChild(_costume); var _local8:b2CircleDef = new b2CircleDef(); _local8.radius = ((28 * _arg3) / PhysicsVals.RATIO); _local8.density = 100000; _local8.friction = 1; _local8.restitution = 0.3; _local8.filter.categoryBits = PhysicsVals.TUNNEL_BLOCK; _local8.filter.maskBits = (((((PhysicsVals.BOMB_CATAGORY | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.UFO_CATEGORY) | PhysicsVals.NPC_CATAGORY); var _local9:b2BodyDef = new b2BodyDef(); _local9.position.Set((_local7.x / PhysicsVals.RATIO), (_local7.y / PhysicsVals.RATIO)); var _local10:b2Body = PhysicsVals.world.CreateBody(_local9); _local10.CreateShape(_local8); _local10.SetMassFromShapes(); super(_local10, _costume); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); var _local11:Number = Math.atan2((_nextEndPoint.y - _costume.y), (_nextEndPoint.x - _costume.x)); if (_local11 == Number.NEGATIVE_INFINITY){ _local11 = Math.PI; } else { if (_local11 == Number.POSITIVE_INFINITY){ _local11 = 0; }; }; _costume.rotation = ((_local11 * 180) / Math.PI); _prevAngle = _local11; } override protected function childSpecificUpdate():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; if (_isRotating){ if (_rotateCount < _rotateTime){ _costume.rotation = (_costume.rotation + _rotateAngle); _rotateCount++; } else { _rotateCount = 0; _isRotating = false; }; _local1 = _costume.x; _local2 = _costume.y; } else { _local3 = Math.sqrt((Math.pow((_nextEndPoint.y - _costume.y), 2) + Math.pow((_nextEndPoint.x - _costume.x), 2))); if (_local3 <= _moveSpeed){ _costume.x = _nextEndPoint.x; _costume.y = _nextEndPoint.y; if ((_nextEndIterNum + 1) == _movePosChain.length){ if (!(_isCircularChain)){ _movePosChain.reverse(); }; _nextEndIterNum = 1; } else { _nextEndIterNum++; }; _nextEndPoint = new Point(_movePosChain[_nextEndIterNum][0], _movePosChain[_nextEndIterNum][1]); }; _local4 = Math.atan2((_nextEndPoint.y - _costume.y), (_nextEndPoint.x - _costume.x)); if (_local4 == Number.NEGATIVE_INFINITY){ _local4 = Math.PI; } else { if (_local4 == Number.POSITIVE_INFINITY){ _local4 = 0; }; }; if (_local3 <= _moveSpeed){ if (Math.abs((_local4 - _prevAngle)) > 0.1){ _isRotating = true; _rotateAngle = (((Math.abs((_local4 - _prevAngle)) / _rotateTime) * 180) / Math.PI); _prevAngle = Math.abs(_local4); _costume.rotation = (_costume.rotation + _rotateAngle); _rotateCount++; }; _local1 = _costume.x; _local2 = _costume.y; } else { _local1 = ((_moveSpeed * Math.cos(_local4)) + _costume.x); _local2 = ((_moveSpeed * Math.sin(_local4)) + _costume.y); }; }; _body.SetXForm(new b2Vec2((_local1 / PhysicsVals.RATIO), (_local2 / PhysicsVals.RATIO)), 0); _body.ApplyForce(new b2Vec2(0, (-(_body.m_mass) * PhysicsVals.GRAVITY)), _body.GetWorldCenter()); } override protected function updateMyLook():void{ _costume.x = (_body.GetPosition().x * PhysicsVals.RATIO); _costume.y = (_body.GetPosition().y * PhysicsVals.RATIO); } override protected function cleanUpBeforeRemoving():void{ _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 119
//SpinyStickActor (com.tinime.actors.SpinyStickActor) package com.tinime.actors { import com.tinime.control.*; import flash.geom.*; import com.tinime.data.*; import Box2D.Dynamics.Joints.*; import flash.display.*; import com.tinime.interfaces.*; import Box2D.Common.Math.*; public class SpinyStickActor extends Actor implements Triggered { private var _isRotating:Boolean;// = false private var _startPos:b2Vec2; private var _angleSpeed:Number; public function SpinyStickActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean){ _isRotating = _arg6; _costume = Box2dObjSpawner.buildBitmapSprite(_arg1, new SpinyStickSprLib(), _arg2, _arg3, new Point(358, 59), new Point(-180, -32), _arg4); _body = Box2dObjSpawner.buildBody([[-175, 0], [0, -16], [175, 0], [0, 16]], this, _arg2, 0, 0.7, 0, _arg3, _arg4); _body.GetShapeList().m_filter.categoryBits = PhysicsVals.TUNNEL_BLOCK; _body.GetShapeList().m_filter.maskBits = (((PhysicsVals.BOMB_CATAGORY | PhysicsVals.UFO_CATEGORY) | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); var _local7:b2RevoluteJointDef = new b2RevoluteJointDef(); _local7.Initialize(PhysicsVals.world.GetGroundBody(), _body, _body.GetWorldCenter()); var _local8:b2RevoluteJoint = (PhysicsVals.world.CreateJoint(_local7) as b2RevoluteJoint); _startPos = _body.GetWorldCenter(); _angleSpeed = ((_arg5 * Math.PI) / 180); super(_body, _costume); if (_isRotating){ _body.GetShapeList().m_density = 10000; }; } public function onTriggered():void{ _isRotating = !(_isRotating); } override public function update():void{ var _local1:Number; if (_isRotating){ if (_body.GetShapeList().m_density == 0){ _body.GetShapeList().m_density = 10000; }; if (_body.GetAngle() > (Math.PI * 2)){ _local1 = ((_body.GetAngle() + _angleSpeed) - (Math.PI * 2)); } else { if (_body.GetAngle() < (-(Math.PI) * 2)){ _local1 = ((_body.GetAngle() + _angleSpeed) + (Math.PI * 2)); } else { _local1 = (_body.GetAngle() + _angleSpeed); }; }; _body.SetXForm(_startPos, _local1); updateMyLook(); } else { if (_body.GetShapeList().m_density == 10000){ _body.GetShapeList().m_density = 0; }; }; } } }//package com.tinime.actors
Section 120
//StarTokenActor (com.tinime.actors.StarTokenActor) package com.tinime.actors { import com.tinime.control.*; import com.tinime.view.*; import com.tinime.data.*; import flash.display.*; import Box2D.Dynamics.*; import flash.geom.*; import flash.events.*; import com.tinime.interfaces.*; import com.hexagonstar.display.bitmaps.*; public class StarTokenActor extends Actor implements LevelDataRecordable { private var _isTouched:Boolean;// = false private var _animatedBitmap:AnimatedBitmap; private var _actorsManager:ActorsManager; private var _parent:DisplayObjectContainer; private var _recordNum:int; public function StarTokenActor(_arg1:DisplayObjectContainer, _arg2:Point){ _actorsManager = ActorsManager.getInstance(); _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.STAR_TOKEN); _animatedBitmap.x = -53; _animatedBitmap.y = -43; var _local3:Sprite = new Sprite(); _local3.x = _arg2.x; _local3.y = _arg2.y; _local3.addChild(_animatedBitmap); _arg1.addChildAt(_local3, 0); _parent = _arg1; var _local4:b2Body = Box2dObjSpawner.buildBody([[-16, -2], [1, -19], [17, -1], [0, 14]], this, _arg2); _local4.GetShapeList().m_isSensor = true; super(_local4, _local3); } public function touch():void{ _isTouched = true; } override public function update():void{ var _local1:MovieClip; var _local2:int; if (_isTouched){ _local1 = new StarVanishMcLib(); _local2 = _parent.getChildIndex(_costume); _parent.addChildAt(_local1, _local2); _local1.x = _costume.x; _local1.y = _costume.y; _local1.addEventListener(Event.ENTER_FRAME, onVanishEnterFrame); _local1.play(); ScoreManager.addScore(20, new Point(_costume.x, _costume.y)); LivesControl.addStar(new Point(_costume.x, _costume.y)); LevelController.getInstance().starSavedNum = (LevelController.getInstance().starSavedNum + 1); LevelController.getInstance().updateObjRecordArr(_recordNum); _actorsManager.remove(this); }; } private function onVanishEnterFrame(_arg1:Event):void{ var _local2:MovieClip; if (_arg1.target != null){ _local2 = MovieClip(_arg1.target); if (_local2.currentFrame == _local2.totalFrames){ _local2.removeEventListener(Event.ENTER_FRAME, onVanishEnterFrame); if (_parent.contains(_local2)){ _parent.removeChild(_local2); }; _local2 = null; }; }; } override protected function cleanUpBeforeRemoving():void{ _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } public function setRecordNum(_arg1:int):void{ _recordNum = _arg1; } public function getRecordNum():int{ return (_recordNum); } } }//package com.tinime.actors
Section 121
//TeleTransmissionActor (com.tinime.actors.TeleTransmissionActor) package com.tinime.actors { import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import com.tinime.control.*; import flash.geom.*; import flash.events.*; import com.tinime.event.*; import Box2D.Dynamics.*; import com.hexagonstar.display.bitmaps.*; public class TeleTransmissionActor extends Actor { private var _baseBody:b2Body; private var _animalCostume:DisplayObjectContainer; private var _teleTransmissionAnim:MovieClip; private var _capturedAnimalPos:Point; private var _curAnimal:int; private var _isAbsorbing:Boolean;// = false private var _animatedBitmap:AnimatedBitmap; private static var COW:int = 0; private static var DOG:int = 1; private static var CAT:int = 2; public function TeleTransmissionActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number){ var _local5:Sprite; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.TELE_TRANSMISSION); _local5 = new Sprite(); _animatedBitmap.x = -71; _animatedBitmap.y = -61; _local5.addChild(_animatedBitmap); _local5.x = _arg2.x; _local5.y = _arg2.y; _arg1.addChild(_local5); _baseBody = Box2dObjSpawner.buildBody([[-70, -1], [-50, -10], [50, -10], [70, -1]], "", _arg2, 0, 0, 0, _arg3, _arg4); _body = Box2dObjSpawner.buildBody([[-25, -38], [25, -38], [25, -10], [-25, -10]], this, _arg2, 0, 0, 0, _arg3, _arg4); _body.GetShapeList().m_isSensor = true; super(_body, _local5); } override public function update():void{ var _local1:Boolean; var _local2:Boolean; var _local3:Boolean; var _local4:Number; if (_animalCostume != null){ _local1 = false; _local2 = false; _local3 = false; if (_animalCostume.rotation > (_costume.rotation + 10)){ _animalCostume.rotation = (_animalCostume.rotation - 15); } else { if (_animalCostume.rotation < (_costume.rotation - 15)){ _animalCostume.rotation = (_animalCostume.rotation + 10); } else { _local3 = true; _animalCostume.rotation = _costume.rotation; }; }; if (Math.abs((_animalCostume.x - _capturedAnimalPos.x)) > 3){ if (_animalCostume.x < _capturedAnimalPos.x){ _animalCostume.x = (_animalCostume.x + 2); } else { _animalCostume.x = (_animalCostume.x - 2); }; } else { _local1 = true; _animalCostume.x = _capturedAnimalPos.x; }; if (Math.abs((_animalCostume.y - _capturedAnimalPos.y)) > 3){ if (_animalCostume.y < _capturedAnimalPos.y){ _animalCostume.y = (_animalCostume.y + 2); } else { _animalCostume.y = (_animalCostume.y - 2); }; } else { _local2 = true; _animalCostume.y = _capturedAnimalPos.y; }; if (((((_local1) && (_local2))) && (_local3))){ _teleTransmissionAnim = new TeleTransmissionAnimMcLib(); _teleTransmissionAnim.x = _costume.x; _teleTransmissionAnim.y = _costume.y; _teleTransmissionAnim.rotation = _costume.rotation; _teleTransmissionAnim.scaleX = _costume.scaleX; _teleTransmissionAnim.scaleY = _costume.scaleY; switch (_curAnimal){ case COW: _teleTransmissionAnim.dog.visible = false; _teleTransmissionAnim.cat.visible = false; MovieClip(_teleTransmissionAnim.cow).scaleX = _animalCostume.scaleX; MovieClip(_teleTransmissionAnim.cow).scaleY = _animalCostume.scaleY; ScoreManager.addScore(100, new Point(_costume.x, (_costume.y - 10))); break; case CAT: _teleTransmissionAnim.cow.visible = false; _teleTransmissionAnim.dog.visible = false; MovieClip(_teleTransmissionAnim.cat).scaleX = _animalCostume.scaleX; MovieClip(_teleTransmissionAnim.cat).scaleY = _animalCostume.scaleY; LivesControl.addLife(new Point(_costume.x, (_costume.y - 10))); LevelController.getInstance().catSavedNum = (LevelController.getInstance().catSavedNum + 1); break; case DOG: _teleTransmissionAnim.cow.visible = false; _teleTransmissionAnim.cat.visible = false; MovieClip(_teleTransmissionAnim.dog).scaleX = _animalCostume.scaleX; MovieClip(_teleTransmissionAnim.dog).scaleY = _animalCostume.scaleY; LivesControl.addLife(new Point(_costume.x, (_costume.y - 10))); LevelController.getInstance().dogSavedNum = (LevelController.getInstance().dogSavedNum + 1); break; default: break; }; _local4 = _costume.parent.getChildIndex(_costume); _costume.parent.addChildAt(_teleTransmissionAnim, (_local4 + 1)); _costume.visible = false; _teleTransmissionAnim.addEventListener(Event.ENTER_FRAME, onTunnelAnimEnterFrame); SoundManager.playLidClosing(); _animalCostume.parent.removeChild(_animalCostume); _animalCostume = null; _teleTransmissionAnim.gotoAndPlay(1); }; }; } private function onTunnelAnimEnterFrame(_arg1:Event):void{ var _local2:GameEventDispatcher; if (_teleTransmissionAnim.currentFrame == _teleTransmissionAnim.totalFrames){ _teleTransmissionAnim.removeEventListener(Event.ENTER_FRAME, onTunnelAnimEnterFrame); _costume.visible = true; _teleTransmissionAnim.parent.removeChild(_teleTransmissionAnim); _teleTransmissionAnim = null; if (_curAnimal == COW){ _local2 = GameEventDispatcher.getInstance(); _local2.onCowTransfered(); }; _isAbsorbing = false; }; } public function absorbAnimal(_arg1:AnimalActor):void{ var _local3:Number; if (((_arg1.isLifted) || (!((_animalCostume == null))))){ return; }; if (_isAbsorbing){ return; }; _isAbsorbing = true; var _local2:Number = ((_costume.rotation * Math.PI) / 180); if ((_arg1 is CowActor)){ _curAnimal = COW; _local3 = Math.sqrt(((2 * 2) + (38 * 38))); _local2 = (-(_local2) + Math.acos((-2 / _local3))); } else { if ((_arg1 is CatActor)){ _curAnimal = CAT; _local3 = Math.sqrt(((2.58 * 2.58) + (10.5 * 10.5))); _local2 = (-(_local2) + Math.acos((-2.58 / _local3))); } else { if ((_arg1 is DogActor)){ _curAnimal = DOG; _local3 = Math.sqrt(((3.5 * 3.5) + (11 * 11))); _local2 = (-(_local2) + Math.acos((-3.5 / _local3))); }; }; }; _capturedAnimalPos = new Point((((_local3 * Math.cos(_local2)) * _costume.scaleX) + _costume.x), (((-(_local3) * Math.sin(_local2)) * _costume.scaleX) + _costume.y)); _arg1.isAbsorbing = true; _arg1.animatedBitmap.stop(); _animalCostume = _arg1.costume; _arg1.costume = new Sprite(); _animalCostume.parent.addChild(_arg1.costume); _arg1.waitToDie = true; _animalCostume.parent.addChildAt(_animalCostume, (_costume.parent.getChildIndex(_costume) + 1)); LevelController.getInstance().updateActorRecordArr(_arg1.getRecordNum()); } override protected function cleanUpBeforeRemoving():void{ if (_animalCostume != null){ _animalCostume.parent.removeChild(_animalCostume); _animalCostume = null; }; if (_teleTransmissionAnim != null){ _teleTransmissionAnim.removeEventListener(Event.ENTER_FRAME, onTunnelAnimEnterFrame); _teleTransmissionAnim.parent.removeChild(_teleTransmissionAnim); _teleTransmissionAnim = null; }; PhysicsVals.world.DestroyBody(_baseBody); _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 122
//TrashCanActor (com.tinime.actors.TrashCanActor) package com.tinime.actors { import flash.display.*; import com.tinime.control.*; import flash.geom.*; import Box2D.Dynamics.*; import com.tinime.data.*; import com.tinime.interfaces.*; public class TrashCanActor extends Actor implements Liftable { private var _scale:Number; public function TrashCanActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number){ var _local5:Sprite; _scale = _arg3; _local5 = Box2dObjSpawner.buildBitmapSprite(_arg1, new TrashCanSprLib(), _arg2, _arg3, new Point(36, 51), new Point(-18, -47), _arg4); var _local6:b2Body = Box2dObjSpawner.buildBody([[-14, -1.5], [-14, -39], [0, -46], [14, -39], [14, -1.5]], this, _arg2, 900, 1, 0.5, _arg3, _arg4); _local6.GetShapeList().m_filter.categoryBits = PhysicsVals.OBJECT_CATEGORY; _local6.AllowSleeping(false); _local6.GetShapeList().m_filter.maskBits = ((((((PhysicsVals.BOMB_CATAGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY) | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.UFO_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.TUNNEL_BLOCK); super(_local6, _local5); } public function prepareLiftStatus():void{ var _local1:Number = 0.001; _body.GetShapeList().m_density = _local1; _body.SetMassFromShapes(); } public function restoreOriginStatus():void{ body.GetShapeList().m_density = 200; _body.SetMassFromShapes(); } public function getLiftable():Boolean{ return (true); } public function getLiftHeight():Number{ return ((44 * _scale)); } public function getPos():Point{ return (new Point(_costume.x, _costume.y)); } public function getBody():b2Body{ return (_body); } public function getMass():Number{ return (_body.m_mass); } public function stopMove():void{ } public function setFalling():void{ } } }//package com.tinime.actors
Section 123
//TriggerActor (com.tinime.actors.TriggerActor) package com.tinime.actors { import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import flash.filters.*; import com.tinime.control.*; import flash.geom.*; import flash.events.*; import Box2D.Dynamics.Contacts.*; import com.hexagonstar.display.bitmaps.*; public class TriggerActor extends Actor { private var _linkCode:Number; private var _isTriggered:Boolean;// = false private var _animatedBitmap:AnimatedBitmap; public function TriggerActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number){ _linkCode = _arg3; _costume = new Sprite(); _costume.x = _arg2.x; _costume.y = _arg2.y; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.TRIGGER); _animatedBitmap.x = -20; _animatedBitmap.y = -33; _costume.addChild(_animatedBitmap); _arg1.addChild(_costume); _animatedBitmap.gotoAndStop(1); _costume.filters = new Array(new GlowFilter(0xFFFFFF, 1, 20, 20, 0.67)); _body = Box2dObjSpawner.buildBody([[-11, -20], [0, -26], [11, -20], [11, -1], [-11, -1]], this, _arg2); _body.GetShapeList().m_isSensor = true; super(_body, _costume); } public function trigger():void{ if (_isTriggered){ return; }; SoundManager.playTriggerSfx(); _isTriggered = true; _animatedBitmap.addEventListener(Event.ENTER_FRAME, onAnimatedBitmapEnterFrame); _animatedBitmap.gotoAndPlay(2); TriggerController.trigger(_linkCode); } private function onAnimatedBitmapEnterFrame(_arg1:Event):void{ if (_animatedBitmap.getCurrentFrame() == _animatedBitmap.getTotalFrames()){ _animatedBitmap.stop(); }; } override public function update():void{ var _local1:b2ContactEdge; var _local2:int; var _local3:Object; if (_isTriggered){ _local1 = _body.m_contactList; _local2 = 0; while (_local1 != null) { _local3 = _local1.other.GetUserData(); if ((_local3 is UfoActor)){ if ((_local3 is UfoActor)){ if ((_costume.y - UfoActor(_local3).costume.y) > 26){ _isTriggered = false; _animatedBitmap.gotoAndStop(1); TriggerController.trigger(_linkCode); return; }; }; return; }; _local1 = _local1.next; }; _isTriggered = false; _animatedBitmap.gotoAndStop(1); TriggerController.trigger(_linkCode); SoundManager.playTriggerSfx(); }; } override protected function cleanUpBeforeRemoving():void{ _animatedBitmap.removeEventListener(Event.ENTER_FRAME, onAnimatedBitmapEnterFrame); _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } } }//package com.tinime.actors
Section 124
//UfoActor (com.tinime.actors.UfoActor) package com.tinime.actors { import com.tinime.event.*; import Box2D.Common.Math.*; import flash.display.*; import com.tinime.view.*; import com.tinime.data.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import flash.geom.*; import com.tinime.control.*; import flash.events.*; import com.tinime.interfaces.*; import Box2D.Dynamics.Contacts.*; import Box2D.Dynamics.Joints.*; import com.hexagonstar.display.bitmaps.*; public class UfoActor extends Actor implements Explosive { private var _mouseJoint:b2MouseJoint; private var _activated:Boolean; private var _activatedDensity:Number;// = 0.3 private var _engineForce:b2Vec2; private var _keyMoveForce:b2Vec2; private var _camera:Camera; private var _haloCount:int;// = 2 private var _haloCountTotal:int;// = 2 private var _haloArray:Array; private var _liftSensor:LifterSensor; private var _curLiftedObject:Liftable; private var _waitToLiftObject:Boolean;// = false public var _isLiftJointCreated:Boolean;// = false private var _liftJoint:b2RevoluteJoint; private var _curEnergy:int; private var _maxEnergy:int;// = 300 private var _isOverHeated:Boolean;// = false private var _isExploded:Boolean;// = false private var _explosionAnim:MovieClip; private var _revivePos:Point; private var _ufoReviveAnim:MovieClip; private var _isPreparingRevive:Boolean;// = false private var _shakePos:Point; private var _animatedBitmap:AnimatedBitmap; private var _angle1:Number;// = 0.0174532925199433 private var _angle20:Number;// = 0.698131700797732 private var _angleTransferMulti:Number;// = 0.0174532925199433 private var _mouseMoveForce:b2Vec2; public var isWait:Boolean;// = true public var waitCount:int;// = 0 private var _moveIndicSpr:Sprite; private static var _gameEventDispatcher:GameEventDispatcher = GameEventDispatcher.getInstance(); public function UfoActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Camera){ _haloArray = []; _camera = _arg3; _camera.prepareEnergyDisplay(); _engineForce = new b2Vec2(0, 0); _keyMoveForce = new b2Vec2(10500, 10500); _mouseMoveForce = new b2Vec2(10500, 10500); _moveIndicSpr = new MoveIndicSprLib(); _moveIndicSpr.visible = false; _arg1.addChild(_moveIndicSpr); var _local4:Sprite = new Sprite(); _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.UFO); _animatedBitmap.x = -29; _animatedBitmap.y = -35; _local4.addChild(_animatedBitmap); _arg1.addChild(_local4); var _local5:b2PolygonDef = new b2PolygonDef(); _local5.vertexCount = 4; b2Vec2(_local5.vertices[0]).Set((-26 / PhysicsVals.RATIO), (-11 / PhysicsVals.RATIO)); b2Vec2(_local5.vertices[1]).Set((0 / PhysicsVals.RATIO), (-29 / PhysicsVals.RATIO)); b2Vec2(_local5.vertices[2]).Set((26 / PhysicsVals.RATIO), (-11 / PhysicsVals.RATIO)); b2Vec2(_local5.vertices[3]).Set((0 / PhysicsVals.RATIO), (-1 / PhysicsVals.RATIO)); _local5.density = 0; _local5.friction = 0; _local5.restitution = 0; _local5.filter.categoryBits = PhysicsVals.UFO_CATEGORY; _local5.filter.maskBits = (((((PhysicsVals.BOMB_CATAGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.SCENE_BLOCK_CATEGORY) | PhysicsVals.DOOR_CATEGORY) | PhysicsVals.TUNNEL_BLOCK) | PhysicsVals.OBJECT_CATEGORY); var _local6:b2PolygonDef = new b2PolygonDef(); _local6.vertexCount = 4; b2Vec2(_local6.vertices[0]).Set((-1 / PhysicsVals.RATIO), (-1 / PhysicsVals.RATIO)); b2Vec2(_local6.vertices[1]).Set((1 / PhysicsVals.RATIO), (-1 / PhysicsVals.RATIO)); b2Vec2(_local6.vertices[2]).Set((1 / PhysicsVals.RATIO), (1 / PhysicsVals.RATIO)); b2Vec2(_local6.vertices[3]).Set((-1 / PhysicsVals.RATIO), (1 / PhysicsVals.RATIO)); _local6.density = 1E-6; _local6.isSensor = true; var _local7:b2BodyDef = new b2BodyDef(); _local7.isBullet = true; _local7.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _local7.fixedRotation = true; var _local8:b2Body = PhysicsVals.world.CreateBody(_local7); _local8.CreateShape(_local5); _local8.CreateShape(_local6); _local8.SetMassFromShapes(); super(_local8, _local4); } public function activate():void{ _body.WakeUp(); _activated = true; var _local1:b2Shape = _body.GetShapeList().GetNext(); _body.AllowSleeping(false); _local1.m_density = 3600; _body.SetMassFromShapes(); _engineForce = new b2Vec2(0, (-(PhysicsVals.GRAVITY) * _body.m_mass)); } private function addLifterSensor():void{ SoundManager.playUfoBeam(); _liftSensor = new LifterSensor(this, _body.GetWorldCenter()); _costume.addEventListener(Event.ENTER_FRAME, checkSound); } private function checkSound(_arg1:Event):void{ if (((CommonVals.gameLocked) || (CommonVals.gamePaused))){ SoundManager.stopUfoBeam(); } else { if ((((SoundManager.ufoBeamSfxChannel == null)) && (!((_liftSensor == null))))){ SoundManager.playUfoBeam(); }; }; } private function removeLifterSensor():void{ SoundManager.stopUfoBeam(); _liftSensor.destroy(); _liftSensor = null; _costume.removeEventListener(Event.ENTER_FRAME, checkSound); } public function liftObject(_arg1:Liftable):void{ if (_curLiftedObject != null){ return; }; if (!(_arg1.getLiftable())){ return; }; _curLiftedObject = _arg1; _curLiftedObject.stopMove(); _waitToLiftObject = true; } public function removeLiftedObject():void{ _curLiftedObject.restoreOriginStatus(); _curLiftedObject.setFalling(); _curLiftedObject = null; _body.DestroyShape(_body.GetShapeList()); var _local1:b2PolygonDef = new b2PolygonDef(); _local1.vertexCount = 4; b2Vec2(_local1.vertices[0]).Set((-1 / PhysicsVals.RATIO), (-1 / PhysicsVals.RATIO)); b2Vec2(_local1.vertices[1]).Set((1 / PhysicsVals.RATIO), (-1 / PhysicsVals.RATIO)); b2Vec2(_local1.vertices[2]).Set((1 / PhysicsVals.RATIO), (1 / PhysicsVals.RATIO)); b2Vec2(_local1.vertices[3]).Set((-1 / PhysicsVals.RATIO), (1 / PhysicsVals.RATIO)); _local1.density = 1E-6; _local1.isSensor = true; _body.CreateShape(_local1); _waitToLiftObject = false; if (_isLiftJointCreated){ PhysicsVals.world.DestroyJoint(_liftJoint); _isLiftJointCreated = false; }; } override protected function childSpecificUpdate():void{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:b2Vec2; if (((_activated) && (!(_isExploded)))){ _local1 = checkMoveKeys(); checkEnergy(); checkSpaceKey(); renderHaloes(); checkLiftedObj(); _local2 = (_costume.rotation * _angleTransferMulti); _local3 = _body.GetAngle(); if (Math.abs((_local3 - _local2)) < _angle1){ if (_body.GetAngularVelocity() != 0){ _body.SetAngularVelocity(0); }; } else { if (_local3 > _local2){ _body.SetAngularVelocity(-(_angle20)); } else { _body.SetAngularVelocity(_angle20); }; }; _body.ApplyForce(_local1, _body.GetWorldCenter()); _local4 = _body.GetLinearVelocity().Copy(); _local4.Multiply(0.94); _body.SetLinearVelocity(_local4); _camera.moveTo(new Point((_costume.x - 320), (_costume.y - 240))); } else { if (_isPreparingRevive){ _isExploded = false; _body.SetXForm(new b2Vec2((_revivePos.x / PhysicsVals.RATIO), (_revivePos.y / PhysicsVals.RATIO)), 0); _body.SetLinearVelocity(new b2Vec2(0, 0)); _costume.x = _revivePos.x; _costume.y = _revivePos.y; _costume.y = _revivePos.y; _costume.visible = true; _isPreparingRevive = false; destroyAllHaloes(); _curEnergy = 0; _camera.setEnergyDisplay(0); if (_liftSensor != null){ removeLifterSensor(); }; if (_curLiftedObject != null){ removeLiftedObject(); }; }; }; } public function explode():void{ if (_isExploded){ return; }; isAlive = false; _moveIndicSpr.visible = false; SoundManager.playExplosion(); _isExploded = true; CommonVals.gamePaused = true; var _local1:Number = _costume.x; var _local2:Number = _costume.y; _costume.visible = false; _camera.setVisualEnergy(false); _explosionAnim = new UfoExplosion(); _explosionAnim.x = _local1; _explosionAnim.y = _local2; _costume.parent.addChild(_explosionAnim); _explosionAnim.gotoAndPlay(1); _body.GetShapeList().m_isSensor = true; _shakePos = new Point(_camera.frontLayer.x, _camera.frontLayer.y); _explosionAnim.addEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); } public function revive(_arg1:Point):void{ _revivePos = _arg1; isAlive = true; _gameEventDispatcher.addEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); _camera.tweenTo(new Point((_arg1.x - 320), (_arg1.y - 240)), 1); } private function onTweenComplete(_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); CommonVals.gamePaused = true; _ufoReviveAnim = new UfoSpawningMcLib(); _ufoReviveAnim.x = _revivePos.x; _ufoReviveAnim.y = _revivePos.y; _camera.frontLayer.addChild(_ufoReviveAnim); _costume.rotation = 0; _ufoReviveAnim.addEventListener(Event.ENTER_FRAME, onReviveAnimEnterFrame); _ufoReviveAnim.gotoAndPlay(1); } private function onReviveAnimEnterFrame(_arg1:Event):void{ if (_ufoReviveAnim.currentFrame == _ufoReviveAnim.totalFrames){ _ufoReviveAnim.removeEventListener(Event.ENTER_FRAME, onReviveAnimEnterFrame); _camera.frontLayer.removeChild(_ufoReviveAnim); _ufoReviveAnim = null; CommonVals.gamePaused = false; _isPreparingRevive = true; }; } private function onExplosionEnterFrame(_arg1:Event):void{ _camera.frontLayer.x = ((_shakePos.x + (Math.random() * 8)) - 4); _camera.frontLayer.y = ((_shakePos.y + (Math.random() * 8)) - 4); if (_explosionAnim.currentFrame == _explosionAnim.totalFrames){ CommonVals.gamePaused = true; _explosionAnim.removeEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _costume.parent.removeChild(_explosionAnim); _explosionAnim = null; _gameEventDispatcher.onUfoExploded(); }; } private function checkLiftedObj():void{ var _local1:b2ContactEdge; var _local2:Boolean; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2RevoluteJointDef; var _local10:b2PolygonDef; var _local11:Array; var _local12:Liftable; var _local13:int; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Liftable; var _local18:int; var _local19:Liftable; var _local20:Number; var _local21:Number; var _local22:Number; if (_isOverHeated){ return; }; if (_curLiftedObject != null){ if (_isLiftJointCreated){ } else { _local1 = _curLiftedObject.getBody().m_contactList; _local2 = false; while (_local1 != null) { if (_local1.other == _liftSensor.body){ _local2 = true; break; }; _local1 = _local1.next; }; if (!(_local2)){ removeLiftedObject(); return; }; _local3 = _costume.x; _local4 = (_costume.y + _curLiftedObject.getLiftHeight()); _local5 = _curLiftedObject.getPos().x; _local6 = _curLiftedObject.getPos().y; if ((_local6 - 4) > _local4){ _local8 = (_local6 - 2); if (Math.abs((_local5 - _local3)) > 1){ _local7 = ((2 * (_local3 - _local5)) / Math.abs((_local3 - _local5))); } else { _local7 = (_local3 - _local5); }; _curLiftedObject.getBody().ApplyForce(new b2Vec2(((_local7 * _curLiftedObject.getMass()) * PhysicsVals.GRAVITY), ((-(_curLiftedObject.getMass()) * PhysicsVals.GRAVITY) * 3)), _curLiftedObject.getBody().GetWorldCenter()); _curLiftedObject.getBody().SetAngularVelocity(-(_curLiftedObject.getBody().GetAngle())); } else { _local8 = _local4; _curLiftedObject.getBody().ApplyForce(new b2Vec2(0, (-(_curLiftedObject.getMass()) * PhysicsVals.GRAVITY)), _curLiftedObject.getBody().GetWorldCenter()); _curLiftedObject.getBody().SetXForm(new b2Vec2((_costume.x / PhysicsVals.RATIO), (_local8 / PhysicsVals.RATIO)), 0); _curLiftedObject.prepareLiftStatus(); _local9 = new b2RevoluteJointDef(); _local9.Initialize(_body, _curLiftedObject.getBody(), new b2Vec2((_costume.x / PhysicsVals.RATIO), ((_costume.y + 6) / PhysicsVals.RATIO))); _local9.enableLimit = true; _local9.lowerAngle = 0; _local9.upperAngle = 0; _liftJoint = (PhysicsVals.world.CreateJoint(_local9) as b2RevoluteJoint); _isLiftJointCreated = true; if ((_curLiftedObject is CowActor)){ _body.DestroyShape(_body.GetShapeList()); _local10 = new b2PolygonDef(); _local10.vertexCount = 4; b2Vec2(_local10.vertices[0]).Set((-24 / PhysicsVals.RATIO), (-4 / PhysicsVals.RATIO)); b2Vec2(_local10.vertices[1]).Set((24 / PhysicsVals.RATIO), (-4 / PhysicsVals.RATIO)); b2Vec2(_local10.vertices[2]).Set((24 / PhysicsVals.RATIO), (50 / PhysicsVals.RATIO)); b2Vec2(_local10.vertices[3]).Set((-24 / PhysicsVals.RATIO), (50 / PhysicsVals.RATIO)); _local10.density = 1E-6; _body.CreateShape(_local10); } else { _body.DestroyShape(_body.GetShapeList()); _local10 = new b2PolygonDef(); _local10.vertexCount = 4; b2Vec2(_local10.vertices[0]).Set((-14 / PhysicsVals.RATIO), (-4 / PhysicsVals.RATIO)); b2Vec2(_local10.vertices[1]).Set((14 / PhysicsVals.RATIO), (-4 / PhysicsVals.RATIO)); b2Vec2(_local10.vertices[2]).Set((14 / PhysicsVals.RATIO), (30 / PhysicsVals.RATIO)); b2Vec2(_local10.vertices[3]).Set((-14 / PhysicsVals.RATIO), (30 / PhysicsVals.RATIO)); _local10.density = 1E-6; _body.CreateShape(_local10); }; }; }; } else { if (_liftSensor != null){ _local1 = _liftSensor.body.m_contactList; _local11 = []; while (_local1 != null) { if ((_local1.other.GetUserData() is Liftable)){ _local12 = _local1.other.GetUserData(); _local11.push(_local12); }; _local1 = _local1.next; }; _local13 = _local11.length; if (_local13 >= 1){ _local14 = _body.GetWorldCenter().x; _local15 = _body.GetWorldCenter().y; _local16 = 10000000000; _local17 = _local11[0]; _local18 = 0; while (_local18 < _local13) { _local19 = _local11[_local18]; _local20 = _local19.getBody().GetWorldCenter().x; _local21 = _local19.getBody().GetWorldCenter().y; _local22 = (((_local20 - _local14) * (_local20 - _local14)) + ((_local21 - _local15) * (_local21 - _local15))); if (_local22 < _local16){ _local16 = _local22; _local17 = _local19; }; _local18++; }; _local12 = _local17; }; if (_local12 != null){ liftObject(_local12); }; }; }; } private function checkMoveKeys():b2Vec2{ var _local2:Number; var _local3:Boolean; var _local4:Boolean; var _local5:int; 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 _local1:b2Vec2 = _engineForce.Copy(); if (!(LevelController.getInstance().isConntrolledByMouse)){ if (_moveIndicSpr.visible){ _moveIndicSpr.visible = false; }; _local2 = Input.ctrKeyArr.length; if (_local2 != 0){ _local3 = false; _local4 = false; _local5 = 0; while (_local5 < _local2) { if (((_local3) && (_local4))){ break; }; switch (Input.ctrKeyArr[_local5]){ case Input.UP: case Input.W: if (!(_local3)){ _local1.y = (_local1.y - _keyMoveForce.y); }; break; case Input.DOWN: case Input.S: if (!(_local3)){ _local1.y = (_local1.y + _keyMoveForce.y); _local3 = true; }; break; case Input.LEFT: case Input.A: if (!(_local4)){ _local1.x = (_local1.x - _keyMoveForce.x); _local4 = true; _costume.rotation = -15; }; break; case Input.RIGHT: case Input.D: if (!(_local4)){ _local1.x = (_local1.x + _keyMoveForce.x); _local4 = true; _costume.rotation = 15; }; break; default: break; }; _local5++; }; } else { if (Math.abs(_costume.rotation) > 1){ _costume.rotation = (_costume.rotation * 0.8); } else { _costume.rotation = 0; }; }; } else { if (isWait){ if (++waitCount > 40){ isWait = false; }; return (_local1); }; _local6 = _costume.parent.mouseX; _local7 = _costume.parent.mouseY; _local8 = 20; if (!(_moveIndicSpr.visible)){ _moveIndicSpr.visible = true; }; _local9 = (_local6 - _costume.x); _local10 = (_local7 - _costume.y); _local11 = Math.atan2(_local10, _local9); if (_local9 < 0){ }; _moveIndicSpr.rotation = ((180 * _local11) / Math.PI); _local12 = 40; _moveIndicSpr.x = (_costume.x + (_local12 * Math.cos(_local11))); _moveIndicSpr.y = (_costume.y + (_local12 * Math.sin(_local11))); if ((((((((((_local6 < (_costume.x + _local8))) && ((_local6 > (_costume.x - _local8))))) && ((_local7 < (_costume.y + _local8))))) && ((_local7 > (_costume.y - _local8))))) || (CommonVals.ufoMouseLocked))){ if (Math.abs(_costume.rotation) > 1){ _costume.rotation = (_costume.rotation * 0.8); } else { _costume.rotation = 0; }; _moveIndicSpr.visible = false; } else { _local13 = (_local9 / Math.abs(_local9)); _local14 = (_local10 / Math.abs(_local10)); if (Math.abs(_local9) < _local8){ _local13 = 0; } else { if (Math.abs(_local10) < _local8){ _local14 = 0; }; }; _local1.x = (_local1.x + (_local13 * _mouseMoveForce.x)); _local1.y = (_local1.y + (_local14 * _mouseMoveForce.y)); if (_local13 > 0){ _costume.rotation = 15; } else { if (_local13 < 0){ _costume.rotation = -15; }; }; }; }; return (_local1); } private function checkSpaceKey():void{ var _local1:HaloActor; if (((((!(LevelController.getInstance().isConntrolledByMouse)) && (Input.spaceHold))) || (((LevelController.getInstance().isConntrolledByMouse) && (Input.MouseDown))))){ _camera.setVisualEnergy(true); if (_isOverHeated){ return; }; if (_liftSensor == null){ addLifterSensor(); }; if (_haloCount >= _haloCountTotal){ _local1 = new HaloActor(_camera.frontLayer, 0.4, new Point(_costume.x, (_costume.y + 100)), _costume.rotation); _haloArray.push(_local1); _camera.frontLayer.addChild(_costume); _haloCount = 0; } else { _haloCount++; }; } else { if (_liftSensor != null){ removeLifterSensor(); }; if (_curLiftedObject != null){ removeLiftedObject(); }; if (_haloArray.length != 0){ if (_haloArray[0].updateAlphaMutlply != 0.9){ for each (_local1 in _haloArray) { _local1.updateAlphaMutlply = 0.9; }; }; }; }; } private function checkEnergy():void{ if (_isOverHeated){ if (_curEnergy < 0){ _isOverHeated = false; _curEnergy = 0; _camera.setEnergyDisplay(0); } else { _curEnergy = (_curEnergy - 2); _camera.setEnergyDisplay((_curEnergy / _maxEnergy)); }; } else { if (((((!(LevelController.getInstance().isConntrolledByMouse)) && (Input.spaceHold))) || (((LevelController.getInstance().isConntrolledByMouse) && (Input.MouseDown))))){ if (_curEnergy < _maxEnergy){ _curEnergy++; _camera.setEnergyDisplay((_curEnergy / _maxEnergy)); } else { _isOverHeated = true; _curEnergy = _maxEnergy; _camera.setEnergyDisplay(1); Input.spaceHold = false; if (_isLiftJointCreated){ removeLiftedObject(); }; }; } else { if (_curEnergy > 0){ _curEnergy--; _camera.setEnergyDisplay((_curEnergy / _maxEnergy)); }; }; }; _camera.setEnergyPos(_costume.x, _costume.y); } private function renderHaloes():void{ var _local2:HaloActor; var _local1:int; while (_local1 < _haloArray.length) { _local2 = _haloArray[_local1]; if (_local2.costume.y > (_costume.y + 100)){ _local2.destroy(); _haloArray.splice(_local1, 1); _local1--; } else { _local2.body.SetXForm(new b2Vec2((_costume.x / PhysicsVals.RATIO), ((_costume.y + (_local2.moveCount * 3)) / PhysicsVals.RATIO)), _local2.body.GetAngle()); _local2.update(); }; _local1++; }; } private function destroyAllHaloes():void{ var _local1:int; while (_local1 < _haloArray.length) { _haloArray[_local1].destroy(); _local1++; }; _haloArray = new Array(); } override protected function updateMyLook():void{ _costume.x = (_body.GetPosition().x * PhysicsVals.RATIO); _costume.y = (_body.GetPosition().y * PhysicsVals.RATIO); } override protected function cleanUpBeforeRemoving():void{ if (_explosionAnim != null){ _explosionAnim.removeEventListener(Event.ENTER_FRAME, onExplosionEnterFrame); _costume.parent.removeChild(_explosionAnim); _explosionAnim = null; }; _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); if (_ufoReviveAnim != null){ _ufoReviveAnim.removeEventListener(Event.ENTER_FRAME, onReviveAnimEnterFrame); }; if (_liftSensor != null){ removeLifterSensor(); }; destroyAllHaloes(); _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; _costume.removeEventListener(Event.ENTER_FRAME, checkSound); _moveIndicSpr.parent.removeChild(_moveIndicSpr); } } }//package com.tinime.actors
Section 125
//WindmillFanActor (com.tinime.actors.WindmillFanActor) package com.tinime.actors { import flash.display.*; import com.tinime.control.*; import flash.geom.*; import Box2D.Collision.Shapes.*; import com.tinime.data.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.Math.*; public class WindmillFanActor extends Actor { private var _speedAngle:Number; private var _starPos:b2Vec2; private var _floatingYForce:Number; public function WindmillFanActor(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:Sprite; _speedAngle = ((_arg5 * Math.PI) / 180); _local6 = Box2dObjSpawner.buildBitmapSprite(_arg1, new WindmillFanSprLib(), _arg2, _arg3, new Point(275, 279), new Point(-138, -138), _arg4); var _local7:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-133, -17], [133, -17], [133, 17], [-133, 17]], _arg3); var _local8:b2PolygonDef = Box2dObjSpawner.buildPolygonDef([[-17, -133], [17, -133], [17, 133], [-17, 133]], _arg3); _local7.density = 100000; _local8.density = 100000; _local7.filter.categoryBits = PhysicsVals.TUNNEL_BLOCK; _local7.filter.maskBits = (((PhysicsVals.BOMB_CATAGORY | PhysicsVals.UFO_CATEGORY) | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); _local8.filter.categoryBits = PhysicsVals.TUNNEL_BLOCK; _local8.filter.maskBits = ((PhysicsVals.UFO_CATEGORY | PhysicsVals.NPC_CATAGORY) | PhysicsVals.OBJECT_CATEGORY); var _local9:b2BodyDef = new b2BodyDef(); _local9.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _local9.angle = ((_arg4 * Math.PI) / 180); var _local10:b2Body = PhysicsVals.world.CreateBody(_local9); _local10.CreateShape(_local7); _local10.CreateShape(_local8); _local10.SetMassFromShapes(); super(_local10, _local6); _starPos = _body.GetWorldCenter(); var _local11:b2RevoluteJointDef = new b2RevoluteJointDef(); _local11.Initialize(PhysicsVals.world.GetGroundBody(), _local10, _local10.GetWorldCenter()); var _local12:b2RevoluteJoint = (PhysicsVals.world.CreateJoint(_local11) as b2RevoluteJoint); } override protected function childSpecificUpdate():void{ var _local1:Number; if (_body.GetAngle() > (Math.PI * 2)){ _local1 = ((_body.GetAngle() + _speedAngle) - (Math.PI * 2)); } else { if (_body.GetAngle() < (-(Math.PI) * 2)){ _local1 = ((_body.GetAngle() + _speedAngle) + (Math.PI * 2)); } else { _local1 = (_body.GetAngle() + _speedAngle); }; }; _body.SetXForm(_starPos, _local1); } } }//package com.tinime.actors
Section 126
//ActorsManager (com.tinime.control.ActorsManager) package com.tinime.control { import com.tinime.actors.*; public class ActorsManager { private var updateArray:Array; private var destroyArray:Array; private static var _instance:ActorsManager; public function ActorsManager(_arg1:SingletonEnforcer){ updateArray = new Array(); destroyArray = new Array(); } public function add(_arg1:Actor):void{ updateArray.push(_arg1); } public function remove(_arg1:Actor):void{ destroyArray.push(_arg1); } public function update():void{ var _local1:Actor; var _local2:Actor; var _local3:int; for each (_local1 in updateArray) { _local1.update(); }; for each (_local2 in destroyArray) { _local3 = updateArray.indexOf(_local2); if (_local3 != -1){ updateArray.splice(_local3, 1); }; _local2.destroy(); _local2 = null; }; destroyArray = new Array(); } public function removeAllActors():void{ var _local1:Actor; for each (_local1 in updateArray) { _local1.destroy(); _local1 = null; }; destroyArray = new Array(); updateArray = new Array(); } public static function getInstance():ActorsManager{ if (_instance == null){ _instance = new ActorsManager(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.control class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 127
//Box2dObjSpawner (com.tinime.control.Box2dObjSpawner) package com.tinime.control { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.geom.*; import flash.display.*; public class Box2dObjSpawner { public static function buildBody(_arg1:Array, _arg2:Object, _arg3:Point, _arg4:Number=0, _arg5:Number=0.7, _arg6:Number=0, _arg7:Number=1, _arg8:Number=0):b2Body{ var _local9:int = _arg1.length; var _local10:b2PolygonDef = new b2PolygonDef(); _local10.vertexCount = _local9; var _local11:int; while (_local11 < _local9) { b2Vec2(_local10.vertices[_local11]).Set(((_arg1[_local11][0] * _arg7) / PhysicsVals.RATIO), ((_arg1[_local11][1] * _arg7) / PhysicsVals.RATIO)); _local11++; }; _local10.friction = _arg5; _local10.density = _arg4; _local10.restitution = _arg6; var _local12:b2BodyDef = new b2BodyDef(); _local12.position.Set((_arg3.x / PhysicsVals.RATIO), (_arg3.y / PhysicsVals.RATIO)); _local12.angle = ((_arg8 * Math.PI) / 180); var _local13:b2Body = PhysicsVals.world.CreateBody(_local12); _local13.CreateShape(_local10); _local13.SetMassFromShapes(); _local13.SetUserData(_arg2); return (_local13); } public static function buildPolygonDef(_arg1:Array, _arg2:Number=1):b2PolygonDef{ var _local3:b2PolygonDef = new b2PolygonDef(); var _local4:int = _arg1.length; _local3.vertexCount = _local4; var _local5:int; while (_local5 < _local4) { b2Vec2(_local3.vertices[_local5]).Set(((_arg1[_local5][0] * _arg2) / PhysicsVals.RATIO), ((_arg1[_local5][1] * _arg2) / PhysicsVals.RATIO)); _local5++; }; _local3.restitution = 0; _local3.friction = 0.7; return (_local3); } public static function buildCostume(_arg1:DisplayObjectContainer, _arg2:DisplayObjectContainer, _arg3:Point, _arg4:Number=1, _arg5:Number=0):DisplayObjectContainer{ _arg2.scaleX = _arg4; _arg2.scaleY = _arg4; _arg2.x = _arg3.x; _arg2.y = _arg3.y; _arg2.rotation = _arg5; _arg1.addChild(_arg2); return (_arg2); } public static function buildBitmapSprite(_arg1:DisplayObjectContainer, _arg2:DisplayObjectContainer, _arg3:Point, _arg4:Number, _arg5:Point, _arg6:Point, _arg7:Number=0):Sprite{ var _local8:BitmapData = new BitmapData((_arg5.x * _arg4), (_arg5.y * _arg4), true, 0xFF0000); var _local9:Matrix = new Matrix(); _local9.scale(_arg4, _arg4); _local8.draw(_arg2, _local9); var _local10:Bitmap = new Bitmap(_local8, "auto", true); var _local11:Sprite = new Sprite(); _local10.x = (_arg6.x * _arg4); _local10.y = (_arg6.y * _arg4); _local11.addChild(_local10); _local11.x = _arg3.x; _local11.y = _arg3.y; _local11.rotation = _arg7; _arg1.addChild(_local11); return (_local11); } } }//package com.tinime.control
Section 128
//CameraModeControl (com.tinime.control.CameraModeControl) package com.tinime.control { import com.tinime.event.*; import com.tinime.view.*; import flash.events.*; import com.tinime.data.*; import flash.geom.*; import flash.display.*; public class CameraModeControl { private var _cameraBtn:MovieClip; private var _cameraMode:Boolean; private var _cameraModeLock:Boolean; private var _gameEventDispatcher:GameEventDispatcher; private var _camera:Camera; private static var _instance:CameraModeControl; public function CameraModeControl(_arg1:SingletonEnforcer){ _gameEventDispatcher = GameEventDispatcher.getInstance(); _camera = Camera.getInstance(); super(); } public function addCameraButton():void{ _cameraMode = false; _cameraModeLock = false; _cameraBtn = new CameraBtnMcLib(); _cameraBtn.x = 3; _cameraBtn.y = 437; UIManager.stage.addChild(_cameraBtn); _cameraBtn.buttonMode = true; _cameraBtn.useHandCursor = true; _cameraBtn.mouseEnabled = true; _cameraBtn.gotoAndStop(1); _cameraBtn.addEventListener(Event.REMOVED_FROM_STAGE, onBtnRemoved); _cameraBtn.addEventListener(MouseEvent.CLICK, onBtnClicked); _cameraBtn.addEventListener(MouseEvent.ROLL_OVER, onBtnRollOver); _cameraBtn.addEventListener(MouseEvent.ROLL_OUT, onBtnRollOut); } public function onSwitchCameraMode():void{ var onLeaveCameraMode:Function; var onEnterCameraMode:Function; if (_cameraBtn == null){ return; }; if (_cameraModeLock){ return; }; if (_cameraMode){ onLeaveCameraMode = function (_arg1:UIEvent):void{ var onTweenToStartComplete:Function; var e = _arg1; onTweenToStartComplete = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenToStartComplete); CommonVals.gamePaused = false; CommonVals.gameLocked = false; _cameraModeLock = false; }; UIEventDispatcher.getInstance().removeEventListener(UIEvent.CAMERA_MASK_REMOVED, onLeaveCameraMode); _camera.tweenTo(_camera.cameraModeStartPos, 1); _gameEventDispatcher.addEventListener(GameEvent.TWEEN_COMPLETE, onTweenToStartComplete); }; _cameraModeLock = true; _cameraMode = false; if (!(_cameraBtn.hitTestPoint(_cameraBtn.parent.mouseX, _cameraBtn.parent.mouseY))){ _cameraBtn.gotoAndStop(1); }; _camera.stage.removeEventListener(Event.ENTER_FRAME, onCameraMode); UIEventDispatcher.getInstance().addEventListener(UIEvent.CAMERA_MASK_REMOVED, onLeaveCameraMode); _camera.removeCameraMask(); } else { onEnterCameraMode = function (_arg1:UIEvent):void{ UIEventDispatcher.getInstance().removeEventListener(UIEvent.CAMERA_MASK_ADDED, onEnterCameraMode); _cameraModeLock = false; }; if (((CommonVals.gameLocked) || (CommonVals.gamePaused))){ return; }; _cameraModeLock = true; _cameraMode = true; _cameraBtn.gotoAndStop(2); CommonVals.gamePaused = true; CommonVals.gameLocked = true; UIEventDispatcher.getInstance().addEventListener(UIEvent.CAMERA_MASK_ADDED, onEnterCameraMode); _camera.addCameraMask(); _camera.stage.addEventListener(Event.ENTER_FRAME, onCameraMode); }; } private function onCameraMode(_arg1:Event):void{ var _local2:uint; if (Input.ctrKeyArr.length == 0){ return; }; for each (_local2 in Input.ctrKeyArr) { switch (_local2){ case Input.UP: case Input.W: _camera.moveTo(new Point(-(_camera.frontLayer.x), (-(_camera.frontLayer.y) - 6))); break; case Input.DOWN: case Input.S: _camera.moveTo(new Point(-(_camera.frontLayer.x), (-(_camera.frontLayer.y) + 6))); break; case Input.LEFT: case Input.A: _camera.moveTo(new Point((-(_camera.frontLayer.x) - 6), -(_camera.frontLayer.y))); break; case Input.RIGHT: case Input.D: _camera.moveTo(new Point((-(_camera.frontLayer.x) + 6), -(_camera.frontLayer.y))); break; default: break; }; }; } private function onBtnRemoved(_arg1:Event):void{ _cameraBtn.removeEventListener(Event.REMOVED_FROM_STAGE, onBtnRemoved); _cameraBtn.removeEventListener(MouseEvent.CLICK, onBtnClicked); _cameraBtn.removeEventListener(MouseEvent.ROLL_OVER, onBtnRollOver); _cameraBtn.removeEventListener(MouseEvent.ROLL_OUT, onBtnRollOut); while (_cameraBtn.numChildren) { _cameraBtn.removeChildAt(0); }; _cameraBtn = null; } private function onBtnClicked(_arg1:MouseEvent):void{ onSwitchCameraMode(); } private function onBtnRollOver(_arg1:MouseEvent):void{ if (((((((CommonVals.gameLocked) || (CommonVals.gamePaused))) || (_cameraModeLock))) && (!(_cameraMode)))){ _cameraBtn.gotoAndStop(1); } else { _cameraBtn.gotoAndStop(2); }; } private function onBtnRollOut(_arg1:MouseEvent):void{ if (_cameraMode){ _cameraBtn.gotoAndStop(2); } else { _cameraBtn.gotoAndStop(1); }; } public static function getInstance():CameraModeControl{ if (_instance == null){ _instance = new CameraModeControl(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.control class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 129
//GameContactListener (com.tinime.control.GameContactListener) package com.tinime.control { import com.tinime.actors.*; import com.tinime.data.*; import com.tinime.objects.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class GameContactListener extends b2ContactListener { override public function Add(_arg1:b2ContactPoint):void{ var _local2:Object = _arg1.shape1.GetBody().GetUserData(); var _local3:Object = _arg1.shape2.GetBody().GetUserData(); if ((((_local2 is TeleTransmissionActor)) && ((_local3 is AnimalActor)))){ TeleTransmissionActor(_local2).absorbAnimal(AnimalActor(_local3)); }; if ((((_local3 is TeleTransmissionActor)) && ((_local2 is AnimalActor)))){ TeleTransmissionActor(_local3).absorbAnimal(AnimalActor(_local2)); }; if ((((((_local2 is HaloActor)) && ((_local3 is String)))) && ((_local3 == CommonVals.SCENE_BLOCK)))){ HaloActor(_local2).hide(); }; if ((((((_local3 is HaloActor)) && ((_local2 is String)))) && ((_local2 == CommonVals.SCENE_BLOCK)))){ HaloActor(_local3).hide(); }; if ((((((((_local2 is UfoActor)) && ((_local3 is String)))) && ((_local3 == CommonVals.MALICIOUS_BLOCK)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ UfoActor(_local2).explode(); }; if ((((((((_local3 is UfoActor)) && ((_local2 is String)))) && ((_local2 == CommonVals.MALICIOUS_BLOCK)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ UfoActor(_local3).explode(); }; if ((((((_local2 is UfoActor)) && ((_local3 == CommonVals.LASER_BEAM)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ UfoActor(_local2).explode(); }; if ((((((_local3 is UfoActor)) && ((_local2 == CommonVals.LASER_BEAM)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ UfoActor(_local3).explode(); }; if ((((((_local2 is UfoActor)) && ((_local3 is HiddenBlockActor)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ HiddenBlockActor(_local3).onContact(); }; if ((((((_local3 is UfoActor)) && ((_local2 is HiddenBlockActor)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ HiddenBlockActor(_local2).onContact(); }; if ((((((_local2 is AnimalActor)) && ((_local3 is String)))) && ((_local3 == CommonVals.MALICIOUS_BLOCK)))){ AnimalActor(_local2).die(); }; if ((((((_local3 is AnimalActor)) && ((_local2 is String)))) && ((_local2 == CommonVals.MALICIOUS_BLOCK)))){ AnimalActor(_local3).die(); }; if ((((_local2 is AnimalActor)) && ((_local3 == CommonVals.LASER_BEAM)))){ AnimalActor(_local2).die(); }; if ((((_local3 is AnimalActor)) && ((_local2 == CommonVals.LASER_BEAM)))){ AnimalActor(_local3).die(); }; if ((((_local2 is AnimalActor)) && ((_local3 is SpinyStickActor)))){ AnimalActor(_local2).die(); }; if ((((_local3 is AnimalActor)) && ((_local2 is SpinyStickActor)))){ AnimalActor(_local3).die(); }; if ((((_local2 is CannonBallActor)) && ((_local3 == CommonVals.LASER_BEAM)))){ CannonBallActor(_local2)._immediateExplode = true; CannonBallActor(_local2).explode(); }; if ((((_local3 is CannonBallActor)) && ((_local2 == CommonVals.LASER_BEAM)))){ CannonBallActor(_local3)._immediateExplode = true; CannonBallActor(_local3).explode(); }; if ((((_local2 is DebrisActor)) && ((_local3 == CommonVals.LASER_BEAM)))){ DebrisActor(_local2).explode(); }; if ((((_local3 is DebrisActor)) && ((_local2 == CommonVals.LASER_BEAM)))){ DebrisActor(_local3).explode(); }; if ((((_local2 is StarTokenActor)) && ((_local3 is UfoActor)))){ if (_arg1.shape2 != UfoActor(_local3).body.GetShapeList()){ StarTokenActor(_local2).touch(); }; }; if ((((_local3 is StarTokenActor)) && ((_local2 is UfoActor)))){ if (_arg1.shape1 != UfoActor(_local2).body.GetShapeList()){ StarTokenActor(_local3).touch(); }; }; if ((((_local2 is CannonBallActor)) && ((_local3 is UfoActor)))){ if (_arg1.shape2 != UfoActor(_local3).body.GetShapeList()){ CannonBallActor(_local2)._immediateExplode = true; CannonBallActor(_local2).explode(); UfoActor(_local3).explode(); }; }; if ((((_local3 is CannonBallActor)) && ((_local2 is UfoActor)))){ if (_arg1.shape1 != UfoActor(_local2).body.GetShapeList()){ CannonBallActor(_local3)._immediateExplode = true; CannonBallActor(_local3).explode(); UfoActor(_local2).explode(); }; }; if ((((_local2 is UfoSpawner)) && ((_local3 is UfoActor)))){ if (_arg1.shape2 != UfoActor(_local3).body.GetShapeList()){ UfoSpawner(_local2).touch(); }; }; if ((((_local3 is UfoSpawner)) && ((_local2 is UfoActor)))){ if (_arg1.shape1 != UfoActor(_local2).body.GetShapeList()){ UfoSpawner(_local3).touch(); }; }; if ((((_local2 is BumperActor)) && ((_local3 is UfoActor)))){ if (_arg1.shape2 != UfoActor(_local3).body.GetShapeList()){ BumperActor(_local2).touch(); }; }; if ((((_local3 is BumperActor)) && ((_local2 is UfoActor)))){ if (_arg1.shape1 != UfoActor(_local2).body.GetShapeList()){ BumperActor(_local3).touch(); }; }; if ((((_local2 is BumperActor)) && ((_local3 is AnimalActor)))){ BumperActor(_local2).touch(); }; if ((((_local3 is BumperActor)) && ((_local2 is AnimalActor)))){ BumperActor(_local3).touch(); }; if ((((_local2 is BumperActor)) && ((_local3 is TrashCanActor)))){ BumperActor(_local2).touch(); }; if ((((_local3 is BumperActor)) && ((_local2 is TrashCanActor)))){ BumperActor(_local3).touch(); }; if ((((((_local2 is FloatBombActor)) && ((_local3 is UfoActor)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ UfoActor(_local3).explode(); }; if ((((((_local3 is FloatBombActor)) && ((_local2 is UfoActor)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ UfoActor(_local2).explode(); }; if ((((((_local2 is KeyActor)) && ((_local3 is UfoActor)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ KeyActor(_local2).trigger(); }; if ((((((_local3 is KeyActor)) && ((_local2 is UfoActor)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ KeyActor(_local3).trigger(); }; if ((((((_local2 is TriggerActor)) && ((_local3 is UfoActor)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ TriggerActor(_local2).trigger(); }; if ((((((_local3 is TriggerActor)) && ((_local2 is UfoActor)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ TriggerActor(_local3).trigger(); }; if ((((((_local2 is SpinyBallActor)) && ((_local3 is UfoActor)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ UfoActor(_local3).explode(); }; if ((((((_local3 is SpinyBallActor)) && ((_local2 is UfoActor)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ UfoActor(_local2).explode(); }; if ((((((_local2 is SpinyStickActor)) && ((_local3 is UfoActor)))) && (!((_arg1.shape2 == UfoActor(_local3).body.GetShapeList()))))){ UfoActor(_local3).explode(); }; if ((((((_local3 is SpinyStickActor)) && ((_local2 is UfoActor)))) && (!((_arg1.shape1 == UfoActor(_local2).body.GetShapeList()))))){ UfoActor(_local2).explode(); }; if ((((_local2 is FloatBombActor)) && ((_local3 is AnimalActor)))){ AnimalActor(_local3).die(); }; if ((((_local3 is FloatBombActor)) && ((_local2 is AnimalActor)))){ AnimalActor(_local2).die(); }; if ((((_local2 is CarActor)) && ((_local3 is AnimalActor)))){ AnimalActor(_local3).contactCar(); }; if ((((_local3 is CarActor)) && ((_local2 is AnimalActor)))){ AnimalActor(_local2).contactCar(); }; if ((((_local2 is SpinyBallActor)) && ((_local3 is AnimalActor)))){ AnimalActor(_local3).die(); }; if ((((_local3 is SpinyBallActor)) && ((_local2 is AnimalActor)))){ AnimalActor(_local2).die(); }; if ((((_local2 is FloatBombActor)) && ((_local3 is TrashCanActor)))){ FloatBombActor(_local2).explode(); }; if ((((_local3 is FloatBombActor)) && ((_local2 is TrashCanActor)))){ FloatBombActor(_local3).explode(); }; if ((((_local2 is FloatBombActor)) && ((_local3 is SpinyBallActor)))){ FloatBombActor(_local2).explode(); }; if ((((_local3 is FloatBombActor)) && ((_local2 is SpinyBallActor)))){ FloatBombActor(_local3).explode(); }; super.Add(_arg1); } } }//package com.tinime.control
Section 130
//GameLoopControl (com.tinime.control.GameLoopControl) package com.tinime.control { import com.tinime.event.*; import FGL.GameTracker.*; import com.tinime.view.*; import com.tinime.levels.*; import flash.display.*; import com.tinime.data.*; import flash.events.*; public class GameLoopControl { private var _actorsManager:ActorsManager; private var _ifNeedReplayMenuMusic:Boolean;// = true private var _gameEventDispatcher:GameEventDispatcher; private var _uiEventListener:UIEventDispatcher; public var gameTracker:GameTracker; private static var _instance:GameLoopControl; public function GameLoopControl(_arg1:SingletonEnforcer){ _gameEventDispatcher = GameEventDispatcher.getInstance(); _uiEventListener = UIEventDispatcher.getInstance(); gameTracker = new GameTracker(); super(); } public function initGame(_arg1:Sprite):void{ Input.initialize(_arg1); UIManager.stage = _arg1; Camera.stage = _arg1; TimeController.initial(); LivesControl.initiateLives(); LevelsData.init(); SaveManager.readLevelInfo(); SaveManager.readMedalsInfo(); gameTracker.beginGame(0); _actorsManager = ActorsManager.getInstance(); enterLogoScreen(); } private function enterLogoScreen():void{ var onLogoScreenReady:Function; var onBitmapAnimDataReady:Function; onLogoScreenReady = function (_arg1:UIEvent):void{ _uiEventListener.removeEventListener(UIEvent.LOGO_SCREEN_READY, onLogoScreenReady); _gameEventDispatcher.addEventListener(GameEvent.ANIMATED_BITMAP_DATA_READY, onBitmapAnimDataReady); BitmapAnimManager.getInstance().initBitmapAnimData(); UIManager.showAnimBitmapInitStatus(); }; onBitmapAnimDataReady = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.ANIMATED_BITMAP_DATA_READY, onBitmapAnimDataReady); enterMenuScreen(); }; _uiEventListener.addEventListener(UIEvent.LOGO_SCREEN_READY, onLogoScreenReady); UIManager.showLogoScreen(); } private function enterMenuScreen(_arg1:GameEvent=null):void{ CommonVals.allLevelComplete = false; _gameEventDispatcher.removeEventListener(GameEvent.SHOW_MENU_SCREEN, enterMenuScreen); TutorialManager.resetTutorial(); UIManager.showMenuScreen(_ifNeedReplayMenuMusic); addMenuEvent(); CommonVals.controllerSetted = false; } private function enterScoresScreen(_arg1:GameEvent=null):void{ _ifNeedReplayMenuMusic = false; clearMenuEvent(); UIManager.showScoresScreen(); _gameEventDispatcher.addEventListener(GameEvent.SHOW_MENU_SCREEN, enterMenuScreen); } private function enterCreditsScreen(_arg1:GameEvent=null):void{ _ifNeedReplayMenuMusic = false; clearMenuEvent(); UIManager.showCreditsScreen(); _gameEventDispatcher.addEventListener(GameEvent.SHOW_MENU_SCREEN, enterMenuScreen); } private function enterMedalScreen(_arg1:GameEvent=null):void{ _ifNeedReplayMenuMusic = false; clearMenuEvent(); UIManager.showMedalScreen(); _gameEventDispatcher.addEventListener(GameEvent.SHOW_MENU_SCREEN, enterMenuScreen); } private function enterLevelScreen(_arg1:GameEvent=null):void{ _ifNeedReplayMenuMusic = false; clearMenuEvent(); UIManager.showLevelScreen(); _gameEventDispatcher.addEventListener(GameEvent.SHOW_MENU_SCREEN, enterMenuScreen); _gameEventDispatcher.addEventListener(GameEvent.SHOW_GAME_PLAY_SCREEN, enterGamePlayScreen); } private function enterGamePlayScreen(_arg1:GameEvent=null):void{ var onPlayScreenReady:Function; var onQuitControllerPanel:Function; var onMouseMove:Function; var e = _arg1; onPlayScreenReady = function (_arg1:UIEvent):void{ UIEventDispatcher.getInstance().removeEventListener(UIEvent.PLAY_SCREEN_READY, onPlayScreenReady); SoundManager.playGameLoop(); CommonVals.gamePaused = false; CommonVals.gameLocked = false; CommonVals.ufoMouseLocked = true; if (CommonVals.controllerSetted == false){ UIEventDispatcher.getInstance().addEventListener(UIEvent.QUIT_CONTROLLER_PANEL, onQuitControllerPanel); Camera.getInstance().showControllerPanel(); } else { TutorialManager.displayTutorial(); startGamePlayListeners(); LevelController.getInstance().checkCurCowNum(); UIManager.stage.addEventListener(Event.ENTER_FRAME, onMouseMove); }; }; onQuitControllerPanel = function (_arg1:UIEvent):void{ UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_CONTROLLER_PANEL, onQuitControllerPanel); TutorialManager.displayTutorial(); startGamePlayListeners(); LevelController.getInstance().checkCurCowNum(); }; onMouseMove = function (_arg1:Event):void{ if (++moveCount > 60){ UIManager.stage.removeEventListener(Event.ENTER_FRAME, onMouseMove); CommonVals.ufoMouseLocked = false; }; }; _ifNeedReplayMenuMusic = true; if (_gameEventDispatcher.hasEventListener(GameEvent.SHOW_GAME_PLAY_SCREEN)){ _gameEventDispatcher.removeEventListener(GameEvent.SHOW_GAME_PLAY_SCREEN, enterGamePlayScreen); }; if (_gameEventDispatcher.hasEventListener(GameEvent.SHOW_MENU_SCREEN)){ _gameEventDispatcher.removeEventListener(GameEvent.SHOW_MENU_SCREEN, enterMenuScreen); }; stopGamePlayListeners(); TriggerController.initial(); UfoSpawnController.initial(); if (Input.inputStopped){ Input.resumeInput(); }; UIEventDispatcher.getInstance().addEventListener(UIEvent.PLAY_SCREEN_READY, onPlayScreenReady); UIManager.showGamePlayScreen(); var moveCount:int; } private function onLevelComplete(_arg1:GameEvent=null):void{ var onStartNextLevel:Function; var onQuitGame:Function; var e = _arg1; onStartNextLevel = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.START_NEXT_LEVEL, onStartNextLevel); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); ScoreManager.levelScoreNum = 0; LevelController.curLevelNum = (LevelController.curLevelNum + 1); gameTracker.beginLevel(LevelController.curLevelNum, ScoreManager.scoreNum); enterGamePlayScreen(); }; onQuitGame = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.START_NEXT_LEVEL, onStartNextLevel); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); quitGame(); }; CommonVals.gamePaused = true; CommonVals.gameLocked = true; MedalsManager.checkLevelAchievements(); gameTracker.endLevel(ScoreManager.scoreNum, null, null); Camera.getInstance().showLevelCompletePanel(); _gameEventDispatcher.addEventListener(GameEvent.START_NEXT_LEVEL, onStartNextLevel); _gameEventDispatcher.addEventListener(GameEvent.QUIT_GAME, onQuitGame); } private function onRebuildLevel(_arg1:GameEvent=null):void{ CommonVals.gamePaused = true; CommonVals.gameLocked = true; enterGamePlayScreen(); } private function onGameOver(_arg1:GameEvent):void{ var onRestartGame:Function; var onQuitGame:Function; var e = _arg1; onRestartGame = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.RESTART_LEVEL, onRestartGame); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); LivesControl.initiateLives(); LivesControl.starCount = 0; ScoreManager.scoreNum = 0; ScoreManager.levelScoreNum = 0; onRebuildLevel(); }; onQuitGame = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.RESTART_LEVEL, onRestartGame); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); LivesControl.initiateLives(); LivesControl.starCount = 0; ScoreManager.scoreNum = 0; ScoreManager.levelScoreNum = 0; quitGame(); }; CommonVals.gamePaused = true; CommonVals.gameLocked = true; stopGamePlayListeners(); _gameEventDispatcher.addEventListener(GameEvent.RESTART_LEVEL, onRestartGame); _gameEventDispatcher.addEventListener(GameEvent.QUIT_GAME, onQuitGame); Camera.getInstance().showGameOverPanel(); } private function onGamePaused(_arg1:GameEvent):void{ var onRestartLevel:Function; var onQuitGame:Function; var onGameResume:Function; var e = _arg1; onRestartLevel = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.RESTART_LEVEL, onRestartLevel); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); _gameEventDispatcher.removeEventListener(GameEvent.GAME_RESUMED, onGameResume); LivesControl.initiateLives(); ScoreManager.scoreNum = 0; ScoreManager.levelScoreNum = 0; onRebuildLevel(); }; onQuitGame = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.RESTART_LEVEL, onRestartLevel); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); _gameEventDispatcher.removeEventListener(GameEvent.GAME_RESUMED, onGameResume); quitGame(); }; onGameResume = function (_arg1:GameEvent):void{ _gameEventDispatcher.removeEventListener(GameEvent.RESTART_LEVEL, onRestartLevel); _gameEventDispatcher.removeEventListener(GameEvent.QUIT_GAME, onQuitGame); _gameEventDispatcher.removeEventListener(GameEvent.GAME_RESUMED, onGameResume); startGamePlayListeners(); Camera.getInstance().hideGamePausedPanel(); }; if (((CommonVals.gameLocked) || (CommonVals.gamePaused))){ return; }; CommonVals.gamePaused = true; CommonVals.gameLocked = true; stopGamePlayListeners(); Camera.getInstance().showGamePausedPanel(); _gameEventDispatcher.addEventListener(GameEvent.RESTART_LEVEL, onRestartLevel); _gameEventDispatcher.addEventListener(GameEvent.QUIT_GAME, onQuitGame); _gameEventDispatcher.addEventListener(GameEvent.GAME_RESUMED, onGameResume); } private function onAllLevelComplete(_arg1:GameEvent):void{ CommonVals.gamePaused = true; CommonVals.gameLocked = true; UIManager.showAllLevelComplete(); } private function quitGame():void{ var onScreenCovered:Function; onScreenCovered = function (_arg1:Event):void{ _uiEventListener.removeEventListener(UIEvent.SCREEN_COVERED, onScreenCovered); LevelController.getInstance().removeData(); Camera.getInstance().removeAllLayers(); }; CommonVals.gamePaused = true; CommonVals.gameLocked = true; _uiEventListener.addEventListener(UIEvent.SCREEN_COVERED, onScreenCovered); LivesControl.initiateLives(); ScoreManager.scoreNum = 0; ScoreManager.levelScoreNum = 0; enterMenuScreen(); } private function stepGame(_arg1:Event):void{ if (((CommonVals.gamePaused) || (CommonVals.gameLocked))){ return; }; PhysicsVals.world.Step(TimeController.getTimeStep(), 15); _actorsManager.update(); } private function startGamePlayListeners():void{ UIManager.stage.addEventListener(Event.ENTER_FRAME, stepGame); _gameEventDispatcher.addEventListener(GameEvent.LEVEL_COMPLETE, onLevelComplete); _gameEventDispatcher.addEventListener(GameEvent.REBUILD_LEVEL, onRebuildLevel); _gameEventDispatcher.addEventListener(GameEvent.GAME_OVER, onGameOver); _gameEventDispatcher.addEventListener(GameEvent.GAME_PAUSED, onGamePaused); _gameEventDispatcher.addEventListener(GameEvent.ALL_LEVELS_COMPLETE, onAllLevelComplete); } private function stopGamePlayListeners():void{ UIManager.stage.removeEventListener(Event.ENTER_FRAME, stepGame); _gameEventDispatcher.removeEventListener(GameEvent.LEVEL_COMPLETE, onLevelComplete); _gameEventDispatcher.removeEventListener(GameEvent.REBUILD_LEVEL, onRebuildLevel); _gameEventDispatcher.removeEventListener(GameEvent.GAME_OVER, onGameOver); _gameEventDispatcher.removeEventListener(GameEvent.GAME_PAUSED, onGamePaused); _gameEventDispatcher.removeEventListener(GameEvent.ALL_LEVELS_COMPLETE, onAllLevelComplete); } private function addMenuEvent():void{ _gameEventDispatcher.addEventListener(GameEvent.SHOW_LEVEL_SCREEN, enterLevelScreen); _gameEventDispatcher.addEventListener(GameEvent.SHOW_CREDITS_SCREEN, enterCreditsScreen); _gameEventDispatcher.addEventListener(GameEvent.SHOW_MEDAL_SCREEN, enterMedalScreen); _gameEventDispatcher.addEventListener(GameEvent.SHOW_SCORE_SCREEN, enterScoresScreen); } private function clearMenuEvent():void{ _gameEventDispatcher.removeEventListener(GameEvent.SHOW_LEVEL_SCREEN, enterLevelScreen); _gameEventDispatcher.removeEventListener(GameEvent.SHOW_CREDITS_SCREEN, enterCreditsScreen); _gameEventDispatcher.removeEventListener(GameEvent.SHOW_MEDAL_SCREEN, enterMedalScreen); _gameEventDispatcher.removeEventListener(GameEvent.SHOW_SCORE_SCREEN, enterScoresScreen); } public static function getInstance():GameLoopControl{ if (_instance == null){ _instance = new GameLoopControl(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.control class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 131
//Input (com.tinime.control.Input) package com.tinime.control { import flash.events.*; import flash.display.*; import com.tinime.data.*; import com.tinime.event.*; public class Input extends EventDispatcher { public static const UP:uint = 38; public static const DOWN:uint = 40; public static const LEFT:uint = 37; public static const RIGHT:uint = 39; public static const W:uint = 87; public static const A:uint = 65; public static const S:uint = 83; public static const D:uint = 68; public static const SPACE:uint = 32; public static const ENTER:uint = 13; public static const ESC:uint = 27; public static var ctrKeyArr:Array; private static var validCtrKeys:Array; private static var _stage:Stage; public static var spaceHold:Boolean = false; public static var inputStopped:Boolean = false; public static var isControledByMouse:Boolean = false; public static var MouseDown:Boolean = false; public static function initialize(_arg1:Sprite):void{ _stage = _arg1.stage; ctrKeyArr = new Array(); validCtrKeys = [UP, DOWN, LEFT, RIGHT, W, A, S, D]; _stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPress); _stage.addEventListener(KeyboardEvent.KEY_UP, keyRelease); _stage.addEventListener(Event.DEACTIVATE, onDeactive); _stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); } private static function onMouseUp(_arg1:MouseEvent):void{ MouseDown = false; } private static function onMouseDown(_arg1:MouseEvent):void{ MouseDown = true; } private static function onDeactive(_arg1:Event):void{ MouseDown = false; spaceHold = false; ctrKeyArr = []; } public static function stopInput():void{ inputStopped = true; _stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPress); _stage.removeEventListener(KeyboardEvent.KEY_UP, keyRelease); _stage.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); spaceHold = false; ctrKeyArr = []; } public static function resumeInput():void{ inputStopped = false; _stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPress); _stage.addEventListener(KeyboardEvent.KEY_UP, keyRelease); _stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); } private static function keyRelease(_arg1:KeyboardEvent):void{ var _local2:uint = _arg1.keyCode; var _local3:int = ctrKeyArr.indexOf(_local2); if (_local3 != -1){ ctrKeyArr.splice(_local3, 1); } else { if (_local2 == SPACE){ spaceHold = false; }; }; } private static function keyPress(_arg1:KeyboardEvent):void{ var _local2:uint = _arg1.keyCode; if (validCtrKeys.indexOf(_local2) != -1){ if (ctrKeyArr.indexOf(_local2) == -1){ ctrKeyArr.push(_local2); }; } else { if (_local2 == SPACE){ spaceHold = true; } else { if (_local2 == ENTER){ CameraModeControl.getInstance().onSwitchCameraMode(); } else { if (_local2 == ESC){ if (!(CommonVals.gameLocked)){ GameEventDispatcher.getInstance().onGamePaused(); }; }; }; }; }; } } }//package com.tinime.control
Section 132
//LevelController (com.tinime.control.LevelController) package com.tinime.control { import com.tinime.event.*; import flash.display.*; import com.tinime.view.*; import com.tinime.levels.*; import Box2D.Dynamics.*; import com.tinime.actors.*; import com.tinime.objects.*; import SWFStats.*; import flash.geom.*; import com.tinime.data.*; import flash.utils.*; import flash.events.*; public class LevelController extends EventDispatcher { private var _levelSprite:Sprite; private var _curLevelLowerBound:Point; private var _curLevelUpperBound:Point; private var _curLevelWidth:int; private var _curLevelHeight:int; private var _camera:Camera; private var _curLevel:LevelDataPrototype; private var _stillBodyArr:Array; private var _objectArr:Array; private var _cow:CowActor; private var _curCowNum:int;// = 0 private var _totalCowNum:int;// = 0 private var _catSavedNum:int;// = 0 private var _dogSavedNum:int;// = 0 private var _starSavedNum:int;// = 0 private var _gameEventDispatcher:GameEventDispatcher; private var _actorsManager:ActorsManager; private var _objRecordArr:Array; private var _actorRecordArr:Array; private var _isInitialWithRecord:Boolean;// = false private var _isConntrolledByMouse:Boolean;// = true public static var curLevelNum:int = 1; public static var _ufo:UfoActor; public static var isGameLocked:Boolean = false; public static var levelUnleashed:int = 1; private static var _instance:LevelController; public function LevelController(_arg1:SingletonEnforcer){ _gameEventDispatcher = GameEventDispatcher.getInstance(); _actorsManager = ActorsManager.getInstance(); super(); } public function initialize():void{ _levelSprite = new Sprite(); _camera = Camera.getInstance(); _curLevel = LevelsData.getLevelData((curLevelNum - 1)); if (curLevelNum > levelUnleashed){ levelUnleashed = curLevelNum; SaveManager.saveLevelInfo(); }; if (((!(_isInitialWithRecord)) || ((curLevelNum == 20)))){ _objRecordArr = new Array(); _actorRecordArr = new Array(); _starSavedNum = 0; _curCowNum = 0; _totalCowNum = 0; _catSavedNum = 0; _dogSavedNum = 0; }; } public function buildLevel():void{ var _local5:Class; var _local6:Sprite; var _local16:Array; var _local17:b2Body; var _local18:Array; var _local19:b2Body; var _local20:Array; var _local21:TeleTransmissionActor; var _local22:StarTokenActor; var _local23:FloatBombActor; var _local24:LaserProjector; var _local25:HiddenBlockActor; var _local26:BumperActor; var _local27:UfoSpawner; var _local28:UfoBlock; var _local29:Array; var _local30:CowActor; var _local31:DogActor; var _local32:CatActor; var _local33:TrashCanActor; var _local34:SpinyBallActor; var _local35:KeyActor; var _local36:WindmillFanActor; var _local37:DoorActor; var _local38:CarActor; var _local39:CannonActor; var _local40:BreakableSquareActor; var _local41:TriggerActor; var _local42:SpinyStickActor; var _local43:MovableStickBlockActor; var _local44:Gear1Actor; var _local45:Gear2Actor; var _local46:AnimalCarSpawner; Log.LevelCounterMetric("StartPlayLevel", ("Level" + curLevelNum)); _curLevelWidth = _curLevel.levelWidth; _curLevelHeight = _curLevel.levelHeight; _camera.setSceneBounds(_curLevelWidth, _curLevelHeight); _camera.setBglayerBounds(_curLevel.bgLayerWidth, _curLevel.bgLayerHeight); _camera.moveTo(new Point((_curLevel.ufoPos.x - (CommonVals.STAGE_WIDTH * 0.5)), (_curLevel.ufoPos.y - (CommonVals.STAGE_HEIGHT * 0.5)))); var _local1:Class = (getDefinitionByName(("FrontLayerLevel" + curLevelNum)) as Class); var _local2:Sprite = new (_local1); var _local3:BitmapData = new BitmapData(_curLevelWidth, _curLevelHeight, true, 0xFF0000); _local3.draw(_local2); var _local4:Bitmap = new Bitmap(_local3); _camera.frontLayer.addChild(_local4); _camera.frontLayerBitMap = _local4; _camera.prepareNightBgLayer(_curLevel.sceneType); _stillBodyArr = new Array(); var _local7:Array = _curLevel.stillTerrain; var _local8:int = _local7.length; var _local9:int; while (_local9 < _local8) { _local16 = _local7[_local9]; _local17 = Box2dObjSpawner.buildBody(_local16, CommonVals.SCENE_BLOCK, new Point(0, 0), 0, 0.7); _stillBodyArr.push(_local17); _local9++; }; var _local10:Array = _curLevel.maliciousRegion; var _local11:int = _local10.length; _local9 = 0; while (_local9 < _local11) { _local18 = _local10[_local9]; _local19 = Box2dObjSpawner.buildBody(_local18, CommonVals.MALICIOUS_BLOCK, new Point(0, 0), 0, 10); _stillBodyArr.push(_local19); _local9++; }; if (_curLevel.ufoSpawnable){ UfoSpawnController.add(new UfoSpawner(_camera.frontLayer, _curLevel.ufoPos, true)); }; _objectArr = new Array(); var _local12:Array = _curLevel.objects; var _local13:int = _local12.length; _local9 = 0; while (_local9 < _local13) { if (_isInitialWithRecord){ //unresolved if } else { _local20 = _local12[_local9]; switch (_local20[0]){ case CommonVals.TELE_TRANSMISSION: _local21 = new TeleTransmissionActor(_camera.frontLayer, new Point(_local20[1], _local20[2]), _local20[3], _local20[4]); _actorsManager.add(_local21); break; case CommonVals.STAR_TOKEN: _local22 = new StarTokenActor(_camera.frontLayer, new Point(_local20[1], _local20[2])); _actorsManager.add(_local22); _local22.setRecordNum(_local9); break; case CommonVals.FLOAT_BOMB: _local23 = new FloatBombActor(_camera.frontLayer, new Point(_local20[1], _local20[2]), _local20[3]); _actorsManager.add(_local23); break; case CommonVals.LASER_PROJECTOR: _local24 = new LaserProjector(_camera.frontLayer, new Point(_local20[1], _local20[2]), _local20[3], _local20[4], _local20[5]); TriggerController.triggeredTargetArr[_local20[6]].push(_local24); _objectArr.push(_local24); break; case CommonVals.HIDDEN_BLOCK_OBJECT: _local25 = new HiddenBlockActor(_camera.topLayer, new Point(_local20[1], _local20[2]), _local20[3], _local20[4], curLevelNum); _actorsManager.add(_local25); break; case CommonVals.BUMPER: _local26 = new BumperActor(_camera.frontLayer, new Point(_local20[1], _local20[2]), _local20[3]); _actorsManager.add(_local26); break; case CommonVals.UFO_SPAWNER_INACTIVE: _local27 = new UfoSpawner(_camera.frontLayer, new Point(_local20[1], _local20[2]), _local20[3]); UfoSpawnController.add(_local27); _objectArr.push(_local27); break; case CommonVals.UFO_BLOCK: _local28 = new UfoBlock(_local20[1]); _objectArr.push(_local28); break; default: break; }; }; _local9++; }; var _local14:Array = _curLevel.actors; var _local15:int = _local14.length; _local9 = 0; while (_local9 < _local15) { if (_isInitialWithRecord){ //unresolved if } else { _local29 = _local14[_local9]; switch (_local29[0]){ case CommonVals.COW: _local30 = new CowActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3]); _actorsManager.add(_local30); _local30.setRecordNum(_local9); if (((!(_isInitialWithRecord)) || ((curLevelNum == 20)))){ _curCowNum++; _totalCowNum++; }; break; case CommonVals.DOG: _local31 = new DogActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3]); _actorsManager.add(_local31); _local31.setRecordNum(_local9); break; case CommonVals.CAT: _local32 = new CatActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3]); _actorsManager.add(_local32); _local32.setRecordNum(_local9); break; case CommonVals.TrashCan: _local33 = new TrashCanActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4]); _actorsManager.add(_local33); break; case CommonVals.SPINY_BALL: _local34 = new SpinyBallActor(_camera.frontLayer, _local29[1], _local29[2], _local29[3]); _actorsManager.add(_local34); break; case CommonVals.KEY: _local35 = new KeyActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4]); _actorsManager.add(_local35); break; case CommonVals.WINDMILL_FAN: _local36 = new WindmillFanActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5]); _actorsManager.add(_local36); break; case CommonVals.DOOR: _local37 = new DoorActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5], _local29[6]); TriggerController.triggeredTargetArr[_local29[7]].push(_local37); _actorsManager.add(_local37); break; case CommonVals.CAR: _local38 = new CarActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3]); _actorsManager.add(_local38); break; case CommonVals.CANNON: _local39 = new CannonActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5], _local29[6], _local29[7]); _actorsManager.add(_local39); break; case CommonVals.BREAKABLE_SQUARE: _local40 = new BreakableSquareActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4]); _actorsManager.add(_local40); break; case CommonVals.TRIGGER: _local41 = new TriggerActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3]); _actorsManager.add(_local41); break; case CommonVals.SPINY_STICK: _local42 = new SpinyStickActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5], _local29[6]); TriggerController.triggeredTargetArr[_local29[7]].push(_local42); _actorsManager.add(_local42); break; case CommonVals.MOVABLE_STICK_BLOCK: _local43 = new MovableStickBlockActor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5], _local29[6], _local29[7]); _actorsManager.add(_local43); break; case CommonVals.GEAR1: _local44 = new Gear1Actor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5], _local29[6]); _actorsManager.add(_local44); break; case CommonVals.GEAR2: _local45 = new Gear2Actor(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5], _local29[6]); _actorsManager.add(_local45); break; case CommonVals.ANIMAL_CAR_SPAWNER: _local46 = new AnimalCarSpawner(_camera.frontLayer, new Point(_local29[1], _local29[2]), _local29[3], _local29[4], _local29[5]); if (_local29[3] == CommonVals.COW){ _curCowNum++; _totalCowNum++; }; _actorsManager.add(_local46); TriggerController.triggeredTargetArr[_local29[6]].push(_local46); break; default: break; }; }; _local9++; }; _ufo = new UfoActor(_camera.frontLayer, _curLevel.ufoPos, _camera); _actorsManager.add(_ufo); _gameEventDispatcher.addEventListener(GameEvent.COW_TRANSFERED, onCowTransfered); _gameEventDispatcher.addEventListener(GameEvent.UFO_EXPLODED, onUfoExploded); _gameEventDispatcher.addEventListener(GameEvent.COW_DEAD, onCowDead); _isInitialWithRecord = false; _ufo.activate(); _camera.updateCowNum(_curCowNum, _totalCowNum); } public function removeData():void{ var _local1:b2Body; var _local2:GameObject; _actorsManager.removeAllActors(); for each (_local1 in _stillBodyArr) { PhysicsVals.world.DestroyBody(_local1); }; for each (_local2 in _objectArr) { _local2.destroy(); }; _stillBodyArr = []; _objectArr = []; if (_gameEventDispatcher.hasEventListener(GameEvent.COW_TRANSFERED)){ _gameEventDispatcher.removeEventListener(GameEvent.COW_TRANSFERED, onCowTransfered); _gameEventDispatcher.removeEventListener(GameEvent.UFO_EXPLODED, onUfoExploded); _gameEventDispatcher.removeEventListener(GameEvent.COW_DEAD, onCowDead); }; } public function updateObjRecordArr(_arg1:int):void{ _objRecordArr.push(_arg1); } public function updateActorRecordArr(_arg1:int):void{ _actorRecordArr.push(_arg1); } private function onCowDead(_arg1:GameEvent):void{ Log.LevelCounterMetric("Death", ("Level" + curLevelNum)); LivesControl.lostLife(true); if (LivesControl.curLives > 0){ _isInitialWithRecord = true; _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.REBUILD_LEVEL)); } else { _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.GAME_OVER)); }; } private function onUfoExploded(_arg1:GameEvent):void{ Log.LevelCounterMetric("Death", ("Level" + curLevelNum)); LivesControl.lostLife(false); if (LivesControl.curLives > 0){ if (_curLevel.ufoSpawnable){ UfoSpawnController.spawnNewUfo(_ufo); } else { _isInitialWithRecord = true; _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.REBUILD_LEVEL)); }; } else { _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.GAME_OVER)); }; } public function checkCurCowNum():void{ if (_curCowNum == 0){ _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.LEVEL_COMPLETE)); }; } private function onCowTransfered(_arg1:GameEvent):void{ _curCowNum--; if (_curCowNum == 0){ _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.LEVEL_COMPLETE)); }; _camera.updateCowNum(_curCowNum, _totalCowNum); } public function get catSavedNum():int{ return (_catSavedNum); } public function set catSavedNum(_arg1:int):void{ _catSavedNum = _arg1; } public function get dogSavedNum():int{ return (_dogSavedNum); } public function set dogSavedNum(_arg1:int):void{ _dogSavedNum = _arg1; } public function get starSavedNum():int{ return (_starSavedNum); } public function set starSavedNum(_arg1:int):void{ _starSavedNum = _arg1; } public function get totalCowNum():int{ return (_totalCowNum); } public function set totalCowNum(_arg1:int):void{ _totalCowNum = _arg1; } public function get isInitialWithRecord():Boolean{ return (_isInitialWithRecord); } public function set isInitialWithRecord(_arg1:Boolean):void{ _isInitialWithRecord = _arg1; } public function get isConntrolledByMouse():Boolean{ return (_isConntrolledByMouse); } public function set isConntrolledByMouse(_arg1:Boolean):void{ _isConntrolledByMouse = _arg1; } public static function getInstance():LevelController{ if (_instance == null){ _instance = new LevelController(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.control class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 133
//LivesControl (com.tinime.control.LivesControl) package com.tinime.control { import com.tinime.view.*; import flash.geom.*; public class LivesControl { public static var curLives:Number; public static var starCount:Number; public static var starNeedToAddLife:Number = 40; private static var totalStar:Number; private static var ufoDeadCount:Number = 0; private static var cowDeadCount:Number = 0; public static function initiateLives():void{ curLives = 5; starCount = 0; totalStar = 0; } public static function lostLife(_arg1:Boolean):void{ if (_arg1){ MedalsManager.checkButcherAchievements(++cowDeadCount); } else { MedalsManager.checkTormentAchievements(++ufoDeadCount); }; curLives--; Camera.getInstance().updateLives(); } public static function addLife(_arg1:Point):void{ curLives++; var _local2:Camera = Camera.getInstance(); _local2.updateLives(); _local2.displayOneUp(_arg1); SoundManager.playLifeCollect(); } public static function addStar(_arg1:Point):void{ starCount++; totalStar++; MedalsManager.checkStarAchievements(totalStar); if (starCount >= starNeedToAddLife){ starCount = 0; addLife(_arg1); } else { SoundManager.playStarTokenCollect(); }; Camera.getInstance().updateLifeUpDisplay(starCount); } } }//package com.tinime.control
Section 134
//MedalsManager (com.tinime.control.MedalsManager) package com.tinime.control { import flash.utils.*; import flash.display.*; import com.tinime.view.*; import com.spilgames.api.*; public class MedalsManager { public static var totalMedalsNum:Number = 10; public static var earnedMedals:Array = []; private static var ROOKIE:int = 0; private static var PILOT:int = 1; private static var COW_SAVER:int = 2; private static var EXPLORER:int = 3; private static var RICH:int = 4; private static var WEALTHY:int = 5; private static var TORMENTED:int = 6; private static var BUTCHER:int = 7; private static var SUPER_STAR:int = 8; private static var MASTER_PILOT:int = 9; public static var medalsText:Array = [{title:"{rookie}", depict:"{rookieDes}"}, {title:"{pilot}", depict:"{pilotDes}"}, {title:"{cowSavior}", depict:"{cowSaviorDes}"}, {title:"{explorer}", depict:"{explorerDes}"}, {title:"{richAlien}", depict:"{richAlienDes}"}, {title:"{wealthyAlien}", depict:"{wealthyAlienDes}"}, {title:"{tormentedAlien}", depict:"{tormentedAlienDes}"}, {title:"{butcher}", depict:"{butcherDes}"}, {title:"{superStar}", depict:"{superStarDes}"}, {title:"{masterPilot}", depict:"{masterPilotDes}"}]; public static function getMedalSprite(_arg1:int):Sprite{ var _local2:Class = (getDefinitionByName(("Medal" + _arg1)) as Class); var _local3:Sprite = new (_local2); return (_local3); } public static function checkButcherAchievements(_arg1:Number):void{ if (_arg1 >= 20){ if (earnedMedals.indexOf(BUTCHER) == -1){ earnedMedals.push(BUTCHER); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(BUTCHER), medalsText[BUTCHER].title, medalsText[BUTCHER].depict); }; }; } public static function checkSuperStarAchicevements(_arg1:Number):void{ if (_arg1 > 20000){ if (earnedMedals.indexOf(SUPER_STAR) == -1){ AwardsService.submitAward("award4"); earnedMedals.push(SUPER_STAR); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(SUPER_STAR), medalsText[SUPER_STAR].title, medalsText[SUPER_STAR].depict); }; }; } public static function checkTormentAchievements(_arg1:Number):void{ if (_arg1 >= 20){ if (earnedMedals.indexOf(TORMENTED) == -1){ earnedMedals.push(TORMENTED); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(TORMENTED), medalsText[TORMENTED].title, medalsText[TORMENTED].depict); }; }; } public static function checkStarAchievements(_arg1:Number):void{ if (_arg1 == 50){ if (earnedMedals.indexOf(RICH) == -1){ earnedMedals.push(RICH); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(RICH), medalsText[RICH].title, medalsText[RICH].depict); }; } else { if (_arg1 == 200){ if (earnedMedals.indexOf(WEALTHY) == -1){ AwardsService.submitAward("award2"); earnedMedals.push(WEALTHY); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(WEALTHY), medalsText[WEALTHY].title, medalsText[WEALTHY].depict); }; }; }; } public static function checkExplorerAchievements():void{ if (earnedMedals.indexOf(EXPLORER) == -1){ earnedMedals.push(EXPLORER); AwardsService.submitAward("award1"); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(EXPLORER), medalsText[EXPLORER].title, medalsText[EXPLORER].depict); }; } public static function checkLevelAchievements():void{ switch (LevelController.curLevelNum){ case 1: if (earnedMedals.indexOf(ROOKIE) == -1){ earnedMedals.push(ROOKIE); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(ROOKIE), medalsText[ROOKIE].title, medalsText[ROOKIE].depict); }; break; case 12: if (earnedMedals.indexOf(PILOT) == -1){ earnedMedals.push(PILOT); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(PILOT), medalsText[PILOT].title, medalsText[PILOT].depict); }; break; case 15: if (earnedMedals.indexOf(COW_SAVER) == -1){ AwardsService.submitAward("award3"); earnedMedals.push(COW_SAVER); SaveManager.saveMedalsInfo(); UIManager.showMedalEarned(getMedalSprite(COW_SAVER), medalsText[COW_SAVER].title, medalsText[COW_SAVER].depict); }; break; case 25: if (earnedMedals.indexOf(MASTER_PILOT) == -1){ AwardsService.submitAward("award5"); earnedMedals.push(MASTER_PILOT); SaveManager.saveLevelInfo(); UIManager.showMedalEarned(getMedalSprite(MASTER_PILOT), medalsText[MASTER_PILOT].title, medalsText[MASTER_PILOT].depict); }; }; } } }//package com.tinime.control
Section 135
//PhysicsWorldControl (com.tinime.control.PhysicsWorldControl) package com.tinime.control { import Box2D.Collision.*; import com.tinime.data.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import com.hexagonstar.display.*; import flash.display.*; import com.tinime.view.*; public class PhysicsWorldControl { public static function setupPhysicsWorld():void{ var _local1:b2AABB = new b2AABB(); _local1.lowerBound.Set((-5000 / PhysicsVals.RATIO), (-5000 / PhysicsVals.RATIO)); _local1.upperBound.Set((5000 / PhysicsVals.RATIO), (5000 / PhysicsVals.RATIO)); var _local2:b2Vec2 = new b2Vec2(0, PhysicsVals.GRAVITY); var _local3:Boolean = true; PhysicsVals.world = null; PhysicsVals.world = new b2World(_local1, _local2, _local3); PhysicsVals.world.SetContactListener(new GameContactListener()); if (PhysicsVals.ANIMATED_BITMAP_TIMER != null){ PhysicsVals.ANIMATED_BITMAP_TIMER.stop(); PhysicsVals.ANIMATED_BITMAP_TIMER = null; }; PhysicsVals.ANIMATED_BITMAP_TIMER = new FrameRateTimer(PhysicsVals.FRAME_RATE); } public static function setupDebugDraw():void{ var _local1:b2DebugDraw; _local1 = new b2DebugDraw(); var _local2:Sprite = new Sprite(); Camera.getInstance().frontLayer.addChild(_local2); _local1.m_sprite = _local2; _local1.m_drawScale = PhysicsVals.RATIO; _local1.m_fillAlpha = 0; _local1.m_lineThickness = 1; _local1.m_drawFlags = (b2DebugDraw.e_shapeBit | b2DebugDraw.e_jointBit); PhysicsVals.world.SetDebugDraw(_local1); } } }//package com.tinime.control
Section 136
//SaveManager (com.tinime.control.SaveManager) package com.tinime.control { import flash.net.*; public class SaveManager { private static var _userInfo:SharedObject; private static var _localName:String = "alienThief_Tinime_ver_0.1"; public static function saveMedalsInfo():void{ _userInfo = SharedObject.getLocal(_localName); _userInfo.data.Medals = MedalsManager.earnedMedals; } public static function saveLevelInfo():void{ _userInfo = SharedObject.getLocal(_localName); _userInfo.data.levelUnleashed = LevelController.levelUnleashed; } public static function readMedalsInfo():void{ _userInfo = SharedObject.getLocal(_localName); MedalsManager.earnedMedals = _userInfo.data.Medals; if (MedalsManager.earnedMedals == null){ MedalsManager.earnedMedals = []; }; } public static function readLevelInfo():void{ _userInfo = SharedObject.getLocal(_localName); LevelController.levelUnleashed = _userInfo.data.levelUnleashed; } } }//package com.tinime.control
Section 137
//ScoreManager (com.tinime.control.ScoreManager) package com.tinime.control { import com.tinime.view.*; import flash.geom.*; public class ScoreManager { private static var _scoreNum:int = 0; private static var _levelScoreNum:int = 0; public static var _camera:Camera = Camera.getInstance(); public static function addScore(_arg1:Number, _arg2:Point):void{ _scoreNum = (_scoreNum + _arg1); _levelScoreNum = (_levelScoreNum + _arg1); MedalsManager.checkSuperStarAchicevements(_scoreNum); if (LivesControl.starCount != (LivesControl.starNeedToAddLife - 1)){ _camera.displayScore(_arg1, _arg2); }; } public static function get scoreNum():int{ return (_scoreNum); } public static function set scoreNum(_arg1:int):void{ _scoreNum = _arg1; } public static function get levelScoreNum():int{ return (_levelScoreNum); } public static function set levelScoreNum(_arg1:int):void{ _levelScoreNum = _arg1; } } }//package com.tinime.control
Section 138
//SoundManager (com.tinime.control.SoundManager) package com.tinime.control { import flash.media.*; public class SoundManager { private static var _menuLoop:Sound = new menuLoop(); private static var _gameLoop:Sound = new gameLoop(); private static var _isSoundMute:Boolean = false; private static var _isMusicMute:Boolean = false; private static var _ufoBeamSfxChannel:SoundChannel; private static var isPlayingMenuLoop:Boolean = false; private static var isPlayingGameLoop:Boolean = false; private static var _curLoopChannel:SoundChannel; public static function playMenuLoop():void{ if (_isMusicMute){ return; }; if (_curLoopChannel != null){ _curLoopChannel.stop(); _curLoopChannel = null; }; _curLoopChannel = _menuLoop.play(0, 10000); isPlayingMenuLoop = true; isPlayingGameLoop = false; } public static function playGameLoop():void{ if (_isMusicMute){ return; }; if (_curLoopChannel != null){ _curLoopChannel.stop(); _curLoopChannel = null; }; _curLoopChannel = _gameLoop.play(0, 10000, new SoundTransform(0.4)); isPlayingGameLoop = true; isPlayingMenuLoop = false; } public static function playStarTokenCollect():void{ if (_isSoundMute){ return; }; var _local1:Sound = new starTokenCollectSfx(); _local1.play(); } public static function playUfoBeam():void{ if (_isSoundMute){ return; }; stopUfoBeam(); var _local1:Sound = new ufoBeamSfx(); _ufoBeamSfxChannel = _local1.play(0, 1000, new SoundTransform(1.3)); } public static function stopUfoBeam():void{ if (_ufoBeamSfxChannel != null){ _ufoBeamSfxChannel.stop(); _ufoBeamSfxChannel = null; }; } public static function playLifeCollect():void{ if (_isSoundMute){ return; }; var _local1:Sound = new lifeCollectSfx(); _local1.play(0, 0, new SoundTransform(1)); } public static function playExplosion():void{ if (_isSoundMute){ return; }; var _local1:Sound = new explosionSfx(); _local1.play(0, 0, new SoundTransform(0.1)); } public static function playCannon():void{ if (_isSoundMute){ return; }; var _local1:Sound = new cannonSfx(); _local1.play(0, 0, new SoundTransform(0.8)); } public static function playCowScream():void{ if (_isSoundMute){ return; }; var _local1:Sound = new cowYellSfx(); _local1.play(0, 0, new SoundTransform(1)); } public static function playButtonClick():void{ if (_isSoundMute){ return; }; var _local1:Sound = new btnClickSfx(); _local1.play(0, 0, new SoundTransform(2)); } public static function playKeySound():void{ if (_isSoundMute){ return; }; var _local1:Sound = new collectKeySfx(); _local1.play(0, 0, new SoundTransform(1)); } public static function playBumperHit():void{ if (_isSoundMute){ return; }; var _local1:Sound = new bumpHitSfx(); _local1.play(0, 0, new SoundTransform(0.25)); } public static function playTriggerSfx():void{ if (_isSoundMute){ return; }; var _local1:Sound = new triggerSfx(); _local1.play(0, 0, new SoundTransform(0.7)); } public static function playLidClosing():void{ if (_isSoundMute){ return; }; var _local1:Sound = new lidClosingSfx(); _local1.play(0, 0, new SoundTransform(1)); } public static function playNewPortal():void{ if (_isSoundMute){ return; }; var _local1:Sound = new newPortalSfx(); _local1.play(0, 0, new SoundTransform(0.5)); } public static function get isSoundMute():Boolean{ return (_isSoundMute); } public static function set isSoundMute(_arg1:Boolean):void{ _isSoundMute = _arg1; } public static function get isMusicMute():Boolean{ return (_isMusicMute); } public static function set isMusicMute(_arg1:Boolean):void{ _isMusicMute = _arg1; if (_curLoopChannel == null){ return; }; if (_isMusicMute){ _curLoopChannel.stop(); } else { if (isPlayingGameLoop){ playGameLoop(); } else { playMenuLoop(); }; }; } public static function get ufoBeamSfxChannel():SoundChannel{ return (_ufoBeamSfxChannel); } public static function set ufoBeamSfxChannel(_arg1:SoundChannel):void{ _ufoBeamSfxChannel = _arg1; } } }//package com.tinime.control
Section 139
//TimeController (com.tinime.control.TimeController) package com.tinime.control { import com.tinime.data.*; public class TimeController { private static var _frameRate:int; public static function initial():void{ _frameRate = PhysicsVals.FRAME_RATE; } public static function getTimeStep():Number{ return ((1 / _frameRate)); } } }//package com.tinime.control
Section 140
//TriggerController (com.tinime.control.TriggerController) package com.tinime.control { import com.tinime.interfaces.*; public class TriggerController { public static var triggeredTargetArr:Array; public static function initial():void{ triggeredTargetArr = new Array(20); var _local1:int; while (_local1 < 20) { triggeredTargetArr[_local1] = []; _local1++; }; } public static function trigger(_arg1:Number):void{ var _local3:Triggered; var _local2:Array = triggeredTargetArr[_arg1]; for each (_local3 in _local2) { _local3.onTriggered(); }; } } }//package com.tinime.control
Section 141
//TutorialManager (com.tinime.control.TutorialManager) package com.tinime.control { import flash.geom.*; import flash.events.*; import com.tinime.data.*; import flash.utils.*; import com.tinime.view.*; import com.tinime.event.*; public class TutorialManager { private static var _maxTurNum:int; private static var _curTurNum:int; private static var _curTutorial:TutorialDialog; private static var _isTutorialPresentedArr:Array; private static var _tutorialInfo:Array = [[new Point(18, 42), null], [new Point(220, 184), new Point(369, 0)], [new Point(320, 26), new Point(369, 0)], [new Point(18, 42), null], [new Point(320, 26), new Point(369, 0)], [new Point(10, 293), null]]; private static var _startPos:Point; public static function resetTutorial():void{ _isTutorialPresentedArr = [false, false, false]; } public static function displayTutorial():void{ var onTimerComplete:Function; var timer:Timer; onTimerComplete = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); timer = null; CommonVals.gamePaused = true; CommonVals.gameLocked = true; onDisplayCurTutor(); }; var levelNum:int = LevelController.curLevelNum; var isTutorialLvl:Boolean; if ((((levelNum == 1)) && (!(_isTutorialPresentedArr[0])))){ _isTutorialPresentedArr[0] = true; if (LevelController.getInstance().isConntrolledByMouse){ _curTurNum = 4; _maxTurNum = 5; } else { _curTurNum = 1; _maxTurNum = 3; }; isTutorialLvl = true; } else { if ((((levelNum == 2)) && (!(_isTutorialPresentedArr[1])))){ _isTutorialPresentedArr[2] = true; _curTurNum = 6; _maxTurNum = 6; isTutorialLvl = true; }; }; if (isTutorialLvl){ timer = new Timer(500, 1); _startPos = new Point(Camera.getInstance().frontLayer.x, Camera.getInstance().frontLayer.y); timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); timer.start(); }; } private static function onDisplayCurTutor(_arg1:Event=null):void{ if (_arg1 != null){ _curTurNum++; _curTutorial.removeEventListener(Event.CLOSE, onDisplayCurTutor); }; if (_curTurNum > _maxTurNum){ onTutorialEnd(); return; }; var _local2:Array = _tutorialInfo[(_curTurNum - 1)]; _curTutorial = new TutorialDialog(_local2[0], _curTurNum, _local2[1]); _curTutorial.addEventListener(Event.CLOSE, onDisplayCurTutor); } private static function onTutorialEnd():void{ var onTweenComplete:Function; onTweenComplete = function ():void{ GameEventDispatcher.getInstance().removeEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); CommonVals.gamePaused = false; CommonVals.gameLocked = false; }; _curTutorial = null; if (((!((_startPos.x == Camera.getInstance().frontLayer.x))) || (!((_startPos.y == Camera.getInstance().frontLayer.y))))){ GameEventDispatcher.getInstance().addEventListener(GameEvent.TWEEN_COMPLETE, onTweenComplete); Camera.getInstance().tweenTo(_startPos, 0.5); } else { CommonVals.gamePaused = false; CommonVals.gameLocked = false; }; } } }//package com.tinime.control
Section 142
//UfoSpawnController (com.tinime.control.UfoSpawnController) package com.tinime.control { import com.tinime.objects.*; import flash.geom.*; import com.tinime.actors.*; public class UfoSpawnController { private static var _ufoSpawners:Array; private static var _curSpawnerIndexPos:Number; public static function initial():void{ _ufoSpawners = new Array(); } public static function add(_arg1:UfoSpawner):void{ _ufoSpawners.push(_arg1); if (_arg1.isActive){ _curSpawnerIndexPos = (_ufoSpawners.length - 1); }; } public static function changeSpawner(_arg1:UfoSpawner):void{ var _local3:UfoSpawner; SoundManager.playNewPortal(); var _local2:int; while (_local2 < _ufoSpawners.length) { _local3 = _ufoSpawners[_local2]; if (_local3 == _arg1){ _curSpawnerIndexPos = _local2; _local3.updateDisplay(true); } else { _local3.isActive = false; _local3.updateDisplay(false); }; _local2++; }; } public static function spawnNewUfo(_arg1:UfoActor):void{ var _local2:UfoSpawner = _ufoSpawners[_curSpawnerIndexPos]; var _local3:Point = _local2.getPosition(); _arg1.revive(_local3); } } }//package com.tinime.control
Section 143
//BitmapAnimDataBlock (com.tinime.data.BitmapAnimDataBlock) package com.tinime.data { import flash.display.*; public class BitmapAnimDataBlock { public var bitmapData:BitmapData; public var width:int; public var height:int; public var wCount:int; public var frameAmount:int; } }//package com.tinime.data
Section 144
//BitmapAnimDataCollection (com.tinime.data.BitmapAnimDataCollection) package com.tinime.data { public class BitmapAnimDataCollection { public static var cowAnimPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var catAnimPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var dogAnimPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var ufoAnimPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var teleTransmissionPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var starTokenPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var ufoSpawnerActivePrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var ufoSpawnerInactivePrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var floatBombPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var spinyBallPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var spinyBallScale150Prototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var spinyBallScale180prototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var keyPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var triggerPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var laserBeamPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var cannonPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var cannonScale60Prototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var cannonScale150Prototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var bumperPrototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); public static var bumperScale53Prototype:BitmapAnimDataBlock = new BitmapAnimDataBlock(); } }//package com.tinime.data
Section 145
//CommonVals (com.tinime.data.CommonVals) package com.tinime.data { public class CommonVals { public static const COW:int = 1; public static const LaserBeam:int = 2; public static const TrashCan:int = 3; public static const TELE_TRANSMISSION:int = 4; public static const STAR_TOKEN:int = 5; public static const FLOAT_BOMB:int = 6; public static const SPINY_BALL:int = 7; public static const KEY:int = 8; public static const LASER_PROJECTOR:int = 9; public static const HIDDEN_BLOCK_OBJECT:int = 10; public static const WINDMILL_FAN:int = 11; public static const DOOR:int = 12; public static const BUMPER:int = 13; public static const CAR:int = 14; public static const CANNON:int = 15; public static const BREAKABLE_SQUARE:int = 16; public static const TRIGGER:int = 17; public static const SPINY_STICK:int = 18; public static const UFO:int = 19; public static const DOG:int = 20; public static const CAT:int = 21; public static const MOVABLE_STICK_BLOCK:int = 22; public static const GEAR1:int = 23; public static const GEAR2:int = 24; public static const ANIMAL_CAR_SPAWNER:int = 25; public static const UFO_BLOCK:int = 26; public static const UFO_SPAWNER_ACTIVE:int = 27; public static const UFO_SPAWNER_INACTIVE:int = 28; public static const LASER_BEAM:int = 29; public static const CANNON_60:int = 6015; public static const CANNON_150:int = 15015; public static const BUMPER_53:int = 5313; public static const SPINY_BALL_150:int = 15007; public static const SPINY_BALL_180:int = 18007; public static const YellowColor:uint = 0xFFFF00; public static const GreenColor:uint = 0xFF00; public static const Hint1:int = 0; public static const Hint2:int = 1; public static const Hint3:int = 2; public static const Hint4:int = 3; public static const SCENE_BLOCK:String = "SceneBlock"; public static const MALICIOUS_BLOCK:String = "MaliciousBlock"; public static const STAGE_WIDTH:Number = 640; public static const STAGE_HEIGHT:Number = 480; public static var currentDomain:String; public static var controllerSetted:Boolean = false; public static var allLevelComplete:Boolean = false; public static var ufoMouseLocked:Boolean = true; private static var _gamePaused:Boolean = false; public static var gameLocked:Boolean = false; public static function get gamePaused():Boolean{ return (_gamePaused); } public static function set gamePaused(_arg1:Boolean):void{ _gamePaused = _arg1; if (_arg1){ PhysicsVals.ANIMATED_BITMAP_TIMER.stop(); } else { PhysicsVals.ANIMATED_BITMAP_TIMER.start(); }; } } }//package com.tinime.data
Section 146
//PhysicsVals (com.tinime.data.PhysicsVals) package com.tinime.data { import com.hexagonstar.display.*; import Box2D.Dynamics.*; public class PhysicsVals { public static const RATIO:Number = 45; public static const FRAME_RATE:Number = 30; public static const GRAVITY:Number = 9.8; public static const SCENE_BLOCK_CATEGORY:Number = 1; public static const UFO_CATEGORY:Number = 2; public static const OBJECT_CATEGORY:Number = 4; public static const NPC_CATAGORY:Number = 8; public static const NPC_PASS_BLOCK:Number = 16; public static const TUNNEL_BLOCK:Number = 32; public static const DOOR_CATEGORY:Number = 64; public static const BOMB_CATAGORY:Number = 128; public static var ANIMATED_BITMAP_TIMER:FrameRateTimer = new FrameRateTimer(30); private static var _world:b2World; public static function get world():b2World{ return (_world); } public static function set world(_arg1:b2World):void{ _world = _arg1; } } }//package com.tinime.data
Section 147
//GameEvent (com.tinime.event.GameEvent) package com.tinime.event { import flash.events.*; public class GameEvent extends Event { public static var MOUSE_RELEASE:String = "mouseRelease"; public static var CAMERA_PREPARED:String = "cameraPrepared"; public static var COW_TRANSFERED:String = "cowTransfered"; public static var LEVEL_COMPLETE:String = "levelComplete"; public static var REBUILD_LEVEL:String = "rebuildLevel"; public static var RESTART_LEVEL:String = "restartLevel"; public static var START_NEXT_LEVEL:String = "startNextLevel"; public static var GAME_OVER:String = "gameOver"; public static var TWEEN_COMPLETE:String = "tweenComplete"; public static var UFO_EXPLODED:String = "ufoExploded"; public static var COW_DEAD:String = "cowDead"; public static var QUIT_GAME:String = "quitGame"; public static var GAME_PAUSED:String = "pauseGame"; public static var GAME_RESUMED:String = "resumeGame"; public static var GAME_RESTART:String = "restartGame"; public static var SWITCH_CAMERA_MODE:String = "enterPressed"; public static var SHOW_MENU_SCREEN:String = "showMenuScreen"; public static var SHOW_LEVEL_SCREEN:String = "showLevelScreen"; public static var SHOW_MEDAL_SCREEN:String = "showMedalScreen"; public static var SHOW_SCORE_SCREEN:String = "showScoreScreen"; public static var SHOW_CREDITS_SCREEN:String = "showCreditsScreen"; public static var SHOW_GAME_PLAY_SCREEN:String = "showGamePlayScreen"; public static var ALL_LEVELS_COMPLETE:String = "allLevelsComplete"; public static var ANIMATED_BITMAP_DATA_READY:String = "animatedBitmapDataReady"; public function GameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new GameEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("GameEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.tinime.event
Section 148
//GameEventDispatcher (com.tinime.event.GameEventDispatcher) package com.tinime.event { import flash.events.*; public class GameEventDispatcher extends EventDispatcher { private static var _instance:GameEventDispatcher; public function GameEventDispatcher(_arg1:SingletonEnforcer){ } public function onMouseRelease():void{ dispatchEvent(new GameEvent(GameEvent.MOUSE_RELEASE)); } public function onCameraPrepared():void{ dispatchEvent(new GameEvent(GameEvent.CAMERA_PREPARED)); } public function onCowTransfered():void{ dispatchEvent(new GameEvent(GameEvent.COW_TRANSFERED)); } public function onLevelComplete():void{ dispatchEvent(new GameEvent(GameEvent.LEVEL_COMPLETE)); } public function onGameOver():void{ dispatchEvent(new GameEvent(GameEvent.GAME_OVER)); } public function onTweenComplete():void{ dispatchEvent(new GameEvent(GameEvent.TWEEN_COMPLETE)); } public function onUfoExploded():void{ dispatchEvent(new GameEvent(GameEvent.UFO_EXPLODED)); } public function onCowDead():void{ dispatchEvent(new GameEvent(GameEvent.COW_DEAD)); } public function onQuitGame():void{ dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); } public function onGamePaused():void{ dispatchEvent(new GameEvent(GameEvent.GAME_PAUSED)); } public function onGameResumed():void{ dispatchEvent(new GameEvent(GameEvent.GAME_RESUMED)); } public function onGameRestart():void{ dispatchEvent(new GameEvent(GameEvent.GAME_RESTART)); } public static function getInstance():GameEventDispatcher{ if (_instance == null){ _instance = new GameEventDispatcher(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.event class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 149
//UIEvent (com.tinime.event.UIEvent) package com.tinime.event { import flash.events.*; public class UIEvent extends Event { public static var LOGO_SCREEN_READY:String = "logoScreenReady"; public static var PLAY_SCREEN_READY:String = "playScreenReady"; public static var PREVIOUS_SCREEN_CLEARED:String = "previousScreenCleared"; public static var CIRCLE_TRANSITION_COMPLETE:String = "circleTransitionComplete"; public static var SCREEN_COVERED:String = "screenCovered"; public static var CAMERA_MASK_REMOVED:String = "cameraMaskRemoved"; public static var CAMERA_MASK_ADDED:String = "cameraMaskAdded"; public static var QUIT_SCORE_SUBMIT_PANEL:String = "quitScoreSubmitPanel"; public static var QUIT_CONTROLLER_PANEL:String = "quitControllerPanel"; public function UIEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new GameEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("GameEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.tinime.event
Section 150
//UIEventDispatcher (com.tinime.event.UIEventDispatcher) package com.tinime.event { import flash.events.*; public class UIEventDispatcher extends EventDispatcher { private static var _instance:UIEventDispatcher; public function UIEventDispatcher(_arg1:SingletonEnforcer){ } public static function getInstance():UIEventDispatcher{ if (_instance == null){ _instance = new UIEventDispatcher(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.event class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 151
//ClickEventWaitable (com.tinime.interfaces.ClickEventWaitable) package com.tinime.interfaces { public interface ClickEventWaitable { function setClickable(_arg1:Boolean):void; } }//package com.tinime.interfaces
Section 152
//Explosive (com.tinime.interfaces.Explosive) package com.tinime.interfaces { public interface Explosive { function explode():void; } }//package com.tinime.interfaces
Section 153
//LevelDataRecordable (com.tinime.interfaces.LevelDataRecordable) package com.tinime.interfaces { public interface LevelDataRecordable { function setRecordNum(_arg1:int):void; function getRecordNum():int; } }//package com.tinime.interfaces
Section 154
//Liftable (com.tinime.interfaces.Liftable) package com.tinime.interfaces { import flash.geom.*; import Box2D.Dynamics.*; public interface Liftable { function prepareLiftStatus():void; function restoreOriginStatus():void; function getLiftHeight():Number; function getPos():Point; function stopMove():void; function getBody():b2Body; function getMass():Number; function setFalling():void; function getLiftable():Boolean; } }//package com.tinime.interfaces
Section 155
//Triggered (com.tinime.interfaces.Triggered) package com.tinime.interfaces { public interface Triggered { function onTriggered():void; } }//package com.tinime.interfaces
Section 156
//LevelDataPrototype (com.tinime.levels.LevelDataPrototype) package com.tinime.levels { import flash.geom.*; public class LevelDataPrototype { public var levelWidth:Number; public var levelHeight:Number; public var stillTerrain:Array; public var maliciousRegion:Array; public var objects:Array; public var actors:Array; public var ufoPos:Point; public var initCameraPos:Point; public var sceneType:Number; public var bgLayerWidth:Number; public var bgLayerHeight:Number; public var ufoSpawnable:Boolean;// = true public function LevelDataPrototype():void{ stillTerrain = []; maliciousRegion = []; objects = []; actors = []; } } }//package com.tinime.levels
Section 157
//LevelsData (com.tinime.levels.LevelsData) package com.tinime.levels { import flash.geom.*; import com.tinime.data.*; public class LevelsData { public static const NIGHT_SCENE:int = 0; public static const SNOW_SCENE:int = 1; public static const DAY_SCENE:int = 0; public static var allLevels:Array; public static function init():void{ allLevels = new Array(); var _local1:LevelDataPrototype = new LevelDataPrototype(); _local1.levelWidth = 1087; _local1.levelHeight = 480; _local1.bgLayerWidth = 929; _local1.bgLayerHeight = 480; _local1.initCameraPos = new Point(0, 0); _local1.ufoPos = new Point(66, 0x0101); _local1.sceneType = NIGHT_SCENE; _local1.stillTerrain.push([[-30, 0], [0, 0], [0, 480], [-30, 480]]); _local1.stillTerrain.push([[-30, -30], [1117, -30], [1117, 0], [-30, 0]]); _local1.stillTerrain.push([[1087, 0], [1117, 0], [1117, 480], [1087, 480]]); _local1.stillTerrain.push([[0, 437], [1087, 437], [1087, 480], [0, 480]]); _local1.stillTerrain.push([[105, 309], [281, 309], [281, 335], [105, 335]]); _local1.stillTerrain.push([[378, 254], [554, 254], [551, 280], [381, 280]]); _local1.stillTerrain.push([[821, 201], [1003, 201], [1003, 228], [821, 228]]); _local1.objects.push([CommonVals.TELE_TRANSMISSION, 908, 210, 1, 0]); _local1.objects.push([CommonVals.STAR_TOKEN, 419, 163]); _local1.objects.push([CommonVals.STAR_TOKEN, 488, 163]); _local1.objects.push([CommonVals.STAR_TOKEN, 440, 300]); _local1.objects.push([CommonVals.STAR_TOKEN, 859, 259]); _local1.actors.push([CommonVals.COW, 776, 410, 1]); allLevels.push(_local1); var _local2:LevelDataPrototype = new LevelDataPrototype(); _local2.levelWidth = 640; _local2.levelHeight = 960; _local2.bgLayerWidth = 1099; _local2.bgLayerHeight = 568; _local2.initCameraPos = new Point(0, 0); _local2.ufoPos = new Point(250, 219); _local2.sceneType = NIGHT_SCENE; _local2.stillTerrain.push([[0, 915], [640, 915], [640, 960], [0, 960]]); _local2.stillTerrain.push([[-40, 0], [0, 0], [0, 960], [-40, 960]]); _local2.stillTerrain.push([[640, 0], [680, 0], [680, 960], [640, 960]]); _local2.stillTerrain.push([[0, -40], [640, -40], [640, 0], [0, 0]]); _local2.stillTerrain.push([[0, 873], [42, 915], [0, 915]]); _local2.stillTerrain.push([[598, 915], [640, 872], [640, 915]]); _local2.stillTerrain.push([[517, 772], [640, 772], [640, 799], [522, 799]]); _local2.stillTerrain.push([[522, 739], [535, 742], [553, 759], [553, 772], [517, 772]]); _local2.stillTerrain.push([[0x0100, 519], [434, 519], [425, 545], [264, 545]]); _local2.stillTerrain.push([[391, 519], [397, 485], [407, 487], [429, 504], [434, 519]]); _local2.stillTerrain.push([[381, 325], [557, 325], [547, 351], [390, 351]]); _local2.stillTerrain.push([[529, 324], [527, 317], [548, 307], [554, 324]]); _local2.stillTerrain.push([[0, 355], [120, 355], [117, 379], [0, 379]]); _local2.stillTerrain.push([[74, 354], [81, 319], [90, 321], [115, 338], [117, 354]]); _local2.stillTerrain.push([[150, 263], [329, 263], [319, 289], [159, 289]]); _local2.stillTerrain.push([[151, 263], [158, 230], [166, 231], [188, 253], [187, 263]]); _local2.stillTerrain.push([[398, 124], [575, 124], [566, 149], [408, 149]]); _local2.maliciousRegion.push([[42, 896], [589, 896], [589, 915], [42, 915]]); _local2.objects.push([CommonVals.STAR_TOKEN, 571, 828]); _local2.objects.push([CommonVals.STAR_TOKEN, 98, 774]); _local2.objects.push([CommonVals.STAR_TOKEN, 306, 638]); _local2.objects.push([CommonVals.STAR_TOKEN, 545, 461]); _local2.objects.push([CommonVals.STAR_TOKEN, 600, 388]); _local2.objects.push([CommonVals.STAR_TOKEN, 428, 418]); _local2.objects.push([CommonVals.STAR_TOKEN, 210, 468]); _local2.objects.push([CommonVals.STAR_TOKEN, 600, 329]); _local2.objects.push([CommonVals.STAR_TOKEN, 559, 272]); _local2.objects.push([CommonVals.STAR_TOKEN, 320, 334]); _local2.objects.push([CommonVals.STAR_TOKEN, 370, 174]); _local2.objects.push([CommonVals.STAR_TOKEN, 59, 0x0100]); _local2.objects.push([CommonVals.STAR_TOKEN, 21, 0x0100]); _local2.objects.push([CommonVals.FLOAT_BOMB, 122, 169, 1]); _local2.objects.push([CommonVals.FLOAT_BOMB, 122, 102, 1]); _local2.objects.push([CommonVals.FLOAT_BOMB, 603, 236, 1]); _local2.objects.push([CommonVals.TELE_TRANSMISSION, 485, 128, 1, 0]); _local2.actors.push([CommonVals.DOG, 46, 356, 1]); _local2.actors.push([CommonVals.COW, 580, 735, 1]); _local2.actors.push([CommonVals.TrashCan, 302, 510, 1, 90]); allLevels.push(_local2); var _local3:LevelDataPrototype = new LevelDataPrototype(); _local3.levelWidth = 0x0500; _local3.levelHeight = 480; _local3.bgLayerWidth = 929; _local3.bgLayerHeight = 480; _local3.initCameraPos = new Point(0, 0); _local3.ufoPos = new Point(83, 316); _local3.sceneType = NIGHT_SCENE; _local3.stillTerrain.push([[0, 445], [0x0500, 445], [0x0500, 480], [0, 480]]); _local3.stillTerrain.push([[158, 413], [511, 413], [511, 445], [158, 445]]); _local3.stillTerrain.push([[280, 412], [287, 378], [296, 375], [327, 397], [327, 412]]); _local3.stillTerrain.push([[511, 413], [511, 0x0101], [524, 247], [539, 249], [548, 0x0101], [548, 413]]); _local3.stillTerrain.push([[548, 351], [799, 351], [799, 445], [548, 445]]); _local3.stillTerrain.push([[1170, 391], [0x0500, 391], [0x0500, 445], [1170, 445]]); _local3.stillTerrain.push([[972, 329], [0x0500, 329], [0x0500, 391], [972, 391]]); _local3.stillTerrain.push([[972, 183], [1027, 183], [1027, 329], [972, 329]]); _local3.stillTerrain.push([[972, 127], [1161, 127], [1161, 183], [972, 183]]); _local3.stillTerrain.push([[972, 0], [0x0500, 0], [0x0500, 55], [972, 55]]); _local3.stillTerrain.push([[1218, 55], [0x0500, 55], [0x0500, 329], [1218, 329]]); _local3.stillTerrain.push([[641, 0], [700, 0], [700, 232], [671, 241], [641, 232]]); _local3.stillTerrain.push([[700, 95], [833, 95], [842, 112], [834, 127], [700, 127]]); _local3.stillTerrain.push([[311, 0], [357, 0], [357, 220], [333, 227], [311, 219]]); _local3.stillTerrain.push([[0, 189], [216, 189], [229, 208], [216, 227], [0, 227]]); _local3.stillTerrain.push([[0, -25], [0x0500, -25], [0x0500, 0], [0, 0]]); _local3.stillTerrain.push([[-25, 0], [0, 0], [0, 480], [-25, 480]]); _local3.maliciousRegion.push([[799, 433], [1169, 433], [1169, 445], [799, 445]]); _local3.objects.push([CommonVals.UFO_SPAWNER_INACTIVE, 769, 283, false]); _local3.objects.push([CommonVals.STAR_TOKEN, 135, 425]); _local3.objects.push([CommonVals.STAR_TOKEN, 54, 55]); _local3.objects.push([CommonVals.STAR_TOKEN, 104, 55]); _local3.objects.push([CommonVals.STAR_TOKEN, 54, 110]); _local3.objects.push([CommonVals.STAR_TOKEN, 104, 110]); _local3.objects.push([CommonVals.STAR_TOKEN, 987, 413]); _local3.objects.push([CommonVals.STAR_TOKEN, 1037, 413]); _local3.objects.push([CommonVals.STAR_TOKEN, 1087, 413]); _local3.objects.push([CommonVals.STAR_TOKEN, 1052, 241]); _local3.objects.push([CommonVals.STAR_TOKEN, 1052, 291]); _local3.objects.push([CommonVals.STAR_TOKEN, 1097, 241]); _local3.objects.push([CommonVals.STAR_TOKEN, 1097, 291]); _local3.objects.push([CommonVals.STAR_TOKEN, 1142, 241]); _local3.objects.push([CommonVals.STAR_TOKEN, 1142, 291]); _local3.objects.push([CommonVals.STAR_TOKEN, 1187, 241]); _local3.objects.push([CommonVals.STAR_TOKEN, 1187, 291]); _local3.objects.push([CommonVals.STAR_TOKEN, 476, 387]); _local3.objects.push([CommonVals.STAR_TOKEN, 463, 33]); _local3.objects.push([CommonVals.STAR_TOKEN, 543, 33]); _local3.objects.push([CommonVals.FLOAT_BOMB, 152, 398, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 195, 398, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 241, 398, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 241, 361, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 241, 325, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 241, 289, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 241, 251, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 365, 327, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 169, 162, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 169, 98, 1]); _local3.objects.push([CommonVals.FLOAT_BOMB, 169, 33, 1]); _local3.objects.push([CommonVals.LASER_PROJECTOR, 716, 185, 0, 3, true, 0]); _local3.objects.push([CommonVals.TELE_TRANSMISSION, 770, 101, 1, 0]); _local3.objects.push([CommonVals.HIDDEN_BLOCK_OBJECT, 963, 33, [[[13, 16], [276, 16], [276, 321], [13, 321]]], 1]); _local3.actors.push([CommonVals.TrashCan, 100, 447, 1, 0]); _local3.actors.push([CommonVals.DOG, 1166, 293, 1]); _local3.actors.push([CommonVals.CAT, 1124, 293, 1]); _local3.actors.push([CommonVals.COW, 392, 395, 1]); _local3.actors.push([CommonVals.SPINY_BALL, [[429, 175], [429, 67], [600, 67], [600, 300]], 1, 3]); _local3.actors.push([CommonVals.KEY, 822, 405, true, [0]]); allLevels.push(_local3); var _local4:LevelDataPrototype = new LevelDataPrototype(); _local4.levelWidth = 1180; _local4.levelHeight = 638; _local4.bgLayerWidth = 1099; _local4.bgLayerHeight = 568; _local4.initCameraPos = new Point(283, 0); _local4.ufoPos = new Point(603, 123); _local4.sceneType = NIGHT_SCENE; _local4.stillTerrain.push([[0, 596], [1180, 596], [1180, 638], [0, 638]]); _local4.stillTerrain.push([[0, 415], [144, 415], [144, 537], [0, 537]]); _local4.stillTerrain.push([[744, 0x0200], [770, 0x0200], [770, 596], [744, 596]]); _local4.stillTerrain.push([[873, 599], [880, 560], [889, 561], [918, 579], [919, 599]]); _local4.stillTerrain.push([[782, 0], [1180, 0], [1180, 81], [782, 81]]); _local4.stillTerrain.push([[1118, 81], [1180, 81], [1180, 238], [1118, 238]]); _local4.stillTerrain.push([[218, 279], [252, 279], [252, 354], [218, 354]]); _local4.stillTerrain.push([[215, 354], [483, 354], [483, 386], [215, 386]]); _local4.stillTerrain.push([[430, 354], [875, 354], [875, 413], [430, 413]]); _local4.stillTerrain.push([[430, 413], [462, 413], [462, 530], [430, 530]]); _local4.stillTerrain.push([[430, 502], [599, 502], [599, 529], [430, 529]]); _local4.stillTerrain.push([[216, 140], [254, 140], [254, 191], [216, 191]]); _local4.stillTerrain.push([[254, 140], [422, 140], [422, 163], [254, 163]]); _local4.stillTerrain.push([[377, 164], [422, 164], [422, 259], [377, 259]]); _local4.stillTerrain.push([[422, 190], [680, 190], [680, 260], [422, 260]]); _local4.stillTerrain.push([[661, 188], [782, 170], [782, 237], [680, 261]]); _local4.stillTerrain.push([[782, 170], [847, 172], [847, 221], [782, 237]]); _local4.stillTerrain.push([[307, 0], [383, 0], [383, 140], [307, 140]]); _local4.stillTerrain.push([[-30, 0], [0, 0], [0, 638], [-30, 638]]); _local4.stillTerrain.push([[0, -30], [1180, -30], [1180, 0], [0, 0]]); _local4.stillTerrain.push([[1180, 0], [1210, 0], [1210, 638], [1180, 638]]); _local4.maliciousRegion.push([[567, 259], [678, 259], [670, 284], [567, 284]]); _local4.maliciousRegion.push([[590, 170], [653, 170], [660, 196], [586, 196]]); _local4.maliciousRegion.push([[14, 397], [134, 397], [140, 428], [7, 426]]); _local4.objects.push([CommonVals.STAR_TOKEN, 65, 46]); _local4.objects.push([CommonVals.STAR_TOKEN, 125, 46]); _local4.objects.push([CommonVals.STAR_TOKEN, 185, 46]); _local4.objects.push([CommonVals.STAR_TOKEN, 245, 46]); _local4.objects.push([CommonVals.STAR_TOKEN, 65, 94]); _local4.objects.push([CommonVals.STAR_TOKEN, 125, 94]); _local4.objects.push([CommonVals.STAR_TOKEN, 185, 94]); _local4.objects.push([CommonVals.STAR_TOKEN, 245, 94]); _local4.objects.push([CommonVals.STAR_TOKEN, 65, 147]); _local4.objects.push([CommonVals.STAR_TOKEN, 125, 147]); _local4.objects.push([CommonVals.STAR_TOKEN, 185, 147]); _local4.objects.push([CommonVals.STAR_TOKEN, 559, 327]); _local4.objects.push([CommonVals.STAR_TOKEN, 619, 327]); _local4.objects.push([CommonVals.STAR_TOKEN, 679, 327]); _local4.objects.push([CommonVals.STAR_TOKEN, 829, 454]); _local4.objects.push([CommonVals.STAR_TOKEN, 889, 454]); _local4.objects.push([CommonVals.STAR_TOKEN, 949, 454]); _local4.objects.push([CommonVals.STAR_TOKEN, 1092, 273]); _local4.objects.push([CommonVals.STAR_TOKEN, 1152, 273]); _local4.objects.push([CommonVals.STAR_TOKEN, 1092, 318]); _local4.objects.push([CommonVals.STAR_TOKEN, 1152, 318]); _local4.objects.push([CommonVals.STAR_TOKEN, 1092, 428]); _local4.objects.push([CommonVals.STAR_TOKEN, 1152, 428]); _local4.objects.push([CommonVals.STAR_TOKEN, 1092, 474]); _local4.objects.push([CommonVals.STAR_TOKEN, 1152, 474]); _local4.objects.push([CommonVals.STAR_TOKEN, 27, 569]); _local4.objects.push([CommonVals.STAR_TOKEN, 87, 569]); _local4.objects.push([CommonVals.STAR_TOKEN, 147, 569]); _local4.objects.push([CommonVals.FLOAT_BOMB, 431, 282, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 501, 284, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 972, 533, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 1019, 533, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 1063, 533, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 1107, 533, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 1149, 533, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 1019, 573, 1]); _local4.objects.push([CommonVals.FLOAT_BOMB, 1019, 573, 1]); _local4.objects.push([CommonVals.LASER_PROJECTOR, 863, 197, 0, 3, true, 0]); _local4.objects.push([CommonVals.LASER_PROJECTOR, 555, 185, -135, 5, true, 1]); _local4.objects.push([CommonVals.TELE_TRANSMISSION, 484, 189, 1, 0]); _local4.actors.push([CommonVals.KEY, 1051, 104, true, [0]]); _local4.actors.push([CommonVals.KEY, 1106, 553, true, [1]]); _local4.actors.push([CommonVals.KEY, 414, 319, true, [2]]); _local4.actors.push([CommonVals.KEY, 267, 479, true, [3]]); _local4.actors.push([CommonVals.SPINY_BALL, [[200, 565], [373, 565], [373, 425], [200, 425], [200, 565]], 1, 3]); _local4.actors.push([CommonVals.SPINY_BALL, [[373, 425], [200, 425], [200, 565], [373, 565], [373, 425]], 1, 3]); _local4.actors.push([CommonVals.TrashCan, 560, 501, 1, 0]); _local4.actors.push([CommonVals.DOOR, 381, 260, 1, 0, true, -1, 2]); _local4.actors.push([CommonVals.DOOR, 743, 414, 1, 0, true, 1, 3]); _local4.actors.push([CommonVals.WINDMILL_FAN, 1031, 358, 1, 0, 2]); _local4.actors.push([CommonVals.WINDMILL_FAN, 111, 280, 0.62, 0, 2]); _local4.actors.push([CommonVals.DOG, 299, 334, 1]); _local4.actors.push([CommonVals.COW, 491, 482, 1]); _local4.actors.push([CommonVals.CAT, 797, 570, 1]); allLevels.push(_local4); var _local5:LevelDataPrototype = new LevelDataPrototype(); _local5.levelWidth = 1100; _local5.levelHeight = 800; _local5.bgLayerWidth = 1099; _local5.bgLayerHeight = 568; _local5.initCameraPos = new Point(187, 361); _local5.ufoPos = new Point(507, 601); _local5.sceneType = NIGHT_SCENE; _local5.stillTerrain.push([[0, 765], [1100, 765], [1100, 800], [0, 800]]); _local5.stillTerrain.push([[154, 748], [202, 748], [202, 765], [154, 765]]); _local5.stillTerrain.push([[810, 753], [882, 753], [882, 765], [810, 765]]); _local5.stillTerrain.push([[711, 85], [733, 85], [733, 130], [711, 130]]); _local5.stillTerrain.push([[834, 88], [860, 88], [860, 130], [834, 130]]); _local5.stillTerrain.push([[711, 102], [860, 102], [860, 130], [711, 130]]); _local5.stillTerrain.push([[291, 93], [315, 93], [315, 109], [291, 109]]); _local5.stillTerrain.push([[415, 95], [442, 95], [442, 109], [415, 109]]); _local5.stillTerrain.push([[291, 109], [442, 109], [442, 138], [291, 138]]); _local5.stillTerrain.push([[-30, 0], [0, 0], [0, 800], [-30, 800]]); _local5.stillTerrain.push([[0, -30], [1100, -30], [1100, 0], [0, 0]]); _local5.stillTerrain.push([[1100, 0], [1130, 0], [1130, 800], [1100, 800]]); _local5.objects.push([CommonVals.STAR_TOKEN, 74, 0x0200]); _local5.objects.push([CommonVals.STAR_TOKEN, 74, 571]); _local5.objects.push([CommonVals.STAR_TOKEN, 126, 602]); _local5.objects.push([CommonVals.STAR_TOKEN, 175, 0x0200]); _local5.objects.push([CommonVals.STAR_TOKEN, 175, 571]); _local5.objects.push([CommonVals.STAR_TOKEN, 233, 425]); _local5.objects.push([CommonVals.STAR_TOKEN, 233, 478]); _local5.objects.push([CommonVals.STAR_TOKEN, 335, 425]); _local5.objects.push([CommonVals.STAR_TOKEN, 335, 478]); _local5.objects.push([CommonVals.STAR_TOKEN, 287, 393]); _local5.objects.push([CommonVals.STAR_TOKEN, 287, 505]); _local5.objects.push([CommonVals.STAR_TOKEN, 919, 520]); _local5.objects.push([CommonVals.STAR_TOKEN, 868, 552]); _local5.objects.push([CommonVals.STAR_TOKEN, 868, 609]); _local5.objects.push([CommonVals.STAR_TOKEN, 967, 609]); _local5.objects.push([CommonVals.STAR_TOKEN, 919, 636]); _local5.objects.push([CommonVals.STAR_TOKEN, 814, 391]); _local5.objects.push([CommonVals.STAR_TOKEN, 814, 507]); _local5.objects.push([CommonVals.STAR_TOKEN, 763, 423]); _local5.objects.push([CommonVals.STAR_TOKEN, 763, 480]); _local5.objects.push([CommonVals.STAR_TOKEN, 919, 636]); _local5.objects.push([CommonVals.STAR_TOKEN, 862, 423]); _local5.objects.push([CommonVals.STAR_TOKEN, 862, 480]); _local5.objects.push([CommonVals.STAR_TOKEN, 989, 280]); _local5.objects.push([CommonVals.STAR_TOKEN, 989, 396]); _local5.objects.push([CommonVals.STAR_TOKEN, 938, 312]); _local5.objects.push([CommonVals.STAR_TOKEN, 938, 369]); _local5.objects.push([CommonVals.STAR_TOKEN, 1037, 313]); _local5.objects.push([CommonVals.STAR_TOKEN, 1037, 369]); _local5.objects.push([CommonVals.STAR_TOKEN, 995, 47]); _local5.objects.push([CommonVals.STAR_TOKEN, 995, 163]); _local5.objects.push([CommonVals.STAR_TOKEN, 944, 80]); _local5.objects.push([CommonVals.STAR_TOKEN, 944, 136]); _local5.objects.push([CommonVals.STAR_TOKEN, 1043, 80]); _local5.objects.push([CommonVals.STAR_TOKEN, 1043, 136]); _local5.objects.push([CommonVals.STAR_TOKEN, 781, 269]); _local5.objects.push([CommonVals.STAR_TOKEN, 730, 185]); _local5.objects.push([CommonVals.STAR_TOKEN, 730, 241]); _local5.objects.push([CommonVals.STAR_TOKEN, 829, 185]); _local5.objects.push([CommonVals.STAR_TOKEN, 829, 241]); _local5.objects.push([CommonVals.STAR_TOKEN, 588, 250]); _local5.objects.push([CommonVals.STAR_TOKEN, 588, 366]); _local5.objects.push([CommonVals.STAR_TOKEN, 539, 282]); _local5.objects.push([CommonVals.STAR_TOKEN, 539, 338]); _local5.objects.push([CommonVals.STAR_TOKEN, 638, 282]); _local5.objects.push([CommonVals.STAR_TOKEN, 638, 338]); _local5.objects.push([CommonVals.STAR_TOKEN, 535, 63]); _local5.objects.push([CommonVals.STAR_TOKEN, 535, 119]); _local5.objects.push([CommonVals.STAR_TOKEN, 634, 63]); _local5.objects.push([CommonVals.STAR_TOKEN, 634, 119]); _local5.objects.push([CommonVals.STAR_TOKEN, 584, 31]); _local5.objects.push([CommonVals.STAR_TOKEN, 584, 147]); _local5.objects.push([CommonVals.STAR_TOKEN, 311, 191]); _local5.objects.push([CommonVals.STAR_TOKEN, 311, 247]); _local5.objects.push([CommonVals.STAR_TOKEN, 410, 191]); _local5.objects.push([CommonVals.STAR_TOKEN, 410, 247]); _local5.objects.push([CommonVals.STAR_TOKEN, 362, 159]); _local5.objects.push([CommonVals.STAR_TOKEN, 362, 275]); _local5.objects.push([CommonVals.STAR_TOKEN, 130, 252]); _local5.objects.push([CommonVals.STAR_TOKEN, 130, 372]); _local5.objects.push([CommonVals.STAR_TOKEN, 83, 288]); _local5.objects.push([CommonVals.STAR_TOKEN, 83, 345]); _local5.objects.push([CommonVals.STAR_TOKEN, 182, 288]); _local5.objects.push([CommonVals.STAR_TOKEN, 182, 345]); _local5.objects.push([CommonVals.STAR_TOKEN, 94, 61]); _local5.objects.push([CommonVals.STAR_TOKEN, 94, 117]); _local5.objects.push([CommonVals.STAR_TOKEN, 193, 61]); _local5.objects.push([CommonVals.STAR_TOKEN, 193, 117]); _local5.objects.push([CommonVals.STAR_TOKEN, 144, 29]); _local5.objects.push([CommonVals.STAR_TOKEN, 144, 145]); _local5.objects.push([CommonVals.FLOAT_BOMB, 170, 729, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 839, 737, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 839, 737, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 123, 472, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 71, 214, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 212, 211, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 359, 333, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 582, 194, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 792, 342, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 927, 205, 1]); _local5.objects.push([CommonVals.FLOAT_BOMB, 968, 555, 1]); _local5.objects.push([CommonVals.TELE_TRANSMISSION, 511, 769, 1, 0]); _local5.objects.push([CommonVals.BUMPER, 920, 578, 1]); _local5.objects.push([CommonVals.BUMPER, 815, 449, 1]); _local5.objects.push([CommonVals.BUMPER, 990, 338, 1]); _local5.objects.push([CommonVals.BUMPER, 996, 105, 1]); _local5.objects.push([CommonVals.BUMPER, 782, 207, 1]); _local5.objects.push([CommonVals.BUMPER, 585, 87, 1]); _local5.objects.push([CommonVals.BUMPER, 589, 306, 1]); _local5.objects.push([CommonVals.BUMPER, 920, 578, 1]); _local5.objects.push([CommonVals.BUMPER, 363, 216, 1]); _local5.objects.push([CommonVals.BUMPER, 145, 82, 1]); _local5.objects.push([CommonVals.BUMPER, 131, 309, 1]); _local5.objects.push([CommonVals.BUMPER, 288, 449, 1]); _local5.objects.push([CommonVals.BUMPER, 127, 542, 1]); _local5.actors.push([CommonVals.WINDMILL_FAN, 722, 636, 0.726, 0, 2]); _local5.actors.push([CommonVals.WINDMILL_FAN, 286, 636, 0.726, 0, 2]); _local5.actors.push([CommonVals.CAT, 79, 737, 1]); _local5.actors.push([CommonVals.COW, 974, 740, 1]); _local5.actors.push([CommonVals.DOG, 779, 71, 1]); _local5.actors.push([CommonVals.COW, 355, 79, 1]); allLevels.push(_local5); var _local6:LevelDataPrototype = new LevelDataPrototype(); _local6.levelWidth = 2500; _local6.levelHeight = 480; _local6.bgLayerWidth = 666.67; _local6.bgLayerHeight = 500; _local6.initCameraPos = new Point(0, 0); _local6.ufoPos = new Point(221, 352); _local6.sceneType = SNOW_SCENE; _local6.ufoSpawnable = false; _local6.stillTerrain = [[[-30, 0], [0, 0], [0, 480], [-30, 480]], [[0, -30], [2500, -30], [2500, 0], [0, 0]], [[2500, 0], [2530, 0], [2530, 480], [2500, 480]], [[0, 445], [2500, 445], [2500, 480], [0, 480]], [[0, 178], [2095, 178], [2188, 200], [2188, 247], [0, 247]], [[279, 247], [375, 247], [344, 344], [298, 344]], [[565, 344], [612, 344], [657, 445], [525, 445]], [[811, 247], [959, 247], [921, 338], [865, 338]], [[1197, 247], [1351, 247], [1309, 334], [1237, 334]], [[1516, 330], [1593, 330], [1644, 445], [1446, 445]], [[1796, 337], [1852, 337], [2107, 444], [1737, 444]], [[807, 178], [1086, 155], [2031, 155], [2097, 178]], [[1533, 155], [1718, 133], [1996, 133], [2027, 155]]]; _local6.maliciousRegion = [[[607, 245], [749, 245], [733, 265], [617, 266]], [[733, 445], [735, 427], [860, 427], [875, 444]], [[978, 445], [978, 426], [1243, 424], [1257, 445]], [[1622, 247], [1763, 247], [1747, 266], [1630, 266]]]; _local6.objects = [[CommonVals.STAR_TOKEN, 387, 349], [CommonVals.STAR_TOKEN, 471, 420], [CommonVals.STAR_TOKEN, 521, 298], [CommonVals.STAR_TOKEN, 708, 338], [CommonVals.STAR_TOKEN, 689, 427], [CommonVals.STAR_TOKEN, 989, 292], [CommonVals.STAR_TOKEN, 974, 378], [CommonVals.STAR_TOKEN, 1183, 405], [CommonVals.STAR_TOKEN, 1331, 420], [CommonVals.STAR_TOKEN, 1403, 317], [CommonVals.STAR_TOKEN, 1415, 413], [CommonVals.STAR_TOKEN, 1687, 412], [CommonVals.STAR_TOKEN, 1740, 345], [CommonVals.STAR_TOKEN, 1894, 298], [CommonVals.STAR_TOKEN, 2086, 407], [CommonVals.STAR_TOKEN, 2252, 314], [CommonVals.STAR_TOKEN, 2373, 341], [CommonVals.STAR_TOKEN, 2443, 74], [CommonVals.STAR_TOKEN, 2411, 165], [CommonVals.STAR_TOKEN, 2312, 148], [CommonVals.FLOAT_BOMB, 521, 363, 1], [CommonVals.FLOAT_BOMB, 791, 289, 1], [CommonVals.FLOAT_BOMB, 2047, 273, 1], [CommonVals.FLOAT_BOMB, 2112, 315, 1], [CommonVals.FLOAT_BOMB, 2175, 361, 1], [CommonVals.FLOAT_BOMB, 2175, 361, 1], [CommonVals.TELE_TRANSMISSION, 2392, 447, 1, 0], [CommonVals.LASER_PROJECTOR, 653, 209, -90, 4, true, 2], [CommonVals.LASER_PROJECTOR, 1523, 206, -90, 4, true, 4], [CommonVals.LASER_PROJECTOR, 2175, 224, 0, 6, true, 6]]; _local6.actors = [[CommonVals.KEY, 25, 300, true, [0]], [CommonVals.DOOR, 308, 344, 1.02, 0, true, -1, 0], [CommonVals.DOOR, 316, 81, 1, 0, true, 1, 0], [CommonVals.KEY, 433, 289, true, [1]], [CommonVals.DOOR, 578, 247, 1, 0, true, 1, 1], [CommonVals.KEY, 774, 374, true, [2]], [CommonVals.DOOR, 878, 338, 1.08, 0, true, -1, 2], [CommonVals.KEY, 1099, 352, true, [3]], [CommonVals.DOOR, 1257, 333, 1.14, 0, true, -1, 3], [CommonVals.KEY, 1425, 321, true, [4]], [CommonVals.DOOR, 1546, 247, 0.86, 0, true, 1, 4], [CommonVals.KEY, 1707, 288, true, [5]], [CommonVals.DOOR, 1809, 247, 0.928, 0, true, 1, 5], [CommonVals.KEY, 2447, 381, true, [6]], [CommonVals.CANNON, 1258, 215, 1, 135, 10, 200, 350], [CommonVals.COW, 267, 140, 1], [CommonVals.DOG, 1688, 425, 1], [CommonVals.CAT, 1658, 425, 1], [CommonVals.CAR, 270, 172, 9.5]]; allLevels.push(_local6); var _local7:LevelDataPrototype = new LevelDataPrototype(); _local7.levelWidth = 900; _local7.levelHeight = 1055; _local7.bgLayerWidth = 700; _local7.bgLayerHeight = 568; _local7.initCameraPos = new Point(0, 0); _local7.ufoPos = new Point(330, 207); _local7.sceneType = NIGHT_SCENE; _local7.stillTerrain.push([[0, 0], [43, 0], [43, 1055], [0, 1055]]); _local7.stillTerrain.push([[0, -30], [900, -30], [900, 0], [0, 0]]); _local7.stillTerrain.push([[838, 0], [900, 0], [900, 1055], [838, 1055]]); _local7.stillTerrain.push([[0, 977], [900, 977], [900, 1055], [0, 1055]]); _local7.stillTerrain.push([[316, 682], [838, 682], [838, 764], [316, 764]]); _local7.stillTerrain.push([[688, 495], [838, 495], [838, 549], [688, 549]]); _local7.stillTerrain.push([[0, 426], [199, 426], [199, 473], [0, 473]]); _local7.stillTerrain.push([[154, 281], [269, 281], [269, 319], [154, 319]]); _local7.stillTerrain.push([[154, 319], [191, 319], [191, 430], [154, 430]]); _local7.stillTerrain.push([[191, 426], [520, 426], [520, 473], [191, 473]]); _local7.stillTerrain.push([[477, 319], [520, 319], [520, 426], [477, 426]]); _local7.stillTerrain.push([[394, 281], [520, 281], [520, 319], [394, 319]]); _local7.objects.push([CommonVals.STAR_TOKEN, 603, 398]); _local7.objects.push([CommonVals.STAR_TOKEN, 715, 441]); _local7.objects.push([CommonVals.STAR_TOKEN, 814, 472]); _local7.objects.push([CommonVals.STAR_TOKEN, 553, 807]); _local7.objects.push([CommonVals.STAR_TOKEN, 593, 807]); _local7.objects.push([CommonVals.STAR_TOKEN, 633, 807]); _local7.objects.push([CommonVals.STAR_TOKEN, 673, 807]); _local7.objects.push([CommonVals.STAR_TOKEN, 95, 686]); _local7.objects.push([CommonVals.STAR_TOKEN, 135, 686]); _local7.objects.push([CommonVals.STAR_TOKEN, 175, 686]); _local7.objects.push([CommonVals.STAR_TOKEN, 215, 686]); _local7.objects.push([CommonVals.STAR_TOKEN, 117, 726]); _local7.objects.push([CommonVals.STAR_TOKEN, 157, 726]); _local7.objects.push([CommonVals.STAR_TOKEN, 197, 726]); _local7.objects.push([CommonVals.STAR_TOKEN, 137, 763]); _local7.objects.push([CommonVals.STAR_TOKEN, 177, 763]); _local7.objects.push([CommonVals.STAR_TOKEN, 157, 797]); _local7.objects.push([CommonVals.LASER_PROJECTOR, 523, 412, 22.7, 3, true, 0]); _local7.objects.push([CommonVals.LASER_PROJECTOR, 453, 464, 92.9, 3, true, 1]); _local7.objects.push([CommonVals.TELE_TRANSMISSION, 770, 984, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 266, 278, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 307, 278, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 349, 278, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 712, 84, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 754, 84, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 797, 84, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 712, 126, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 712, 169, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 712, 211, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 755, 211, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 795, 211, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 698, 597, 1, 0]); _local7.actors.push([CommonVals.BREAKABLE_SQUARE, 698, 639, 1, 0]); _local7.actors.push([CommonVals.KEY, 772, 162, true, [0]]); _local7.actors.push([CommonVals.KEY, 775, 590, true, [1]]); _local7.actors.push([CommonVals.CANNON, 10, -13, 1, 72.6, 50, 100, 250]); _local7.actors.push([CommonVals.CANNON, 503, 311, 0.6, 0, [12, 20], 100, 250]); _local7.actors.push([CommonVals.CANNON, 878, 806, 1.5, 180, [77, 90], 100, 250]); _local7.actors.push([CommonVals.COW, 305, 401, 1]); _local7.actors.push([CommonVals.DOG, 811, 666, 1]); allLevels.push(_local7); var _local8:LevelDataPrototype = new LevelDataPrototype(); _local8.levelWidth = 2800; _local8.levelHeight = 480; _local8.bgLayerWidth = 929; _local8.bgLayerHeight = 480; _local8.initCameraPos = new Point(0, 0); _local8.ufoPos = new Point(87, 262); _local8.sceneType = NIGHT_SCENE; _local8.ufoSpawnable = true; _local8.stillTerrain = [[[-30, 0], [0, 0], [0, 480], [-30, 480]], [[0, -30], [2800, -30], [2800, 0], [0, 0]], [[2800, 0], [2850, 0], [2850, 480], [2800, 480]], [[0, 480], [2800, 480], [2800, 550], [0, 550]], [[0, 0], [689, 0], [583, 105], [0, 105]], [[0, 382], [601, 382], [699, 480], [0, 480]], [[934, 480], [1032, 382], [1480, 382], [1480, 480]], [[1480, 472], [1593, 472], [1593, 480], [1480, 480]], [[1593, 382], [2034, 382], [2127, 480], [1593, 480]], [[1039, 105], [934, 0], [2113, 0], [2022, 105]], [[2463, 105], [2348, 0], [2800, 0], [2800, 105]], [[2348, 480], [2442, 382], [2800, 382], [2800, 480]]]; _local8.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 1071, 262, false], [CommonVals.LASER_PROJECTOR, 2547, 376, -90, 4, true, 0], [CommonVals.STAR_TOKEN, 336, 186], [CommonVals.STAR_TOKEN, 405, 296], [CommonVals.STAR_TOKEN, 475, 226], [CommonVals.STAR_TOKEN, 335, 346], [CommonVals.STAR_TOKEN, 725, 433], [CommonVals.STAR_TOKEN, 905, 433], [CommonVals.STAR_TOKEN, 1092, 318], [CommonVals.STAR_TOKEN, 1189, 300], [CommonVals.STAR_TOKEN, 1286, 303], [CommonVals.STAR_TOKEN, 1426, 353], [CommonVals.STAR_TOKEN, 0x0600, 233], [CommonVals.STAR_TOKEN, 1707, 253], [CommonVals.STAR_TOKEN, 1706, 346], [CommonVals.STAR_TOKEN, 1817, 323], [CommonVals.STAR_TOKEN, 2327, 43], [CommonVals.STAR_TOKEN, 2437, 153], [CommonVals.TELE_TRANSMISSION, 2704, 389, 1, 0]]; _local8.actors = [[CommonVals.MOVABLE_STICK_BLOCK, 306, -258, 1, 0, 265, 3, 200], [CommonVals.MOVABLE_STICK_BLOCK, 386, -258, 1, 0, 265, 3, 100], [CommonVals.MOVABLE_STICK_BLOCK, 466, -258, 1, 0, 265, 3, 0], [CommonVals.MOVABLE_STICK_BLOCK, 1224, 743, 1, 180, 265, 3, 200], [CommonVals.MOVABLE_STICK_BLOCK, 1304, 743, 1, 180, 265, 3, 100], [CommonVals.MOVABLE_STICK_BLOCK, 1384, 743, 1, 180, 265, 3, 50], [CommonVals.MOVABLE_STICK_BLOCK, 1384, -258, 1, 0, 265, -2, 0], [CommonVals.MOVABLE_STICK_BLOCK, 1464, -258, 1, 0, 265, -2, 50], [CommonVals.MOVABLE_STICK_BLOCK, 1544, -258, 1, 0, 265, -2, 100], [CommonVals.MOVABLE_STICK_BLOCK, 1624, -258, 1, 0, 265, -2, 150], [CommonVals.MOVABLE_STICK_BLOCK, 1704, -258, 1, 0, 265, -2, 200], [CommonVals.MOVABLE_STICK_BLOCK, 1784, -258, 1, 0, 265, -2, 250], [CommonVals.KEY, 2142, 26, true, [0]], [CommonVals.GEAR1, 814, 238, 1.18, 0, 1, 0], [CommonVals.GEAR1, 2238, 238, 1.18, 0, -1, 0], [CommonVals.COW, 1518, 432, 1]]; allLevels.push(_local8); var _local9:LevelDataPrototype = new LevelDataPrototype(); _local9.levelWidth = 773; _local9.levelHeight = 1636; _local9.bgLayerWidth = 700; _local9.bgLayerHeight = 568; _local9.initCameraPos = new Point(0, 0); _local9.ufoPos = new Point(200, 136); _local9.sceneType = NIGHT_SCENE; _local9.ufoSpawnable = false; _local9.stillTerrain = [[[-30, 0], [0, 0], [0, 1636], [-30, 1636]], [[0, -30], [773, -30], [773, 0], [0, 0]], [[701, 0], [773, 0], [773, 1636], [701, 1636]], [[0, 1596], [773, 1596], [773, 1636], [0, 1636]], [[0, 206], [399, 206], [399, 293], [0, 293]], [[399, 206], [509, 0x0100], [509, 293], [399, 293]], [[345, 432], [701, 432], [701, 518], [345, 518]], [[188, 481], [345, 432], [345, 518], [188, 518]], [[437, 639], [701, 639], [701, 766], [437, 766]], [[325, 688], [437, 639], [437, 766], [325, 766]], [[324, 895], [701, 895], [701, 1050], [324, 1050]], [[324, 1050], [452, 1050], [452, 1154], [324, 1154]], [[543, 1050], [701, 1050], [701, 1208], [543, 1208]], [[0, 1279], [146, 1381], [146, 1596], [0, 1596]], [[195, 1317], [340, 1208], [701, 1208], [701, 1596], [195, 1596]]]; _local9.maliciousRegion = [[[147, 1397], [147, 1433], [142, 1433], [151, 1397]]]; _local9.objects = [[CommonVals.STAR_TOKEN, 523, 795], [CommonVals.STAR_TOKEN, 650, 795], [CommonVals.STAR_TOKEN, 73, 878], [CommonVals.STAR_TOKEN, 242, 878], [CommonVals.STAR_TOKEN, 158, 864], [CommonVals.STAR_TOKEN, 19, 952], [CommonVals.STAR_TOKEN, 117, 947], [CommonVals.STAR_TOKEN, 202, 947], [CommonVals.STAR_TOKEN, 71, 1016], [CommonVals.STAR_TOKEN, 159, 1015], [CommonVals.STAR_TOKEN, 243, 1018], [CommonVals.STAR_TOKEN, 19, 1078], [CommonVals.STAR_TOKEN, 116, 1077], [CommonVals.STAR_TOKEN, 199, 1079], [CommonVals.STAR_TOKEN, 289, 1081], [CommonVals.STAR_TOKEN, 69, 1141], [CommonVals.STAR_TOKEN, 159, 1141], [CommonVals.STAR_TOKEN, 241, 1147], [CommonVals.STAR_TOKEN, 116, 1206], [CommonVals.STAR_TOKEN, 199, 1201], [CommonVals.STAR_TOKEN, 57, 1258], [CommonVals.STAR_TOKEN, 208, 1254], [CommonVals.FLOAT_BOMB, 69, 820, 1.2], [CommonVals.FLOAT_BOMB, 158, 820, 1.2], [CommonVals.FLOAT_BOMB, 239, 820, 1.2], [CommonVals.FLOAT_BOMB, 327, 820, 1.2], [CommonVals.FLOAT_BOMB, 29, 890, 1.2], [CommonVals.FLOAT_BOMB, 118, 890, 1.2], [CommonVals.FLOAT_BOMB, 199, 890, 1.2], [CommonVals.FLOAT_BOMB, 288, 890, 1.2], [CommonVals.FLOAT_BOMB, 69, 950, 1.2], [CommonVals.FLOAT_BOMB, 158, 950, 1.2], [CommonVals.FLOAT_BOMB, 246, 950, 1.2], [CommonVals.FLOAT_BOMB, 29, 1020, 1.2], [CommonVals.FLOAT_BOMB, 118, 1020, 1.2], [CommonVals.FLOAT_BOMB, 199, 1020, 1.2], [CommonVals.FLOAT_BOMB, 288, 1020, 1.2], [CommonVals.FLOAT_BOMB, 69, 1080, 1.2], [CommonVals.FLOAT_BOMB, 158, 1080, 1.2], [CommonVals.FLOAT_BOMB, 239, 1080, 1.2], [CommonVals.FLOAT_BOMB, 29, 1150, 1.2], [CommonVals.FLOAT_BOMB, 118, 1150, 1.2], [CommonVals.FLOAT_BOMB, 199, 1150, 1.2], [CommonVals.FLOAT_BOMB, 72, 1210, 1.2], [CommonVals.FLOAT_BOMB, 161, 1210, 1.2], [CommonVals.FLOAT_BOMB, 242, 1210, 1.2], [CommonVals.FLOAT_BOMB, 123, 1270, 1.2], [CommonVals.TELE_TRANSMISSION, 89, 210, 1, 0]]; _local9.actors = [[CommonVals.TrashCan, 595, 642, 1, 0], [CommonVals.SPINY_STICK, 622, 271, 1, 180, 0.7, false, 0], [CommonVals.WINDMILL_FAN, 22, 433, 1, 0, -1], [CommonVals.SPINY_STICK, 178, 711, 1.247, -179, -1, true, 2], [CommonVals.DOOR, 507, 765, 1.34, 0, true, -1, 1], [CommonVals.TRIGGER, 336, 84, 0], [CommonVals.TRIGGER, 400, 424, 0], [CommonVals.KEY, 466, 1062, true, [1]], [CommonVals.COW, 626, 869, 1]]; allLevels.push(_local9); var _local10:LevelDataPrototype = new LevelDataPrototype(); _local10.levelWidth = 1685; _local10.levelHeight = 1060; _local10.bgLayerWidth = 1099; _local10.bgLayerHeight = 568; _local10.initCameraPos = new Point(0, 0); _local10.ufoPos = new Point(280, 34); _local10.sceneType = NIGHT_SCENE; _local10.stillTerrain = [[[0, -30], [1685, -30], [1685, 0], [0, 0]], [[-30, 0], [0, 0], [0, 1060], [-30, 1060]], [[0, 55], [68, 55], [68, 106], [0, 106]], [[0, 106], [522, 106], [522, 268], [296, 268], [0, 214]], [[522, 193], [701, 193], [701, 268], [522, 268]], [[701, 161], [1256, 161], [1256, 268], [701, 268]], [[1563, 0], [1685, 0], [1685, 373], [1394, 373]], [[1394, 373], [1685, 373], [1685, 549], [1142, 549]], [[221, 549], [1685, 549], [1685, 640], [221, 640]], [[0, 408], [81, 461], [81, 532], [0, 576]], [[0, 576], [42, 683], [42, 869], [0, 961]], [[0, 992], [243, 992], [243, 1060], [0, 1060]], [[243, 1060], [243, 992], [438, 779], [973, 779], [973, 1060]], [[973, 949], [1404, 949], [1404, 1060], [973, 1060]], [[1404, 656], [1685, 656], [1685, 1060], [1404, 1060]], [[1013, 657], [1022, 640], [1685, 640], [1685, 657]], [[483, 439], [585, 439], [585, 468], [483, 468]], [[900, 416], [1022, 416], [1022, 447], [900, 447]]]; _local10.maliciousRegion = [[[522, 173], [700, 173], [700, 191], [522, 191]]]; _local10.objects = [[CommonVals.STAR_TOKEN, 1054, 313], [CommonVals.STAR_TOKEN, 921, 344], [CommonVals.STAR_TOKEN, 759, 362], [CommonVals.STAR_TOKEN, 574, 389], [CommonVals.STAR_TOKEN, 388, 372], [CommonVals.STAR_TOKEN, 1068, 820], [CommonVals.STAR_TOKEN, 1123, 738], [CommonVals.STAR_TOKEN, 1162, 858], [CommonVals.STAR_TOKEN, 1193, 780], [CommonVals.STAR_TOKEN, 1315, 838], [CommonVals.STAR_TOKEN, 1152, 785], [CommonVals.STAR_TOKEN, 1330, 745], [CommonVals.STAR_TOKEN, 1236, 713], [CommonVals.STAR_TOKEN, 1301, 894], [CommonVals.FLOAT_BOMB, 1378, 347, 1], [CommonVals.FLOAT_BOMB, 1345, 379, 1], [CommonVals.FLOAT_BOMB, 1301, 397, 1], [CommonVals.FLOAT_BOMB, 1067, 690, 1], [CommonVals.FLOAT_BOMB, 1032, 726, 1], [CommonVals.FLOAT_BOMB, 997, 761, 1], [CommonVals.LASER_PROJECTOR, 236, 584, -90, 5, true, 1], [CommonVals.BUMPER, 95, 664, 1], [CommonVals.TELE_TRANSMISSION, 36, 0x0300, 1, 90], [CommonVals.HIDDEN_BLOCK_OBJECT, 900, 638, [[[128, 6], [510, 6], [510, 332], [2, 332], [2, 172]]], 1]]; _local10.actors = [[CommonVals.BREAKABLE_SQUARE, 1114, 332, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1044, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 843, 384, 1, 0], [CommonVals.BREAKABLE_SQUARE, 779, 427, 1, 0], [CommonVals.BREAKABLE_SQUARE, 702, 405, 1, 0], [CommonVals.BREAKABLE_SQUARE, 633, 427, 1, 0], [CommonVals.BREAKABLE_SQUARE, 409, 433, 1, 0], [CommonVals.BREAKABLE_SQUARE, 336, 429, 1, 0], [CommonVals.BREAKABLE_SQUARE, 578, 394, 1, 0], [CommonVals.SPINY_BALL, [[147, 601], [147, 707], [872, 707]], 1.8, 2], [CommonVals.TrashCan, 522, 159, 1, 90], [CommonVals.TrashCan, 564, 159, 1, 90], [CommonVals.TrashCan, 606, 159, 1, 90], [CommonVals.TrashCan, 648, 159, 1, 90], [CommonVals.CANNON, 27, 476, 1.5, -19, [65, 185], 250, 150], [CommonVals.WINDMILL_FAN, 1242, 180, 1, 0, 2], [CommonVals.KEY, 16, 18, true, [0]], [CommonVals.KEY, 511, 410, true, [1]], [CommonVals.DOOR, 495, 10, 1, 0, true, 1, 0], [CommonVals.COW, 152, 80, 1], [CommonVals.DOG, 238, 105, 1], [CommonVals.DOG, 343, 105, 1], [CommonVals.CAT, 430, 102, 1], [CommonVals.DOG, 1087, 959, 1], [CommonVals.DOG, 1037, 959, 1], [CommonVals.DOG, 1203, 959, 1], [CommonVals.DOG, 1253, 959, 1], [CommonVals.CAT, 1230, 959, 1], [CommonVals.CAT, 1064, 959, 1]]; allLevels.push(_local10); var _local11:LevelDataPrototype = new LevelDataPrototype(); _local11.levelWidth = 910; _local11.levelHeight = 871; _local11.bgLayerWidth = 780; _local11.bgLayerHeight = 568; _local11.initCameraPos = new Point(167, 0x0100); _local11.ufoPos = new Point(487, 496); _local11.sceneType = NIGHT_SCENE; _local11.ufoSpawnable = true; _local11.stillTerrain = [[[-30, 0], [0, 0], [0, 871], [-30, 871]], [[0, -30], [910, -30], [910, 0], [0, 0]], [[910, 0], [940, 0], [940, 871], [910, 871]], [[0, 826], [910, 826], [910, 871], [0, 871]], [[0, 0], [73, 0], [73, 626], [0, 626]], [[73, 554], [181, 554], [181, 626], [73, 626]], [[191, 128], [270, 128], [270, 177], [191, 177]], [[191, 177], [393, 177], [393, 415], [250, 415], [191, 382]], [[393, 344], [693, 344], [693, 387], [602, 415], [393, 415]], [[460, 0], [528, 0], [528, 154], [460, 154]], [[460, 154], [694, 154], [694, 198], [645, 228], [506, 228], [460, 198]], [[840, 0], [910, 0], [910, 427], [840, 427]], [[840, 427], [910, 427], [910, 561], [696, 561]], [[83, 718], [324, 718], [324, 772], [83, 772]], [[278, 561], [324, 561], [324, 718], [278, 718]], [[324, 561], [910, 561], [910, 618], [324, 618]], [[324, 618], [495, 618], [495, 685], [324, 685]], [[745, 618], [910, 618], [910, 826], [745, 826]]]; _local11.objects = [[CommonVals.LASER_PROJECTOR, 605, 198, 90, 2, true, 3], [CommonVals.LASER_PROJECTOR, 323, 208, -90, 4, true, 4], [CommonVals.LASER_PROJECTOR, 198, 237, 180, 1, true, 5], [CommonVals.STAR_TOKEN, 439, 703], [CommonVals.STAR_TOKEN, 393, 703], [CommonVals.STAR_TOKEN, 439, 808], [CommonVals.STAR_TOKEN, 393, 808], [CommonVals.STAR_TOKEN, 439, 0x0300], [CommonVals.STAR_TOKEN, 393, 0x0300], [CommonVals.STAR_TOKEN, 706, 652], [CommonVals.STAR_TOKEN, 706, 702], [CommonVals.STAR_TOKEN, 706, 752], [CommonVals.STAR_TOKEN, 706, 801], [CommonVals.STAR_TOKEN, 660, 652], [CommonVals.STAR_TOKEN, 660, 702], [CommonVals.STAR_TOKEN, 660, 752], [CommonVals.STAR_TOKEN, 660, 801], [CommonVals.STAR_TOKEN, 616, 652], [CommonVals.STAR_TOKEN, 616, 702], [CommonVals.STAR_TOKEN, 616, 752], [CommonVals.STAR_TOKEN, 616, 801], [CommonVals.STAR_TOKEN, 570, 652], [CommonVals.STAR_TOKEN, 570, 702], [CommonVals.STAR_TOKEN, 570, 752], [CommonVals.STAR_TOKEN, 570, 801], [CommonVals.STAR_TOKEN, 526, 652], [CommonVals.STAR_TOKEN, 526, 702], [CommonVals.STAR_TOKEN, 526, 752], [CommonVals.STAR_TOKEN, 526, 801], [CommonVals.FLOAT_BOMB, 247, 604, 1], [CommonVals.FLOAT_BOMB, 207, 604, 1], [CommonVals.FLOAT_BOMB, 50, 654, 1], [CommonVals.FLOAT_BOMB, 50, 687, 1], [CommonVals.HIDDEN_BLOCK_OBJECT, 0, 568, [[[0, 197], [753, 197], [753, 280], [0, 280]], [[313, 15], [755, 15], [755, 280], [313, 280]]], 1], [CommonVals.TELE_TRANSMISSION, 223, 720, 1, 0]]; _local11.actors = [[CommonVals.DOOR, 281, 413, 1.5, 0, false, -1, 0], [CommonVals.DOOR, 839, 344, 1.5, 90, false, -1, 1], [CommonVals.DOOR, 841, 155, 1.5, 90, false, -1, 2], [CommonVals.KEY, 579, 500, false, [1]], [CommonVals.KEY, 716, 248, false, [1, 3]], [CommonVals.KEY, 444, 306, false, [0, 2]], [CommonVals.KEY, 120, 276, false, [4]], [CommonVals.KEY, 414, 37, false, [5, 0]], [CommonVals.BREAKABLE_SQUARE, 376, 138, 1, 0], [CommonVals.BREAKABLE_SQUARE, 418, 138, 1, 0], [CommonVals.CANNON, 244, 169, 1, -45, 8, 30, 250], [CommonVals.COW, 572, 130, 1]]; allLevels.push(_local11); var _local12:LevelDataPrototype = new LevelDataPrototype(); _local12.levelWidth = 1856; _local12.levelHeight = 1090; _local12.bgLayerWidth = 1099; _local12.bgLayerHeight = 568; _local12.initCameraPos = new Point(0, 0); _local12.ufoPos = new Point(447, 296); _local12.sceneType = NIGHT_SCENE; _local12.ufoSpawnable = false; _local12.stillTerrain = [[[0, -30], [1856, -30], [1856, 0], [0, 0]], [[0, 0], [78, 0], [78, 1090], [0, 1090]], [[78, 0], [392, 0], [392, 212], [78, 212]], [[204, 310], [392, 310], [392, 437], [204, 437]], [[204, 437], [288, 437], [288, 536], [204, 536]], [[204, 536], [593, 536], [593, 858], [204, 858]], [[489, 310], [593, 310], [593, 536], [489, 536]], [[490, 136], [1856, 136], [1856, 212], [490, 212]], [[760, 0], [1856, 0], [1856, 136], [760, 136]], [[701, 212], [803, 212], [803, 632], [701, 632]], [[593, 746], [1026, 746], [1026, 858], [593, 858]], [[925, 322], [0x0404, 322], [0x0404, 746], [925, 746]], [[0x0404, 322], [1569, 575], [1569, 582], [0x0404, 582]], [[1098, 212], [1856, 212], [1856, 502], [1710, 502]], [[1710, 502], [1856, 502], [1856, 1090], [1710, 1090]], [[1154, 699], [1710, 699], [1710, 1090], [1154, 1090]], [[78, 980], [1154, 980], [1154, 1090], [78, 1090]]]; _local12.maliciousRegion = [[[78, 414], [95, 423], [91, 548], [78, 554]], [[803, 485], [820, 495], [818, 620], [803, 625]], [[909, 325], [923, 323], [923, 463], [910, 456]], [[1042, 327], [1064, 316], [1170, 365], [1167, 384]], [[1222, 283], [1227, 272], [1352, 331], [1333, 338]], [[1300, 448], [1317, 438], [1558, 549], [1559, 568]], [[1529, 415], [1653, 474], [1645, 484], [1523, 427]], [[775, 855], [1007, 859], [1007, 869], [787, 869]]]; _local12.objects = [[CommonVals.STAR_TOKEN, 251, 235], [CommonVals.STAR_TOKEN, 301, 235], [CommonVals.STAR_TOKEN, 678, 235], [CommonVals.STAR_TOKEN, 615, 355], [CommonVals.STAR_TOKEN, 615, 405], [CommonVals.STAR_TOKEN, 615, 455], [CommonVals.STAR_TOKEN, 675, 505], [CommonVals.STAR_TOKEN, 675, 555], [CommonVals.STAR_TOKEN, 675, 605], [CommonVals.STAR_TOKEN, 675, 655], [CommonVals.STAR_TOKEN, 847, 728], [CommonVals.STAR_TOKEN, 890, 728], [CommonVals.STAR_TOKEN, 906, 0x0202], [CommonVals.STAR_TOKEN, 906, 564], [CommonVals.STAR_TOKEN, 906, 614], [CommonVals.STAR_TOKEN, 825, 345], [CommonVals.STAR_TOKEN, 825, 395], [CommonVals.STAR_TOKEN, 825, 445], [CommonVals.STAR_TOKEN, 1110, 242], [CommonVals.STAR_TOKEN, 1170, 268], [CommonVals.STAR_TOKEN, 1284, 418], [CommonVals.STAR_TOKEN, 1364, 366], [CommonVals.STAR_TOKEN, 1407, 384], [CommonVals.STAR_TOKEN, 1688, 547], [CommonVals.STAR_TOKEN, 1688, 597], [CommonVals.STAR_TOKEN, 1688, 647], [CommonVals.STAR_TOKEN, 1480, 679], [CommonVals.STAR_TOKEN, 1430, 679], [CommonVals.STAR_TOKEN, 1420, 614], [CommonVals.STAR_TOKEN, 1370, 614], [CommonVals.STAR_TOKEN, 1320, 614], [CommonVals.STAR_TOKEN, 1270, 614], [CommonVals.STAR_TOKEN, 1110, 614], [CommonVals.STAR_TOKEN, 1067, 614], [CommonVals.STAR_TOKEN, 1050, 778], [CommonVals.STAR_TOKEN, 1140, 876], [CommonVals.STAR_TOKEN, 569, 879], [CommonVals.STAR_TOKEN, 523, 879], [CommonVals.STAR_TOKEN, 185, 679], [CommonVals.STAR_TOKEN, 185, 764], [CommonVals.STAR_TOKEN, 185, 809], [CommonVals.STAR_TOKEN, 129, 471], [CommonVals.STAR_TOKEN, 185, 399], [CommonVals.FLOAT_BOMB, 720, 654, 1], [CommonVals.FLOAT_BOMB, 803, 729, 1], [CommonVals.FLOAT_BOMB, 871, 235, 1], [CommonVals.FLOAT_BOMB, 1044, 235, 1], [CommonVals.FLOAT_BOMB, 1529, 619, 1], [CommonVals.FLOAT_BOMB, 1469, 619, 1], [CommonVals.FLOAT_BOMB, 1529, 619, 1], [CommonVals.FLOAT_BOMB, 1381, 681, 1], [CommonVals.FLOAT_BOMB, 1321, 681, 1], [CommonVals.FLOAT_BOMB, 1229, 619, 1], [CommonVals.FLOAT_BOMB, 1169, 619, 1], [CommonVals.FLOAT_BOMB, 1047, 735, 1], [CommonVals.BUMPER, 1231, 384, 1], [CommonVals.BUMPER, 1448, 409, 1], [CommonVals.TELE_TRANSMISSION, 699, 145, 1, 0]]; _local12.actors = [[CommonVals.DOOR, 489, 317, 1, 90, true, -1, 0], [CommonVals.DOOR, 493, 211, 1, 0, true, -1, 0], [CommonVals.KEY, 419, 217, true, [0]], [CommonVals.DOOR, 365, 212, 1, 0, true, -1, 1], [CommonVals.KEY, 274, 251, true, [1]], [CommonVals.DOOR, 489, 182, 1, 90, true, -1, 2], [CommonVals.KEY, 314, 495, true, [2]], [CommonVals.DOOR, 730, 859, 1.25, 0, true, -1, 3], [CommonVals.KEY, 881, 934, true, [3]], [CommonVals.TRIGGER, 89, 604, 4], [CommonVals.CANNON, 1275, 945, 1.5, 180, 45, 150, 150], [CommonVals.SPINY_BALL, [[445, 409], [445, 259], [647, 259], [647, 692], [863, 692], [863, 272], [1092, 272], [1637, 530], [1637, 637], [1096, 637], [1096, 918], [144, 918], [144, 268], [445, 268], [445, 487], [364, 487]], 1.5, 3], [CommonVals.SPINY_STICK, 81, 262, 0.766, 0, 1, true, 9], [CommonVals.WINDMILL_FAN, 226, 846, 1.15, 0, 2], [CommonVals.SPINY_STICK, 81, 429, 0.766, 0, 1, false, 4], [CommonVals.SPINY_STICK, 202, 632, 0.727, 0, 1, true, 9], [CommonVals.COW, 360, 506, 1], [CommonVals.DOG, 440, 160, 1]]; allLevels.push(_local12); var _local13:LevelDataPrototype = new LevelDataPrototype(); _local13.levelWidth = 2100; _local13.levelHeight = 904; _local13.bgLayerWidth = 666.67; _local13.bgLayerHeight = 500; _local13.initCameraPos = new Point(0, 0); _local13.ufoPos = new Point(118, 249); _local13.sceneType = SNOW_SCENE; _local13.ufoSpawnable = false; _local13.stillTerrain.push([[-30, 0], [0, 0], [0, 2000], [-30, 2000]]); _local13.stillTerrain.push([[0, -30], [2100, -30], [2100, 0], [0, 0]]); _local13.stillTerrain.push([[2100, 0], [2130, 0], [2130, 2000], [2100, 2000]]); _local13.stillTerrain.push([[0, 2000], [2100, 2000], [2100, 2030], [0, 2030]]); _local13.stillTerrain.push([[0, 0], [449, 0], [449, 49], [0, 49]]); _local13.stillTerrain.push([[449, 0], [729, 0], [729, 108], [449, 49]]); _local13.stillTerrain.push([[729, 0], [1230, 0], [1230, 108], [729, 108]]); _local13.stillTerrain.push([[1230, 0], [1451, 0], [1451, 60], [1230, 108]]); _local13.stillTerrain.push([[1451, 0], [2100, 0], [2100, 60], [1451, 60]]); _local13.stillTerrain.push([[0, 146], [449, 146], [449, 201], [0, 202]]); _local13.stillTerrain.push([[449, 146], [758, 208], [758, 259], [449, 201]]); _local13.stillTerrain.push([[758, 208], [1230, 208], [1230, 258], [758, 258]]); _local13.stillTerrain.push([[1230, 208], [1465, 148], [1465, 201], [1230, 258]]); _local13.stillTerrain.push([[1465, 148], [1772, 148], [1786, 175], [1772, 201], [1465, 201]]); _local13.stillTerrain.push([[0, 300], [449, 300], [449, 433], [0, 433]]); _local13.stillTerrain.push([[449, 300], [761, 348], [761, 433], [449, 433]]); _local13.stillTerrain.push([[761, 348], [1989, 348], [1989, 433], [761, 433]]); _local13.stillTerrain.push([[1950, 433], [1989, 433], [1989, 530], [1950, 530]]); _local13.stillTerrain.push([[1989, 530], [1989, 587], [1140, 587], [1140, 530]]); _local13.stillTerrain.push([[893, 603], [1140, 530], [1140, 587], [893, 657]]); _local13.stillTerrain.push([[417, 603], [893, 603], [893, 657], [417, 657]]); _local13.stillTerrain.push([[1132, 685], [2100, 685], [2100, 782], [1132, 782]]); _local13.stillTerrain.push([[1297, 782], [1344, 782], [1344, 839], [1297, 839]]); _local13.stillTerrain.push([[238, 838], [1344, 838], [1344, 904], [238, 904]]); _local13.stillTerrain.push([[0, 867], [238, 867], [238, 904], [0, 904]]); _local13.maliciousRegion.push([[0, 853], [238, 853], [238, 867], [0, 867]]); _local13.objects.push([CommonVals.STAR_TOKEN, 326, 228]); _local13.objects.push([CommonVals.STAR_TOKEN, 366, 228]); _local13.objects.push([CommonVals.STAR_TOKEN, 406, 228]); _local13.objects.push([CommonVals.STAR_TOKEN, 446, 228]); _local13.objects.push([CommonVals.STAR_TOKEN, 606, 302]); _local13.objects.push([CommonVals.STAR_TOKEN, 644, 312]); _local13.objects.push([CommonVals.STAR_TOKEN, 724, 328]); _local13.objects.push([CommonVals.STAR_TOKEN, 766, 334]); _local13.objects.push([CommonVals.STAR_TOKEN, 780, 280]); _local13.objects.push([CommonVals.STAR_TOKEN, 820, 280]); _local13.objects.push([CommonVals.STAR_TOKEN, 860, 280]); _local13.objects.push([CommonVals.STAR_TOKEN, 900, 280]); _local13.objects.push([CommonVals.STAR_TOKEN, 1040, 333]); _local13.objects.push([CommonVals.STAR_TOKEN, 1080, 333]); _local13.objects.push([CommonVals.STAR_TOKEN, 1120, 333]); _local13.objects.push([CommonVals.STAR_TOKEN, 1160, 333]); _local13.objects.push([CommonVals.STAR_TOKEN, 1474, 234]); _local13.objects.push([CommonVals.STAR_TOKEN, 1474, 314]); _local13.objects.push([CommonVals.STAR_TOKEN, 1514, 234]); _local13.objects.push([CommonVals.STAR_TOKEN, 1514, 275]); _local13.objects.push([CommonVals.STAR_TOKEN, 1514, 316]); _local13.objects.push([CommonVals.STAR_TOKEN, 1558, 275]); _local13.objects.push([CommonVals.STAR_TOKEN, 1598, 275]); _local13.objects.push([CommonVals.STAR_TOKEN, 1638, 275]); _local13.objects.push([CommonVals.STAR_TOKEN, 1678, 275]); _local13.objects.push([CommonVals.STAR_TOKEN, 1914, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1874, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1834, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1794, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1487, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1447, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1407, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1367, 610]); _local13.objects.push([CommonVals.STAR_TOKEN, 1747, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1707, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1667, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1627, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1539, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1499, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1459, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1419, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1193, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1153, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1113, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 1073, 666]); _local13.objects.push([CommonVals.STAR_TOKEN, 599, 679]); _local13.objects.push([CommonVals.STAR_TOKEN, 639, 679]); _local13.objects.push([CommonVals.STAR_TOKEN, 679, 679]); _local13.objects.push([CommonVals.STAR_TOKEN, 555, 751]); _local13.objects.push([CommonVals.STAR_TOKEN, 595, 751]); _local13.objects.push([CommonVals.STAR_TOKEN, 635, 751]); _local13.objects.push([CommonVals.STAR_TOKEN, 675, 751]); _local13.objects.push([CommonVals.STAR_TOKEN, 559, 818]); _local13.objects.push([CommonVals.STAR_TOKEN, 599, 818]); _local13.objects.push([CommonVals.STAR_TOKEN, 639, 818]); _local13.objects.push([CommonVals.BUMPER, 494, 228, 0.53]); _local13.objects.push([CommonVals.BUMPER, 686, 318, 0.53]); _local13.objects.push([CommonVals.BUMPER, 494, 228, 0.53]); _local13.objects.push([CommonVals.BUMPER, 942, 275, 0.53]); _local13.objects.push([CommonVals.BUMPER, 1197, 339, 0.53]); _local13.objects.push([CommonVals.BUMPER, 1477, 277, 0.53]); _local13.objects.push([CommonVals.BUMPER, 1563, 220, 0.53]); _local13.objects.push([CommonVals.BUMPER, 1563, 333, 0.53]); _local13.objects.push([CommonVals.BUMPER, 556, 676, 0.53]); _local13.objects.push([CommonVals.BUMPER, 680, 817, 0.53]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1882, 319, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1924, 319, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1966, 319, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1940, 659, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1892, 659, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1844, 659, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1796, 659, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1677, 606, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1629, 606, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1582, 606, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1534, 606, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1377, 662, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1329, 662, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1282, 662, 1]); _local13.objects.push([CommonVals.FLOAT_BOMB, 1234, 662, 1]); _local13.objects.push([CommonVals.LASER_PROJECTOR, 936, 651, 90, 2, true, 2]); _local13.objects.push([CommonVals.TELE_TRANSMISSION, 1703, 355, 1, 0]); _local13.objects.push([CommonVals.TELE_TRANSMISSION, 403, 845, 1, 0]); _local13.actors.push([CommonVals.KEY, 93, 0x0101, true, [0]]); _local13.actors.push([CommonVals.KEY, 2026, 622, true, [1]]); _local13.actors.push([CommonVals.KEY, 1135, 796, true, [2]]); _local13.actors.push([CommonVals.DOOR, 276, 49, 1, 0, true, -1, 0]); _local13.actors.push([CommonVals.DOOR, 170, 202, 1, 0, true, -1, 0]); _local13.actors.push([CommonVals.DOOR, 1960, 587, 1, 0, true, -1, 1]); _local13.actors.push([CommonVals.DOOR, 1644, 433, 1, 0, true, -1, 1]); _local13.actors.push([CommonVals.COW, 200, 110, 1]); _local13.actors.push([CommonVals.COW, 1723, 490, -1]); _local13.actors.push([CommonVals.CAR, 198, 144, 13]); _local13.actors.push([CommonVals.CAR, 1722, 516, -5]); _local13.actors.push([CommonVals.SPINY_BALL, [[766, 698], [500, 698], [500, 784], [766, 784], [766, 698]], 1, 3]); _local13.actors.push([CommonVals.SPINY_BALL, [[500, 784], [766, 784], [766, 698], [500, 698], [500, 784]], 1, 3]); allLevels.push(_local13); var _local14:LevelDataPrototype = new LevelDataPrototype(); _local14.levelWidth = 2799; _local14.levelHeight = 480; _local14.bgLayerWidth = 929; _local14.bgLayerHeight = 480; _local14.initCameraPos = new Point(0, 0); _local14.ufoPos = new Point(100, 83); _local14.sceneType = NIGHT_SCENE; _local14.ufoSpawnable = true; _local14.stillTerrain.push([[98, 159], [130, 159], [130, 212], [98, 212]]); _local14.stillTerrain.push([[0, 212], [130, 212], [130, 0xFF], [39, 311], [0, 311]]); _local14.stillTerrain.push([[0, 311], [39, 311], [39, 390], [0, 390]]); _local14.stillTerrain.push([[0, 390], [39, 390], [119, 442], [0, 442]]); _local14.stillTerrain.push([[0, 442], [2799, 442], [2799, 480], [0, 480]]); _local14.stillTerrain.push([[610, 212], [668, 212], [668, 0x0100], [610, 253]]); _local14.stillTerrain.push([[610, 253], [668, 0x0100], [701, 313]]); _local14.stillTerrain.push([[806, 212], [867, 212], [867, 0xFF], [806, 0x0100]]); _local14.stillTerrain.push([[806, 0x0100], [867, 0xFF], [776, 313]]); _local14.stillTerrain.push([[668, 0x0100], [806, 0x0100], [776, 313], [701, 313]]); _local14.stillTerrain.push([[701, 313], [776, 313], [776, 391], [701, 391]]); _local14.stillTerrain.push([[701, 391], [776, 391], [856, 442], [620, 442]]); _local14.stillTerrain.push([[1703, 212], [1836, 212], [1836, 0x0101], [1703, 0xFF]]); _local14.stillTerrain.push([[1703, 0xFF], [1836, 0x0101], [1794, 313]]); _local14.stillTerrain.push([[1836, 0x0101], [1955, 0x0101], [1869, 313], [1794, 313]]); _local14.stillTerrain.push([[1794, 313], [1869, 313], [1869, 390], [1794, 390]]); _local14.stillTerrain.push([[1794, 390], [1869, 390], [1951, 442], [1713, 442]]); _local14.stillTerrain.push([[2011, 292], [2799, 292], [2799, 358], [2011, 358]]); _local14.stillTerrain.push([[2718, 0], [2799, 0], [2799, 480], [2718, 480]]); _local14.stillTerrain.push([[0, -30], [2799, -30], [2799, 0], [0, 0]]); _local14.stillTerrain.push([[-30, 0], [0, 0], [0, 480], [-30, 480]]); _local14.stillTerrain.push([[2097, 0], [2799, 0], [2799, 150], [2097, 150]]); _local14.stillTerrain.push([[852, 0], [1706, 0], [1706, 38], [852, 38]]); _local14.stillTerrain.push([[1103, 301], [1198, 301], [1198, 320], [1103, 320]]); _local14.stillTerrain.push([[1405, 211], [1499, 211], [1499, 230], [1405, 230]]); _local14.maliciousRegion.push([[129, 254], [129, 281], [59, 326], [40, 311]]); _local14.maliciousRegion.push([[40, 311], [59, 326], [64, 382], [39, 389]]); _local14.maliciousRegion.push([[39, 389], [57, 377], [116, 420], [117, 439]]); _local14.maliciousRegion.push([[119, 421], [616, 421], [621, 442], [119, 442]]); _local14.maliciousRegion.push([[621, 442], [616, 421], [679, 377], [702, 391]]); _local14.maliciousRegion.push([[679, 377], [680, 324], [701, 313], [702, 391]]); _local14.maliciousRegion.push([[602, 273], [610, 253], [701, 313], [680, 324]]); _local14.maliciousRegion.push([[861, 258], [869, 278], [796, 321], [776, 312]]); _local14.maliciousRegion.push([[776, 321], [796, 321], [797, 378], [776, 390]]); _local14.maliciousRegion.push([[776, 390], [797, 378], [857, 421], [857, 442]]); _local14.maliciousRegion.push([[857, 442], [857, 421], [1713, 421], [1713, 442]]); _local14.maliciousRegion.push([[1713, 421], [1770, 380], [1794, 391], [1713, 442]]); _local14.maliciousRegion.push([[1770, 380], [1773, 324], [1793, 313], [1794, 391]]); _local14.maliciousRegion.push([[1700, 277], [1709, 259], [1793, 313], [1773, 324]]); _local14.maliciousRegion.push([[1705, 191], [1831, 191], [1835, 212], [1702, 212]]); _local14.objects.push([CommonVals.UFO_SPAWNER_INACTIVE, 1943, 100, false]); _local14.objects.push([CommonVals.STAR_TOKEN, 97, 328]); _local14.objects.push([CommonVals.STAR_TOKEN, 177, 376]); _local14.objects.push([CommonVals.STAR_TOKEN, 291, 383]); _local14.objects.push([CommonVals.STAR_TOKEN, 452, 383]); _local14.objects.push([CommonVals.STAR_TOKEN, 567, 383]); _local14.objects.push([CommonVals.STAR_TOKEN, 666, 335]); _local14.objects.push([CommonVals.STAR_TOKEN, 961, 79]); _local14.objects.push([CommonVals.STAR_TOKEN, 853, 369]); _local14.objects.push([CommonVals.STAR_TOKEN, 986, 323]); _local14.objects.push([CommonVals.STAR_TOKEN, 1109, 259]); _local14.objects.push([CommonVals.STAR_TOKEN, 1169, 389]); _local14.objects.push([CommonVals.STAR_TOKEN, 1161, 84]); _local14.objects.push([CommonVals.STAR_TOKEN, 1297, 87]); _local14.objects.push([CommonVals.STAR_TOKEN, 1433, 90]); _local14.objects.push([CommonVals.STAR_TOKEN, 1629, 90]); _local14.objects.push([CommonVals.STAR_TOKEN, 1302, 234]); _local14.objects.push([CommonVals.STAR_TOKEN, 1332, 406]); _local14.objects.push([CommonVals.STAR_TOKEN, 1517, 291]); _local14.objects.push([CommonVals.STAR_TOKEN, 1629, 366]); _local14.objects.push([CommonVals.STAR_TOKEN, 1967, 309]); _local14.objects.push([CommonVals.STAR_TOKEN, 1919, 350]); _local14.objects.push([CommonVals.STAR_TOKEN, 2027, 398]); _local14.objects.push([CommonVals.STAR_TOKEN, 2146, 399]); _local14.objects.push([CommonVals.STAR_TOKEN, 2302, 399]); _local14.objects.push([CommonVals.STAR_TOKEN, 2438, 399]); _local14.objects.push([CommonVals.TELE_TRANSMISSION, 2616, 300, 1, 0]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2069, 20, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2069, 74, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2069, 120, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2124, 185, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2124, 223, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2124, 260, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2086, 260, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 0x0800, 260, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 2010, 260, 1]); _local14.objects.push([CommonVals.FLOAT_BOMB, 1981, 233, 1]); _local14.objects.push([CommonVals.LASER_PROJECTOR, 2450, 324, -90, 2, true, 1]); _local14.actors.push([CommonVals.DOOR, 2268, 150, 1.45, 0, true, -1, 0]); _local14.actors.push([CommonVals.BREAKABLE_SQUARE, 1912, 214, 1, 0]); _local14.actors.push([CommonVals.CANNON, 1091, 22, 1, 111, 5, 90, 50]); _local14.actors.push([CommonVals.CANNON, 1223, 22, 1, 90, 5, 90, 30]); _local14.actors.push([CommonVals.CANNON, 1360, 22, 1, 90, 5, 90, 30]); _local14.actors.push([CommonVals.CANNON, 1492, 22, 1, 73.8, 5, 90, 250]); _local14.actors.push([CommonVals.CANNON, 2770, 394, 1, 180, [5, 20], 150, 150]); _local14.actors.push([CommonVals.WINDMILL_FAN, 373, 182, 1.1, 0, 2]); _local14.actors.push([CommonVals.KEY, 2220, 394, true, [0]]); _local14.actors.push([CommonVals.KEY, 2521, 394, true, [1]]); _local14.actors.push([CommonVals.COW, 43, 190, 1]); _local14.actors.push([CommonVals.SPINY_BALL, [[725, 222], [725, 147], [556, 147], [556, 377], [177, 377], [177, 32], [48, 32], [48, 166]], 1, 3]); allLevels.push(_local14); var _local15:LevelDataPrototype = new LevelDataPrototype(); _local15.levelWidth = 2500; _local15.levelHeight = 971; _local15.bgLayerWidth = 1099; _local15.bgLayerHeight = 568; _local15.initCameraPos = new Point(0, 0); _local15.ufoPos = new Point(297, 164); _local15.sceneType = NIGHT_SCENE; _local15.ufoSpawnable = true; _local15.stillTerrain = [[[0, -30], [2500, -30], [2500, 0], [0, 0]], [[2500, 0], [2530, 0], [2530, 971], [2500, 970]], [[0, 0], [763, 0], [763, 46], [0, 46]], [[159, 46], [600, 46], [452, 74], [297, 74]], [[0, 46], [28, 46], [28, 294], [0, 294]], [[28, 149], [160, 149], [160, 192], [28, 192]], [[0, 294], [308, 294], [308, 345], [0, 345]], [[731, 46], [763, 46], [763, 294], [731, 294]], [[600, 147], [731, 147], [731, 191], [600, 191]], [[450, 294], [763, 294], [763, 344], [450, 344]], [[0, 345], [162, 345], [162, 420], [0, 420]], [[0, 420], [162, 420], [239, 650], [239, 874], [0, 874]], [[0, 874], [754, 874], [754, 971], [0, 971]], [[600, 395], [763, 395], [763, 736], [522, 736], [522, 651]], [[754, 956], [950, 956], [950, 971], [754, 971]], [[950, 874], [1162, 696], [1278, 696], [1278, 971], [950, 971]], [[1278, 719], [2500, 719], [2500, 971], [1278, 971]], [[882, 679], [882, 563], [1045, 563], [917, 679]], [[882, 462], [1252, 462], [1045, 563], [882, 563]], [[882, 437], [1355, 437], [1252, 462], [882, 462]], [[882, 0], [2017, 0], [2017, 437], [882, 437]], [[2017, 386], [2270, 386], [2270, 437], [2017, 437]], [[1250, 545], [1665, 545], [1665, 567], [1499, 598], [1250, 598]], [[1758, 546], [2187, 546], [2246, 577], [2246, 598], [0x0707, 598]], [[1733, 694], [1734, 694], [1734, 696], [1733, 696]], [[1955, 694], [1956, 694], [1956, 696], [1955, 696]], [[2320, 694], [2321, 694], [2321, 696], [2320, 696]], [[1790, 528], [1839, 528], [1839, 546], [1790, 546]], [[2136, 528], [2185, 528], [2185, 546], [2139, 546]]]; _local15.maliciousRegion = [[[1278, 696], [2500, 696], [2500, 719], [1278, 719]], [[1263, 527], [1658, 527], [1662, 546], [1252, 546]], [[754, 938], [949, 938], [949, 955], [754, 955]]]; _local15.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 1040, 661, false], [CommonVals.STAR_TOKEN, 79, 272], [CommonVals.STAR_TOKEN, 679, 272], [CommonVals.STAR_TOKEN, 301, 668], [CommonVals.STAR_TOKEN, 371, 668], [CommonVals.STAR_TOKEN, 421, 668], [CommonVals.STAR_TOKEN, 491, 668], [CommonVals.STAR_TOKEN, 782, 914], [CommonVals.STAR_TOKEN, 832, 914], [CommonVals.STAR_TOKEN, 882, 914], [CommonVals.STAR_TOKEN, 1419, 662], [CommonVals.STAR_TOKEN, 1321, 632], [CommonVals.STAR_TOKEN, 1729, 650], [CommonVals.STAR_TOKEN, 2131, 507], [CommonVals.STAR_TOKEN, 2417, 590], [CommonVals.STAR_TOKEN, 2329, 654], [CommonVals.STAR_TOKEN, 2337, 78], [CommonVals.STAR_TOKEN, 2431, 197], [CommonVals.STAR_TOKEN, 2088, 183], [CommonVals.LASER_PROJECTOR, 263, 310, 0, 3, true, 0], [CommonVals.LASER_PROJECTOR, 84, 501, 0, 9, false, 0], [CommonVals.FLOAT_BOMB, 674, 760, 1], [CommonVals.FLOAT_BOMB, 674, 849, 1], [CommonVals.FLOAT_BOMB, 724, 760, 1], [CommonVals.FLOAT_BOMB, 724, 804, 1], [CommonVals.FLOAT_BOMB, 724, 847, 1], [CommonVals.FLOAT_BOMB, 864, 728, 1], [CommonVals.FLOAT_BOMB, 864, 772, 1], [CommonVals.FLOAT_BOMB, 864, 815, 1], [CommonVals.FLOAT_BOMB, 900, 840, 1], [CommonVals.FLOAT_BOMB, 940, 857, 1], [CommonVals.FLOAT_BOMB, 2473, 640, 1], [CommonVals.TELE_TRANSMISSION, 2074, 386, 1, 0]]; _local15.actors = [[CommonVals.DOOR, 129, 47, 1.04, 0, true, -1, 0], [CommonVals.DOOR, 601, 46, 1.04, 0, true, -1, 0], [CommonVals.DOOR, 882, 310, 1.21, 90, false, -1, 1], [CommonVals.DOOR, 594, 737, 1.41, 0, true, -1, 2], [CommonVals.DOOR, 1253, 597, 1.04, 0, true, 1, 3], [CommonVals.KEY, 363, 270, false, [0]], [CommonVals.KEY, 801, 555, false, [1]], [CommonVals.KEY, 651, 798, true, [2]], [CommonVals.KEY, 1261, 485, true, [3]], [CommonVals.WINDMILL_FAN, 305, 421, 0.55, 0, 2], [CommonVals.WINDMILL_FAN, 455, 421, 0.55, 0, -2], [CommonVals.WINDMILL_FAN, 2386, 279, 1, 0, 2], [CommonVals.SPINY_BALL, [[821, 183], [821, 804], [698, 804]], 1.8, 3], [CommonVals.COW, 71, 120, 1], [CommonVals.COW, 678, 120, 1], [CommonVals.CAT, 430, 850, 1], [CommonVals.DOG, 1986, 517, 1], [CommonVals.CAR, 1207, 691, 9]]; allLevels.push(_local15); var _local16:LevelDataPrototype = new LevelDataPrototype(); _local16.levelWidth = 640; _local16.levelHeight = 2800; _local16.bgLayerWidth = 1099; _local16.bgLayerHeight = 568; _local16.initCameraPos = new Point(0, 2320); _local16.ufoPos = new Point(376, 2638); _local16.sceneType = NIGHT_SCENE; _local16.ufoSpawnable = true; _local16.stillTerrain = [[[0, 0], [116, 0], [116, 480], [0, 480]], [[0, 480], [116, 480], [65, 590], [0, 590]], [[0, 590], [65, 590], [65, 703], [0, 703]], [[0, 703], [65, 703], [116, 830], [0, 830]], [[0, 830], [117, 830], [117, 2800], [0, 2800]], [[116, 934], [279, 934], [279, 969], [116, 969]], [[0, -50], [640, -50], [640, 0], [0, 0]], [[525, 0], [640, 0], [640, 468], [525, 468]], [[525, 468], [640, 468], [640, 577], [569, 577]], [[569, 577], [640, 577], [640, 736], [569, 736]], [[569, 736], [640, 736], [640, 854], [525, 854]], [[525, 854], [640, 854], [640, 2800], [525, 2800]], [[0, 2753], [640, 2753], [640, 2800], [0, 2800]], [[116, 2616], [239, 2616], [239, 2685], [116, 2685]], [[116, 2523], [190, 2523], [190, 2548], [116, 2548]], [[381, 2326], [525, 2326], [525, 2395], [381, 2395]], [[423, 2233], [525, 2233], [525, 2258], [423, 2258]], [[251, 1955], [274, 1955], [274, 1978], [251, 1978]], [[369, 1955], [392, 1955], [392, 1978], [369, 1978]], [[251, 1978], [392, 1978], [391, 2001], [251, 2001]], [[251, 1770], [392, 1770], [392, 1793], [251, 1793]], [[116, 1339], [289, 1339], [289, 1482], [116, 1544]], [[353, 1339], [525, 1339], [525, 1541], [353, 1478]], [[267, 361], [291, 361], [291, 383], [267, 383]], [[267, 383], [525, 383], [525, 406], [267, 406]]]; _local16.maliciousRegion = [[[116, 2733], [525, 2733], [525, 2753], [116, 2753]]]; _local16.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 320, 1356, false], [CommonVals.STAR_TOKEN, 305, 2705], [CommonVals.STAR_TOKEN, 436, 2585], [CommonVals.STAR_TOKEN, 156, 2377], [CommonVals.STAR_TOKEN, 156, 1802], [CommonVals.STAR_TOKEN, 143, 1926], [CommonVals.STAR_TOKEN, 233, 2175], [CommonVals.STAR_TOKEN, 149, 2043], [CommonVals.STAR_TOKEN, 475, 2207], [CommonVals.STAR_TOKEN, 490, 2029], [CommonVals.STAR_TOKEN, 500, 1885], [CommonVals.STAR_TOKEN, 484, 1763], [CommonVals.STAR_TOKEN, 347, 1629], [CommonVals.STAR_TOKEN, 204, 1609], [CommonVals.STAR_TOKEN, 197, 1303], [CommonVals.STAR_TOKEN, 436, 1287], [CommonVals.STAR_TOKEN, 468, 1217], [CommonVals.STAR_TOKEN, 229, 1188], [CommonVals.STAR_TOKEN, 370, 1100], [CommonVals.STAR_TOKEN, 371, 1022], [CommonVals.STAR_TOKEN, 200, 1089], [CommonVals.STAR_TOKEN, 176, 1021], [CommonVals.STAR_TOKEN, 387, 817], [CommonVals.STAR_TOKEN, 254, 823], [CommonVals.STAR_TOKEN, 475, 729], [CommonVals.STAR_TOKEN, 475, 599], [CommonVals.STAR_TOKEN, 167, 729], [CommonVals.STAR_TOKEN, 167, 599], [CommonVals.STAR_TOKEN, 388, 496], [CommonVals.STAR_TOKEN, 258, 496], [CommonVals.STAR_TOKEN, 475, 331], [CommonVals.STAR_TOKEN, 363, 335], [CommonVals.STAR_TOKEN, 172, 219], [CommonVals.STAR_TOKEN, 179, 99], [CommonVals.BUMPER, 476, 1565, 1], [CommonVals.BUMPER, 166, 1565, 1], [CommonVals.FLOAT_BOMB, 310, 2205, 1], [CommonVals.FLOAT_BOMB, 491, 2144, 1], [CommonVals.FLOAT_BOMB, 163, 2135, 1], [CommonVals.LASER_PROJECTOR, 173, 1491, 0, 4, false, 2], [CommonVals.TELE_TRANSMISSION, 109, 1697, 1, 90], [CommonVals.TELE_TRANSMISSION, 530, 1697, 1, -90], [CommonVals.TELE_TRANSMISSION, 447, 1346, 1, 0]]; _local16.actors = [[CommonVals.BREAKABLE_SQUARE, 274, 89, 1, 0], [CommonVals.BREAKABLE_SQUARE, 315, 89, 1, 0], [CommonVals.BREAKABLE_SQUARE, 358, 89, 1, 0], [CommonVals.BREAKABLE_SQUARE, 399, 89, 1, 0], [CommonVals.BREAKABLE_SQUARE, 440, 89, 1, 0], [CommonVals.BREAKABLE_SQUARE, 481, 89, 1, 0], [CommonVals.BREAKABLE_SQUARE, 319, 130, 1, 0], [CommonVals.BREAKABLE_SQUARE, 319, 173, 1, 0], [CommonVals.BREAKABLE_SQUARE, 315, 216, 1, 0], [CommonVals.BREAKABLE_SQUARE, 358, 216, 1, 0], [CommonVals.BREAKABLE_SQUARE, 399, 216, 1, 0], [CommonVals.BREAKABLE_SQUARE, 440, 216, 1, 0], [CommonVals.BREAKABLE_SQUARE, 481, 216, 1, 0], [CommonVals.DOOR, 172, 2548, 0.7, 0, true, 1, 0], [CommonVals.DOOR, 423, 2258, 0.7, 0, true, 1, 1], [CommonVals.MOVABLE_STICK_BLOCK, 901, 1160, 1.04, 90, 370, 2, 230], [CommonVals.MOVABLE_STICK_BLOCK, -259, 1054, 1.04, -90, 370, 2, 230], [CommonVals.KEY, 197, 2591, true, [0]], [CommonVals.KEY, 374, 2290, true, [1]], [CommonVals.KEY, 301, 1405, false, [2]], [CommonVals.GEAR2, 321, 656, 1.1, 0, -1, 400], [CommonVals.CANNON, 577, 64, 1, 180, 10, 350, 450], [CommonVals.SPINY_BALL, [[185, 1684], [185, 2074], [454, 2074], [454, 1684], [185, 1684]], 1.5, 5], [CommonVals.SPINY_BALL, [[454, 2074], [454, 1684], [185, 1684], [185, 2074], [454, 2074]], 1.5, 5], [CommonVals.COW, 477, 2300, 1], [CommonVals.COW, 433, 195, 1], [CommonVals.DOG, 141, 2618, 1], [CommonVals.CAT, 328, 1976, 1], [CommonVals.CAT, 499, 351, 1]]; allLevels.push(_local16); var _local17:LevelDataPrototype = new LevelDataPrototype(); _local17.levelWidth = 1874; _local17.levelHeight = 1268; _local17.bgLayerWidth = 1099; _local17.bgLayerHeight = 568; _local17.initCameraPos = new Point(691, 200); _local17.ufoPos = new Point(1011, 440); _local17.sceneType = NIGHT_SCENE; _local17.ufoSpawnable = true; _local17.stillTerrain = [[[-30, 0], [0, 0], [0, 1268], [-30, 1268]], [[0, -30], [1874, -30], [1874, 0], [0, 0]], [[0, 0], [109, 0], [109, 593], [0, 593]], [[0, 503], [1247, 503], [1247, 593], [0, 593]], [[236, 503], [597, 478], [900, 503]], [[303, 352], [650, 352], [650, 407], [562, 434], [303, 434]], [[761, 364], [950, 364], [950, 415], [761, 415]], [[388, 0], [890, 0], [890, 35], [713, 84], [458, 84], [388, 42]], [[386, 135], [1162, 135], [1162, 218], [386, 218]], [[386, 217], [500, 217], [500, 352], [386, 352]], [[890, 0], [1007, 0], [1007, 35], [890, 35]], [[1162, 169], [0x0500, 169], [0x0500, 216], [1162, 216]], [[0x0500, 72], [1344, 72], [1344, 216], [0x0500, 216]], [[1344, 127], [1641, 127], [1641, 216], [1344, 216]], [[1076, 218], [1163, 218], [1163, 374], [1076, 374]], [[1163, 325], [1316, 325], [1316, 374], [1163, 374]], [[1249, 374], [1316, 374], [1316, 620], [1253, 668]], [[1316, 620], [1444, 620], [1444, 669], [1430, 704], [1292, 704], [1253, 668]], [[1385, 441], [1708, 441], [1708, 560], [1385, 560]], [[1708, 482], [1797, 482], [1797, 561], [1708, 561]], [[1797, 0], [1874, 0], [1874, 1268], [1797, 1268]], [[985, 764], [1874, 764], [1874, 811], [985, 811]], [[1171, 811], [1874, 811], [1874, 1160], [988, 1160]], [[0, 816], [321, 816], [321, 862], [0, 862]], [[0, 862], [321, 862], [521, 1160], [0, 1160]], [[0, 1160], [1874, 1160], [1874, 1268], [0, 1268]]]; _local17.maliciousRegion = [[[722, 82], [887, 36], [883, 58], [726, 95]], [[885, 36], [1007, 35], [1002, 56], [898, 56]], [[1346, 124], [1346, 110], [1509, 110], [1514, 124]], [[1713, 465], [1795, 464], [1794, 481], [1710, 481]]]; _local17.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 648, 108, false], [CommonVals.UFO_SPAWNER_INACTIVE, 1181, 651, false], [CommonVals.STAR_TOKEN, 1203, 441], [CommonVals.STAR_TOKEN, 1164, 430], [CommonVals.STAR_TOKEN, 833, 323], [CommonVals.STAR_TOKEN, 720, 439], [CommonVals.STAR_TOKEN, 641, 263], [CommonVals.STAR_TOKEN, 543, 251], [CommonVals.STAR_TOKEN, 401, 470], [CommonVals.STAR_TOKEN, 197, 358], [CommonVals.STAR_TOKEN, 254, 312], [CommonVals.STAR_TOKEN, 254, 96], [CommonVals.STAR_TOKEN, 206, 40], [CommonVals.STAR_TOKEN, 164, 114], [CommonVals.STAR_TOKEN, 1644, 323], [CommonVals.STAR_TOKEN, 1412, 377], [CommonVals.STAR_TOKEN, 1385, 0x0101], [CommonVals.STAR_TOKEN, 1750, 425], [CommonVals.STAR_TOKEN, 1618, 591], [CommonVals.STAR_TOKEN, 1551, 634], [CommonVals.STAR_TOKEN, 1615, 686], [CommonVals.STAR_TOKEN, 1743, 688], [CommonVals.STAR_TOKEN, 1732, 624], [CommonVals.STAR_TOKEN, 0x0300, 671], [CommonVals.STAR_TOKEN, 597, 677], [CommonVals.STAR_TOKEN, 886, 798], [CommonVals.STAR_TOKEN, 1101, 849], [CommonVals.STAR_TOKEN, 1058, 878], [CommonVals.STAR_TOKEN, 890, 959], [CommonVals.STAR_TOKEN, 961, 1125], [CommonVals.STAR_TOKEN, 817, 1121], [CommonVals.STAR_TOKEN, 763, 1071], [CommonVals.STAR_TOKEN, 599, 1081], [CommonVals.STAR_TOKEN, 484, 959], [CommonVals.STAR_TOKEN, 478, 801], [CommonVals.STAR_TOKEN, 381, 681], [CommonVals.FLOAT_BOMB, 1693, 188, 1], [CommonVals.FLOAT_BOMB, 1764, 189, 1], [CommonVals.FLOAT_BOMB, 1225, 281, 1], [CommonVals.FLOAT_BOMB, 1614, 241, 1], [CommonVals.FLOAT_BOMB, 1728, 314, 1], [CommonVals.FLOAT_BOMB, 1646, 387, 1], [CommonVals.FLOAT_BOMB, 1515, 404, 1], [CommonVals.FLOAT_BOMB, 911, 639, 1], [CommonVals.FLOAT_BOMB, 962, 709, 1], [CommonVals.FLOAT_BOMB, 976, 942, 1], [CommonVals.FLOAT_BOMB, 1020, 995, 1], [CommonVals.FLOAT_BOMB, 952, 1051, 1], [CommonVals.FLOAT_BOMB, 879, 1102, 1], [CommonVals.FLOAT_BOMB, 549, 1129, 1], [CommonVals.FLOAT_BOMB, 406, 739, 1], [CommonVals.FLOAT_BOMB, 378, 839, 1], [CommonVals.FLOAT_BOMB, 208, 642, 1], [CommonVals.FLOAT_BOMB, 208, 709, 1], [CommonVals.FLOAT_BOMB, 208, 779, 1], [CommonVals.FLOAT_BOMB, 122, 680, 1], [CommonVals.FLOAT_BOMB, 122, 747, 1], [CommonVals.LASER_PROJECTOR, 858, 369, -90, 2, true, 0], [CommonVals.LASER_PROJECTOR, 464, 169, -90, 1, false, 2], [CommonVals.LASER_PROJECTOR, 1434, 643, 30, 3, false, 3], [CommonVals.TELE_TRANSMISSION, 1229, 329, 1, 0], [CommonVals.TELE_TRANSMISSION, 108, 819, 1, 0], [CommonVals.TELE_TRANSMISSION, 1179, 505, 1, 0]]; _local17.actors = [[CommonVals.KEY, 537, 454, true, [0]], [CommonVals.KEY, 499, 104, true, [2]], [CommonVals.KEY, 1343, 728, true, [3]], [CommonVals.WINDMILL_FAN, 1137, -13, 1, 0, -2], [CommonVals.SPINY_STICK, 741, 359, 0.746, 0, -0.5, false, 1], [CommonVals.TRIGGER, 951, 286, 1], [CommonVals.BREAKABLE_SQUARE, 1078, 373, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1078, 416, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1078, 459, 1, 0], [CommonVals.BREAKABLE_SQUARE, 907, 416, 1, 0], [CommonVals.BREAKABLE_SQUARE, 907, 459, 1, 0], [CommonVals.BREAKABLE_SQUARE, 178, 459, 1, 0], [CommonVals.BREAKABLE_SQUARE, 178, 419, 1, 0], [CommonVals.BREAKABLE_SQUARE, 138, 419, 1, 0], [CommonVals.MOVABLE_STICK_BLOCK, -253, 344, 1, -90, 163, 3, 0], [CommonVals.MOVABLE_STICK_BLOCK, -253, 264, 1, -90, 163, 3, 133], [CommonVals.MOVABLE_STICK_BLOCK, 307, -361, 1, 0, 311, 3, 301], [CommonVals.TrashCan, 1020, 748, 1, 90], [CommonVals.TrashCan, 1020, 718, 1, 90], [CommonVals.TrashCan, 1020, 688, 1, 90], [CommonVals.TrashCan, 1020, 658, 1, 90], [CommonVals.TrashCan, 1020, 628, 1, 90], [CommonVals.TrashCan, 1064, 688, 1, 90], [CommonVals.TrashCan, 1064, 718, 1, 90], [CommonVals.TrashCan, 1064, 688, 1, 90], [CommonVals.TrashCan, 1064, 658, 1, 90], [CommonVals.TrashCan, 1064, 628, 1, 90], [CommonVals.TrashCan, 1266, 168, 1, 0], [CommonVals.TrashCan, 1520, 127, 1, 0], [CommonVals.TrashCan, 1766, 762, 1, 0], [CommonVals.SPINY_BALL, [[1352, 519], [1352, 323], [1594, 323]], 1, 3], [CommonVals.CANNON, 468, 343, 1, -15, 40, 200, 350], [CommonVals.GEAR2, 679, 864, 1.274, 0, -1, 600], [CommonVals.COW, 1202, 145, 1], [CommonVals.COW, 1157, 738, 1], [CommonVals.DOG, 1175, 766, 1], [CommonVals.CAT, 1209, 761, 1], [CommonVals.DOG, 139, 503, 1]]; allLevels.push(_local17); var _local18:LevelDataPrototype = new LevelDataPrototype(); _local18.levelWidth = 764; _local18.levelHeight = 1010; _local18.bgLayerWidth = 700; _local18.bgLayerHeight = 568; _local18.initCameraPos = new Point(42, 0); _local18.ufoPos = new Point(362, 60); _local18.sceneType = NIGHT_SCENE; _local18.ufoSpawnable = true; _local18.stillTerrain = [[[-100, 0], [0, 0], [0, 1010], [-100, 1010]], [[0, -100], [764, -100], [764, 0], [0, 0]], [[764, 0], [864, 0], [864, 1010], [764, 1010]], [[0, 965], [764, 965], [764, 1065], [0, 1065]], [[0, 0x0100], [105, 0x0100], [105, 300], [0, 300]], [[0, 776], [105, 776], [105, 820], [0, 820]], [[658, 0x0100], [764, 0x0100], [764, 300], [658, 300]], [[658, 776], [764, 776], [764, 820], [658, 820]]]; _local18.maliciousRegion = [[[0, 949], [308, 949], [308, 965], [0, 965]], [[456, 949], [764, 949], [764, 965], [456, 965]]]; _local18.objects = [[CommonVals.LASER_PROJECTOR, -28, 920, 0, 13, true, 0], [CommonVals.TELE_TRANSMISSION, 381, 969, 1, 0]]; _local18.actors = [[CommonVals.BREAKABLE_SQUARE, 210, 111, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 151, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 231, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 274, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 314, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 394, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 437, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 477, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 561, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 604, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 644, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 724, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 767, 1, 0], [CommonVals.BREAKABLE_SQUARE, 210, 807, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 111, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 151, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 231, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 274, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 314, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 394, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 437, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 477, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 561, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 604, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 644, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 724, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 767, 1, 0], [CommonVals.BREAKABLE_SQUARE, 500, 807, 1, 0], [CommonVals.BREAKABLE_SQUARE, 250, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 292, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 332, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 375, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 417, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 457, 191, 1, 0], [CommonVals.BREAKABLE_SQUARE, 250, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 292, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 332, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 375, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 417, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 457, 354, 1, 0], [CommonVals.BREAKABLE_SQUARE, 250, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 292, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 332, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 375, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 417, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 457, 517, 1, 0], [CommonVals.BREAKABLE_SQUARE, 250, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 292, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 332, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 375, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 417, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 457, 684, 1, 0], [CommonVals.BREAKABLE_SQUARE, 250, 847, 1, 0], [CommonVals.BREAKABLE_SQUARE, 292, 847, 1, 0], [CommonVals.BREAKABLE_SQUARE, 332, 847, 1, 0], [CommonVals.BREAKABLE_SQUARE, 375, 847, 1, 0], [CommonVals.BREAKABLE_SQUARE, 417, 847, 1, 0], [CommonVals.BREAKABLE_SQUARE, 457, 847, 1, 0], [CommonVals.BREAKABLE_SQUARE, 356, 231, 1, 0], [CommonVals.BREAKABLE_SQUARE, 356, 274, 1, 0], [CommonVals.BREAKABLE_SQUARE, 356, 314, 1, 0], [CommonVals.BREAKABLE_SQUARE, 356, 561, 1, 0], [CommonVals.BREAKABLE_SQUARE, 356, 604, 1, 0], [CommonVals.BREAKABLE_SQUARE, 356, 644, 1, 0], [CommonVals.KEY, 326, 744, true, [0]], [CommonVals.CANNON, -69, 225, 1, 0, 10, 200, 250], [CommonVals.CANNON, -69, 745, 1, 0, 10, 230, 250], [CommonVals.CANNON, 827, 745, 1, 180, 10, 170, 250], [CommonVals.CANNON, 827, 225, 1, 180, 10, 190, 250], [CommonVals.TrashCan, 471, 520, 1, 0], [CommonVals.COW, 310, 168, 1], [CommonVals.COW, 375, 494, 1], [CommonVals.COW, 375, 824, 1], [CommonVals.CAT, 293, 357, 1], [CommonVals.CAT, 293, 687, 1], [CommonVals.DOG, 431, 356, 1], [CommonVals.DOG, 431, 686, 1]]; allLevels.push(_local18); var _local19:LevelDataPrototype = new LevelDataPrototype(); _local19.levelWidth = 2388; _local19.levelHeight = 1064; _local19.bgLayerWidth = 1099; _local19.bgLayerHeight = 568; _local19.initCameraPos = new Point(1589, 0); _local19.ufoPos = new Point(1909, 132); _local19.sceneType = NIGHT_SCENE; _local19.ufoSpawnable = true; _local19.stillTerrain = [[[-100, 0], [0, 0], [0, 1064], [-100, 1064]], [[0, -100], [2388, -100], [2388, 0], [0, 0]], [[2388, 0], [2488, 0], [2488, 1064], [2388, 1064]], [[0, 994], [2388, 994], [2388, 1094], [0, 1094]], [[0, 471], [167, 471], [167, 528], [0, 528]], [[199, 268], [266, 268], [266, 348], [199, 348]], [[266, 294], [350, 311], [350, 348], [266, 348]], [[350, 311], [517, 302], [517, 348], [350, 348]], [[517, 302], [554, 291], [554, 348], [517, 348]], [[554, 271], [624, 271], [624, 348], [554, 348]], [[624, 271], [657, 260], [756, 260], [756, 348], [624, 348]], [[0, 595], [99, 0x0300], [0, 885]], [[99, 0x0300], [232, 821], [232, 885], [0, 885]], [[232, 821], [864, 821], [864, 885], [232, 885]], [[403, 674], [492, 674], [492, 696], [403, 696]], [[576, 538], [671, 538], [671, 561], [576, 561]], [[1096, 0], [1308, 0], [1308, 170], [1247, 316], [1167, 316], [1096, 204]], [[836, 607], [1014, 607], [1005, 652], [836, 652]], [[1014, 607], [1150, 697], [1150, 830], [1037, 830], [1005, 652]], [[1037, 830], [1150, 830], [1150, 994], [1037, 994]], [[1402, 607], [1581, 607], [1581, 652], [1410, 652]], [[1402, 607], [1410, 652], [1380, 829], [1266, 829], [1266, 685]], [[1266, 829], [1380, 829], [1380, 994], [1266, 994]], [[1524, 822], [2388, 822], [2388, 884], [1524, 884]], [[2036, 884], [2388, 884], [2388, 994], [2036, 994]], [[2155, 822], [2289, 769], [2388, 822]], [[2289, 769], [2388, 595], [2388, 822]], [[1717, 539], [1812, 539], [1812, 561], [1717, 561]], [[1895, 674], [1985, 674], [1985, 696], [1895, 696]], [[2221, 472], [2388, 472], [2388, 528], [2221, 528]], [[1591, 260], [1730, 260], [1870, 303], [1870, 348], [1591, 348]], [[1870, 303], [2038, 310], [2038, 348], [1870, 348]], [[2038, 310], [2121, 295], [2188, 295], [2188, 348], [2038, 348]]]; _local19.maliciousRegion = [[[0, 975], [860, 975], [869, 994], [0, 994]], [[235, 885], [862, 885], [850, 902], [245, 902]], [[232, 821], [239, 804], [851, 804], [861, 820]], [[843, 606], [852, 590], [993, 590], [1000, 606]], [[1408, 606], [1417, 588], [1555, 588], [1564, 606]], [[1527, 821], [1537, 803], [2143, 803], [2155, 821]], [[1525, 886], [1834, 886], [1820, 903], [1534, 903]], [[1382, 994], [1391, 974], [1839, 974], [1852, 994]]]; _local19.objects = [[CommonVals.STAR_TOKEN, 96, 361], [CommonVals.STAR_TOKEN, 566, 81], [CommonVals.STAR_TOKEN, 1000, 147], [CommonVals.STAR_TOKEN, 435, 531], [CommonVals.STAR_TOKEN, 77, 617], [CommonVals.STAR_TOKEN, 615, 688], [CommonVals.STAR_TOKEN, 988, 933], [CommonVals.STAR_TOKEN, 1510, 457], [CommonVals.STAR_TOKEN, 1205, 850], [CommonVals.STAR_TOKEN, 1205, 958], [CommonVals.STAR_TOKEN, 1455, 859], [CommonVals.STAR_TOKEN, 1773, 688], [CommonVals.STAR_TOKEN, 1953, 531], [CommonVals.STAR_TOKEN, 2194, 725], [CommonVals.STAR_TOKEN, 2311, 617], [CommonVals.STAR_TOKEN, 2297, 393], [CommonVals.STAR_TOKEN, 2271, 147], [CommonVals.UFO_SPAWNER_INACTIVE, 1197, 553, false], [CommonVals.LASER_PROJECTOR, 1646, 272, -90, 4, true, 3], [CommonVals.LASER_PROJECTOR, 742, 272, -90, 4, true, 2], [CommonVals.TELE_TRANSMISSION, 1205, 1001, 1, 0], [CommonVals.FLOAT_BOMB, 1534, 950, 1], [CommonVals.FLOAT_BOMB, 1574, 950, 1], [CommonVals.FLOAT_BOMB, 1614, 950, 1], [CommonVals.FLOAT_BOMB, 1654, 950, 1], [CommonVals.BUMPER, 1462, 721, 1], [CommonVals.BUMPER, 966, 705, 1], [CommonVals.FLOAT_BOMB, 1694, 950, 1], [CommonVals.FLOAT_BOMB, 1734, 950, 1], [CommonVals.FLOAT_BOMB, 1774, 950, 1], [CommonVals.FLOAT_BOMB, 1814, 950, 1], [CommonVals.FLOAT_BOMB, 1854, 950, 1]]; _local19.actors = [[CommonVals.DOOR, 101, 884, 1.128, 0, true, 1, 0], [CommonVals.DOOR, 1267, 886, 1.19, 90, true, 1, 0], [CommonVals.DOOR, 1267, 780, 1.19, 90, true, 1, 1], [CommonVals.KEY, 170, 899, true, [0]], [CommonVals.KEY, 1971, 934, true, [1]], [CommonVals.KEY, 642, 142, true, [2]], [CommonVals.WINDMILL_FAN, 943, 363, 1.221, 0, -2], [CommonVals.WINDMILL_FAN, 1420, 363, 1.221, 0, 2], [CommonVals.TrashCan, 992, 969, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1874, 909, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1874, 949, 1, 0], [CommonVals.SPINY_BALL, [[826, 705], [904, 705], [924, 837], [924, 941], [192, 942]], 1, 3], [CommonVals.SPINY_BALL, [[709, 735], [709, 403]], 1, 3], [CommonVals.SPINY_BALL, [[530, 403], [530, 735]], 1, 3], [CommonVals.SPINY_BALL, [[349, 735], [349, 403]], 1, 3], [CommonVals.SPINY_BALL, [[1677, 735], [1677, 403]], 1, 3], [CommonVals.SPINY_BALL, [[1857, 403], [1857, 735]], 1, 3], [CommonVals.SPINY_BALL, [[2038, 735], [2038, 403]], 1, 3], [CommonVals.COW, 396, 277, 1], [CommonVals.COW, 2143, 262, -1], [CommonVals.DOG, 56, 949, 1], [CommonVals.DOG, 464, 306, 1], [CommonVals.DOG, 321, 303, 1], [CommonVals.CAR, 56, 965, 8]]; allLevels.push(_local19); var _local20:LevelDataPrototype = new LevelDataPrototype(); _local20.levelWidth = 1500; _local20.levelHeight = 731; _local20.bgLayerWidth = 666.67; _local20.bgLayerHeight = 500; _local20.initCameraPos = new Point(406, 0); _local20.ufoPos = new Point(726, 269); _local20.sceneType = SNOW_SCENE; _local20.ufoSpawnable = true; _local20.stillTerrain = [[[0, -100], [1500, -100], [1500, 0], [0, 0]], [[0, 800], [1500, 800], [1500, 900], [0, 900]], [[-164, 98], [297, 98], [584, 148], [584, 165], [-164, 165]], [[-163, 260], [305, 260], [591, 309], [591, 327], [-163, 327]], [[0, 327], [340, 327], [251, 430], [0, 430]], [[1138, 96], [1700, 96], [1700, 163], [850, 163], [850, 146]], [[1146, 261], [1700, 261], [1700, 327], [859, 327], [859, 310]], [[668, 481], [792, 481], [830, 529], [830, 730], [628, 730], [628, 527]], [[1162, 327], [1500, 327], [1500, 429], [1249, 429]], [[1500, 327], [1600, 327], [1600, 900], [1500, 900]], [[-100, 327], [0, 327], [0, 900], [-100, 900]]]; _local20.maliciousRegion = []; _local20.objects = [[CommonVals.STAR_TOKEN, 54, 61], [CommonVals.STAR_TOKEN, 124, 61], [CommonVals.STAR_TOKEN, 124, 231], [CommonVals.STAR_TOKEN, 54, 231], [CommonVals.STAR_TOKEN, 1464, 61], [CommonVals.STAR_TOKEN, 1394, 61], [CommonVals.STAR_TOKEN, 1464, 231], [CommonVals.STAR_TOKEN, 1394, 231], [CommonVals.UFO_BLOCK, [[1500, 0], [1600, 0], [1600, 261], [1500, 261]]], [CommonVals.UFO_BLOCK, [[-100, 0], [0, 0], [0, 261], [-100, 261]]], [CommonVals.LASER_PROJECTOR, 780, 507, 0, 14, true, 1], [CommonVals.LASER_PROJECTOR, 682, 507, 180, 12, true, 1], [CommonVals.TELE_TRANSMISSION, 729, 485, 1, 0]]; _local20.actors = [[CommonVals.KEY, 702, 83, true, [0]], [CommonVals.DOOR, 275, 0, 1, 0, true, -1, 0], [CommonVals.DOOR, 174, 164, 1, 0, true, 1, 0], [CommonVals.DOOR, 1136, 0, 1, 0, true, -1, 0], [CommonVals.DOOR, 1228, 164, 1, 0, true, 1, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -108, 67, CommonVals.COW, 0, 16, 0], [CommonVals.ANIMAL_CAR_SPAWNER, 1606, 67, CommonVals.DOG, 30, -8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -90, 208, CommonVals.COW, 130, 8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, 1606, 208, CommonVals.DOG, 220, -6, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -108, 67, CommonVals.COW, 390, 8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, 1606, 208, CommonVals.DOG, 450, -8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -90, 208, CommonVals.DOG, 530, 8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -90, 208, CommonVals.DOG, 730, 8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -90, 208, CommonVals.COW, 890, 8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -108, 67, CommonVals.CAT, 1090, 8, 0], [CommonVals.ANIMAL_CAR_SPAWNER, -108, 67, CommonVals.COW, 1250, 8, 0]]; allLevels.push(_local20); var _local21:LevelDataPrototype = new LevelDataPrototype(); _local21.levelWidth = 2743; _local21.levelHeight = 529; _local21.bgLayerWidth = 666.67; _local21.bgLayerHeight = 500; _local21.initCameraPos = new Point(0, 0); _local21.ufoPos = new Point(200, 48); _local21.sceneType = SNOW_SCENE; _local21.ufoSpawnable = false; _local21.stillTerrain = [[[0, -100], [2743, -100], [2743, 0], [0, 0]], [[2743, 0], [2785, 0], [2785, 529], [2743, 529]], [[-100, 174], [0, 174], [0, 529], [-100, 529]], [[0, 115], [542, 115], [542, 155], [473, 174], [0, 174]], [[542, 115], [811, 115], [811, 155], [542, 155]], [[811, 115], [1044, 115], [1044, 174], [877, 174], [811, 155]], [[1148, 0], [1231, 0], [1231, 162], [1148, 162]], [[1345, 0], [2743, 0], [2743, 162], [1345, 162]], [[0, 347], [222, 347], [222, 529], [0, 529]], [[222, 288], [0x0400, 288], [0x0400, 529], [222, 529]], [[0x0400, 288], [1346, 288], [1346, 353], [0x0400, 353]], [[1186, 0x0101], [1224, 0x0101], [1224, 288], [1186, 288]], [[0x0400, 500], [1200, 500], [1200, 529], [0x0400, 529]], [[1200, 469], [2743, 469], [2743, 529], [1200, 529]], [[1461, 288], [2472, 288], [2472, 345], [1461, 345]]]; _local21.maliciousRegion = [[[0, 99], [231, 99], [231, 115], [0, 115]], [[267, 97], [495, 97], [499, 115], [267, 115]], [[883, 174], [959, 174], [958, 194], [888, 192]], [[1592, 286], [1598, 269], [1819, 268], [1823, 286]], [[1819, 161], [2051, 161], [2049, 180], [1830, 180]], [[2065, 287], [2070, 270], [2293, 270], [2297, 287]]]; _local21.objects = [[CommonVals.STAR_TOKEN, 336, 31], [CommonVals.STAR_TOKEN, 476, 31], [CommonVals.STAR_TOKEN, 549, 93], [CommonVals.STAR_TOKEN, 659, 93], [CommonVals.STAR_TOKEN, 1121, 41], [CommonVals.STAR_TOKEN, 716, 180], [CommonVals.STAR_TOKEN, 606, 180], [CommonVals.STAR_TOKEN, 1062, 381], [CommonVals.STAR_TOKEN, 1122, 381], [CommonVals.STAR_TOKEN, 1182, 381], [CommonVals.STAR_TOKEN, 1242, 381], [CommonVals.STAR_TOKEN, 1062, 431], [CommonVals.STAR_TOKEN, 1122, 431], [CommonVals.STAR_TOKEN, 1767, 189], [CommonVals.STAR_TOKEN, 2095, 191], [CommonVals.STAR_TOKEN, 1867, 270], [CommonVals.STAR_TOKEN, 1565, 442], [CommonVals.STAR_TOKEN, 1698, 381], [CommonVals.STAR_TOKEN, 1831, 450], [CommonVals.STAR_TOKEN, 2107, 411], [CommonVals.STAR_TOKEN, 2538, 350], [CommonVals.STAR_TOKEN, 2642, 243], [CommonVals.STAR_TOKEN, 2632, 366], [CommonVals.FLOAT_BOMB, 951, 47, 1], [CommonVals.FLOAT_BOMB, 951, 96, 1], [CommonVals.FLOAT_BOMB, 1070, 144, 1], [CommonVals.FLOAT_BOMB, 1120, 144, 1], [CommonVals.FLOAT_BOMB, 2458, 218, 1], [CommonVals.FLOAT_BOMB, 2458, 267, 1], [CommonVals.BUMPER, 583, 25, 1], [CommonVals.BUMPER, 739, 94, 1], [CommonVals.BUMPER, 1686, 189, 1], [CommonVals.BUMPER, 1933, 266, 1], [CommonVals.BUMPER, 2155, 189, 1], [CommonVals.LASER_PROJECTOR, 1318, 310, 0, 2, false, 2], [CommonVals.UFO_BLOCK, [[-100, 0], [0, 0], [0, 115], [-100, 115]]], [CommonVals.HIDDEN_BLOCK_OBJECT, 1000, 300, [[[0, 41], [342, 41], [342, 230], [0, 230]]], 1], [CommonVals.TELE_TRANSMISSION, 2617, 476, 1, 0]]; _local21.actors = [[CommonVals.DOOR, -115, 0, 1.189, 0, true, -1, 0], [CommonVals.DOOR, 234, 0, 1.189, 0, true, -1, 0], [CommonVals.DOOR, 964, 174, 1.189, 0, true, 1, 1], [CommonVals.DOOR, 317, 174, 1.189, 0, true, 1, 1], [CommonVals.DOOR, 1558, 160, 1.32, 0, true, -1, 2], [CommonVals.DOOR, 1346, 131, 1.189, 90, true, -1, 2], [CommonVals.DOOR, 1459, 346, 1.272, 0, false, 1, 2], [CommonVals.DOOR, 2298, 160, 1.32, 0, true, -1, 3], [CommonVals.DOOR, 2315, 346, 1.272, 0, true, 1, 4], [CommonVals.KEY, 180, 67, true, [0]], [CommonVals.KEY, 1007, 260, true, [1]], [CommonVals.KEY, 1501, 195, true, [2]], [CommonVals.KEY, 2246, 181, true, [3]], [CommonVals.KEY, 2358, 359, true, [2, 4]], [CommonVals.TrashCan, 774, 100, 1, 90], [CommonVals.TrashCan, 2334, 272, 1, 90], [CommonVals.SPINY_BALL, [[-154, 57], [1094, 57], [1094, 230], [106, 230]], 1.5, 3], [CommonVals.SPINY_BALL, [[1289, 74], [1289, 224], [2408, 224]], 1.5, 3], [CommonVals.MOVABLE_STICK_BLOCK, 2491, -197, 1, 0, 247, 3, 130], [CommonVals.MOVABLE_STICK_BLOCK, 2602, -197, 1, 0, 247, 3, 240], [CommonVals.COW, 274, 248, 1], [CommonVals.DOG, 1122, 500, 1], [CommonVals.CAT, 1055, 500, 1], [CommonVals.CAR, 274, 286, 14], [CommonVals.CAR, 1415, 466, 14]]; allLevels.push(_local21); var _local22:LevelDataPrototype = new LevelDataPrototype(); _local22.levelWidth = 1887; _local22.levelHeight = 935; _local22.bgLayerWidth = 1099; _local22.bgLayerHeight = 568; _local22.initCameraPos = new Point(1405, 0); _local22.ufoPos = new Point(1725, 35); _local22.sceneType = NIGHT_SCENE; _local22.ufoSpawnable = true; _local22.stillTerrain = [[[-100, 0], [0, 0], [0, 935], [-100, 935]], [[0, -100], [1887, -100], [1887, 0], [0, 0]], [[1823, 0], [1887, 0], [1887, 935], [1823, 935]], [[0, 865], [1887, 865], [1887, 935], [0, 935]], [[189, 172], [359, 172], [359, 264], [189, 264]], [[129, 264], [607, 264], [607, 344], [129, 344]], [[607, 116], [664, 116], [776, 278], [776, 344], [607, 344]], [[678, 344], [776, 344], [776, 491], [678, 491]], [[130, 491], [982, 491], [982, 556], [130, 556]], [[1083, 491], [1561, 491], [1561, 556], [1083, 556]], [[338, 491], [369, 468], [506, 468], [506, 491]], [[1497, 396], [1561, 396], [1561, 556], [1497, 556]], [[857, 662], [1072, 662], [1072, 697], [857, 697]], [[857, 832], [885, 832], [885, 865], [857, 865]], [[1046, 832], [1073, 832], [1073, 865], [1046, 865]], [[1688, 201], [1716, 201], [1716, 270], [1688, 270]], [[1716, 233], [1822, 233], [1822, 270], [1716, 270]], [[0, 625], [372, 625], [372, 695], [0, 695]]]; _local22.maliciousRegion = [[[32, 608], [75, 608], [75, 625], [32, 625]], [[192, 608], [239, 608], [239, 625], [192, 625]], [[1176, 556], [1468, 556], [1468, 573], [1176, 573]]]; _local22.objects = [[CommonVals.STAR_TOKEN, 555, 391], [CommonVals.STAR_TOKEN, 625, 391], [CommonVals.STAR_TOKEN, 555, 442], [CommonVals.STAR_TOKEN, 625, 442], [CommonVals.STAR_TOKEN, 60, 728], [CommonVals.STAR_TOKEN, 130, 728], [CommonVals.STAR_TOKEN, 190, 728], [CommonVals.STAR_TOKEN, 260, 728], [CommonVals.STAR_TOKEN, 320, 728], [CommonVals.STAR_TOKEN, 60, 798], [CommonVals.STAR_TOKEN, 130, 798], [CommonVals.STAR_TOKEN, 190, 798], [CommonVals.STAR_TOKEN, 260, 798], [CommonVals.STAR_TOKEN, 320, 798], [CommonVals.STAR_TOKEN, 1555, 693], [CommonVals.STAR_TOKEN, 1598, 439], [CommonVals.STAR_TOKEN, 1408, 439], [CommonVals.STAR_TOKEN, 1288, 349], [CommonVals.STAR_TOKEN, 1358, 209], [CommonVals.STAR_TOKEN, 1564, 75], [CommonVals.STAR_TOKEN, 1192, 229], [CommonVals.STAR_TOKEN, 995, 476], [CommonVals.STAR_TOKEN, 1008, 349], [CommonVals.STAR_TOKEN, 848, 329], [CommonVals.STAR_TOKEN, 907, 171], [CommonVals.STAR_TOKEN, 1017, 70], [CommonVals.STAR_TOKEN, 751, 78], [CommonVals.FLOAT_BOMB, 886, 636, 1], [CommonVals.FLOAT_BOMB, 886, 591, 1], [CommonVals.FLOAT_BOMB, 956, 636, 1], [CommonVals.FLOAT_BOMB, 956, 591, 1], [CommonVals.FLOAT_BOMB, 1026, 636, 1], [CommonVals.FLOAT_BOMB, 1026, 591, 1], [CommonVals.FLOAT_BOMB, 1026, 546, 1], [CommonVals.UFO_SPAWNER_INACTIVE, 314, 591, false], [CommonVals.UFO_SPAWNER_INACTIVE, 202, 108, false], [CommonVals.LASER_PROJECTOR, 1528, 396, -90, 7, true, 0], [CommonVals.LASER_PROJECTOR, 1501, 458, 180, 11, true, 1], [CommonVals.LASER_PROJECTOR, 1357, 516, -129.9, 11, true, 2], [CommonVals.LASER_PROJECTOR, 951, 516, -50.1, 11, true, 3], [CommonVals.LASER_PROJECTOR, 786, 518, -90, 9, true, 4], [CommonVals.TELE_TRANSMISSION, 272, 178, 1, 0]]; _local22.actors = [[CommonVals.BREAKABLE_SQUARE, 1, 263, 1, 0], [CommonVals.BREAKABLE_SQUARE, 44, 263, 1, 0], [CommonVals.BREAKABLE_SQUARE, 87, 263, 1, 0], [CommonVals.BREAKABLE_SQUARE, 421, 345, 1, 0], [CommonVals.BREAKABLE_SQUARE, 421, 385, 1, 0], [CommonVals.BREAKABLE_SQUARE, 421, 425, 1, 0], [CommonVals.BREAKABLE_SQUARE, 464, 345, 1, 0], [CommonVals.BREAKABLE_SQUARE, 464, 385, 1, 0], [CommonVals.BREAKABLE_SQUARE, 464, 425, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1, 490, 1, 0], [CommonVals.BREAKABLE_SQUARE, 44, 490, 1, 0], [CommonVals.BREAKABLE_SQUARE, 87, 490, 1, 0], [CommonVals.DOOR, 629, -2, 1.23, 0, true, -1, 5], [CommonVals.KEY, 1602, 95, false, [0]], [CommonVals.KEY, 1357, 258, false, [0, 1, 2]], [CommonVals.KEY, 1118, 343, false, [2, 3, 4]], [CommonVals.KEY, 1155, 105, false, [1, 2, 3]], [CommonVals.KEY, 922, 259, false, [1, 4, 5]], [CommonVals.WINDMILL_FAN, 1694, 487, 1.231, 0, -2], [CommonVals.MOVABLE_STICK_BLOCK, 1155, 1225, 1, 180, 270, -1, 0], [CommonVals.MOVABLE_STICK_BLOCK, 1236, 1225, 1, 180, 270, -1, 70], [CommonVals.MOVABLE_STICK_BLOCK, 1316, 1225, 1, 180, 270, 2, 140], [CommonVals.MOVABLE_STICK_BLOCK, 1396, 1225, 1, 180, 270, 2, 210], [CommonVals.MOVABLE_STICK_BLOCK, 1478, 1225, 1, 180, 270, -2, 260], [CommonVals.MOVABLE_STICK_BLOCK, 857, 1225, 1, 180, 290, -3, 0], [CommonVals.MOVABLE_STICK_BLOCK, 777, 1225, 1, 180, 290, -3, 110], [CommonVals.MOVABLE_STICK_BLOCK, 696, 1225, 1, 180, 290, 3, 110], [CommonVals.MOVABLE_STICK_BLOCK, 616, 1225, 1, 180, 290, -3, 260], [CommonVals.MOVABLE_STICK_BLOCK, 535, 1225, 1, 180, 290, 3, 0], [CommonVals.MOVABLE_STICK_BLOCK, 454, 1225, 1, 180, 290, 3, 260], [CommonVals.CANNON, 489, 300, 1, -90, 50, 100, 350], [CommonVals.CANNON, 662, 259, 1, -45, 50, 110, 350], [CommonVals.CANNON, 1569, 905, 1, -90, 50, 250, 4], [CommonVals.CANNON, 1781, 905, 1, -90, 50, 200, 4], [CommonVals.TrashCan, 296, 864, 1, 0], [CommonVals.COW, 940, 841, 1], [CommonVals.COW, 553, 492, 1], [CommonVals.DOG, 174, 492, 1], [CommonVals.DOG, 1770, 231, 1]]; allLevels.push(_local22); var _local23:LevelDataPrototype = new LevelDataPrototype(); _local23.levelWidth = 2000; _local23.levelHeight = 1419; _local23.bgLayerWidth = 1099; _local23.bgLayerHeight = 568; _local23.initCameraPos = new Point(0, 903); _local23.ufoPos = new Point(80, 1143); _local23.sceneType = NIGHT_SCENE; _local23.ufoSpawnable = true; _local23.stillTerrain = [[[-100, 0], [0, 0], [0, 1419], [-100, 1419]], [[0, -100], [2000, -100], [2000, 0], [0, 0]], [[2000, 0], [2100, 0], [2100, 1419], [2000, 1419]], [[0, 1419], [2000, 1419], [2000, 1519], [0, 1519]], [[0, 0], [391, 0], [391, 68], [0, 68]], [[0, 0], [85, 0], [85, 822], [0, 822]], [[181, 68], [261, 68], [261, 630], [181, 630]], [[261, 542], [709, 542], [709, 630], [261, 630]], [[0, 822], [328, 822], [328, 852], [218, 968], [0, 968]], [[254, 727], [328, 727], [328, 822], [254, 822]], [[131, 1262], [183, 1262], [183, 1300], [131, 1300]], [[0, 1300], [218, 1300], [330, 1419], [0, 1419]], [[633, 1419], [748, 1303], [2000, 1303], [2000, 1419]], [[664, 229], [1232, 229], [1232, 333], [664, 333]], [[1116, 333], [1232, 333], [1232, 852], [1116, 852]], [[1232, 412], [1551, 412], [1441, 529], [1232, 529]], [[1538, 0], [1600, 0], [1600, 250], [1538, 250]], [[1600, 206], [1840, 206], [1840, 250], [1600, 250]], [[1789, 180], [1840, 180], [1840, 206], [1789, 206]], [[1855, 411], [2000, 411], [2000, 528], [1969, 528]], [[747, 966], [633, 851], [1439, 851], [1552, 966]], [[1366, 804], [1439, 804], [1439, 851], [1366, 851]], [[1148, 968], [1316, 968], [1316, 999], [1148, 999]], [[1151, 1258], [1321, 1258], [1321, 1301], [1151, 1301]], [[1970, 853], [2000, 853], [2000, 969], [1857, 969]]]; _local23.maliciousRegion = []; _local23.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 1307, 650, false], [CommonVals.STAR_TOKEN, 135, 171], [CommonVals.STAR_TOKEN, 300, 116], [CommonVals.STAR_TOKEN, 618, 235], [CommonVals.STAR_TOKEN, 749, 178], [CommonVals.STAR_TOKEN, 388, 920], [CommonVals.STAR_TOKEN, 576, 910], [CommonVals.STAR_TOKEN, 828, 1063], [CommonVals.STAR_TOKEN, 836, 1266], [CommonVals.STAR_TOKEN, 633, 813], [CommonVals.STAR_TOKEN, 843, 683], [CommonVals.STAR_TOKEN, 868, 817], [CommonVals.STAR_TOKEN, 662, 506], [CommonVals.STAR_TOKEN, 784, 377], [CommonVals.STAR_TOKEN, 1014, 461], [CommonVals.STAR_TOKEN, 1081, 450], [CommonVals.STAR_TOKEN, 711, 53], [CommonVals.STAR_TOKEN, 862, 51], [CommonVals.STAR_TOKEN, 1126, 59], [CommonVals.STAR_TOKEN, 1310, 59], [CommonVals.STAR_TOKEN, 1227, 183], [CommonVals.STAR_TOKEN, 1439, 340], [CommonVals.STAR_TOKEN, 1940, 336], [CommonVals.STAR_TOKEN, 1940, 336], [CommonVals.STAR_TOKEN, 1697, 373], [CommonVals.STAR_TOKEN, 1621, 474], [CommonVals.STAR_TOKEN, 1797, 480], [CommonVals.STAR_TOKEN, 1487, 596], [CommonVals.STAR_TOKEN, 1494, 776], [CommonVals.STAR_TOKEN, 1625, 903], [CommonVals.STAR_TOKEN, 1795, 906], [CommonVals.STAR_TOKEN, 1940, 781], [CommonVals.STAR_TOKEN, 1917, 605], [CommonVals.STAR_TOKEN, 1739, 1130], [CommonVals.STAR_TOKEN, 1885, 1035], [CommonVals.STAR_TOKEN, 1558, 1086], [CommonVals.STAR_TOKEN, 1577, 1253], [CommonVals.STAR_TOKEN, 1743, 1246], [CommonVals.STAR_TOKEN, 1854, 1213], [CommonVals.FLOAT_BOMB, 133, 289, 1], [CommonVals.FLOAT_BOMB, 133, 329, 1], [CommonVals.FLOAT_BOMB, 133, 369, 1], [CommonVals.FLOAT_BOMB, 133, 409, 1], [CommonVals.FLOAT_BOMB, 133, 449, 1], [CommonVals.FLOAT_BOMB, 133, 489, 1], [CommonVals.FLOAT_BOMB, 133, 529, 1], [CommonVals.FLOAT_BOMB, 133, 569, 1], [CommonVals.FLOAT_BOMB, 133, 609, 1], [CommonVals.FLOAT_BOMB, 133, 649, 1], [CommonVals.FLOAT_BOMB, 133, 689, 1], [CommonVals.FLOAT_BOMB, 173, 689, 1], [CommonVals.FLOAT_BOMB, 213, 689, 1], [CommonVals.FLOAT_BOMB, 703, 805, 1], [CommonVals.FLOAT_BOMB, 966, 809, 1], [CommonVals.FLOAT_BOMB, 1046, 649, 1], [CommonVals.FLOAT_BOMB, 1060, 383, 1], [CommonVals.FLOAT_BOMB, 1404, 1146, 1], [CommonVals.FLOAT_BOMB, 1408, 1230, 1], [CommonVals.FLOAT_BOMB, 1612, 1167, 1], [CommonVals.FLOAT_BOMB, 1597, 1042, 1], [CommonVals.FLOAT_BOMB, 1683, 1083, 1], [CommonVals.FLOAT_BOMB, 1730, 1187, 1], [CommonVals.FLOAT_BOMB, 1855, 1098, 1], [CommonVals.FLOAT_BOMB, 1367, 570, 1], [CommonVals.FLOAT_BOMB, 1286, 570, 1], [CommonVals.BUMPER, 416, 775, 1], [CommonVals.BUMPER, 516, 775, 1], [CommonVals.BUMPER, 1053, 541, 1], [CommonVals.BUMPER, 856, 541, 1], [CommonVals.BUMPER, 398, 318, 1], [CommonVals.BUMPER, 580, 285, 1], [CommonVals.LASER_PROJECTOR, 387, 56, 32, 5, true, 1], [CommonVals.LASER_PROJECTOR, 860, 963, 90, 5, true, 2], [CommonVals.LASER_PROJECTOR, 1040, 963, 90, 5, true, 3], [CommonVals.LASER_PROJECTOR, 1500, 963, 90, 5, true, 4], [CommonVals.TELE_TRANSMISSION, 945, 1305, 1, 0]]; _local23.actors = [[CommonVals.GEAR1, 485, 1132, 1.41, 0, 1.5, 0], [CommonVals.GEAR2, 1706, 686, 1.383, 0, -1.5, 0], [CommonVals.DOOR, 248, 630, 1, 0, true, 1, 0], [CommonVals.DOOR, 182, 232, 1, 90, true, 1, 0], [CommonVals.KEY, 278, 676, true, [0]], [CommonVals.KEY, 110, 91, true, [1]], [CommonVals.KEY, 925, 1085, true, [2]], [CommonVals.KEY, 1081, 1110, true, [3]], [CommonVals.KEY, 1834, 1247, true, [4]], [CommonVals.BREAKABLE_SQUARE, 85, 718, 1, 0], [CommonVals.BREAKABLE_SQUARE, 85, 718, 1, 0], [CommonVals.BREAKABLE_SQUARE, 127, 718, 1, 0], [CommonVals.BREAKABLE_SQUARE, 170, 718, 1, 0], [CommonVals.BREAKABLE_SQUARE, 212, 718, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1151, 999, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1151, 1042, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1151, 1085, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1151, 1128, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1151, 1171, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1151, 1214, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1193, 1214, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1193, 1171, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1193, 1128, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1193, 1085, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1193, 1042, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1193, 999, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1236, 999, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1236, 1042, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1236, 1085, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1236, 1128, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1236, 1171, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1236, 1214, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1278, 999, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1278, 1042, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1278, 1085, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1278, 1128, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1278, 1171, 1, 0], [CommonVals.BREAKABLE_SQUARE, 1278, 1214, 1, 0], [CommonVals.SPINY_BALL, [[133, 189], [133, 770], [134, 770]], 1.5, 3], [CommonVals.SPINY_BALL, [[319, 184], [319, 463], [788, 464], [788, 685], [401, 685]], 1.5, 5], [CommonVals.SPINY_BALL, [[938, 692], [938, 397], [480, 397], [480, 188]], 1.5, 5], [CommonVals.SPINY_STICK, 753, 427, 1, 0, 1.7, true, 9], [CommonVals.SPINY_STICK, 787, 108, 1, 0, 1.7, true, 9], [CommonVals.SPINY_STICK, 1231, 108, 1, 0, -1.7, true, 9], [CommonVals.CANNON, 1186, 314, 1, 0, 70, 100, 1], [CommonVals.CANNON, 1186, 384, 1, 0, 70, 150, 1], [CommonVals.CANNON, 2062, 1030, 1, 180, 30, 200, 70], [CommonVals.CANNON, 2062, 1150, 1, 180, 30, 300, 70], [CommonVals.COW, 132, 796, 1], [CommonVals.COW, 1284, 823, 1], [CommonVals.CAT, 1747, 209, 1], [CommonVals.DOG, 1684, 206, 1]]; allLevels.push(_local23); var _local24:LevelDataPrototype = new LevelDataPrototype(); _local24.levelWidth = 1582; _local24.levelHeight = 1290; _local24.bgLayerWidth = 1099; _local24.bgLayerHeight = 568; _local24.initCameraPos = new Point(0, 30); _local24.ufoPos = new Point(272, 350); _local24.sceneType = NIGHT_SCENE; _local24.ufoSpawnable = true; _local24.stillTerrain = [[[-100, 0], [0, 0], [0, 1290], [-100, 1290]], [[0, 0], [1582, 0], [1582, 68], [0, 68]], [[1463, 0], [1582, 0], [1582, 1290], [1463, 1290]], [[0, 1224], [1582, 1224], [1582, 1290], [0, 1290]], [[0, 200], [436, 200], [436, 268], [0, 268]], [[436, 200], [601, 132], [698, 132], [811, 213], [811, 268], [436, 268]], [[0, 268], [75, 268], [75, 890], [0, 890]], [[0, 890], [438, 890], [438, 1290], [0, 1290]], [[215, 448], [334, 479], [334, 736], [306, 792], [243, 792], [215, 737]], [[215, 448], [364, 407], [1320, 407], [1320, 479], [334, 479]], [[1002, 68], [1582, 68], [1582, 224], [1002, 224]], [[1002, 224], [1121, 224], [1121, 407], [1002, 407]], [[452, 576], [878, 576], [878, 642], [452, 642]], [[878, 479], [978, 479], [978, 858], [878, 858]], [[569, 828], [607, 828], [607, 858], [567, 858]], [[567, 858], [878, 858], [878, 973], [567, 973]], [[808, 973], [969, 919], [969, 1054], [939, 1054]], [[978, 780], [1106, 780], [1106, 788], [969, 919]], [[439, 1157], [1018, 1157], [1101, 1224], [439, 1224]], [[1255, 781], [1463, 781], [1389, 911], [1255, 788]], [[1463, 781], [1463, 1100], [1389, 1100], [1389, 911]], [[1389, 1100], [1582, 1100], [1582, 1224], [1260, 1224]]]; _local24.maliciousRegion = [[[232, 182], [422, 182], [422, 200], [232, 200]], [[981, 183], [1000, 182], [1000, 378], [981, 378]], [[711, 269], [807, 269], [807, 283], [711, 283]], [[0x0200, 389], [604, 389], [604, 407], [0x0200, 407]], [[193, 558], [213, 559], [213, 655], [193, 655]], [[74, 734], [93, 731], [87, 778], [74, 778]], [[74, 838], [92, 838], [88, 884], [74, 884]], [[471, 643], [566, 642], [564, 658], [471, 658]], [[1442, 472], [1461, 472], [1461, 665], [1442, 665]]]; _local24.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 474, 749, false], [CommonVals.STAR_TOKEN, 35, 99], [CommonVals.STAR_TOKEN, 593, 522], [CommonVals.STAR_TOKEN, 732, 532], [CommonVals.STAR_TOKEN, 593, 1114], [CommonVals.STAR_TOKEN, 510, 1047], [CommonVals.STAR_TOKEN, 1006, 940], [CommonVals.STAR_TOKEN, 1113, 856], [CommonVals.STAR_TOKEN, 1248, 866], [CommonVals.STAR_TOKEN, 1342, 963], [CommonVals.STAR_TOKEN, 1342, 1087], [CommonVals.STAR_TOKEN, 1254, 1170], [CommonVals.STAR_TOKEN, 1120, 1174], [CommonVals.STAR_TOKEN, 1012, 1105], [CommonVals.STAR_TOKEN, 1002, 683], [CommonVals.STAR_TOKEN, 1202, 586], [CommonVals.STAR_TOKEN, 1294, 629], [CommonVals.STAR_TOKEN, 1135, 647], [CommonVals.TELE_TRANSMISSION, 1254, 412, 1, 0]]; _local24.actors = [[CommonVals.DOOR, 179, 67, 1.395, 0, true, -1, 0], [CommonVals.DOOR, 214, 444, 1.437, 90, true, -1, 0], [CommonVals.DOOR, 521, 478, 1, 0, true, -1, 1], [CommonVals.KEY, 260, 114, true, [0]], [CommonVals.KEY, 807, 750, true, [1]], [CommonVals.SPINY_BALL, [[137, 533], [137, 300], [647, 300]], 1, 2], [CommonVals.SPINY_BALL, [[1032, 536], [1032, 723], [1395, 723], [1395, 536], [1032, 536]], 1, 4], [CommonVals.SPINY_STICK, 1181, 1014, 1.176, 90, 0.7, true, 4], [CommonVals.SPINY_STICK, 1181, 1014, 1.176, 0, 0.7, true, 4], [CommonVals.BREAKABLE_SQUARE, 439, 929, 1, 0], [CommonVals.BREAKABLE_SQUARE, 482, 929, 1, 0], [CommonVals.BREAKABLE_SQUARE, 525, 929, 1, 0], [CommonVals.MOVABLE_STICK_BLOCK, 77, 1156, 1, -90, 253, 3, 0], [CommonVals.CANNON, 679, 598, 1, 90, 10, 200, 350], [CommonVals.CANNON, 759, 598, 1, 90, 10, 100, 450], [CommonVals.COW, 56, 176, 1], [CommonVals.CAT, 712, 575, 1], [CommonVals.DOG, 829, 575, 1]]; allLevels.push(_local24); var _local25:LevelDataPrototype = new LevelDataPrototype(); _local25.levelWidth = 2220; _local25.levelHeight = 1629; _local25.bgLayerWidth = 1099; _local25.bgLayerHeight = 568; _local25.initCameraPos = new Point(206, 680); _local25.ufoPos = new Point(526, 920); _local25.sceneType = NIGHT_SCENE; _local25.ufoSpawnable = true; _local25.stillTerrain = [[[0, 0], [75, 0], [75, 1629], [0, 1629]], [[0, -100], [2220, -100], [2220, 0], [0, 0]], [[2146, 0], [2220, 0], [2220, 1629], [2146, 1629]], [[0, 1555], [2220, 1555], [2220, 1629], [0, 1629]], [[0, 941], [1430, 941], [1430, 1090], [0, 1090]], [[1573, 941], [2220, 941], [2220, 1090], [1573, 1090]], [[0, 1235], [807, 1235], [807, 1309], [0, 1309]], [[993, 1235], [2220, 1235], [2220, 1629], [993, 1629]], [[732, 725], [1100, 725], [1100, 799], [732, 799]], [[1242, 432], [1645, 432], [1645, 506], [1242, 506]], [[1789, 432], [2220, 432], [2220, 506], [1789, 506]], [[1026, 0], [1100, 0], [1100, 799], [1026, 799]], [[1571, 0], [1645, 0], [1645, 290], [1571, 290]], [[1571, 432], [1645, 432], [1645, 940], [1571, 940]], [[545, 1509], [644, 1509], [644, 1629], [545, 1629]]]; _local25.maliciousRegion = []; _local25.objects = [[CommonVals.UFO_SPAWNER_INACTIVE, 1173, 871, false], [CommonVals.UFO_SPAWNER_INACTIVE, 1173, 871, false], [CommonVals.UFO_SPAWNER_INACTIVE, 1136, 370, false], [CommonVals.UFO_SPAWNER_INACTIVE, 1700, 348, false], [CommonVals.UFO_SPAWNER_INACTIVE, 1676, 547, false], [CommonVals.UFO_SPAWNER_INACTIVE, 1504, 1013, false], [CommonVals.FLOAT_BOMB, 1711, 613, 1], [CommonVals.FLOAT_BOMB, 1852, 621, 1], [CommonVals.FLOAT_BOMB, 1891, 571, 1], [CommonVals.FLOAT_BOMB, 2031, 634, 1], [CommonVals.FLOAT_BOMB, 2086, 733, 1], [CommonVals.FLOAT_BOMB, 1793, 709, 1], [CommonVals.FLOAT_BOMB, 1683, 819, 1], [CommonVals.FLOAT_BOMB, 1737, 852, 1], [CommonVals.FLOAT_BOMB, 1770, 904, 1], [CommonVals.BUMPER, 1694, 724, 1], [CommonVals.BUMPER, 1859, 0x0303, 1], [CommonVals.BUMPER, 1928, 617, 1], [CommonVals.BUMPER, 2084, 571, 1], [CommonVals.BUMPER, 2019, 703, 1], [CommonVals.BUMPER, 2010, 811, 1], [CommonVals.BUMPER, 1216, 1206, 1], [CommonVals.BUMPER, 1091, 1127, 1], [CommonVals.BUMPER, 621, 1127, 1], [CommonVals.BUMPER, 495, 1206, 1], [CommonVals.LASER_PROJECTOR, 1108, 755, 0, 7, true, 4], [CommonVals.LASER_PROJECTOR, 1108, 615, 0, 7, true, 5], [CommonVals.LASER_PROJECTOR, 1274, 955, -90, 7, true, 6], [CommonVals.LASER_PROJECTOR, 1404, 955, -90, 7, true, 7], [CommonVals.LASER_PROJECTOR, 594, 1497, -90, 2, true, 13], [CommonVals.TELE_TRANSMISSION, 284, 1561, 1, 0]]; _local25.actors = [[CommonVals.TRIGGER, 526, 837, 0], [CommonVals.TRIGGER, 520, 113, 0], [CommonVals.CANNON, 517, -20, 1, 90, 10, 300, 550], [CommonVals.DOOR, 727, 798, 1.477, 0, true, 1, 1], [CommonVals.DOOR, 817, 798, 1.477, 0, true, 1, 2], [CommonVals.DOOR, 907, 798, 1.477, 0, true, 1, 3], [CommonVals.KEY, 134, 129, true, [1]], [CommonVals.KEY, 492, 363, true, [2]], [CommonVals.KEY, 855, 138, true, [3]], [CommonVals.BREAKABLE_SQUARE, 1030, 797, 1.663, 0], [CommonVals.BREAKABLE_SQUARE, 1030, 868, 1.663, 0], [CommonVals.KEY, 1127, 785, false, [5, 6]], [CommonVals.KEY, 1300, 875, false, [4, 6]], [CommonVals.KEY, 1306, 647, false, [5, 7]], [CommonVals.KEY, 1306, 528, false, [4, 7]], [CommonVals.KEY, 1475, 661, false, [5]], [CommonVals.KEY, 1127, 640, false, [7, 8]], [CommonVals.DOOR, 1243, 429, 1.477, 90, false, -1, 8], [CommonVals.SPINY_BALL, [[1168, 61], [1168, 364], [1496, 364], [1496, 61], [1168, 61]], 1, 4], [CommonVals.SPINY_BALL, [[1168, 364], [1496, 364], [1496, 61], [1168, 61], [1168, 364]], 1, 4], [CommonVals.SPINY_BALL, [[1496, 364], [1496, 61], [1168, 61], [1168, 364], [1496, 364]], 1, 4], [CommonVals.SPINY_BALL, [[1496, 61], [1168, 61], [1168, 364], [1496, 364], [1496, 61]], 1, 4], [CommonVals.SPINY_BALL, [[1246, 286], [1419, 286], [1419, 140], [1246, 140], [1246, 286]], 1, 3], [CommonVals.SPINY_BALL, [[1419, 140], [1246, 140], [1246, 286], [1419, 286], [1419, 140]], 1, 3], [CommonVals.KEY, 1315, 209, false, [9]], [CommonVals.DOOR, 1583, 290, 1.477, 0, true, -1, 9], [CommonVals.CANNON, 1605, 85, 1, 0, 70, 200, 2], [CommonVals.CANNON, 1605, 215, 1, 0, 70, 200, 2], [CommonVals.CANNON, 2190, 27, 1, 180, 70, 150, 2], [CommonVals.CANNON, 2190, 147, 1, 180, 70, 150, 2], [CommonVals.CANNON, 2190, 277, 1, 180, 70, 150, 2], [CommonVals.CANNON, 2190, 397, 1, 180, 70, 150, 2], [CommonVals.KEY, 2081, 73, true, [10]], [CommonVals.KEY, 1666, 890, true, [11]], [CommonVals.DOOR, 1789, 430, 1.477, 90, true, -1, 10], [CommonVals.DOOR, 1575, 937, 1.477, 90, true, -1, 11], [CommonVals.TrashCan, 2119, 940, 1, 0], [CommonVals.KEY, 1483, 1059, true, [12]], [CommonVals.DOOR, 1574, 1090, 1.487, 0, true, -1, 12], [CommonVals.DOOR, 1574, 1090, 1.487, 0, true, -1, 12], [CommonVals.DOOR, 0xFF, 1090, 1.487, 0, true, -1, 12], [CommonVals.KEY, 352, 1190, true, [13]], [CommonVals.SPINY_BALL, [[1510, 1164], [407, 1164], [1510, 1164]], 1.8, 3], [CommonVals.SPINY_BALL, [[0x0800, 1164], [147, 1164], [0x0800, 1164]], 1.8, 3], [CommonVals.SPINY_BALL, [[147, 1164], [0x0800, 1164], [147, 1164]], 1.8, 3], [CommonVals.COW, 783, 1527, 1], [CommonVals.SPINY_STICK, 523, 459, 1.826, 0, -0.7, false, 0], [CommonVals.SPINY_STICK, 523, 459, 1.826, 90, -0.7, false, 0], [CommonVals.SPINY_STICK, 0xFF, 695, 1.26, 90, 0.7, true, 15], [CommonVals.SPINY_STICK, 0xFF, 695, 1.26, 0, 0.7, true, 15], [CommonVals.SPINY_STICK, 795, 232, 1.26, 90, -0.7, true, 15], [CommonVals.SPINY_STICK, 795, 232, 1.26, 0, -0.7, true, 15], [CommonVals.SPINY_STICK, 252, 232, 1.26, 90, -0.7, true, 15], [CommonVals.SPINY_STICK, 252, 232, 1.26, 0, -0.7, true, 15]]; allLevels.push(_local25); } public static function getLevelData(_arg1:int):LevelDataPrototype{ return (allLevels[_arg1]); } } }//package com.tinime.levels
Section 158
//GameObject (com.tinime.objects.GameObject) package com.tinime.objects { import Box2D.Dynamics.*; import flash.display.*; public class GameObject { protected var _body:b2Body; protected var _costume:DisplayObjectContainer; public function destroy():void{ } public function get body():b2Body{ return (_body); } public function set body(_arg1:b2Body):void{ _body = _arg1; } public function get costume():DisplayObjectContainer{ return (_costume); } public function set costume(_arg1:DisplayObjectContainer):void{ _costume = _arg1; } } }//package com.tinime.objects
Section 159
//LaserProjector (com.tinime.objects.LaserProjector) package com.tinime.objects { import flash.display.*; import com.hexagonstar.display.bitmaps.*; import Box2D.Dynamics.*; import com.tinime.control.*; import flash.geom.*; import com.tinime.data.*; import com.tinime.view.*; import com.greensock.*; import com.tinime.interfaces.*; public class LaserProjector extends GameObject implements Triggered { private var _projectorStartCostume:Sprite; private var _projectorStartBody:b2Body; private var _projectorEndCostume:Sprite; private var _projectorEndBody:b2Body; private var _laserCostumeArr:Array; private var _laserAnimatedBitmapArr:Array; private var _laserBodyArr:Array; private var _isOn:Boolean; private var _isTweening:Boolean;// = false public function LaserProjector(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:Number, _arg5:Boolean){ var _local9:Sprite; var _local10:AnimatedBitmap; var _local11:b2Body; super(); _isOn = true; _projectorStartCostume = Box2dObjSpawner.buildBitmapSprite(_arg1, new LaserProjectorSprLib(), _arg2, 1, new Point(69, 34), new Point(-38, -17), _arg3); _projectorStartBody = Box2dObjSpawner.buildBody([[-21, -16], [28, -2], [28, 2], [-21, 16], [-37, 0]], CommonVals.SCENE_BLOCK, _arg2, 0, 0.7, 0, 1, _arg3); _laserCostumeArr = new Array(); _laserBodyArr = new Array(); _laserAnimatedBitmapArr = new Array(); var _local6:Number = ((_arg3 * Math.PI) / 180); var _local7:Point = new Point((_arg2.x + (28 * Math.cos(_local6))), (_arg2.y + (28 * Math.sin(_local6)))); var _local8:int; while (_local8 < _arg4) { _local9 = new Sprite(); _local10 = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.LASER_BEAM); _local10.x = -1; _local10.y = -5; _local9.addChild(_local10); _local9.x = _local7.x; _local9.y = _local7.y; _local9.rotation = _arg3; _arg1.addChild(_local9); _local11 = Box2dObjSpawner.buildBody([[0, -3], [59, -3], [59, 3], [0, 3]], CommonVals.LASER_BEAM, _local7, 0, 0.7, 0, 1, _arg3); _local11.GetShapeList().m_isSensor = true; _laserCostumeArr.push(_local9); _laserBodyArr.push(_local11); _laserAnimatedBitmapArr.push(_local10); _local7 = new Point((_local7.x + (59 * Math.cos(_local6))), (_local7.y + (59 * Math.sin(_local6)))); _local8++; }; _local7 = new Point((_local7.x + (28 * Math.cos(_local6))), (_local7.y + (28 * Math.sin(_local6)))); _projectorEndCostume = Box2dObjSpawner.buildBitmapSprite(_arg1, new LaserProjectorSprLib(), _local7, 1, new Point(69, 34), new Point(-38, -17), (_arg3 + 180)); _projectorEndBody = Box2dObjSpawner.buildBody([[-21, -16], [28, -2], [28, 2], [-21, 16], [-37, 0]], CommonVals.SCENE_BLOCK, _local7, 0, 0.7, 0, 1, (_arg3 + 180)); if (!(_arg5)){ onTriggered(); }; } override public function destroy():void{ var _local2:Sprite; var _local3:AnimatedBitmap; var _local4:b2Body; _projectorStartCostume.parent.removeChild(_projectorStartCostume); PhysicsVals.world.DestroyBody(_projectorStartBody); _projectorEndCostume.parent.removeChild(_projectorEndCostume); PhysicsVals.world.DestroyBody(_projectorEndBody); _projectorStartCostume = null; _projectorEndCostume = null; var _local1:int; while (_local1 < _laserBodyArr.length) { _local2 = _laserCostumeArr[_local1]; _local3 = _laserAnimatedBitmapArr[_local1]; _local3.destroy(); _local4 = _laserBodyArr[_local1]; _local2.removeChild(_local3); _local2.parent.removeChild(_local2); PhysicsVals.world.DestroyBody(_local4); _local3 = null; _local2 = null; _local1++; }; _laserAnimatedBitmapArr = null; _laserBodyArr = null; _laserCostumeArr = null; } public function onTriggered():void{ var onTweenComplete:Function; var curBeamCostume:Sprite; var curBeamBody:b2Body; onTweenComplete = function ():void{ _isTweening = false; }; if (_isTweening){ return; }; _isOn = !(_isOn); var i:int; while (i < _laserBodyArr.length) { curBeamCostume = _laserCostumeArr[i]; curBeamBody = _laserBodyArr[i]; if (_isOn){ _isTweening = true; TweenLite.to(curBeamCostume, 1, {alpha:1, onComplete:onTweenComplete}); curBeamBody.GetShapeList().m_isSensor = false; curBeamBody.SetUserData(CommonVals.LASER_BEAM); } else { _isTweening = true; TweenLite.to(curBeamCostume, 1, {alpha:0, onComplete:onTweenComplete}); curBeamBody.GetShapeList().m_isSensor = true; curBeamBody.SetUserData(""); }; i = (i + 1); }; } } }//package com.tinime.objects
Section 160
//UfoBlock (com.tinime.objects.UfoBlock) package com.tinime.objects { import com.tinime.control.*; import flash.geom.*; import com.tinime.data.*; public class UfoBlock extends GameObject { public function UfoBlock(_arg1:Array){ _body = Box2dObjSpawner.buildBody(_arg1, null, new Point(0, 0)); _body.GetShapeList().m_filter.categoryBits = PhysicsVals.NPC_CATAGORY; _body.GetShapeList().m_filter.maskBits = PhysicsVals.UFO_CATEGORY; } override public function destroy():void{ PhysicsVals.world.DestroyBody(_body); } } }//package com.tinime.objects
Section 161
//UfoSpawner (com.tinime.objects.UfoSpawner) package com.tinime.objects { import Box2D.Collision.Shapes.*; import com.tinime.data.*; import Box2D.Dynamics.*; import flash.display.*; import flash.geom.*; import com.tinime.control.*; import com.tinime.view.*; import com.hexagonstar.display.bitmaps.*; public class UfoSpawner extends GameObject { private var _isActive:Boolean; private var _parent:DisplayObjectContainer; private var _location:Point; private var _animatedBitmap:AnimatedBitmap; public function UfoSpawner(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Boolean){ var _local4:b2CircleDef; super(); _parent = _arg1; _location = _arg2; updateDisplay(_arg3); _local4 = new b2CircleDef(); _local4.radius = (8 / PhysicsVals.RATIO); _local4.density = 0; _local4.isSensor = true; var _local5:b2BodyDef = new b2BodyDef(); _local5.position.Set((_arg2.x / PhysicsVals.RATIO), (_arg2.y / PhysicsVals.RATIO)); _body = PhysicsVals.world.CreateBody(_local5); _body.CreateShape(_local4); _body.SetUserData(this); } public function touch():void{ if (!(_isActive)){ _isActive = true; updateDisplay(true); UfoSpawnController.changeSpawner(this); }; } public function updateDisplay(_arg1:Boolean):void{ _isActive = _arg1; if (_costume != null){ if (_parent.contains(_costume)){ _parent.removeChild(_costume); }; }; if (_isActive){ _costume = new Sprite(); _costume.x = _location.x; _costume.y = _location.y; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.UFO_SPAWNER_ACTIVE); _animatedBitmap.x = -91; _animatedBitmap.y = -87; _costume.addChild(_animatedBitmap); _animatedBitmap.play(); } else { _costume = new Sprite(); _costume.x = _location.x; _costume.y = _location.y; _animatedBitmap = BitmapAnimManager.getInstance().getAnimatedBitmap(CommonVals.UFO_SPAWNER_INACTIVE); _animatedBitmap.x = -27; _animatedBitmap.y = -27; _costume.addChild(_animatedBitmap); _animatedBitmap.play(); }; _parent.addChildAt(_costume, 0); } public function getPosition():Point{ return (_location); } override public function destroy():void{ PhysicsVals.world.DestroyBody(_body); _parent.removeChild(_costume); _animatedBitmap.parent.removeChild(_animatedBitmap); _animatedBitmap.destroy(); _animatedBitmap = null; } public function get isActive():Boolean{ return (_isActive); } public function set isActive(_arg1:Boolean):void{ _isActive = _arg1; } } }//package com.tinime.objects
Section 162
//AllLevelCompleteScreen (com.tinime.view.AllLevelCompleteScreen) package com.tinime.view { import flash.events.*; import com.tinime.event.*; import flash.display.*; public class AllLevelCompleteScreen extends Sprite { private var allLevelCompleteMc:MovieClip; public function AllLevelCompleteScreen(){ allLevelCompleteMc = new AllPassAnimMcLib(); allLevelCompleteMc.x = 320; allLevelCompleteMc.y = 240; addChild(allLevelCompleteMc); mouseEnabled = true; useHandCursor = true; buttonMode = true; addEventListener(MouseEvent.CLICK, onClick); allLevelCompleteMc.gotoAndPlay(1); } private function onClick(_arg1:MouseEvent):void{ trace(allLevelCompleteMc.currentFrame); if (allLevelCompleteMc.currentFrame >= 231){ GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); removeEventListener(MouseEvent.CLICK, onClick); }; } } }//package com.tinime.view
Section 163
//BitmapAnimManager (com.tinime.view.BitmapAnimManager) package com.tinime.view { import flash.display.*; import com.tinime.data.*; import com.hexagonstar.display.bitmaps.*; import com.tinime.event.*; import flash.geom.*; import flash.events.*; public class BitmapAnimManager { private var _cowArr:Array; private var _catArr:Array; private var _dogArr:Array; private var _ufoArr:Array; private var _teleTransmissionArr:Array; private var _starTokenArr:Array; private var _ufoSpawnerInactiveArr:Array; private var _ufoSpawnerActiveArr:Array; private var _floatBombArr:Array; private var _spinyBallArr:Array; private var _spinyBallScale150Arr:Array; private var _spinyBallScale180Arr:Array; private var _keyArr:Array; private var _triggerArr:Array; private var _laserBeamArr:Array; private var _cannonArr:Array; private var _cannonScale60Arr:Array; private var _cannonScale150Arr:Array; private var _bumperArr:Array; private var _bumperScale53Arr:Array; private var _cowDimension:Point; private var _catDimension:Point; private var _dogDimension:Point; private var _ufoDimension:Point; private var _teleTransmissionDimension:Point; private var _starTokenDimension:Point; private var _ufoSpawnerInactiveDimension:Point; private var _ufoSpawnerActiveDimension:Point; private var _floatBombDimension:Point; private var _spinyBallDimension:Point; private var _spinyBallScale150Dimension:Point; private var _spinyBallScale180Dimension:Point; private var _keyDimension:Point; private var _triggerDimension:Point; private var _laserBeamDimension:Point; private var _cannonDimension:Point; private var _cannonScale60Dimension:Point; private var _cannonScale150Dimension:Point; private var _bumperDimension:Point; private var _bumperScale53Dimension:Point; private var _totalGenNum:uint; private var _genCount:uint; private static var _instance:BitmapAnimManager; public function BitmapAnimManager(_arg1:SingletonEnforcer){ } public function initBitmapAnimData():void{ initTempData(); var _local1:DisplayObjectContainer = UIManager.stage; UIManager.setStageFrameRate(15); generateBitmapAnimBlockFromMc(new CowMcLib(), _local1); generateBitmapAnimBlockFromMc(new CatMcLib(), _local1); generateBitmapAnimBlockFromMc(new DogMcLib(), _local1); generateBitmapAnimBlockFromMc(new UfoMcLib(), _local1); generateBitmapAnimBlockFromMc(new TeleTransmissionMcLib(), _local1); generateBitmapAnimBlockFromMc(new StarTokenMcLib(), _local1); generateBitmapAnimBlockFromMc(new UfoSpawnerActiveMcLib(), _local1); generateBitmapAnimBlockFromMc(new UfoSpawnerInactiveMcLib(), _local1); generateBitmapAnimBlockFromMc(new FloatBombMcLib(), _local1); generateBitmapAnimBlockFromMc(new SpinyBallMcLib(), _local1); generateBitmapAnimBlockFromMc(new KeyMcLib(), _local1); generateBitmapAnimBlockFromMc(new TriggerMcLib(), _local1); generateBitmapAnimBlockFromMc(new LaserBeamMcLib(), _local1); generateBitmapAnimBlockFromMc(new CannonMcLib(), _local1); generateBitmapAnimBlockFromMc(new BumperMcLib(), _local1); } public function getAnimatedBitmap(_arg1:int):AnimatedBitmap{ var _local2:BitmapAnimDataBlock; switch (_arg1){ case CommonVals.COW: _local2 = BitmapAnimDataCollection.cowAnimPrototype; break; case CommonVals.CAT: _local2 = BitmapAnimDataCollection.catAnimPrototype; break; case CommonVals.DOG: _local2 = BitmapAnimDataCollection.dogAnimPrototype; break; case CommonVals.UFO: _local2 = BitmapAnimDataCollection.ufoAnimPrototype; break; case CommonVals.TELE_TRANSMISSION: _local2 = BitmapAnimDataCollection.teleTransmissionPrototype; break; case CommonVals.STAR_TOKEN: _local2 = BitmapAnimDataCollection.starTokenPrototype; break; case CommonVals.UFO_SPAWNER_INACTIVE: _local2 = BitmapAnimDataCollection.ufoSpawnerInactivePrototype; break; case CommonVals.UFO_SPAWNER_ACTIVE: _local2 = BitmapAnimDataCollection.ufoSpawnerActivePrototype; break; case CommonVals.FLOAT_BOMB: _local2 = BitmapAnimDataCollection.floatBombPrototype; break; case CommonVals.SPINY_BALL: _local2 = BitmapAnimDataCollection.spinyBallPrototype; break; case CommonVals.SPINY_BALL_150: _local2 = BitmapAnimDataCollection.spinyBallScale150Prototype; break; case CommonVals.SPINY_BALL_180: _local2 = BitmapAnimDataCollection.spinyBallScale180prototype; break; case CommonVals.KEY: _local2 = BitmapAnimDataCollection.keyPrototype; break; case CommonVals.TRIGGER: _local2 = BitmapAnimDataCollection.triggerPrototype; break; case CommonVals.LASER_BEAM: _local2 = BitmapAnimDataCollection.laserBeamPrototype; break; case CommonVals.CANNON: _local2 = BitmapAnimDataCollection.cannonPrototype; break; case CommonVals.CANNON_60: _local2 = BitmapAnimDataCollection.cannonScale60Prototype; break; case CommonVals.CANNON_150: _local2 = BitmapAnimDataCollection.cannonScale150Prototype; break; case CommonVals.BUMPER: _local2 = BitmapAnimDataCollection.bumperPrototype; break; case CommonVals.BUMPER_53: _local2 = BitmapAnimDataCollection.bumperScale53Prototype; break; default: break; }; return (new AnimatedBitmap(_local2.bitmapData, _local2.width, _local2.height, _local2.wCount, _local2.frameAmount, PhysicsVals.ANIMATED_BITMAP_TIMER, true, "auto", true)); } private function onBitmapDataReady():void{ setBitmapAnimDataBlock(_cowArr, _cowDimension, BitmapAnimDataCollection.cowAnimPrototype); setBitmapAnimDataBlock(_catArr, _catDimension, BitmapAnimDataCollection.catAnimPrototype); setBitmapAnimDataBlock(_dogArr, _dogDimension, BitmapAnimDataCollection.dogAnimPrototype); setBitmapAnimDataBlock(_ufoArr, _ufoDimension, BitmapAnimDataCollection.ufoAnimPrototype); setBitmapAnimDataBlock(_teleTransmissionArr, _teleTransmissionDimension, BitmapAnimDataCollection.teleTransmissionPrototype); setBitmapAnimDataBlock(_starTokenArr, _starTokenDimension, BitmapAnimDataCollection.starTokenPrototype); setBitmapAnimDataBlock(_ufoSpawnerActiveArr, _ufoSpawnerActiveDimension, BitmapAnimDataCollection.ufoSpawnerActivePrototype); setBitmapAnimDataBlock(_ufoSpawnerInactiveArr, _ufoSpawnerInactiveDimension, BitmapAnimDataCollection.ufoSpawnerInactivePrototype); setBitmapAnimDataBlock(_floatBombArr, _floatBombDimension, BitmapAnimDataCollection.floatBombPrototype); setBitmapAnimDataBlock(_spinyBallArr, _spinyBallDimension, BitmapAnimDataCollection.spinyBallPrototype); setBitmapAnimDataBlock(_spinyBallScale150Arr, _spinyBallScale150Dimension, BitmapAnimDataCollection.spinyBallScale150Prototype); setBitmapAnimDataBlock(_spinyBallScale180Arr, _spinyBallScale180Dimension, BitmapAnimDataCollection.spinyBallScale180prototype); setBitmapAnimDataBlock(_keyArr, _keyDimension, BitmapAnimDataCollection.keyPrototype); setBitmapAnimDataBlock(_triggerArr, _triggerDimension, BitmapAnimDataCollection.triggerPrototype); setBitmapAnimDataBlock(_laserBeamArr, _laserBeamDimension, BitmapAnimDataCollection.laserBeamPrototype); setBitmapAnimDataBlock(_cannonArr, _cannonDimension, BitmapAnimDataCollection.cannonPrototype); setBitmapAnimDataBlock(_cannonScale60Arr, _cannonScale60Dimension, BitmapAnimDataCollection.cannonScale60Prototype); setBitmapAnimDataBlock(_cannonScale150Arr, _cannonScale150Dimension, BitmapAnimDataCollection.cannonScale150Prototype); setBitmapAnimDataBlock(_bumperArr, _bumperDimension, BitmapAnimDataCollection.bumperPrototype); setBitmapAnimDataBlock(_bumperScale53Arr, _bumperScale53Dimension, BitmapAnimDataCollection.bumperScale53Prototype); removeTempData(); UIManager.setStageFrameRate(PhysicsVals.FRAME_RATE); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.ANIMATED_BITMAP_DATA_READY)); } private function removeTempData():void{ _cowDimension = null; _cowArr = null; _catDimension = null; _catArr = null; _dogDimension = null; _dogArr = null; _ufoDimension = null; _ufoArr = null; _teleTransmissionDimension = null; _teleTransmissionArr = null; _starTokenDimension = null; _starTokenArr = null; _ufoSpawnerActiveDimension = null; _ufoSpawnerActiveArr = null; _ufoSpawnerInactiveDimension = null; _ufoSpawnerInactiveArr = null; _floatBombDimension = null; _floatBombArr = null; _spinyBallDimension = null; _spinyBallArr = null; _spinyBallScale150Dimension = null; _spinyBallScale150Arr = null; _spinyBallScale180Dimension = null; _spinyBallScale180Arr = null; _keyDimension = null; _keyArr = null; _triggerDimension = null; _triggerArr = null; _laserBeamDimension = null; _laserBeamArr = null; _cannonDimension = null; _cannonArr = null; _cannonScale60Dimension = null; _cannonScale60Arr = null; _cannonScale150Dimension = null; _cannonScale150Arr = null; _bumperDimension = null; _bumperArr = null; _bumperScale53Dimension = null; _bumperScale53Arr = null; } private function setBitmapAnimDataBlock(_arg1:Array, _arg2:Point, _arg3:BitmapAnimDataBlock):void{ var _local12:int; var _local13:BitmapData; var _local14:Bitmap; var _local4:int = 2800; var _local5:int = 2800; var _local6:int = _arg1.length; var _local7:int = int((_local4 / _arg2.x)); var _local8:int = ((_local7 > _local6)) ? _local6 : _local7; var _local9:int = Math.ceil((_local6 / _local7)); if ((_local9 * _arg2.y) > _local5){ trace("exceed the max bitmap size"); }; var _local10:Sprite = new Sprite(); var _local11:int; while (_local11 < _local9) { _local12 = 0; while (_local12 < _local8) { if (_arg1.length == 0){ break; }; _local13 = _arg1.shift(); _local14 = new Bitmap(_local13); _local14.x = (_local12 * _arg2.x); _local14.y = (_local11 * _arg2.y); _local10.addChild(_local14); _local12++; }; _local11++; }; _arg3.bitmapData = new BitmapData((_local8 * _arg2.x), (_local9 * _arg2.y), true, 0xFF0000); _arg3.bitmapData.draw(_local10); _arg3.width = _arg2.x; _arg3.height = _arg2.y; _arg3.wCount = _local8; _arg3.frameAmount = _local6; } private function initTempData():void{ _totalGenNum = 0; _genCount = 0; _cowDimension = new Point(101, 65); _catDimension = new Point(38, 29); _dogDimension = new Point(60, 37); _ufoDimension = new Point(58, 37); _teleTransmissionDimension = new Point(139, 67); _starTokenDimension = new Point(103, 62); _ufoSpawnerActiveDimension = new Point(187, 183); _ufoSpawnerInactiveDimension = new Point(56, 56); _floatBombDimension = new Point(46, 46); _spinyBallDimension = new Point(90, 80); _spinyBallScale150Dimension = new Point((_spinyBallDimension.x * 1.5), (_spinyBallDimension.y * 1.5)); _spinyBallScale180Dimension = new Point((_spinyBallDimension.x * 1.8), (_spinyBallDimension.y * 1.8)); _keyDimension = new Point(54, 38); _triggerDimension = new Point(40, 40); _laserBeamDimension = new Point(62, 10); _cannonDimension = new Point(250, 206); _cannonScale60Dimension = new Point((_cannonDimension.x * 0.6), (_cannonDimension.y * 0.6)); _cannonScale150Dimension = new Point((_cannonDimension.x * 1.5), (_cannonDimension.y * 1.5)); _bumperDimension = new Point(68, 68); _bumperScale53Dimension = new Point((_bumperDimension.x * 0.53), (_bumperDimension.y * 0.53)); _cowArr = new Array(); _catArr = new Array(); _dogArr = new Array(); _ufoArr = new Array(); _teleTransmissionArr = new Array(); _starTokenArr = new Array(); _ufoSpawnerInactiveArr = new Array(); _ufoSpawnerActiveArr = new Array(); _floatBombArr = new Array(); _spinyBallArr = new Array(); _spinyBallScale150Arr = new Array(); _spinyBallScale180Arr = new Array(); _keyArr = new Array(); _triggerArr = new Array(); _laserBeamArr = new Array(); _cannonArr = new Array(); _cannonScale60Arr = new Array(); _cannonScale150Arr = new Array(); _bumperArr = new Array(); _bumperScale53Arr = new Array(); } private function generateBitmapAnimBlockFromMc(_arg1:MovieClip, _arg2:DisplayObjectContainer):void{ _totalGenNum++; _arg2.addChildAt(_arg1, 0); _arg1.addEventListener(Event.ENTER_FRAME, onMcEnterFrame); _arg1.gotoAndPlay(1); } private function onMcEnterFrame(_arg1:Event):void{ var _local2:MovieClip = MovieClip(_arg1.target); if ((_local2 is CowMcLib)){ getFrameBitmapData(_local2, _cowDimension, _cowArr); } else { if ((_local2 is CatMcLib)){ getFrameBitmapData(_local2, _catDimension, _catArr); } else { if ((_local2 is DogMcLib)){ getFrameBitmapData(_local2, _dogDimension, _dogArr); } else { if ((_local2 is UfoMcLib)){ getFrameBitmapData(_local2, _ufoDimension, _ufoArr); } else { if ((_local2 is TeleTransmissionMcLib)){ getFrameBitmapData(_local2, _teleTransmissionDimension, _teleTransmissionArr); } else { if ((_local2 is StarTokenMcLib)){ getFrameBitmapData(_local2, _starTokenDimension, _starTokenArr); } else { if ((_local2 is UfoSpawnerActiveMcLib)){ getFrameBitmapData(_local2, _ufoSpawnerActiveDimension, _ufoSpawnerActiveArr); getFrameBitmapData(_local2, _ufoSpawnerActiveDimension, _ufoSpawnerActiveArr); } else { if ((_local2 is UfoSpawnerInactiveMcLib)){ getFrameBitmapData(_local2, _ufoSpawnerInactiveDimension, _ufoSpawnerInactiveArr); getFrameBitmapData(_local2, _ufoSpawnerInactiveDimension, _ufoSpawnerInactiveArr); } else { if ((_local2 is FloatBombMcLib)){ getFrameBitmapData(_local2, _floatBombDimension, _floatBombArr); } else { if ((_local2 is SpinyBallMcLib)){ getFrameBitmapData(_local2, _spinyBallDimension, _spinyBallArr); getFrameBitmapData(_local2, _spinyBallScale150Dimension, _spinyBallScale150Arr, 1.5); getFrameBitmapData(_local2, _spinyBallScale180Dimension, _spinyBallScale180Arr, 1.8); } else { if ((_local2 is KeyMcLib)){ getFrameBitmapData(_local2, _keyDimension, _keyArr); } else { if ((_local2 is TriggerMcLib)){ getFrameBitmapData(_local2, _triggerDimension, _triggerArr); } else { if ((_local2 is LaserBeamMcLib)){ getFrameBitmapData(_local2, _laserBeamDimension, _laserBeamArr); } else { if ((_local2 is CannonMcLib)){ getFrameBitmapData(_local2, _cannonDimension, _cannonArr); getFrameBitmapData(_local2, _cannonScale60Dimension, _cannonScale60Arr, 0.6); getFrameBitmapData(_local2, _cannonScale150Dimension, _cannonScale150Arr, 1.5); } else { if ((_local2 is BumperMcLib)){ getFrameBitmapData(_local2, _bumperDimension, _bumperArr); getFrameBitmapData(_local2, _bumperDimension, _bumperArr); getFrameBitmapData(_local2, _bumperDimension, _bumperArr); getFrameBitmapData(_local2, _bumperScale53Dimension, _bumperScale53Arr, 0.53); getFrameBitmapData(_local2, _bumperScale53Dimension, _bumperScale53Arr, 0.53); getFrameBitmapData(_local2, _bumperScale53Dimension, _bumperScale53Arr, 0.53); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; if (_local2.currentFrame == _local2.totalFrames){ _local2.stop(); _local2.removeEventListener(Event.ENTER_FRAME, onMcEnterFrame); _local2.parent.removeChild(_local2); if (++_genCount == _totalGenNum){ onBitmapDataReady(); }; }; } private function getFrameBitmapData(_arg1:MovieClip, _arg2:Point, _arg3:Array, _arg4:Number=1):void{ var _local5:BitmapData = new BitmapData(_arg2.x, _arg2.y, true, 0xFF0000); var _local6:Matrix = new Matrix(); _local6.scale(_arg4, _arg4); _local5.draw(_arg1, _local6); _arg3.push(_local5); } public function get totalGenNum():uint{ return (_totalGenNum); } public function get genCount():uint{ return (_genCount); } public static function getInstance():BitmapAnimManager{ if (_instance == null){ _instance = new BitmapAnimManager(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.view class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 164
//Camera (com.tinime.view.Camera) package com.tinime.view { import com.tinime.data.*; import com.tinime.event.*; import flash.display.*; import com.tinime.control.*; import flash.text.*; import flash.filters.*; import flash.geom.*; import com.greensock.*; import com.tinime.levels.*; import com.greensock.easing.*; import flash.events.*; public class Camera extends Sprite { private var _topLayer:Sprite; private var _frontLayer:Sprite; private var _bglayer:Sprite; private var _uiLayer:Sprite; private var _lowerBound:Point; private var _upperBound:Point; private var _curSceneWidth:Number; private var _curSceneHeight:Number; private var _bgLayerWidth:Number; private var _bgLayerHeight:Number; private var _bgLayerMoveXRatio:Number; private var _bgLayerMoveYRatio:Number; private var _activeMovingBorderLen:int; private var _leftMoveBorder:int; private var _rightMoveBorder:int; private var _upMoveBorder:int; private var _downMoveBorder:int; private var _owner:Sprite; private var _energyText:TextField; private var _energyBar:Sprite; private var _energyDecoration:Sprite; private var _lifeNumSprite:NumberSprite; private var _scoreNumSprite:NumberSprite; private var _levelNumSprite:NumberSprite; private var _cowText:TextField; private var _lifeUpMask:Sprite; private var lifeUpSprite:Sprite; private var _lifeUpMaskInitialX:Number; private var _uiTextFmt:TextFormat; private var gamePausedPanel:GamePausePanel; private var controllerPanel:ControllerPanel; public var ufoX:Number; public var ufoY:Number; public var _cameraMask:MovieClip; public var _isCameraLocked:Boolean; private var _cameraModeStartPos:Point; public var frontLayerBitMap:Bitmap; private static var _originalBgWidth:Number = 513; private static var _originalBgHeight:Number = 265; private static var _stageWidth:Number = 640; private static var _stageHeight:Number = 480; private static var _stageHalfWidth:Number = 320; private static var _stageHalfHeight:Number = 240; private static var _cameraMoveSpeedX:int = 5; private static var _cameraMoveSpeedY:int = 5; private static var _blackScreen:Sprite; public static var stage:Sprite; private static var _gameEventDispatcher:GameEventDispatcher = GameEventDispatcher.getInstance(); private static var _instance:Camera; public function Camera(_arg1:SingletonEnforcer){ } public function initialize():void{ _isCameraLocked = false; _owner = this; _bglayer = new Sprite(); _frontLayer = new Sprite(); _topLayer = new Sprite(); _uiLayer = new Sprite(); addChild(_bglayer); addChild(_frontLayer); addChild(_topLayer); addChild(_uiLayer); initialUILayer(); } public function updateLives():void{ _lifeNumSprite.setNumber(LivesControl.curLives); } public function removeAllLayers():void{ if (_bglayer == null){ return; }; while (_bglayer.numChildren) { _bglayer.removeChildAt(0); }; while (_frontLayer.numChildren) { _frontLayer.removeChildAt(0); }; while (_topLayer.numChildren) { _topLayer.removeChildAt(0); }; while (_uiLayer.numChildren) { _uiLayer.removeChildAt(0); }; while (numChildren) { removeChildAt(0); }; _bglayer = null; _frontLayer = null; _topLayer = null; _uiLayer = null; } public function initialUILayer():void{ var _local1:Sprite = new StatisticTextSprLib(); _local1.x = 25; _local1.y = 8; _uiLayer.addChild(_local1); _local1.cacheAsBitmap = true; _uiTextFmt = new TextFormat("Verdana", 18, 0xFF9900, true, true); var _local2:TextFormat = new TextFormat("Verdana", 12, 0xFFFFFF, true); _lifeNumSprite = new NumberSprite(); _lifeNumSprite.x = 65; _lifeNumSprite.y = 5; _uiLayer.addChild(_lifeNumSprite); updateLives(); _scoreNumSprite = new NumberSprite(); _scoreNumSprite.x = 277; _scoreNumSprite.y = 5; _uiLayer.addChild(_scoreNumSprite); displayScore(); _levelNumSprite = new NumberSprite(); _levelNumSprite.x = 483; _levelNumSprite.y = 5; _uiLayer.addChild(_levelNumSprite); _levelNumSprite.setNumber(LevelController.curLevelNum); var _local3:Sprite = new cowIconSprite(); _local3.x = 558; _local3.y = 451; _uiLayer.addChild(_local3); _cowText = new TextField(); _cowText.x = 588; _cowText.y = 454; _cowText.selectable = false; _cowText.filters = new Array(new GlowFilter(51, 1, 3, 3, 15)); var _local4:TextFormat = new TextFormat("Verdana", 14, 0xFFFFFF, true); _cowText.setTextFormat(_local4); _uiLayer.addChild(_cowText); var _local5:Sprite = new LifeUpProgressSprLib(); _local5.x = 500; _local5.y = 454; lifeUpSprite = new LifeUpSprLib(); lifeUpSprite.x = 500; lifeUpSprite.y = 454; _lifeUpMask = new Sprite(); _lifeUpMask.graphics.beginFill(0, 1); _lifeUpMask.graphics.drawRect(0, 0, 55, 20); _lifeUpMask.graphics.endFill(); _lifeUpMask.x = 500; _lifeUpMaskInitialX = 500; _lifeUpMask.y = 454; _uiLayer.addChild(_local5); _uiLayer.addChild(lifeUpSprite); _uiLayer.addChild(_lifeUpMask); lifeUpSprite.mask = _lifeUpMask; } public function updateLifeUpDisplay(_arg1:Number):void{ _lifeUpMask.x = (_lifeUpMaskInitialX + ((_arg1 * 54) / LivesControl.starNeedToAddLife)); lifeUpSprite.mask = _lifeUpMask; } public function prepareEnergyDisplay():void{ _energyDecoration = new Sprite(); _energyDecoration.graphics.beginFill(0xFFCC00, 1); _energyDecoration.graphics.lineStyle(1, 0xFFCC00); _energyDecoration.graphics.drawRect(0, 0, 33, 4); _energyDecoration.graphics.endFill(); _frontLayer.addChild(_energyDecoration); _energyDecoration.alpha = 1; _energyBar = new Sprite(); _energyBar.graphics.beginFill(6195336, 1); _energyBar.graphics.lineStyle(1, 6195336); _energyBar.graphics.drawRect(1, 0, 31, 2); _energyBar.graphics.endFill(); _frontLayer.addChild(_energyBar); setVisualEnergy(false); _energyBar.scaleX = 0; } public function setVisualEnergy(_arg1:Boolean):void{ if (_arg1){ _energyBar.visible = true; _energyDecoration.visible = true; } else { _energyBar.visible = false; _energyDecoration.visible = false; }; } public function setEnergyPos(_arg1:Number, _arg2:Number):void{ _energyBar.x = (_arg1 - 15); _energyBar.y = (_arg2 - 44); _energyDecoration.x = (_arg1 - 16); _energyDecoration.y = (_arg2 - 45); } public function setEnergyDisplay(_arg1:Number):void{ if (_arg1 == 0){ _energyBar.transform.colorTransform = new ColorTransform(1, 1, 1); setVisualEnergy(false); } else { if (_arg1 == 1){ _energyBar.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255); }; }; _energyBar.scaleX = _arg1; } public function tweenWholeScene(_arg1:Number, _arg2:Number, _arg3:Point, _arg4:Number, _arg5:Number):void{ var times = _arg1; var tweenSpeed = _arg2; var endPos = _arg3; var startScale = _arg4; var endScale = _arg5; var tweenTheCamera:Function = function ():void{ var onTweenDownComplete:Function; var onTweenUpComplete:Function; onTweenDownComplete = function ():void{ times--; if (times > 0){ TweenLite.to(_frontLayer, tweenSpeed, {y:0, onComplete:onTweenUpComplete}); TweenLite.to(_bglayer, tweenSpeed, {y:0}); } else { tweenToEnd(); }; }; onTweenUpComplete = function ():void{ tweenTheCamera(); }; TweenLite.to(_frontLayer, tweenSpeed, {y:(-(_curSceneHeight) + (_stageHeight / scaleY)), onComplete:onTweenDownComplete}); TweenLite.to(_bglayer, tweenSpeed, {y:(-(_bgLayerHeight) + (_stageHeight / scaleY))}); }; var tweenToEnd:Function = function ():void{ var onTweenToEndComplete:Function; onTweenToEndComplete = function ():void{ _gameEventDispatcher.onCameraPrepared(); }; TweenLite.to(_frontLayer, 2, {x:-(endPos.x), y:-(endPos.y)}); TweenLite.to(_bglayer, 2, {x:(-(endPos.x) * _bgLayerMoveXRatio), y:(-(endPos.y) * _bgLayerMoveYRatio)}); TweenLite.to(_owner, 2, {scaleX:endScale, scaleY:endScale, onComplete:onTweenToEndComplete}); }; moveTo(new Point(0, 0)); scaleX = startScale; scaleY = startScale; tweenTheCamera(); } public function prepareNightBgLayer(_arg1:Number):void{ var _local2:Sprite; switch (_arg1){ case LevelsData.NIGHT_SCENE: _local2 = new NightBgSprLib(); _originalBgHeight = 265; break; case LevelsData.SNOW_SCENE: _local2 = new SnowBgSprLib(); _originalBgHeight = 480; break; }; var _local3:BitmapData = new BitmapData(_bgLayerWidth, _bgLayerHeight); var _local4:Matrix = new Matrix(); _local4.scale((_bgLayerHeight / _originalBgHeight), (_bgLayerHeight / _originalBgHeight)); _local3.draw(_local2, _local4); var _local5:Bitmap = new Bitmap(_local3); _bglayer.addChild(_local5); _local5.filters = new Array(new BlurFilter(2, 2)); } public function moveTo(_arg1:Point):void{ if (_isCameraLocked){ return; }; ufoX = (_arg1.x + 320); ufoY = (_arg1.y + 240); var _local2:Number = (_curSceneWidth - CommonVals.STAGE_WIDTH); if ((((_arg1.x > 0)) && ((_arg1.x < _local2)))){ _frontLayer.x = -(_arg1.x); _topLayer.x = -(_arg1.x); _bglayer.x = (-(_arg1.x) * _bgLayerMoveXRatio); } else { if (_arg1.x <= 0){ _frontLayer.x = 0; _topLayer.x = 0; _bglayer.x = 0; } else { if (_arg1.x >= _local2){ _frontLayer.x = -(_local2); _topLayer.x = -(_local2); _bglayer.x = (-(_local2) * _bgLayerMoveXRatio); }; }; }; var _local3:Number = (_curSceneHeight - CommonVals.STAGE_HEIGHT); if ((((_arg1.y > 0)) && ((_arg1.y < _local3)))){ _frontLayer.y = -(_arg1.y); _topLayer.y = -(_arg1.y); _bglayer.y = (-(_arg1.y) * _bgLayerMoveYRatio); }; if (_arg1.y <= 0){ _frontLayer.y = 0; _topLayer.y = 0; _bglayer.y = 0; }; if (_arg1.y >= _local3){ _frontLayer.y = -(_local3); _topLayer.y = -(_local3); _bglayer.y = (-(_local3) * _bgLayerMoveYRatio); }; } public function tweenTo(_arg1:Point, _arg2:Number, _arg3:Boolean=true):void{ var completeTween:Function; var pos = _arg1; var time = _arg2; var isAutoPaused = _arg3; completeTween = function ():void{ if (isAutoPaused){ CommonVals.gamePaused = false; }; _gameEventDispatcher.dispatchEvent(new GameEvent(GameEvent.TWEEN_COMPLETE)); }; if (isAutoPaused){ CommonVals.gamePaused = true; }; var frontLayerEndP:Point = new Point(0, 0); var topLayerEndP:Point = new Point(0, 0); var bgLayerEndP:Point = new Point(0, 0); var rightBorder:Number = (_curSceneWidth - CommonVals.STAGE_WIDTH); if ((((pos.x > 0)) && ((pos.x < rightBorder)))){ frontLayerEndP.x = -(pos.x); topLayerEndP.x = -(pos.x); bgLayerEndP.x = (-(pos.x) * _bgLayerMoveXRatio); } else { if (pos.x <= 0){ frontLayerEndP.x = 0; topLayerEndP.x = 0; bgLayerEndP.x = 0; } else { if (pos.x >= rightBorder){ frontLayerEndP.x = -(rightBorder); topLayerEndP.x = -(rightBorder); bgLayerEndP.x = (-(rightBorder) * _bgLayerMoveXRatio); }; }; }; var downBorder:Number = (_curSceneHeight - CommonVals.STAGE_HEIGHT); if ((((pos.y > 0)) && ((pos.y < downBorder)))){ frontLayerEndP.y = -(pos.y); topLayerEndP.y = -(pos.y); bgLayerEndP.y = (-(pos.y) * _bgLayerMoveYRatio); }; if (pos.y <= 0){ frontLayerEndP.y = 0; topLayerEndP.y = 0; bgLayerEndP.y = 0; }; if (pos.y >= downBorder){ frontLayerEndP.y = -(downBorder); topLayerEndP.y = -(downBorder); bgLayerEndP.y = (-(downBorder) * _bgLayerMoveYRatio); }; TweenLite.to(_frontLayer, time, {x:frontLayerEndP.x, y:frontLayerEndP.y}); TweenLite.to(_topLayer, time, {x:topLayerEndP.x, y:frontLayerEndP.y}); TweenLite.to(_bglayer, time, {x:bgLayerEndP.x, y:bgLayerEndP.y, onComplete:completeTween}); } public function setSceneBounds(_arg1:Number, _arg2:Number):void{ _curSceneWidth = _arg1; _curSceneHeight = _arg2; } public function setBglayerBounds(_arg1:Number, _arg2:Number):void{ _bgLayerWidth = _arg1; _bgLayerHeight = _arg2; _bgLayerMoveXRatio = ((_bgLayerWidth - CommonVals.STAGE_WIDTH) / (_curSceneWidth - CommonVals.STAGE_WIDTH)); if ((_curSceneWidth - CommonVals.STAGE_WIDTH) == 0){ _bgLayerMoveXRatio = 0; }; _bgLayerMoveYRatio = ((_bgLayerHeight - CommonVals.STAGE_HEIGHT) / (_curSceneHeight - CommonVals.STAGE_HEIGHT)); if ((_curSceneHeight - CommonVals.STAGE_HEIGHT) == 0){ _bgLayerMoveYRatio = 0; }; } public function displayOneUp(_arg1:Point):void{ var oneUp:Sprite; var onTweenFinish:Function; var location = _arg1; onTweenFinish = function ():void{ if (_frontLayer.contains(oneUp)){ _frontLayer.removeChild(oneUp); }; }; oneUp = new oneUpSprite(); oneUp.x = location.x; oneUp.y = location.y; _frontLayer.addChild(oneUp); TweenLite.to(oneUp, 1, {x:location.x, y:(location.y - 70), ease:Back.easeOut, onComplete:onTweenFinish}); } public function displayScore(_arg1:int=0, _arg2:Point=null):void{ var scoreSprite:Sprite; var onTweenFinish:Function; var scoreNum = _arg1; var location = _arg2; onTweenFinish = function ():void{ if (_frontLayer.contains(scoreSprite)){ _frontLayer.removeChild(scoreSprite); }; }; _scoreNumSprite.setNumber(ScoreManager.scoreNum); if (location == null){ return; }; switch (scoreNum){ case 20: scoreSprite = new score20(); break; case 10: scoreSprite = new score10(); break; case 50: scoreSprite = new score50(); break; case 100: scoreSprite = new score100(); break; }; scoreSprite.x = location.x; scoreSprite.y = (location.y - 10); _frontLayer.addChild(scoreSprite); TweenLite.to(scoreSprite, 1, {x:location.x, y:(location.y - 50), ease:Back.easeOut, onComplete:onTweenFinish}); } public function addCameraMask():void{ var addComplete:Function; addComplete = function ():void{ UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.CAMERA_MASK_ADDED)); }; _cameraModeStartPos = new Point(-(_frontLayer.x), -(_frontLayer.y)); _cameraMask = new cameraModeMask(); _cameraMask.alpha = 0; _uiLayer.addChild(_cameraMask); TweenLite.to(_cameraMask, 1, {alpha:1, onComplete:addComplete}); } public function removeCameraMask():void{ var removeComplete:Function; removeComplete = function ():void{ if (_uiLayer.contains(_cameraMask)){ _uiLayer.removeChild(_cameraMask); }; _cameraMask = null; UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.CAMERA_MASK_REMOVED)); }; TweenLite.to(_cameraMask, 0.5, {alpha:0, onComplete:removeComplete}); } public function updateCowNum(_arg1:Number, _arg2:Number):void{ _cowText.text = ((String((_arg2 - _arg1)) + "/") + String(_arg2)); var _local3:TextFormat = new TextFormat("Verdana", 14, 0xFFFFFF, true); _cowText.setTextFormat(_local3); } public function showGamePausedPanel():void{ gamePausedPanel = new GamePausePanel(); gamePausedPanel.filters = new Array(new DropShadowFilter()); gamePausedPanel.x = (_stageHalfWidth + 15); gamePausedPanel.y = -150; _uiLayer.addChild(gamePausedPanel); TweenLite.to(gamePausedPanel, 1, {y:_stageHalfHeight, ease:Back.easeOut}); } public function hideGamePausedPanel():void{ var onHide:Function; onHide = function ():void{ CommonVals.gamePaused = false; CommonVals.gameLocked = false; gamePausedPanel.parent.removeChild(gamePausedPanel); stage.stage.stageFocusRect = false; stage.stage.focus = stage; gamePausedPanel = null; }; if (gamePausedPanel != null){ TweenLite.to(gamePausedPanel, 1, {y:-150, ease:Back.easeIn, onComplete:onHide}); }; } public function showControllerPanel():void{ controllerPanel = new ControllerPanel(); controllerPanel.filters = new Array(new DropShadowFilter()); controllerPanel.x = (_stageHalfWidth + 15); controllerPanel.y = -150; _uiLayer.addChild(controllerPanel); TweenLite.to(controllerPanel, 1, {y:_stageHalfHeight, ease:Back.easeOut}); } public function hideControllerPanel():void{ var onMouseMove:Function; var onHide:Function; onMouseMove = function (_arg1:Event):void{ if (++moveCount > 60){ UIManager.stage.removeEventListener(Event.ENTER_FRAME, onMouseMove); CommonVals.ufoMouseLocked = false; }; }; onHide = function ():void{ if (controllerPanel != null){ controllerPanel.parent.removeChild(controllerPanel); controllerPanel = null; }; UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.QUIT_CONTROLLER_PANEL)); stage.stage.stageFocusRect = false; stage.stage.focus = stage; }; if (controllerPanel != null){ TweenLite.to(controllerPanel, 0.5, {y:-150, ease:Back.easeIn, onComplete:onHide}); }; CommonVals.ufoMouseLocked = true; UIManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); var moveCount:int; } public function showGameOverPanel():void{ var _local1:GameOverPanel = new GameOverPanel(); _local1.filters = new Array(new DropShadowFilter()); _local1.x = (_stageHalfWidth + 15); _local1.y = -150; _uiLayer.addChild(_local1); TweenLite.to(_local1, 1, {y:_stageHalfHeight, ease:Back.easeOut}); } public function showLevelCompletePanel():void{ var _local1:LevelCompletePanel = new LevelCompletePanel(); _local1.filters = new Array(new DropShadowFilter()); _local1.x = (_stageHalfWidth + 15); _local1.y = -150; _uiLayer.addChild(_local1); TweenLite.to(_local1, 1, {y:_stageHalfHeight, ease:Back.easeOut}); } public function get frontLayer():Sprite{ return (_frontLayer); } public function set frontLayer(_arg1:Sprite):void{ _frontLayer = _arg1; } public function get lowerBound():Point{ return (_lowerBound); } public function set lowerBound(_arg1:Point):void{ _lowerBound = _arg1; } public function get upperBound():Point{ return (_upperBound); } public function set upperBound(_arg1:Point):void{ _upperBound = _arg1; } public function get bglayer():Sprite{ return (_bglayer); } public function set bglayer(_arg1:Sprite):void{ _bglayer = _arg1; } public function get topLayer():Sprite{ return (_topLayer); } public function set topLayer(_arg1:Sprite):void{ _topLayer = _arg1; } public function get isCameraLocked():Boolean{ return (_isCameraLocked); } public function set isCameraLocked(_arg1:Boolean):void{ _isCameraLocked = _arg1; } public function get uiLayer():Sprite{ return (_uiLayer); } public function set uiLayer(_arg1:Sprite):void{ _uiLayer = _arg1; } public function get cameraModeStartPos():Point{ return (_cameraModeStartPos); } public function set cameraModeStartPos(_arg1:Point):void{ _cameraModeStartPos = _arg1; } public static function getInstance():Camera{ if (_instance == null){ _instance = new Camera(new SingletonEnforcer()); }; return (_instance); } } }//package com.tinime.view class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 165
//CircleTransition (com.tinime.view.CircleTransition) package com.tinime.view { import flash.display.*; import com.tinime.data.*; import flash.events.*; import com.tinime.event.*; public class CircleTransition { private static var isScreenCoveredEventSent:Boolean; private static var waitCount:int = 0; public static function transitionIn():void{ var _local1:Sprite; _local1 = prepareSprites(); _local1.scaleX = 1; _local1.scaleY = 1; var _local2:Number = 0.01; var _local3:int = 20; waitCount = 0; var _local4:int = 100; var _local5:int = (_local4 + (Math.random() * (CommonVals.STAGE_WIDTH - (2 * _local4)))); var _local6:int = (_local4 + (Math.random() * (CommonVals.STAGE_HEIGHT - (2 * _local4)))); _local1.x = _local5; _local1.y = _local6; var _local7:Number = 0.05; _local1.addEventListener(Event.ENTER_FRAME, onTransitionIn); isScreenCoveredEventSent = false; } public static function transitionOut():void{ var _local1:Sprite = prepareSprites(); _local1.scaleX = 0.01; _local1.scaleY = 0.01; var _local2:int = 100; var _local3:int = (_local2 + (Math.random() * (CommonVals.STAGE_WIDTH - (2 * _local2)))); var _local4:int = (_local2 + (Math.random() * (CommonVals.STAGE_HEIGHT - (2 * _local2)))); _local1.x = _local3; _local1.y = _local4; _local1.addEventListener(Event.ENTER_FRAME, onTransitionOut); } private static function onTransitionIn(_arg1:Event):void{ var _local2:Sprite = Sprite(_arg1.target); _local2.scaleX = (_local2.scaleX - 0.05); _local2.scaleY = (_local2.scaleY - 0.05); if (_local2.scaleX <= 0.05){ if (!(isScreenCoveredEventSent)){ isScreenCoveredEventSent = true; UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.SCREEN_COVERED)); }; _local2.scaleX = 0; _local2.scaleY = 0; waitCount++; if (waitCount > 20){ _local2.removeEventListener(Event.ENTER_FRAME, onTransitionIn); UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.CIRCLE_TRANSITION_COMPLETE)); }; }; } private static function onTransitionOut(_arg1:Event):void{ var _local2:Sprite = Sprite(_arg1.target); _local2.scaleX = (_local2.scaleX + 0.06); _local2.scaleY = (_local2.scaleY + 0.06); if (_local2.scaleX >= 0.99){ _local2.removeEventListener(Event.ENTER_FRAME, onTransitionOut); UIManager.stage.mask = null; UIManager.stage.stage.removeChild(_local2); _local2 = null; UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.CIRCLE_TRANSITION_COMPLETE)); }; } private static function prepareSprites():Sprite{ var _local1:Sprite = new Sprite(); _local1.graphics.beginFill(0); _local1.graphics.drawCircle(0, 0, CommonVals.STAGE_WIDTH); _local1.graphics.endFill(); UIManager.stage.stage.addChild(_local1); UIManager.stage.mask = _local1; _local1.cacheAsBitmap = true; _local1.mouseEnabled = false; return (_local1); } } }//package com.tinime.view
Section 166
//ControllerPanel (com.tinime.view.ControllerPanel) package com.tinime.view { import flash.events.*; import com.tinime.control.*; import com.tinime.data.*; import com.tinime.event.*; import flash.display.*; public class ControllerPanel extends Sprite { private var mouseButton:SimpleButton; private var keyboardButton:SimpleButton; public function ControllerPanel(){ var _local1:ControllerPanelSprLib = new ControllerPanelSprLib(); mouseButton = _local1.mouseBtn; keyboardButton = _local1.keyboardBtn; addChild(_local1); mouseButton.addEventListener(MouseEvent.CLICK, onClickMouse); keyboardButton.addEventListener(MouseEvent.CLICK, onClickKeyBoard); } private function onClickKeyBoard(_arg1:MouseEvent):void{ mouseButton.removeEventListener(MouseEvent.CLICK, onClickMouse); keyboardButton.removeEventListener(MouseEvent.CLICK, onClickKeyBoard); keyboardButton.mouseEnabled = false; keyboardButton.upState = keyboardButton.overState; LevelController.getInstance().isConntrolledByMouse = false; CommonVals.controllerSetted = true; Camera.getInstance().hideControllerPanel(); } private function onClickMouse(_arg1:MouseEvent):void{ mouseButton.removeEventListener(MouseEvent.CLICK, onClickMouse); keyboardButton.removeEventListener(MouseEvent.CLICK, onClickKeyBoard); mouseButton.mouseEnabled = false; mouseButton.upState = mouseButton.overState; LevelController.getInstance().isConntrolledByMouse = true; CommonVals.controllerSetted = true; UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.QUIT_CONTROLLER_PANEL)); Camera.getInstance().hideControllerPanel(); } } }//package com.tinime.view
Section 167
//CreditsScreen (com.tinime.view.CreditsScreen) package com.tinime.view { import flash.display.*; import flash.events.*; import com.tinime.control.*; import com.tinime.event.*; import com.tinime.interfaces.*; public class CreditsScreen extends Sprite implements ClickEventWaitable { private var backButton:SimpleButton; private var isClickable:Boolean; public function CreditsScreen(){ var _local1:Sprite = new CreditsScreenSprite(); addChild(_local1); backButton = new BackBtn(); backButton.x = 526; backButton.y = 438; isClickable = false; addChild(backButton); backButton.addEventListener(MouseEvent.CLICK, onBackMenuBtnClicked); } public function setClickable(_arg1:Boolean):void{ isClickable = _arg1; } private function onBackMenuBtnClicked(_arg1:MouseEvent=null):void{ if (!(isClickable)){ return; }; backButton.mouseEnabled = false; backButton.upState = backButton.overState; backButton.removeEventListener(MouseEvent.CLICK, onBackMenuBtnClicked); SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.SHOW_MENU_SCREEN)); } } }//package com.tinime.view
Section 168
//GameOverPanel (com.tinime.view.GameOverPanel) package com.tinime.view { import flash.text.*; import com.tinime.control.*; import flash.events.*; import flash.utils.*; import com.tinime.event.*; import com.greensock.*; import com.greensock.easing.*; import com.tinime.data.*; import flash.display.*; public class GameOverPanel extends Sprite { private var tryAgainButton:SimpleButton; private var submitScoreButton:SimpleButton; private var quitButton:SimpleButton; private var timer:Timer; private var isWaiting:Boolean; private var submitScorePanel:SubmitScorePanel; private var originalSubmitUpState:DisplayObject; public function GameOverPanel(){ var _local1:GameOverPanelSprite = new GameOverPanelSprite(); tryAgainButton = _local1.tryAgainBtn; submitScoreButton = _local1.submitScoreBtn; quitButton = _local1.quitBtn; var _local2:TextField = new TextField(); _local2.text = String(ScoreManager.scoreNum); _local2.x = -62.7; _local2.y = -90.7; _local2.selectable = false; _local2.autoSize = TextFieldAutoSize.LEFT; var _local3:TextFormat = new TextFormat("Verdana", 18, 0xFFFFFF, true); _local2.setTextFormat(_local3); _local1.addChild(_local2); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); tryAgainButton.addEventListener(MouseEvent.CLICK, onTryAgain); submitScoreButton.addEventListener(MouseEvent.CLICK, onSubmitScore); quitButton.addEventListener(MouseEvent.CLICK, onQuit); addChild(_local1); if (ScoreManager.scoreNum == 0){ submitScoreButton.visible = false; }; isWaiting = true; timer = new Timer(1000, 1); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onTimer(_arg1:TimerEvent):void{ if (isWaiting){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer.stop(); timer = new Timer(100, 10000000); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); isWaiting = false; } else { if (Input.spaceHold){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer.stop(); onTryAgain(); }; }; } private function onQuit(_arg1:MouseEvent):void{ tryAgainButton.mouseEnabled = false; submitScoreButton.mouseEnabled = false; quitButton.mouseEnabled = false; quitButton.upState = quitButton.overState; SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); tryAgainButton.removeEventListener(MouseEvent.CLICK, onTryAgain); submitScoreButton.removeEventListener(MouseEvent.CLICK, onSubmitScore); quitButton.removeEventListener(MouseEvent.CLICK, onQuit); } private function onSubmitScore(_arg1:MouseEvent):void{ tryAgainButton.mouseEnabled = false; submitScoreButton.mouseEnabled = false; quitButton.mouseEnabled = false; originalSubmitUpState = submitScoreButton.upState; submitScoreButton.upState = submitScoreButton.overState; SoundManager.playButtonClick(); TweenLite.to(this, 1, {y:-150, ease:Back.easeIn, onComplete:onHideGameOverPanel}); submitScorePanel = new SubmitScorePanel(); submitScorePanel.x = this.x; submitScorePanel.y = -150; } private function onHideGameOverPanel():void{ parent.addChild(submitScorePanel); TweenLite.to(submitScorePanel, 1, {y:(CommonVals.STAGE_HEIGHT * 0.5), ease:Back.easeOut}); UIEventDispatcher.getInstance().addEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } private function onHideScorePanel():void{ submitScorePanel.parent.removeChild(submitScorePanel); submitScorePanel = null; TweenLite.to(this, 1, {y:(CommonVals.STAGE_HEIGHT * 0.5), ease:Back.easeOut}); } private function onQuitScoreSubmitPanel(_arg1:UIEvent):void{ tryAgainButton.mouseEnabled = true; submitScoreButton.mouseEnabled = true; quitButton.mouseEnabled = true; submitScoreButton.upState = originalSubmitUpState; UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); TweenLite.to(submitScorePanel, 1, {y:-150, ease:Back.easeIn, onComplete:onHideScorePanel}); } private function onTryAgain(_arg1:MouseEvent=null):void{ tryAgainButton.mouseEnabled = false; submitScoreButton.mouseEnabled = false; quitButton.mouseEnabled = false; tryAgainButton.upState = tryAgainButton.overState; SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.RESTART_LEVEL)); tryAgainButton.removeEventListener(MouseEvent.CLICK, onTryAgain); submitScoreButton.removeEventListener(MouseEvent.CLICK, onSubmitScore); quitButton.removeEventListener(MouseEvent.CLICK, onQuit); } private function onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); timer.removeEventListener(TimerEvent.TIMER, onTimer); UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } } }//package com.tinime.view
Section 169
//GamePausePanel (com.tinime.view.GamePausePanel) package com.tinime.view { import flash.events.*; import com.tinime.control.*; import flash.utils.*; import com.tinime.event.*; import com.greensock.*; import com.greensock.easing.*; import com.tinime.data.*; import flash.display.*; public class GamePausePanel extends Sprite { private var resumeButton:SimpleButton; private var restartButton:SimpleButton; private var quitButton:SimpleButton; private var submitScorePanel:SubmitScorePanel; private var timer:Timer; private var isWaiting:Boolean; private var keyBoardButton:SimpleButton; private var mouseButton:SimpleButton; private var keyBoardOrigUpStatus:DisplayObject; private var mouseOrigUpStatus:DisplayObject; public function GamePausePanel(){ var _local1:GamePausePanelSprite = new GamePausePanelSprite(); addEventListener(Event.ADDED_TO_STAGE, onAddToStage); addChild(_local1); resumeButton = _local1.resumeBtn; restartButton = _local1.restartBtn; quitButton = _local1.quitBtn; keyBoardButton = _local1.keyboardBtn; mouseButton = _local1.mouseBtn; keyBoardOrigUpStatus = keyBoardButton.upState; mouseOrigUpStatus = mouseButton.upState; if (LevelController.getInstance().isConntrolledByMouse){ mouseButton.mouseEnabled = false; mouseButton.upState = mouseButton.overState; } else { keyBoardButton.mouseEnabled = false; keyBoardButton.upState = keyBoardButton.overState; }; resumeButton.addEventListener(MouseEvent.CLICK, onResumeClick); restartButton.addEventListener(MouseEvent.CLICK, onRestartClick); quitButton.addEventListener(MouseEvent.CLICK, onQuitClick); keyBoardButton.addEventListener(MouseEvent.CLICK, onClickKeyboard); mouseButton.addEventListener(MouseEvent.CLICK, onClickMouse); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); isWaiting = true; timer = new Timer(1000, 1); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onClickMouse(_arg1:MouseEvent):void{ if (LevelController.getInstance().isConntrolledByMouse){ return; }; mouseButton.mouseEnabled = false; mouseButton.upState = mouseButton.overState; keyBoardButton.mouseEnabled = true; keyBoardButton.upState = keyBoardOrigUpStatus; LevelController.getInstance().isConntrolledByMouse = true; } private function onClickKeyboard(_arg1:MouseEvent):void{ if (!(LevelController.getInstance().isConntrolledByMouse)){ return; }; keyBoardButton.mouseEnabled = false; keyBoardButton.upState = keyBoardButton.overState; mouseButton.mouseEnabled = true; mouseButton.upState = mouseOrigUpStatus; LevelController.getInstance().isConntrolledByMouse = false; } private function onAddToStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, onAddToStage); } private function onTimer(_arg1:TimerEvent):void{ if (isWaiting){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer.stop(); timer = new Timer(100, 10000000); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); isWaiting = false; } else { if (Input.spaceHold){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer.stop(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.GAME_RESUMED)); }; }; } private function onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); resumeButton.removeEventListener(MouseEvent.CLICK, onResumeClick); restartButton.removeEventListener(MouseEvent.CLICK, onRestartClick); keyBoardButton.removeEventListener(MouseEvent.CLICK, onClickKeyboard); mouseButton.removeEventListener(MouseEvent.CLICK, onClickMouse); quitButton.removeEventListener(MouseEvent.CLICK, onQuitClick); timer.removeEventListener(TimerEvent.TIMER, onTimer); UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } private function onQuitClick(_arg1:MouseEvent):void{ quitButton.mouseEnabled = false; resumeButton.mouseEnabled = false; restartButton.mouseEnabled = false; quitButton.upState = quitButton.overState; resumeButton.removeEventListener(MouseEvent.CLICK, onResumeClick); restartButton.removeEventListener(MouseEvent.CLICK, onRestartClick); quitButton.removeEventListener(MouseEvent.CLICK, onQuitClick); SoundManager.playButtonClick(); if (ScoreManager.scoreNum != 0){ submitScorePanel = new SubmitScorePanel(true); TweenLite.to(this, 1, {y:-150, ease:Back.easeIn, onComplete:onHideGamePausePanel}); submitScorePanel.x = this.x; submitScorePanel.y = -150; } else { GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); }; } private function onHideGamePausePanel():void{ parent.addChild(submitScorePanel); TweenLite.to(submitScorePanel, 1, {y:(CommonVals.STAGE_HEIGHT * 0.5), ease:Back.easeOut}); UIEventDispatcher.getInstance().addEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } private function onQuitScoreSubmitPanel(_arg1:UIEvent):void{ GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } private function onRestartClick(_arg1:MouseEvent):void{ quitButton.mouseEnabled = false; resumeButton.mouseEnabled = false; restartButton.mouseEnabled = false; restartButton.upState = restartButton.overState; resumeButton.removeEventListener(MouseEvent.CLICK, onResumeClick); restartButton.removeEventListener(MouseEvent.CLICK, onRestartClick); quitButton.removeEventListener(MouseEvent.CLICK, onQuitClick); SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.RESTART_LEVEL)); } private function onResumeClick(_arg1:MouseEvent):void{ quitButton.mouseEnabled = false; resumeButton.mouseEnabled = false; restartButton.mouseEnabled = false; resumeButton.upState = resumeButton.overState; resumeButton.removeEventListener(MouseEvent.CLICK, onResumeClick); restartButton.removeEventListener(MouseEvent.CLICK, onRestartClick); quitButton.removeEventListener(MouseEvent.CLICK, onQuitClick); SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.GAME_RESUMED)); } } }//package com.tinime.view
Section 170
//LevelCompletePanel (com.tinime.view.LevelCompletePanel) package com.tinime.view { import flash.text.*; import com.tinime.control.*; import flash.events.*; import flash.utils.*; import com.tinime.data.*; import com.tinime.event.*; import com.greensock.*; import com.greensock.easing.*; import flash.display.*; public class LevelCompletePanel extends Sprite { private var continueButton:SimpleButton; private var quitButton:SimpleButton; private var submitScorePanel:SubmitScorePanel; private var timer:Timer; private var isWaiting:Boolean; public function LevelCompletePanel(){ var _local2:TextFormat; var _local3:TextField; super(); var _local1:LevelCompletePanelSprite = new LevelCompletePanelSprite(); addChild(_local1); _local2 = new TextFormat("Verdana", 14, 0xFFFFFF, true); _local3 = new TextField(); _local3.x = -80; _local3.y = -73; _local3.selectable = false; _local3.text = String(ScoreManager.levelScoreNum); _local3.setTextFormat(_local2); _local3.autoSize = TextFieldAutoSize.LEFT; var _local4:TextField = new TextField(); _local4.x = -80; _local4.y = -42; _local4.selectable = false; _local4.text = String(ScoreManager.scoreNum); _local4.autoSize = TextFieldAutoSize.LEFT; _local4.setTextFormat(_local2); _local1.addChild(_local3); _local1.addChild(_local4); continueButton = _local1.continueBtn; quitButton = _local1.quitBtn; continueButton.addEventListener(MouseEvent.CLICK, onContinue); quitButton.addEventListener(MouseEvent.CLICK, onQuit); var _local5:LevelController = LevelController.getInstance(); var _local6:NumberSprite = new NumberSprite(_local5.totalCowNum); var _local7:NumberSprite = new NumberSprite(_local5.dogSavedNum); var _local8:NumberSprite = new NumberSprite(_local5.catSavedNum); var _local9:NumberSprite = new NumberSprite(_local5.starSavedNum); _local6.x = -145; _local6.y = -7; _local8.x = -55; _local8.y = -7; _local7.x = 34; _local7.y = -7; _local9.x = 115; _local9.y = -7; _local1.addChild(_local6); _local1.addChild(_local7); _local1.addChild(_local8); _local1.addChild(_local9); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); isWaiting = true; timer = new Timer(1000, 1); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); if (LevelController.curLevelNum == 25){ CommonVals.allLevelComplete = true; }; } private function onTimer(_arg1:TimerEvent):void{ if (isWaiting){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer.stop(); timer = new Timer(100, 10000000); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); isWaiting = false; } else { if (Input.spaceHold){ timer.removeEventListener(TimerEvent.TIMER, onTimer); timer.stop(); if (CommonVals.allLevelComplete){ onQuit(); } else { GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.START_NEXT_LEVEL)); }; }; }; } private function onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); continueButton.removeEventListener(MouseEvent.CLICK, onContinue); quitButton.removeEventListener(MouseEvent.CLICK, onQuit); timer.removeEventListener(TimerEvent.TIMER, onTimer); UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } private function onQuit(_arg1:MouseEvent=null):void{ continueButton.mouseEnabled = false; quitButton.mouseEnabled = false; if (_arg1 != null){ quitButton.upState = quitButton.overState; }; continueButton.removeEventListener(MouseEvent.CLICK, onContinue); quitButton.removeEventListener(MouseEvent.CLICK, onQuit); SoundManager.playButtonClick(); if (ScoreManager.scoreNum != 0){ TweenLite.to(this, 1, {y:-150, ease:Back.easeIn, onComplete:onHideLevelCompletePanel}); submitScorePanel = new SubmitScorePanel(true); submitScorePanel.x = this.x; submitScorePanel.y = -150; } else { if (!(CommonVals.allLevelComplete)){ GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); } else { GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.ALL_LEVELS_COMPLETE)); }; }; } private function onHideLevelCompletePanel():void{ parent.addChild(submitScorePanel); TweenLite.to(submitScorePanel, 1, {y:(CommonVals.STAGE_HEIGHT * 0.5), ease:Back.easeOut}); UIEventDispatcher.getInstance().addEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); } private function onQuitScoreSubmitPanel(_arg1:UIEvent):void{ UIEventDispatcher.getInstance().removeEventListener(UIEvent.QUIT_SCORE_SUBMIT_PANEL, onQuitScoreSubmitPanel); if (CommonVals.allLevelComplete){ GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.ALL_LEVELS_COMPLETE)); } else { GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); }; } private function onContinue(_arg1:MouseEvent):void{ continueButton.mouseEnabled = false; quitButton.mouseEnabled = false; continueButton.upState = continueButton.overState; if (CommonVals.allLevelComplete){ onQuit(); return; }; continueButton.removeEventListener(MouseEvent.CLICK, onContinue); quitButton.removeEventListener(MouseEvent.CLICK, onQuit); SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.START_NEXT_LEVEL)); } } }//package com.tinime.view
Section 171
//MedalScreen (com.tinime.view.MedalScreen) package com.tinime.view { import flash.display.*; import flash.events.*; import com.tinime.control.*; import spill.localisation.*; import com.tinime.event.*; import com.tinime.interfaces.*; public class MedalScreen extends Sprite implements ClickEventWaitable { private var backButton:SimpleButton; private var _medalArr:Array; private var _rollOverSprite:Sprite; private var isClickable:Boolean; public function MedalScreen(){ var _local1:Sprite = new MedalScreenSprite(); addChild(_local1); backButton = new BackBtn(); backButton.x = 526; backButton.y = 438; addChild(backButton); isClickable = false; addMedals(); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); backButton.addEventListener(MouseEvent.CLICK, onBackMenuBtnClicked); } private function onRemovedFromStage(_arg1:Event):void{ var _local3:Sprite; removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); var _local2:int; while (_local2 < _medalArr.length) { _local3 = _medalArr[_local2]; _local3.removeEventListener(MouseEvent.ROLL_OVER, onRolloverMedal); _local3.removeEventListener(MouseEvent.ROLL_OUT, onRollOutMedal); _local2++; }; } private function addMedals():void{ var _local7:Sprite; _medalArr = new Array(); var _local1:Number = MedalsManager.totalMedalsNum; var _local2:Number = 113; var _local3:Number = 140; var _local4:Number = 3; var _local5:Number = 10; var _local6:Number = 0; while (_local6 < _local1) { if (MedalsManager.earnedMedals == null){ _local7 = new MedalUncoveredSprLib(); } else { if (MedalsManager.earnedMedals.indexOf(_local6) == -1){ _local7 = new MedalUncoveredSprLib(); } else { _local7 = MedalsManager.getMedalSprite(_local6); _local7.addEventListener(MouseEvent.ROLL_OVER, onRolloverMedal); _local7.addEventListener(MouseEvent.ROLL_OUT, onRollOutMedal); }; }; _local7.x = (_local2 + ((80 + _local4) * (_local6 % 5))); _local7.y = (_local3 + ((80 + _local5) * Math.floor((_local6 / 5)))); addChild(_local7); _medalArr.push(_local7); _local6++; }; } private function onRolloverMedal(_arg1:MouseEvent):void{ _rollOverSprite = new Sprite(); _rollOverSprite.x = (Sprite(_arg1.currentTarget).x + 20); _rollOverSprite.y = (Sprite(_arg1.currentTarget).y + 20); _rollOverSprite.mouseEnabled = false; var _local2:int = _medalArr.indexOf(_arg1.currentTarget); var _local3:LocalizedTextField = new LocalizedTextField(); _local3.text = MedalsManager.medalsText[_local2].title; var _local4:LocalizedTextField = new LocalizedTextField(); _local4.text = MedalsManager.medalsText[_local2].depict; _local3.textColor = 0xFFFFFF; _local4.textColor = 0xFFFFFF; _local3.mouseEnabled = false; _local4.mouseEnabled = false; _local3.useGlowFilter = true; _local4.useGlowFilter = true; _local3.x = 0; _local3.y = 0; _local4.x = 0; _local4.y = 15; _rollOverSprite.addChild(_local3); _rollOverSprite.addChild(_local4); addChild(_rollOverSprite); } private function onRollOutMedal(_arg1:MouseEvent):void{ if (_rollOverSprite != null){ removeChild(_rollOverSprite); _rollOverSprite = null; }; } public function setClickable(_arg1:Boolean):void{ isClickable = _arg1; } private function onBackMenuBtnClicked(_arg1:MouseEvent):void{ if (!(isClickable)){ return; }; backButton.mouseEnabled = false; backButton.upState = backButton.overState; backButton.removeEventListener(MouseEvent.CLICK, onBackMenuBtnClicked); SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.SHOW_MENU_SCREEN)); } } }//package com.tinime.view
Section 172
//NumberSprite (com.tinime.view.NumberSprite) package com.tinime.view { import flash.display.*; import flash.utils.*; public class NumberSprite extends Sprite { public function NumberSprite(_arg1:int=0){ setNumber(_arg1); } public function setNumber(_arg1:int):void{ var _local5:int; var _local6:Class; var _local7:Sprite; while (numChildren) { removeChildAt(0); }; var _local2:int = String(_arg1).length; var _local3:Number = Math.pow(10, (_local2 - 1)); var _local4:int; while (_local3 >= 1) { _local5 = Math.floor((_arg1 / int(_local3))); _local6 = (getDefinitionByName((("Num" + _local5) + "SprLib")) as Class); _local7 = new (_local6); _local7.x = (18 * _local4); _local4++; addChild(_local7); _local7.cacheAsBitmap = true; _arg1 = (_arg1 - (_local5 * _local3)); _local3 = (_local3 / 10); }; } } }//package com.tinime.view
Section 173
//ScoresScreen (com.tinime.view.ScoresScreen) package com.tinime.view { import flash.display.*; import flash.events.*; import com.tinime.control.*; import com.tinime.event.*; import com.tinime.interfaces.*; public class ScoresScreen extends Sprite implements ClickEventWaitable { private var backButton:SimpleButton; private var isClickable:Boolean; public function ScoresScreen(){ var _local1:Sprite = new ScoresScreenSprite(); addChild(_local1); backButton = new BackBtn(); backButton.x = 526; backButton.y = 438; addChild(backButton); backButton.addEventListener(MouseEvent.CLICK, onBackMenuBtnClicked); isClickable = false; } public function setClickable(_arg1:Boolean):void{ isClickable = _arg1; } private function onBackMenuBtnClicked(_arg1:MouseEvent):void{ if (!(isClickable)){ return; }; backButton.mouseEnabled = false; backButton.upState = backButton.overState; backButton.removeEventListener(MouseEvent.CLICK, onBackMenuBtnClicked); SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.SHOW_MENU_SCREEN)); } } }//package com.tinime.view
Section 174
//SelectLevelScreen (com.tinime.view.SelectLevelScreen) package com.tinime.view { import flash.display.*; import com.tinime.control.*; import flash.events.*; import com.tinime.levels.*; import flash.text.*; import flash.utils.*; import spill.localisation.*; import com.tinime.event.*; import com.tinime.interfaces.*; public class SelectLevelScreen extends Sprite implements ClickEventWaitable { private var backButton:SimpleButton; private var preButton:SimpleButton; private var nextButton:SimpleButton; private var preTextMc:LocalizedTextField; private var nextTextMc:LocalizedTextField; private var maxLevel:int; private var levelButtonsContainer:Sprite; private var levelUnleashed:int; private var curStartLevel:int; private var isClickable:Boolean; public function SelectLevelScreen(){ var _local1:LevelScreenSprLib = new LevelScreenSprLib(); backButton = _local1.backBtn; preButton = _local1.preBtn; nextButton = _local1.nextBtn; preTextMc = _local1.prevTextMc; nextTextMc = _local1.nextTextMc; addChild(_local1); isClickable = false; levelButtonsContainer = new Sprite(); levelButtonsContainer.x = 42; levelButtonsContainer.y = 104; addChild(levelButtonsContainer); levelUnleashed = LevelController.levelUnleashed; if (levelUnleashed == 0){ levelUnleashed = 1; }; isClickable = false; backButton.addEventListener(MouseEvent.CLICK, onBackClicked); preButton.addEventListener(MouseEvent.CLICK, onPreClicked); nextButton.addEventListener(MouseEvent.CLICK, onNextClicked); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); maxLevel = LevelsData.allLevels.length; curStartLevel = 1; setLevelButtons(curStartLevel); } private function setLevelButtons(_arg1:int):void{ var _local8:Class; var _local9:MovieClip; var _local10:TextField; while (levelButtonsContainer.numChildren != 0) { levelButtonsContainer.removeChildAt(0); }; if (_arg1 == 1){ preButton.visible = false; preTextMc.visible = false; nextButton.visible = true; nextTextMc.visible = true; } else { if (_arg1 == 21){ preButton.visible = true; preTextMc.visible = true; nextButton.visible = false; nextTextMc.visible = false; } else { preButton.visible = true; preTextMc.visible = true; nextButton.visible = true; nextTextMc.visible = true; }; }; var _local2:int; var _local3:int; var _local4:int = 114; var _local5:int = 110; var _local6:Boolean; var _local7:int = _arg1; while (_local7 <= (_arg1 + 9)) { if (_local7 > maxLevel){ break; }; _local8 = (getDefinitionByName((("LevelSel" + _local7) + "McLib")) as Class); _local9 = new (_local8); if ((((_local7 > (_arg1 + 4))) && (!(_local6)))){ _local2 = 0; _local3 = (_local3 + _local5); _local6 = true; }; _local9.x = _local2; _local9.y = _local3; _local2 = (_local2 + _local4); levelButtonsContainer.addChild(_local9); if (_local7 <= levelUnleashed){ _local9.gotoAndStop(10); _local9.mouseEnabled = true; _local9.useHandCursor = true; _local9.buttonMode = true; _local10 = new TextField(); _local10.text = String(_local7); _local10.selectable = false; _local10.visible = false; _local9.addChildAt(_local10, 0); _local9.addEventListener(MouseEvent.ROLL_OUT, onRollOutButton); _local9.addEventListener(MouseEvent.ROLL_OVER, onRollOverButton); _local9.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedButtonFromStage); _local9.addEventListener(MouseEvent.CLICK, onClickButton); } else { _local9.gotoAndStop(1); }; _local7++; }; } private function onRemovedButtonFromStage(_arg1:Event):void{ removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedButtonFromStage); _arg1.target.removeEventListener(MouseEvent.ROLL_OUT, onRollOutButton); _arg1.target.removeEventListener(MouseEvent.ROLL_OVER, onRollOverButton); _arg1.target.removeEventListener(MouseEvent.CLICK, onClickButton); } private function onClickButton(_arg1:MouseEvent):void{ if (!(isClickable)){ return; }; MovieClip(_arg1.target).mouseEnabled = false; isClickable = false; SoundManager.playButtonClick(); var _local2:int = int(TextField(MovieClip(_arg1.target).getChildAt(0)).text); LevelController.curLevelNum = _local2; GameLoopControl.getInstance().gameTracker.beginLevel(_local2, 0); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.SHOW_GAME_PLAY_SCREEN)); } private function onRollOverButton(_arg1:MouseEvent):void{ MovieClip(_arg1.target).gotoAndStop(20); } private function onRollOutButton(_arg1:MouseEvent):void{ MovieClip(_arg1.target).gotoAndStop(10); } private function onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); backButton.removeEventListener(MouseEvent.CLICK, onBackClicked); preButton.removeEventListener(MouseEvent.CLICK, onPreClicked); nextButton.removeEventListener(MouseEvent.CLICK, onNextClicked); } private function onNextClicked(_arg1:MouseEvent):void{ if (!(isClickable)){ return; }; SoundManager.playButtonClick(); var _local2:int = (curStartLevel + 10); if (_local2 < maxLevel){ curStartLevel = _local2; setLevelButtons(curStartLevel); }; } private function onPreClicked(_arg1:MouseEvent):void{ if (!(isClickable)){ return; }; SoundManager.playButtonClick(); var _local2:int = (curStartLevel - 10); if (_local2 > 0){ curStartLevel = _local2; setLevelButtons(curStartLevel); }; } private function onBackClicked(_arg1:MouseEvent):void{ backButton.mouseEnabled = false; backButton.upState = backButton.overState; if (!(isClickable)){ return; }; isClickable = false; SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.SHOW_MENU_SCREEN)); } public function setClickable(_arg1:Boolean):void{ isClickable = _arg1; } } }//package com.tinime.view
Section 175
//SubmitScorePanel (com.tinime.view.SubmitScorePanel) package com.tinime.view { import flash.text.*; import com.tinime.control.*; import flash.events.*; import com.tinime.event.*; import com.tinime.data.*; import com.spilgames.api.*; import flash.display.*; public class SubmitScorePanel extends Sprite { private var _submitButton:SimpleButton; private var _cancelButton:SimpleButton; private var _quitBtn:SimpleButton; public function SubmitScorePanel(_arg1:Boolean=false){ var _local2:ScoreSubmitPanelSprLib; super(); _local2 = new ScoreSubmitPanelSprLib(); addChild(_local2); _submitButton = _local2.submitBtn; _cancelButton = _local2.cancelBtn; _quitBtn = _local2.quitBtn; var _local3:TextField = new TextField(); _local3.text = String(ScoreManager.scoreNum); _local3.selectable = false; _local3.setTextFormat(new TextFormat("Arial", 18, 0xFFFFFF, true)); _local3.x = -88; _local3.y = -45; _local3.multiline = false; _local3.mouseEnabled = false; _local2.addChild(_local3); if (_arg1){ _cancelButton.visible = false; _quitBtn.addEventListener(MouseEvent.CLICK, canclAction); } else { _quitBtn.visible = false; _cancelButton.addEventListener(MouseEvent.CLICK, canclAction); }; _submitButton.addEventListener(MouseEvent.CLICK, submitScore); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); } private function onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); _submitButton.removeEventListener(MouseEvent.CLICK, submitScore); _cancelButton.removeEventListener(MouseEvent.CLICK, canclAction); } private function canclAction(_arg1:MouseEvent):void{ _submitButton.mouseEnabled = false; _cancelButton.mouseEnabled = false; _quitBtn.mouseEnabled = false; SoundManager.playButtonClick(); _submitButton.removeEventListener(MouseEvent.CLICK, submitScore); _cancelButton.removeEventListener(MouseEvent.CLICK, canclAction); _quitBtn.removeEventListener(MouseEvent.CLICK, canclAction); UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.QUIT_SCORE_SUBMIT_PANEL)); } private function submitScore(_arg1:MouseEvent):void{ var e = _arg1; var onCloseSubmitScore:Function = function ():void{ if (CommonVals.allLevelComplete){ GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.ALL_LEVELS_COMPLETE)); } else { GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); }; }; _submitButton.mouseEnabled = false; _cancelButton.mouseEnabled = false; _quitBtn.mouseEnabled = false; SoundManager.playButtonClick(); _submitButton.removeEventListener(MouseEvent.CLICK, submitScore); _cancelButton.removeEventListener(MouseEvent.CLICK, canclAction); _quitBtn.removeEventListener(MouseEvent.CLICK, canclAction); ScoreService.submitScore(ScoreManager.scoreNum); if (CommonVals.allLevelComplete){ GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.ALL_LEVELS_COMPLETE)); } else { GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.QUIT_GAME)); }; } } }//package com.tinime.view
Section 176
//TutorialDialog (com.tinime.view.TutorialDialog) package com.tinime.view { import com.tinime.event.*; import flash.utils.*; import flash.geom.*; import flash.events.*; import com.greensock.*; import flash.display.*; public class TutorialDialog extends EventDispatcher { private var _camera:Camera; private var _gameEventDispatcher:GameEventDispatcher; private var _dialogSprite:Sprite; public function TutorialDialog(_arg1:Point, _arg2:int, _arg3:Point=null){ _camera = Camera.getInstance(); _gameEventDispatcher = GameEventDispatcher.getInstance(); super(); var _local4:Class = (getDefinitionByName((("Tutorial" + String(_arg2)) + "SprLib")) as Class); _dialogSprite = new (_local4); _dialogSprite.x = _arg1.x; _dialogSprite.y = _arg1.y; _dialogSprite.alpha = 0.1; _dialogSprite.alpha = 0.1; if (_arg3 != null){ _gameEventDispatcher.addEventListener(GameEvent.TWEEN_COMPLETE, popUpTutorial); _camera.tweenTo(_arg3, 0.5, false); } else { popUpTutorial(); }; } private function popUpTutorial(_arg1:GameEvent=null):void{ var onDialogDisplayed:Function; var onAnyKey:Function; var onClose:Function; var e = _arg1; onDialogDisplayed = function ():void{ _dialogSprite.stage.addEventListener(KeyboardEvent.KEY_DOWN, onAnyKey); _dialogSprite.stage.addEventListener(MouseEvent.CLICK, onAnyKey); }; onAnyKey = function (_arg1:Event):void{ _dialogSprite.stage.removeEventListener(KeyboardEvent.KEY_DOWN, onAnyKey); _dialogSprite.stage.removeEventListener(MouseEvent.CLICK, onAnyKey); TweenLite.to(_dialogSprite, 0.3, {alpha:0.1, onComplete:onClose}); }; onClose = function ():void{ _camera.uiLayer.removeChild(_dialogSprite); dispatchEvent(new Event(Event.CLOSE)); }; if (e != null){ _gameEventDispatcher.removeEventListener(GameEvent.TWEEN_COMPLETE, popUpTutorial); }; _camera.uiLayer.addChild(_dialogSprite); TweenLite.to(_dialogSprite, 0.3, {alpha:1, onComplete:onDialogDisplayed}); } } }//package com.tinime.view
Section 177
//UIManager (com.tinime.view.UIManager) package com.tinime.view { import flash.events.*; import com.tinime.event.*; import flash.display.*; import com.tinime.control.*; import spill.localisation.*; import flash.net.*; import SWFStats.*; import com.tinime.data.*; import com.tinime.interfaces.*; import mochi.as3.*; import flash.filters.*; import com.greensock.*; import flash.utils.*; public class UIManager { public static var stage:Sprite; private static var musicBlock:Sprite; private static var soundBlock:Sprite; public static function showLogoScreen():void{ var logoMc:MovieClip; var onEnterFrame:Function; var onClickLogo:Function; var onRemovedFromStage:Function; onEnterFrame = function (_arg1:Event):void{ if (logoMc.currentFrame == logoMc.totalFrames){ logoMc.removeEventListener(Event.ENTER_FRAME, onEnterFrame); logoMc.stop(); UIEventDispatcher.getInstance().dispatchEvent(new UIEvent(UIEvent.LOGO_SCREEN_READY)); }; }; onClickLogo = function (_arg1:Event):void{ }; onRemovedFromStage = function (_arg1:Event):void{ logoMc.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); }; logoMc = new LogoMcLib(); stage.addChild(logoMc); logoMc.addEventListener(Event.ENTER_FRAME, onEnterFrame); logoMc.gotoAndPlay(1); logoMc.addEventListener(MouseEvent.CLICK, onClickLogo); logoMc.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); } public static function showMenuScreen(_arg1:Boolean):void{ var uiEventListener:UIEventDispatcher; var gameEventListener:GameEventDispatcher; var menuSprite:Sprite; var playBtn:SimpleButton; var medalsBtn:SimpleButton; var scoresBtn:SimpleButton; var creditsBtn:SimpleButton; var moreGamesBtn:SimpleButton; var curBtnTarget:SimpleButton; var onTransitionIn:Function; var handleBrandingLogoClicked:Function; var handleSpilGamesButtonClicked:Function; var onTransitionOut:Function; var onClickMenuBtn:Function; var ifNeedplayMenuMusic = _arg1; onTransitionIn = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); clearPreviousScreen(); addSoundButtons(); if (ifNeedplayMenuMusic){ SoundManager.playMenuLoop(); }; stage.addChildAt(menuSprite, 0); playBtn.x = 45.5; playBtn.y = 390; menuSprite.addChild(playBtn); medalsBtn.x = 194.2; medalsBtn.y = 390; menuSprite.addChild(medalsBtn); scoresBtn.x = 263.3; scoresBtn.y = 390; creditsBtn.x = 333.1; creditsBtn.y = 390; menuSprite.addChild(creditsBtn); moreGamesBtn.x = 481.4; moreGamesBtn.y = 390; menuSprite.addChild(moreGamesBtn); var _local2:Sprite = new menuGrass(); _local2.x = -30.9; _local2.y = 444.4; menuSprite.addChild(_local2); menuSprite.mouseEnabled = false; menuSprite.useHandCursor = false; var _local3:BrandingLogo = new BrandingLogo(); _local3.x = 287; _local3.y = 463; _local3.mouseEnabled = (_local3.buttonMode = (_local3.useHandCursor = true)); _local3.addEventListener(MouseEvent.CLICK, handleBrandingLogoClicked); stage.addChild(_local3); var _local4:SpilGamesLink = new SpilGamesLink(); _local4.y = 454; _local4.addEventListener(MouseEvent.CLICK, handleSpilGamesButtonClicked); stage.addChild(_local4); var _local5:LanguageSelectBox = new LanguageSelectBox(); _local5.y = 450; _local5.x = (640 - _local5.width); stage.addChild(_local5); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); CircleTransition.transitionOut(); }; handleBrandingLogoClicked = function (_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank"); }; handleSpilGamesButtonClicked = function (_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink())); }; onTransitionOut = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); playBtn.addEventListener(MouseEvent.CLICK, onClickMenuBtn); medalsBtn.addEventListener(MouseEvent.CLICK, onClickMenuBtn); scoresBtn.addEventListener(MouseEvent.CLICK, onClickMenuBtn); creditsBtn.addEventListener(MouseEvent.CLICK, onClickMenuBtn); moreGamesBtn.addEventListener(MouseEvent.CLICK, onClickMenuBtn); }; onClickMenuBtn = function (_arg1:MouseEvent):void{ SoundManager.playButtonClick(); curBtnTarget = SimpleButton(_arg1.target); curBtnTarget.mouseEnabled = false; switch (curBtnTarget){ case playBtn: gameEventListener.dispatchEvent(new GameEvent(GameEvent.SHOW_LEVEL_SCREEN)); Log.Play(); break; case medalsBtn: gameEventListener.dispatchEvent(new GameEvent(GameEvent.SHOW_MEDAL_SCREEN)); break; case scoresBtn: gameEventListener.dispatchEvent(new GameEvent(GameEvent.SHOW_SCORE_SCREEN)); break; case creditsBtn: gameEventListener.dispatchEvent(new GameEvent(GameEvent.SHOW_CREDITS_SCREEN)); break; case moreGamesBtn: navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank"); break; default: break; }; if (curBtnTarget != moreGamesBtn){ playBtn.removeEventListener(MouseEvent.CLICK, onClickMenuBtn); medalsBtn.removeEventListener(MouseEvent.CLICK, onClickMenuBtn); scoresBtn.removeEventListener(MouseEvent.CLICK, onClickMenuBtn); creditsBtn.removeEventListener(MouseEvent.CLICK, onClickMenuBtn); moreGamesBtn.removeEventListener(MouseEvent.CLICK, onClickMenuBtn); }; }; uiEventListener = UIEventDispatcher.getInstance(); gameEventListener = GameEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); var menuSpriteCopy:Sprite = new MenuSprite(); var menuBitmapData:BitmapData = new BitmapData(CommonVals.STAGE_WIDTH, CommonVals.STAGE_HEIGHT, false); menuBitmapData.draw(menuSpriteCopy); var menuBitmap:Bitmap = new Bitmap(menuBitmapData); menuSprite = new Sprite(); menuSprite.addChild(menuBitmap); menuSprite.mouseEnabled = false; playBtn = new PlayBtn(); medalsBtn = new MedalsBtn(); scoresBtn = new ScoresBtn(); creditsBtn = new CreditsBtn(); moreGamesBtn = new MoreGamesBtn(); CircleTransition.transitionIn(); } private static function showScreen(_arg1:Sprite):void{ var uiEventListener:UIEventDispatcher; var onTransitionIn:Function; var onTransitionOut:Function; var screenSprite = _arg1; onTransitionIn = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); clearPreviousScreen(); addSoundButtons(); stage.addChildAt(screenSprite, 0); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); CircleTransition.transitionOut(); }; onTransitionOut = function (_arg1:UIEvent):void{ ClickEventWaitable(screenSprite).setClickable(true); uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); }; uiEventListener = UIEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); CircleTransition.transitionIn(); } public static function showLevelScreen():void{ showScreen(new SelectLevelScreen()); } public static function showMedalScreen():void{ var uiEventListener:UIEventDispatcher; var medalScreen:MedalScreen; var onTransitionIn:Function; var onTransitionOut:Function; onTransitionIn = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); clearPreviousScreen(); addSoundButtons(); stage.addChildAt(medalScreen, 0); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); CircleTransition.transitionOut(); }; onTransitionOut = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); medalScreen.setClickable(true); }; uiEventListener = UIEventDispatcher.getInstance(); var gameEventListener:GameEventDispatcher = GameEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); medalScreen = new MedalScreen(); CircleTransition.transitionIn(); } public static function showScoresScreen():void{ var uiEventListener:UIEventDispatcher; var scoresScreen:ScoresScreen; var onTransitionIn:Function; var onCloseLeaderboard:Function; var onTransitionOut:Function; onTransitionIn = function (_arg1:UIEvent):void{ var o:Object; var boardID:String; var e = _arg1; uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); clearPreviousScreen(); addSoundButtons(); if (((MochiServices.connected) && (!((CommonVals.currentDomain == "localhost"))))){ o = {n:[10, 10, 11, 9, 12, 13, 15, 12, 15, 13, 0, 11, 2, 13, 15, 9], f:function (_arg1:Number, _arg2:String):String{ if (_arg2.length == 16){ return (_arg2); }; return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16)))); }}; boardID = o.f(0, ""); MochiScores.showLeaderboard({boardID:boardID, onClose:onCloseLeaderboard}); }; stage.addChildAt(scoresScreen, 0); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); CircleTransition.transitionOut(); }; onCloseLeaderboard = function ():void{ SoundManager.playButtonClick(); GameEventDispatcher.getInstance().dispatchEvent(new GameEvent(GameEvent.SHOW_MENU_SCREEN)); }; onTransitionOut = function (_arg1:UIEvent):void{ scoresScreen.setClickable(true); uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); }; uiEventListener = UIEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); scoresScreen = new ScoresScreen(); CircleTransition.transitionIn(); } public static function showCreditsScreen():void{ var uiEventListener:UIEventDispatcher; var creditsScreen:CreditsScreen; var onTransitionIn:Function; var onTransitionOut:Function; onTransitionIn = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); clearPreviousScreen(); addSoundButtons(); stage.addChildAt(creditsScreen, 0); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); CircleTransition.transitionOut(); }; onTransitionOut = function (_arg1:UIEvent):void{ creditsScreen.setClickable(true); uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); }; uiEventListener = UIEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); creditsScreen = new CreditsScreen(); CircleTransition.transitionIn(); } public static function showAllLevelComplete():void{ var uiEventListener:UIEventDispatcher; var onTransitionIn:Function; onTransitionIn = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); clearPreviousScreen(); var _local2:AllLevelCompleteScreen = new AllLevelCompleteScreen(); stage.addChild(_local2); CircleTransition.transitionOut(); }; uiEventListener = UIEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); CircleTransition.transitionIn(); } public static function showGamePlayScreen():void{ var uiEventListener:UIEventDispatcher; var onTransitionIn:Function; var onTransitionOut:Function; onTransitionIn = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); LevelController.getInstance().removeData(); LevelController.getInstance().initialize(); Camera.getInstance().removeAllLayers(); clearPreviousScreen(); PhysicsWorldControl.setupPhysicsWorld(); Camera.getInstance().initialize(); LevelController.getInstance().buildLevel(); Camera.getInstance().updateLifeUpDisplay(LivesControl.starCount); addSoundButtons(); addPauseButton(); addCameraButton(); stage.addChildAt(Camera.getInstance(), 0); stage.stage.stageFocusRect = false; stage.stage.focus = stage; uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); CircleTransition.transitionOut(); }; onTransitionOut = function (_arg1:UIEvent):void{ uiEventListener.removeEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionOut); uiEventListener.dispatchEvent(new UIEvent(UIEvent.PLAY_SCREEN_READY)); }; uiEventListener = UIEventDispatcher.getInstance(); uiEventListener.addEventListener(UIEvent.CIRCLE_TRANSITION_COMPLETE, onTransitionIn); CircleTransition.transitionIn(); } public static function showAnimBitmapInitStatus():void{ var statusDisplayBar:Sprite; var statusText:LocalizedTextField; var statusTimeCount:int; var statusTimeNum:int; var bitmapAnimManager:BitmapAnimManager; var onStatusTextEnterFrame:Function; var onRemoveFromStage:Function; onStatusTextEnterFrame = function (_arg1:Event):void{ if (statusTimeNum >= statusTimeCount){ statusText.visible = (statusText.visible) ? false : true; statusTimeNum = 0; } else { statusTimeNum++; }; statusDisplayBar.scaleX = (bitmapAnimManager.genCount / bitmapAnimManager.totalGenNum); }; onRemoveFromStage = function (_arg1:Event):void{ statusText.removeEventListener(Event.ENTER_FRAME, onStatusTextEnterFrame); statusText.removeEventListener(Event.REMOVED_FROM_STAGE, onRemoveFromStage); }; var statusDisplayFrame:Sprite = new Sprite(); statusDisplayFrame.graphics.lineStyle(1, 0, 1); statusDisplayFrame.graphics.beginFill(0xFFFFFF, 1); statusDisplayFrame.graphics.drawRect(0, 0, 160, 18); statusDisplayFrame.graphics.endFill(); statusDisplayFrame.y = 450; statusDisplayFrame.x = ((CommonVals.STAGE_WIDTH - statusDisplayFrame.width) * 0.5); statusDisplayFrame.filters = new Array(new DropShadowFilter(4, 45, 0, 0.5, 4, 4, 1, 1, true)); stage.addChild(statusDisplayFrame); statusDisplayBar = new Sprite(); statusDisplayBar.graphics.lineStyle(1, 0, 1); statusDisplayBar.graphics.beginFill(16724889, 1); statusDisplayBar.graphics.drawRect(0, 0, 160, 18); statusDisplayBar.graphics.endFill(); statusDisplayBar.y = 450; statusDisplayBar.x = ((CommonVals.STAGE_WIDTH - statusDisplayBar.width) * 0.5); statusDisplayBar.scaleX = 0; stage.addChild(statusDisplayBar); statusText = new LocalizedTextField(); statusText.text = "{initializing}"; statusText.y = 450; statusText.x = (((CommonVals.STAGE_WIDTH - statusText.width) * 0.5) + 15); stage.addChild(statusText); statusTimeCount = 1; statusTimeNum = 0; bitmapAnimManager = BitmapAnimManager.getInstance(); statusText.addEventListener(Event.ENTER_FRAME, onStatusTextEnterFrame); statusText.addEventListener(Event.REMOVED_FROM_STAGE, onRemoveFromStage); } public static function showMedalEarned(_arg1:Sprite, _arg2:String, _arg3:String):void{ var medalAwardBg:Sprite; var timer:Timer; var onShowUpComplete:Function; var onTimerComplete:Function; var removeMedalBg:Function; var medalSprite = _arg1; var title = _arg2; var depict = _arg3; onShowUpComplete = function ():void{ timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); timer.start(); }; onTimerComplete = function (_arg1:TimerEvent):void{ timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); TweenLite.to(medalAwardBg, 1.5, {x:medalAwardBg.x, y:CommonVals.STAGE_HEIGHT, onComplete:removeMedalBg}); }; removeMedalBg = function ():void{ if (stage.stage.contains(medalAwardBg)){ stage.stage.removeChild(medalAwardBg); }; medalAwardBg = null; }; medalAwardBg = new medalAwardBgSprite(); medalAwardBg.x = ((CommonVals.STAGE_WIDTH - medalAwardBg.width) * 0.5); medalAwardBg.y = CommonVals.STAGE_HEIGHT; medalSprite.x = -10; medalSprite.y = 8; medalAwardBg.addChild(medalSprite); var titleText:LocalizedTextField = new LocalizedTextField(); titleText.text = title; titleText.x = 83; titleText.y = 30; titleText.bold = true; titleText.textSize = 22; titleText.textColor = 0xFFFFFF; titleText.width = 217; titleText.height = 24; medalAwardBg.addChild(titleText); var depictText:LocalizedTextField = new LocalizedTextField(); depictText.text = depict; depictText.x = 83; depictText.y = 53; depictText.multiline = true; depictText.textSize = 14; depictText.textColor = 0xFFFFFF; medalAwardBg.addChild(depictText); stage.stage.addChild(medalAwardBg); timer = new Timer(3000, 1); TweenLite.to(medalAwardBg, 1.5, {x:medalAwardBg.x, y:(CommonVals.STAGE_HEIGHT - 88), onComplete:onShowUpComplete}); } private static function addSoundButtons():void{ var musicButton:SimpleButton; var soundButton:SimpleButton; var onRemovedFromStage:Function; var onClickSound:Function; var onClickMusic:Function; onRemovedFromStage = function (_arg1:Event):void{ musicButton.removeEventListener(MouseEvent.CLICK, onClickMusic); soundButton.removeEventListener(MouseEvent.CLICK, onClickSound); musicButton.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); musicButton = null; }; onClickSound = function (_arg1:MouseEvent):void{ if (soundBlock == null){ soundBlock = new invalidSprite(); soundBlock.x = soundButton.x; soundBlock.y = soundButton.y; soundBlock.mouseEnabled = false; stage.addChild(soundBlock); SoundManager.isSoundMute = true; } else { stage.removeChild(soundBlock); soundBlock = null; SoundManager.isSoundMute = false; }; }; onClickMusic = function (_arg1:MouseEvent):void{ if (musicBlock == null){ musicBlock = new invalidSprite(); musicBlock.x = musicButton.x; musicBlock.y = musicButton.y; musicBlock.mouseEnabled = false; stage.addChild(musicBlock); SoundManager.isMusicMute = true; } else { stage.removeChild(musicBlock); musicBlock = null; SoundManager.isMusicMute = false; }; }; musicButton = new musicBtn(); musicButton.x = 564; musicButton.y = 6; soundButton = new soundBtn(); soundButton.x = 591; soundButton.y = 6; stage.addChild(musicButton); stage.addChild(soundButton); if (soundBlock != null){ stage.addChild(soundBlock); }; if (musicBlock != null){ stage.addChild(musicBlock); }; musicButton.addEventListener(MouseEvent.CLICK, onClickMusic); soundButton.addEventListener(MouseEvent.CLICK, onClickSound); musicButton.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); } private static function addPauseButton():void{ var pauseButton:SimpleButton; var onRemovedFromStage:Function; var onClickPause:Function; onRemovedFromStage = function (_arg1:Event):void{ pauseButton.removeEventListener(MouseEvent.CLICK, onClickPause); pauseButton.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); pauseButton = null; }; onClickPause = function (_arg1:MouseEvent):void{ if (CommonVals.gameLocked){ return; }; GameEventDispatcher.getInstance().onGamePaused(); }; pauseButton = new pauseBtn(); pauseButton.x = 615; pauseButton.y = 6; stage.addChild(pauseButton); pauseButton.addEventListener(MouseEvent.CLICK, onClickPause); pauseButton.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); } private static function addCameraButton():void{ CameraModeControl.getInstance().addCameraButton(); } public static function setStageFrameRate(_arg1:int):void{ stage.stage.frameRate = _arg1; } private static function clearPreviousScreen():void{ while (stage.numChildren) { stage.removeChildAt(0); }; } } }//package com.tinime.view
Section 178
//GameTracker (FGL.GameTracker.GameTracker) package FGL.GameTracker { import flash.net.*; import flash.utils.*; import flash.external.*; import flash.events.*; public class GameTracker extends EventDispatcher { protected var _timer:Timer;// = null protected var _currentGame:int;// = 0 protected var _currentLevel:int;// = 0 protected var _inGame:Boolean;// = false protected var _inLevel:Boolean;// = false protected var _msg_queue:Array; protected var _conn:NetConnection;// = null protected var _responder:Responder;// = null protected var _sessionID:uint; protected var _isEnabled:Boolean;// = false protected var _serverVersionMajor:int;// = 0 protected var _serverVersionMinor:int;// = 0 protected var _hostUrl:String;// = "" protected var _serviceName:String;// = "" protected var _passphrase:String;// = "" public static const GAMETRACKER_SERVER_ERROR:String = "gametracker_server_error"; public static const GAMETRACKER_CODING_ERROR:String = "gametracker_coding_error"; private static const TIMER_DELAY:int = 15000; public function GameTracker(){ _msg_queue = new Array(); super(); setGlobalConfig(); if (_isEnabled){ _responder = new Responder(onSuccess, onNetworkingError); _conn = new NetConnection(); _conn.connect(_hostUrl); _timer = new Timer(TIMER_DELAY); _timer.addEventListener("timer", onTimer); _timer.start(); _sessionID = Math.floor((new Date().getTime() / 1000)); addToMsgQueue("begin_app", null, 0, null, null); }; } public function isEnabled():Boolean{ return (_isEnabled); } public function beginGame(_arg1:Number=0, _arg2:String=null, _arg3:String=null):void{ if (_inGame){ endGame(_arg1, _arg2, "AUTO:(this game automatically ended when new game was started)"); }; _currentGame++; _inGame = true; addToMsgQueue("begin_game", null, _arg1, _arg2, _arg3); } public function endGame(_arg1:Number=0, _arg2:String=null, _arg3:String=null):void{ if (!(_inGame)){ dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "endGame() called before beginGame() was called!")); } else { if (_inLevel){ endLevel(_arg1, _arg2, "AUTO:(this level automatically ended when game ended)"); }; addToMsgQueue("end_game", null, _arg1, _arg2, _arg3); _inGame = false; submitMsgQueue(); }; } public function beginLevel(_arg1:int, _arg2:Number=0, _arg3:String=null, _arg4:String=null):void{ if (!(_inGame)){ dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "beginLevel() called before beginGame() was called!")); } else { if (_inLevel){ endLevel(_arg2, _arg3, "AUTO:(this level automatically ended when new level was started)"); }; _currentLevel = _arg1; _inLevel = true; addToMsgQueue("begin_level", null, _arg2, _arg3, _arg4); }; } public function endLevel(_arg1:Number=0, _arg2:String=null, _arg3:String=null):void{ if (!(_inLevel)){ dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "endLevel() called before beginLevel() was called!")); } else { _inLevel = false; addToMsgQueue("end_level", null, _arg1, _arg2, _arg3); }; } public function checkpoint(_arg1:Number=0, _arg2:String=null, _arg3:String=null):void{ if (!(_inGame)){ dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_CODING_ERROR, "checkpoint() called before startGame() was called!")); } else { addToMsgQueue("checkpoint", null, _arg1, _arg2, _arg3); }; } public function alert(_arg1:Number=0, _arg2:String=null, _arg3:String=null):void{ addToMsgQueue("alert", null, _arg1, _arg2, _arg3); submitMsgQueue(); } public function customMsg(_arg1:String, _arg2:Number=0, _arg3:String=null, _arg4:String=null):void{ addToMsgQueue("custom", _arg1, _arg2, _arg3, _arg4); } protected function addToMsgQueue(_arg1:String, _arg2:String, _arg3:Number, _arg4:String, _arg5:String):void{ var _local6:Object; if (_isEnabled){ _local6 = new Object(); _local6["action"] = _arg1; _local6["custom_action"] = _arg2; _local6["session_id"] = _sessionID; _local6["game_idx"] = _currentGame; _local6["level"] = _currentLevel; _local6["score"] = _arg3; _local6["game_state"] = _arg4; _local6["time"] = Math.floor((new Date().getTime() / 1000)); _local6["msg"] = _arg5; _msg_queue.push(_local6); }; } protected function submitMsgQueue():void{ var _local1:Object; if (((_isEnabled) && ((_msg_queue.length > 0)))){ _local1 = new Object(); _local1["actions"] = _msg_queue; _local1["identifier"] = _passphrase; _conn.call(_serviceName, _responder, _local1); _msg_queue = new Array(); }; } protected function setGlobalConfig():void{ var ret:Array; _isEnabled = false; _serverVersionMajor = 0; _serverVersionMinor = 0; _hostUrl = ""; _serviceName = ""; _passphrase = ""; try { if (ExternalInterface.available){ ret = ExternalInterface.call("get_gametracker_info"); _serverVersionMajor = ret[0]; _serverVersionMinor = ret[1]; _hostUrl = ret[2]; _serviceName = ret[3]; _passphrase = ret[4]; _isEnabled = (_serverVersionMajor == 1); }; } catch(e) { }; } protected function onSuccess(_arg1):void{ if (_arg1.toString() != ""){ dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_SERVER_ERROR, _arg1.toString())); }; } protected function onNetworkingError(_arg1):void{ dispatchEvent(new GameTrackerErrorEvent(GAMETRACKER_SERVER_ERROR, "Networking error")); } protected function onTimer(_arg1:TimerEvent):void{ submitMsgQueue(); } } }//package FGL.GameTracker
Section 179
//GameTrackerErrorEvent (FGL.GameTracker.GameTrackerErrorEvent) package FGL.GameTracker { import flash.events.*; public class GameTrackerErrorEvent extends Event { public var _msg:String; public function GameTrackerErrorEvent(_arg1:String, _arg2:String){ _msg = _arg2; super(_arg1, false, false); } public function get msg():String{ return (_msg); } } }//package FGL.GameTracker
Section 180
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_SHOW:String = "StoreShow"; public static const STORE_HIDE:String = "StoreHide"; public static const ITEM_OWNED:String = "ItemOwned"; public static const ITEM_NEW:String = "ItemNew"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IOError"; public static const NO_USER:String = "NoUser"; public static var _inventory:MochiInventory; public static function get inventory():MochiInventory{ return (_inventory); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showStore(_arg1:Object=null):void{ MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } public static function showItem(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:_arg1}, null, null); } public static function showVideo(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function addEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.addEventListener(_arg1, _arg2); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ MochiSocial.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.removeEventListener(_arg1, _arg2); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _inventory = new MochiInventory(); }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 181
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Fragment:Number; private var Sibling:MochiDigits; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function get value():Number{ return (Number(this.toString())); } public function set value(_arg1:Number):void{ setValue(_arg1); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function reencode():void{ var _local1:uint = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function toString():String{ var _local1:String = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } } }//package mochi.as3
Section 182
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ eventTable = {}; } public function addEventListener(_arg1:String, _arg2:Function):void{ removeEventListener(_arg1, _arg2); eventTable[_arg1].push(_arg2); } public function removeEventListener(_arg1:String, _arg2:Function):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ eventTable[_arg1] = []; return; }; for (_local3 in eventTable[_arg1]) { if (eventTable[_arg1][_local3] != _arg2){ } else { eventTable[_arg1].splice(Number(_local3), 1); }; }; } public function triggerEvent(_arg1:String, _arg2:Object):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ return; }; for (_local3 in eventTable[_arg1]) { var _local6 = eventTable[_arg1]; _local6[_local3](_arg2); }; } } }//package mochi.as3
Section 183
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_CENTER:String = "ALIGN_C"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const FORMAT_SHORT:String = "ShortForm"; public static const FORMAT_LONG:String = "LongForm"; private static var gameStart:Number; private static var levelStart:Number; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startSession(_arg1:String):void{ MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null); } public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{ var _local4:Object; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _local3.clip = _arg1; MochiServices.send("events_setNotifications", _local3, null, null); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function startPlay(_arg1:String="gameplay"):void{ MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null); } public static function endPlay():void{ MochiServices.send("events_clearRoundID", null, null, null); } public static function trackEvent(_arg1:String, _arg2=null):void{ MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null); } } }//package mochi.as3
Section 184
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.utils.*; import flash.events.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _consumableProperties:Object; private var _syncPending:Boolean; private var _outstandingID:Number; private var _syncID:Number; private var _names:Array; private var _storeSync:Object; private static const CONSUMER_KEY:String = "MochiConsumables"; private static const KEY_SALT:String = " syncMaint"; public static const READY:String = "InvReady"; public static const WRITTEN:String = "InvWritten"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; public static const VALUE_ERROR:String = "InvValueError"; public static const NOT_READY:String = "InvNotReady"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } private function loggedOut(_arg1:Object=null):void{ _consumableProperties = null; } private function loggedIn(_arg1:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } private function newItems(_arg1:Object):void{ if (!(this[(_arg1.id + KEY_SALT)])){ this[(_arg1.id + KEY_SALT)] = 0; }; if (!(this[_arg1.id])){ this[_arg1.id] = 0; }; this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count); this[_arg1.id] = (this[_arg1.id] + _arg1.count); if (_arg1.privateProperties.consumable){ if (!(this[_arg1.privateProperties.tag])){ this[_arg1.privateProperties.tag] = 0; }; this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count)); }; } private function itemOwned(_arg1:Object):void{ _storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count}; } private function getConsumableBag(_arg1:MochiUserData):void{ var _local2:String; var _local3:Number; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); return; }; _consumableProperties = {}; _names = new Array(); if (_arg1.data){ for (_local2 in _arg1.data) { _names.push(_local2); _consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]); }; }; for (_local2 in _storeSync) { _local3 = _storeSync[_local2].count; if (_consumableProperties[(_local2 + KEY_SALT)]){ _local3 = (_local3 - _consumableProperties[_local2]); }; if (_local3 == 0){ } else { newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties}); }; }; triggerEvent(READY, {}); } private function putConsumableBag(_arg1:MochiUserData):void{ _syncPending = false; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } private function sync(_arg1:Event=null):void{ var _local3:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; var _local2:Object = {}; for (_local3 in _consumableProperties) { _local2[_local3] = MochiDigits(_consumableProperties[_local3]).value; }; MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[_arg1]){ return (MochiDigits(_consumableProperties[_arg1]).value); }; return (undefined); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (!(_consumableProperties[_arg1])){ return (false); }; _names.splice(_names.indexOf(_arg1), 1); delete _consumableProperties[_arg1]; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[_arg1] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!((_arg2 is Number))){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2}); return; }; if (_consumableProperties[_arg1]){ _local3 = MochiDigits(_consumableProperties[_arg1]); if (_local3.value == _arg2){ return; }; _local3.value = _arg2; } else { _names.push(_arg1); _consumableProperties[_arg1] = new MochiDigits(_arg2); }; _syncID++; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_names[(_arg1 - 1)]); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } } }//package mochi.as3
Section 185
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { public static var onCloseHandler:Object; public static var onErrorHandler:Object; private static var boardID:String; public static function onClose(_arg1:Object=null):void{ if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiServices.warnID(_arg1, true); MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } } }//package mochi.as3
Section 186
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.system.*; import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; import flash.geom.*; public class MochiServices { private static var _id:String; private static var _container:Object; private static var _clip:MovieClip; private static var _loader:Loader; private static var _timer:Timer; private static var _preserved:Object; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; private static var _services:String = "services.swf"; private static var _mochiLC:String = "MochiLC.swf"; private static var _swfVersion:String; private static var _listenChannelName:String = "__ms_"; private static var _sendChannel:LocalConnection; private static var _sendChannelName:String; private static var _connecting:Boolean = false; private static var _connected:Boolean = false; public static var netup:Boolean = true; public static var netupAttempted:Boolean = false; public static var onError:Object; public static var widget:Boolean = false; public static var servicesSync:MochiSync = new MochiSync(); private static var _mochiLocalConnection:MovieClip; private static var _queue:Array; private static var _nextCallbackID:Number; private static var _callbacks:Object; public static function get id():String{ return (_id); } public static function get clip():Object{ return (_container); } public static function get childClip():Object{ return (_clip); } public static function getVersion():String{ return ("3.8 as3"); } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } public static function get connected():Boolean{ return (_connected); } public static function warnID(_arg1:String, _arg2:Boolean):void{ _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; var _local3:Number = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _mochiLocalConnection.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } public static function bringToTop(_arg1:Event=null):void{ var e = _arg1; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_clip.parent){ _clip.parent.removeChild(_clip); }; if (_arg1 != null){ if ((_arg1 is DisplayObjectContainer)){ _container = _arg1; }; }; if (_arg2){ if ((_container is DisplayObjectContainer)){ DisplayObjectContainer(_container).addChild(_clip); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ if (_clip != null){ return (_clip); }; if (!(MochiServices.isNetworkAvailable())){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; var _local3:String = (_servURL + _services); if (urlOptions(_arg2).servicesURL){ _local3 = urlOptions(_arg2).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(_local3); _clip = new MovieClip(); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); var _local4:URLRequest = new URLRequest(_local3); var _local5:URLVariables = new URLVariables(); _local5.listenLC = _listenChannelName; _local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options; _local5.api_version = getVersion(); if (widget){ _local5.widget = true; }; _local4.data = _local5; _loader.load(_local4); _clip.addChild(_loader); _sendChannel = new LocalConnection(); _queue = []; _nextCallbackID = 0; _callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } private static function loadLCBridge(_arg1:Object):void{ var loader:Loader; var clip = _arg1; loader = new Loader(); var mochiLCURL:String = (_servURL + _mochiLC); var req:URLRequest = new URLRequest(mochiLCURL); var complete:Function = function (_arg1:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } private static function loadError(_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } public static function connectWait(_arg1:TimerEvent):void{ if (!(_connected)){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; trace("Waiting for MochiAds services to connect..."); } private static function initComChannels():void{ if (!(_connected)){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift()); }; }; } private static function onReceive(_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = _callbacks[cb]; if (!(cblst)){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete _callbacks[cb]; } private static function onEvent(_arg1:Object):void{ var _local2:String = _arg1.target; var _local3:String = _arg1.event; switch (_local2){ case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "sync": servicesSync.triggerEvent(_arg1.event, _arg1.args); break; }; } public static function updateCopy(_arg1:Object):void{ MochiServices.send("coins_updateCopy", _arg1, null, null); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (((_clip) && (_queue))){ while (_queue.length > 0) { _local2 = _queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _callbacks[_local2.callbackID]; }; delete _callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1)); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); }; if (_clip != null){ if (_callbacks != null){ _callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _nextCallbackID++; }; }; } private static function urlOptions(_arg1:Object):Object{ var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; if (_arg1.stage){ _local3 = _arg1.stage.loaderInfo.parameters.mochiad_options; } else { _local3 = _arg1.loaderInfo.parameters.mochiad_options; }; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var avm1Click:DisplayObject; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); var s:String = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); var _local2:Rectangle = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!(((netupAttempted) || (_connected)))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } } }//package mochi.as3
Section 187
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const LOGGED_OUT:String = "LoggedOut"; public static const LOGIN_SHOW:String = "LoginShow"; public static const LOGIN_HIDE:String = "LoginHide"; public static const LOGIN_SHOWN:String = "LoginShown"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const USER_INFO:String = "UserInfo"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IOError"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _user_info:Object = null; public static function getVersion():String{ return (MochiServices.getVersion()); } public static function getAPIURL():String{ if (!(_user_info)){ return (null); }; return (_user_info.api_url); } public static function getAPIToken():String{ if (!(_user_info)){ return (null); }; return (_user_info.api_token); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:_arg1}); } public static function hideLoginWidget():void{ MochiServices.send("coins_hideLoginWidget"); } public static function requestLogin():void{ MochiServices.send("coins_requestLogin"); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("coins_saveUserProperties", _arg1); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _user_info = _arg1; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 188
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_REQUEST:String = "SyncRequest"; public static var SYNC_PROPERTY:String = "UpdateProperty"; public function MochiSync():void{ _syncContainer = {}; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_syncContainer[_arg1]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ if (_syncContainer[_arg1] == _arg2){ return; }; var _local3:String = _arg1.toString(); _syncContainer[_local3] = _arg2; MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2}); } public function triggerEvent(_arg1:String, _arg2:Object):void{ switch (_arg1){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[_arg2.name] = _arg2.value; break; }; } } }//package mochi.as3
Section 189
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.utils.*; import flash.net.*; import flash.events.*; public class MochiUserData extends EventDispatcher { public var _loader:URLLoader; public var key:String;// = null public var data;// = null public var error:Event;// = null public var operation:String;// = null public var callback:Function;// = null public function MochiUserData(_arg1:String="", _arg2:Function=null){ this.key = _arg1; this.callback = _arg2; } public function serialize(_arg1):ByteArray{ var _local2:ByteArray = new ByteArray(); _local2.objectEncoding = ObjectEncoding.AMF3; _local2.writeObject(_arg1); _local2.compress(); return (_local2); } public function deserialize(_arg1:ByteArray){ _arg1.objectEncoding = ObjectEncoding.AMF3; _arg1.uncompress(); return (_arg1.readObject()); } public function request(_arg1:String, _arg2:ByteArray):void{ var _operation = _arg1; var _data = _arg2; operation = _operation; var api_url:String = MochiSocial.getAPIURL(); var api_token:String = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); var args:URLVariables = new URLVariables(); args.op = _operation; args.key = key; var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); try { _loader.load(req); } catch(e:SecurityError) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString()))); }; } public function completeHandler(_arg1:Event):void{ var event = _arg1; try { if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; } catch(e:Error) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString()))); return; }; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function errorHandler(_arg1:IOErrorEvent):void{ data = null; error = _arg1; if (callback != null){ performCallback(); } else { dispatchEvent(_arg1); }; close(); } public function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString()))); } public function performCallback():void{ try { callback(this); } catch(e:Error) { trace(("[MochiUserData] exception during callback: " + e)); }; } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public function getEvent():void{ request("get", serialize(null)); } public function putEvent(_arg1):void{ request("put", serialize(_arg1)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public static function get(_arg1:String, _arg2:Function):void{ var _local3:MochiUserData = new MochiUserData(_arg1, _arg2); _local3.getEvent(); } public static function put(_arg1:String, _arg2, _arg3:Function):void{ var _local4:MochiUserData = new MochiUserData(_arg1, _arg3); _local4.putEvent(_arg2); } } }//package mochi.as3
Section 190
//Brand (spill.localisation.Brand) package spill.localisation { import flash.xml.*; public class Brand { public var domain:String; public var site_id:uint; public var moreLink:String;// = "" public var emailLink:String;// = "game" public var emailPage:String; public var id:Number; public var name:String; public var portalGroup:uint; public var useGoogleAnalitics:Boolean;// = true public var hasSendToFriendLink:Boolean;// = true public var preferedLanguage:String;// = "" public var isExternal:Boolean;// = false public var hostingDomain:String;// = "" private static const topLevelDoubles:String = ((((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,") + "com.id,com.in"); public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{ var _local5:String = ("http://" + domain); _local5 = (_local5 + ("/" + moreLink)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg3 = stripSubDomain(_arg3); if (_arg3 == "localhost"){ _arg3 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg3)); if (((!((_arg4 == ""))) && (!((_arg4 == null))))){ _local5 = (_local5 + ("&utm_content=" + _arg4)); }; }; return (_local5); } public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{ if (!(hasSendToFriendLink)){ return (getMoreGamesLink(_arg1, _arg3)); }; var _local5:String = ("http://" + domain); _local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg4)); _local5 = (_local5 + "&utm_content=send_to_friend"); }; return (_local5); } public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{ var _local6:String = ("http://" + domain); _local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local6 = (_local6 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); trace(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local6 = (_local6 + ("&utm_source=" + _arg4)); if (((!((_arg5 == ""))) && (!((_arg5 == null))))){ _local6 = (_local6 + ("&utm_content=" + _arg5)); }; }; return (_local6); } public function get backgroundColor():uint{ return (PortalGroup.backgroundColors[portalGroup]); } public function exportXML():XML{ var _local3:XML; var _local1:XML = <portal/> ; _local1.@id = site_id; _local1.@language = preferedLanguage; _local1.@channel = portalGroup; var _local2:XML = <domain/> ; _local2.appendChild(new XMLNode(3, domain)); _local1.appendChild(_local2); if (moreLink){ _local3 = <more_games_path/> ; _local3.appendChild(new XMLNode(3, moreLink)); _local1.appendChild(_local3); }; _local2 = <game_path/> ; _local2.appendChild(new XMLNode(3, emailLink)); _local1.appendChild(_local2); if (!(useGoogleAnalitics)){ _local1.attributes.noGoogleAnalitics = true; }; if (!(hasSendToFriendLink)){ _local1.attributes.noSendToFriendLink = true; }; return (_local1); } public function importXML(_arg1:XMLNode):void{ } private function get utm_source():String{ return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal")); } private function get utm_term():String{ return ("utm_term="); } private function get utm_campaign():String{ if (isExternal){ return (("utm_campaign=" + hostingDomain)); }; return (""); } public static function stripSubDomain(_arg1:String):String{ if (!(_arg1)){ return (""); }; var _local2:Array = _arg1.split("."); if (_local2.length <= 2){ return (_arg1); }; _local2 = _local2.reverse(); if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){ return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0])); }; return (((_local2[1] + ".") + _local2[0])); } } }//package spill.localisation
Section 191
//BrandingLogo (spill.localisation.BrandingLogo) package spill.localisation { import flash.events.*; import flash.display.*; public class BrandingLogo extends MovieClip { public function BrandingLogo(){ addFrameScript(0, frame1); super(); stop(); mouseEnabled = false; mouseChildren = false; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); if (stage){ added(); }; brandingChanged(); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true); brandingChanged(); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("brandingChanged", brandingChanged); } private function brandingChanged(_arg1:Event=null):void{ if (SpilGame.currentBranding){ gotoAndStop(SpilGame.currentBranding.domain); }; } function frame1(){ stop(); } } }//package spill.localisation
Section 192
//Brandings (spill.localisation.Brandings) package spill.localisation { public class Brandings { private static var brands_by_id:Object = new Object(); private static var brands_by_domain:Object = new Object(); public static function initialize():void{ var _local1:Brand; _local1 = new Brand(); _local1.site_id = 79; _local1.domain = "www.agame.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 88; _local1.domain = "www.gamesgames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 90; _local1.domain = "www.girlsgogames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 45; _local1.domain = "www.a10.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.YOUNG_ADULTS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 92; _local1.domain = "www.games.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 107; _local1.domain = "www.agame.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 102; _local1.domain = "www.girlsgogames.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 2; _local1.domain = "www.game.com.cn"; _local1.moreLink = "moregames/"; _local1.preferedLanguage = "cn"; _local1.portalGroup = PortalGroup.NONE; _local1.useGoogleAnalitics = false; _local1.hasSendToFriendLink = false; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 25; _local1.domain = "www.spel.nl"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 1; _local1.domain = "www.spelletjes.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 93; _local1.domain = "www.girlsgogames.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 12; _local1.domain = "www.jeu.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 95; _local1.domain = "www.girlsgogames.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 11; _local1.domain = "www.jeux.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 26; _local1.domain = "www.spielen.com"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 94; _local1.domain = "www.girlsgogames.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 5; _local1.domain = "www.jetztspielen.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 109; _local1.domain = "www.minigry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 16; _local1.domain = "www.gry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 98; _local1.domain = "www.girlsgogames.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 108; _local1.domain = "www.spel.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 100; _local1.domain = "www.girlsgogames.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 44; _local1.domain = "www.spela.se"; _local1.emailLink = "spel_"; _local1.preferedLanguage = "se"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 106; _local1.domain = "www.giocaregratis.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 15; _local1.domain = "www.gioco.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 99; _local1.domain = "www.girlsgogames.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 97; _local1.domain = "www.zapjuegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 86; _local1.domain = "www.juegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 96; _local1.domain = "www.juegosdechicas.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 122; _local1.domain = "www.girlsgogames.es"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 125; _local1.domain = "www.juegos.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 126; _local1.domain = "www.juegosdechicas.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 127; _local1.domain = "www.juegos.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 128; _local1.domain = "www.juegosdechicas.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 91; _local1.domain = "www.clickjogos.com"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 101; _local1.domain = "www.girlsgogames.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 50; _local1.domain = "www.ojogos.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 55; _local1.domain = "www.games.co.id"; _local1.emailLink = "permainanme"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "id"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 105; _local1.domain = "www.flashgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 104; _local1.domain = "www.girlsgogames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 103; _local1.domain = "www.ourgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 24; _local1.domain = "www.game.co.in"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "in"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 87; _local1.domain = "www.ojogos.pt"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pt"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 120; _local1.domain = "www.egames.jp"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "jp"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 121; _local1.domain = "www.dailygame.com"; _local1.emailLink = "/game/"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 123; _local1.domain = "www.zapapa.com"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.ZAPAPA; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 124; _local1.domain = "www.zapapa.nl"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.HYVES; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 0; _local1.domain = "gamedev.dev.spilgames.com"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); } public static function hasDomain(_arg1:String):Boolean{ return (!((brands_by_domain[_arg1] == null))); } public static function getBrandByDomain(_arg1:String):Brand{ return (brands_by_domain[_arg1]); } public static function getBrandByID(_arg1:Number):Brand{ return (brands_by_id[_arg1]); } private static function addBrand(_arg1:Brand):Brand{ if (brands_by_domain[_arg1.domain]){ trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain)); } else { brands_by_domain[_arg1.domain] = _arg1; }; if (brands_by_id[_arg1.site_id]){ trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id)); } else { brands_by_id[_arg1.site_id] = _arg1; }; return (_arg1); } public static function getBrandsArray():Array{ var _local2:Brand; var _local1:Array = new Array(); for each (_local2 in brands_by_domain) { _local1.push(_local2); }; return (_local1); } public static function exportXML():XML{ var _local2:Brand; var _local1:XML = <portals/> ; for each (_local2 in brands_by_domain) { _local1.appendChild(_local2.exportXML()); }; return (_local1); } } }//package spill.localisation
Section 193
//Language (spill.localisation.Language) package spill.localisation { import flash.xml.*; public class Language { public var name:String; public var dname:String; public var id:uint; public var portal_groups:Array; public var textLanguage:String; public var embedFonts:Boolean;// = true public var embedInputFonts:Boolean;// = true public var forceFont:String;// = null public var bwcId:int; public var references:Array; public var displayName:String;// = "" public function Language(_arg1:String, _arg2:String=null){ references = []; super(); name = _arg1; dname = _arg2; portal_groups = new Array(); } public function get displayAcronim():String{ return ((dname) ? dname : name); } public function set p_family(_arg1:String):void{ portal_groups[PortalGroup.FAMILY] = _arg1; } public function get p_family():String{ return (portal_groups[PortalGroup.FAMILY]); } public function set p_tween(_arg1:String):void{ portal_groups[PortalGroup.TEENS] = _arg1; } public function get p_tween():String{ return (portal_groups[PortalGroup.TEENS]); } public function set p_girl(_arg1:String):void{ portal_groups[PortalGroup.GIRL] = _arg1; } public function get p_girl():String{ trace("Language", portal_groups[PortalGroup.GIRL]); return (portal_groups[PortalGroup.GIRL]); } public function set p_teen(_arg1:String):void{ portal_groups[PortalGroup.YOUNG_ADULTS] = _arg1; } public function get p_teen():String{ return (portal_groups[PortalGroup.YOUNG_ADULTS]); } public function set p_zapapa(_arg1:String):void{ portal_groups[PortalGroup.ZAPAPA] = _arg1; } public function get p_zapapa():String{ return (portal_groups[PortalGroup.ZAPAPA]); } public function set p_hyves(_arg1:String):void{ portal_groups[PortalGroup.HYVES] = _arg1; } public function get p_hyves():String{ return (portal_groups[PortalGroup.HYVES]); } public function exportXML():XMLNode{ var _local1:XMLNode = new XMLNode(1, "language"); _local1.attributes.name = name; if (textLanguage != null){ _local1.attributes.textLanguage = textLanguage; }; if (references.length){ _local1.attributes.references = references.toString(); }; _local1.attributes.id = bwcId; var _local2:XMLNode = new XMLNode(1, "display_name"); _local2.firstChild = new XMLNode(3, displayName); _local1.appendChild(_local2); var _local3:Array = []; var _local4:Array = PortalGroup.channelNames; var _local5:int; while (_local5 < _local4.length) { _local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id); _local5++; }; _local1.attributes.channels = _local3.join(","); return (_local1); } } }//package spill.localisation
Section 194
//Languages (spill.localisation.Languages) package spill.localisation { import flash.xml.*; public class Languages { public static var languages:Object = new Object(); private static var _init:Boolean = false; public static function initialize():void{ var _local1:Language; if (_init){ return; }; _init = true; _local1 = new Language("nl"); _local1.displayName = "Nederlands"; _local1.p_family = "www.spelletjes.nl"; _local1.p_tween = "www.spel.nl"; _local1.p_girl = "www.girlsgogames.nl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.p_hyves = "www.zapapa.nl"; _local1.bwcId = 3; addLanguage(_local1); _local1 = new Language("es"); _local1.displayName = "Español"; _local1.p_family = "www.juegos.com"; _local1.p_tween = "www.zapjuegos.com"; _local1.p_girl = "www.girlsgogames.es"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 9; addLanguage(_local1); _local1 = new Language("pl"); _local1.displayName = "Polski"; _local1.p_family = "www.gry.pl"; _local1.p_tween = "www.gry.pl"; _local1.p_girl = "www.girlsgogames.pl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 6; addLanguage(_local1); _local1 = new Language("fr"); _local1.displayName = "Français"; _local1.p_family = "www.jeux.fr"; _local1.p_tween = "www.jeu.fr"; _local1.p_girl = "www.girlsgogames.fr"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 4; addLanguage(_local1); _local1 = new Language("en_us", "us"); _local1.displayName = "English"; _local1.p_family = "www.gamesgames.com"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 1; addLanguage(_local1); addReference(_local1, "en"); _local1 = new Language("id"); _local1.displayName = "Bahasa Ind."; _local1.p_family = "www.games.co.id"; _local1.p_tween = "www.games.co.id"; _local1.p_girl = "www.games.co.id"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 11; addLanguage(_local1); _local1 = new Language("ru"); _local1.displayName = "Русский"; _local1.p_family = "www.ourgames.ru"; _local1.p_tween = "www.flashgames.ru"; _local1.p_girl = "www.girlsgogames.ru"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 12; addLanguage(_local1); _local1 = new Language("se"); _local1.displayName = "Svenska"; _local1.p_family = "www.spela.se"; _local1.p_tween = "www.spel.se"; _local1.p_girl = "www.girlsgogames.se"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 7; addLanguage(_local1); addReference(_local1, "sv"); _local1 = new Language("it"); _local1.displayName = "Italiano"; _local1.p_family = "www.gioco.it"; _local1.p_tween = "www.gioco.it"; _local1.p_girl = "www.girlsgogames.it"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 8; addLanguage(_local1); _local1 = new Language("en_uk", "uk"); _local1.displayName = "English"; _local1.p_family = "www.games.co.uk"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.co.uk"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 13; addLanguage(_local1); _local1 = new Language("cn"); _local1.displayName = "中文"; _local1.p_family = "www.game.com.cn"; _local1.p_tween = "www.game.com.cn"; _local1.p_girl = "www.game.com.cn"; _local1.p_teen = "www.game.com.cn"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 2; _local1.embedInputFonts = false; addLanguage(_local1); addReference(_local1, "zh-CN"); addReference(_local1, "zh-TW"); _local1 = new Language("pt"); _local1.displayName = "Português"; _local1.p_family = "www.ojogos.pt"; _local1.p_tween = "www.ojogos.pt"; _local1.p_girl = "www.ojogos.pt"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 17; addLanguage(_local1); _local1 = new Language("in"); _local1.displayName = "English"; _local1.p_family = "www.game.co.in"; _local1.p_tween = "www.game.co.in"; _local1.p_girl = "www.game.co.in"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.textLanguage = "en_uk"; _local1.bwcId = 14; addLanguage(_local1); _local1 = new Language("de"); _local1.displayName = "Deutsch"; _local1.p_family = "www.jetztspielen.de"; _local1.p_tween = "www.spielen.com"; _local1.p_girl = "www.girlsgogames.de"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 5; addLanguage(_local1); _local1 = new Language("br"); _local1.displayName = "Português (BR)"; _local1.p_family = "www.ojogos.com.br"; _local1.p_tween = "www.clickjogos.com"; _local1.p_girl = "www.girlsgogames.com.br"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 10; addLanguage(_local1); _local1 = new Language("jp"); _local1.displayName = "日本語"; _local1.p_family = "www.egames.jp"; _local1.p_tween = "www.egames.jp"; _local1.p_girl = "www.egames.jp"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.embedInputFonts = false; _local1.bwcId = 19; addLanguage(_local1); addReference(_local1, "ja"); _local1 = new Language("ar"); _local1.displayName = "English"; _local1.p_family = "www.dailygame.com"; _local1.p_tween = "www.dailygame.com"; _local1.p_girl = "www.dailygame.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 20; addLanguage(_local1); addReference(_local1, "ar"); _local1 = new Language("es_mx", "mx"); _local1.displayName = "Español (mx)"; _local1.p_family = "www.juegos.mx"; _local1.p_tween = "www.juegos.mx"; _local1.p_girl = "www.juegosdechicas.mx"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "mx"); _local1 = new Language("es_ar", "arg"); _local1.displayName = "Español (ar)"; _local1.p_family = "www.juegos.com.ar"; _local1.p_tween = "www.juegos.com.ar"; _local1.p_girl = "www.juegosdechicas.com.ar"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "arg"); } private static function addReference(_arg1:Language, _arg2:String):void{ languages[_arg2] = _arg1; _arg1.references.push(_arg2); } private static function addLanguage(_arg1:Language):void{ languages[_arg1.name] = _arg1; } public static function getLanguage(_arg1:String):Language{ return (languages[_arg1]); } public static function getLanguageByOldID(_arg1:int):Language{ var _local2:Language; for each (_local2 in languages) { if (_local2.bwcId == _arg1){ return (_local2); }; }; return (null); } public static function getLanguagesArray():Array{ var _local3:Language; var _local1:Array = new Array(); var _local2:Object = new Object(); for each (_local3 in languages) { if (!(_local2[_local3.name])){ _local1.push(_local3); _local2[_local3.name] = true; }; }; return (_local1); } public static function exportXML():XMLNode{ var _local3:Language; var _local1:Array = getLanguagesArray(); var _local2:XMLNode = new XMLNode(1, "languages"); for each (_local3 in _local1) { _local2.appendChild(_local3.exportXML()); }; return (_local2); } } }//package spill.localisation
Section 195
//LanguageSelectBox (spill.localisation.LanguageSelectBox) package spill.localisation { import flash.events.*; import flash.display.*; import flash.text.*; public class LanguageSelectBox extends MovieClip { private var popup:MovieClip; private var flag:MovieClip; private var languageName_text:TextField; private var mc:MovieClip; public function LanguageSelectBox(){ trace("new langselecbox"); super(); if (numChildren > 0){ removeChildAt(0); }; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true); Languages.initialize(); popup = new LanguageSelectPopup_mc(); x = Math.round(x); y = Math.round(y); popup.y = (-(Math.floor(popup.height)) + 1); popup.visible = false; addChild(popup); mc = new LanguageSelectBox_mc(); addChild(mc); flag = mc.flag; languageName_text = mc.languageName_text; if (stage){ added(); }; init(); languageChanged(); } public function init():void{ var _local3:MovieClip; var _local4:Language; trace("initselectbox"); var _local1:Array = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar); var _local2:int; while (_local2 < _local1.length) { _local3 = MovieClip(_local1[_local2]); if (_local3){ _local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true); _local3.flag.gotoAndStop(_local3.name.substr(2)); _local3.flag.mouseEnabled = false; _local3.text.mouseEnabled = false; _local4 = Languages.getLanguage(_local3.name.substr(2)); if (_local4){ _local3.text.text = _local4.displayAcronim; } else { trace((("Error, '" + _local3.name.substr(2)) + "' language not found")); }; } else { trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'")); }; _local2++; }; } private function itemClicked(_arg1:MouseEvent):void{ SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2)); popup.visible = false; } private function mouseOver(_arg1:MouseEvent):void{ popup.visible = true; } private function mouseOut(_arg1:MouseEvent):void{ popup.visible = false; } private function added(_arg1:Event=null):void{ trace("addedselebnox"); SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function languageChanged(_arg1:Event=null):void{ if (SpilGame.currentLanguage){ if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){ this.visible = false; return; }; this.visible = true; flag.gotoAndStop(SpilGame.currentLanguage.name); languageName_text.text = SpilGame.currentLanguage.displayName; languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts; }; } public function set popupLocation(_arg1:String):void{ trace(("popupLocation = " + _arg1)); if (_arg1 == "bottom"){ popup.y = Math.floor(mc.height); } else { popup.y = (-(Math.floor(mc.height)) + 1); }; } } }//package spill.localisation
Section 196
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc) package spill.localisation { import flash.text.*; import flash.display.*; public dynamic class LanguageSelectBox_mc extends MovieClip { public var languageName_text:TextField; public var flag:MovieClip; } }//package spill.localisation
Section 197
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc) package spill.localisation { import flash.display.*; public dynamic class LanguageSelectPopup_mc extends MovieClip { public var l_ar:MovieClip; public var l_pt:MovieClip; public var l_en_uk:MovieClip; public var l_br:MovieClip; public var l_ru:MovieClip; public var l_se:MovieClip; public var l_in:MovieClip; public var l_es:MovieClip; public var l_fr:MovieClip; public var l_de:MovieClip; public var l_jp:MovieClip; public var l_nl:MovieClip; public var l_pl:MovieClip; public var l_es_ar:MovieClip; public var l_id:MovieClip; public var l_en_us:MovieClip; public var l_it:MovieClip; public var l_es_mx:MovieClip; public var l_cn:MovieClip; } }//package spill.localisation
Section 198
//LocalizedTextField (spill.localisation.LocalizedTextField) package spill.localisation { import flash.events.*; public class LocalizedTextField extends TextFieldFit { private var originalText:String; private var regex:RegExp; public function LocalizedTextField(){ regex = /{([^{}]*)}/g; super(); addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); added(); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); text = originalText; } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function languageChanged(_arg1:Event):void{ text = originalText; updateProperties(); } override public function set text(_arg1:String):void{ originalText = _arg1; if ((_arg1 is String)){ super.text = _arg1.replace(regex, replaceFn); } else { super.text = ""; }; trace(super.text); } private function replaceFn():String{ var _local2:String = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } } }//package spill.localisation
Section 199
//PortalGroup (spill.localisation.PortalGroup) package spill.localisation { import flash.xml.*; public class PortalGroup { public static const FAMILY:uint = 0; public static const TEENS:uint = 1; public static const GIRL:uint = 2; public static const YOUNG_ADULTS:uint = 3; public static const ZAPAPA:uint = 4; public static const HYVES:uint = 5; public static const NONE:uint = 6; public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"]; public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF]; public static function getName(_arg1:int):String{ return (channelNames[_arg1]); } public static function exportXML():XMLNode{ var _local3:XMLNode; var _local1:XMLNode = new XMLNode(1, "channels"); var _local2:int; while (_local2 < 5) { _local3 = new XMLNode(1, "channel"); _local3.attributes.name = channelNames[_local2]; _local3.attributes.id = _local2; _local1.appendChild(_local3); _local2++; }; return (_local1); } } }//package spill.localisation
Section 200
//spil_internal (spill.localisation.spil_internal) package spill.localisation { public namespace spil_internal = "spill.localisation"; }//package spill.localisation
Section 201
//SpilGame (spill.localisation.SpilGame) package spill.localisation { import flash.display.*; import flash.text.*; import flash.ui.*; import flash.events.*; import flash.net.*; import flash.system.*; import flash.external.*; public class SpilGame { private static const cookiePath:String = "/"; private static const cookieName:String = "spilgames_language_v100"; private static const cookieLanguageVar:String = "savedLang"; public static const LANGUAGE_CHANGED:String = "languageChanged"; public static const BRANDING_CHANGED:String = "brandingChanged"; spil_internal static var gameName:String; public static var currentBranding:Brand; public static var currentLanguage:Language; spil_internal static var emailPage:String; spil_internal static var portalGroup:uint; private static var channelLock:Boolean = false; private static var _init:Boolean = false; private static var eventDispatcher:EventDispatcher; private static var localDomains:Object = new Object(); private static var strings:Object = new Object(); private static var contexMenuItem:ContextMenuItem; private static var stage:Sprite; spil_internal static var debugHostDomain:String = ""; spil_internal static var debugEmbedDomain:String = ""; public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{ stage = _arg4; if (_init){ trace("ERROR: LocalisationManager already initialised"); return; }; _init = true; localDomains["localhost"] = true; localDomains["www8.agame.com"] = true; localDomains["gamedev.dev.spilgames.com"] = true; localDomains["stg.spel.nl"] = true; localDomains["stg.girlsgogames.nl"] = true; localDomains["stg.pl.spel.nl"] = true; localDomains["stg.pl.girlsgogames.nl"] = true; trace(localDomains["stg.girlsgogames.nl"]); Brandings.initialize(); Languages.initialize(); initContexMenu(_arg4); channelLock = _arg5; gameName = _arg1.replace(" ", "_"); portalGroup = _arg2; emailPage = _arg3; chooseLanguage(); chooseBranding(); if (portalGroup == PortalGroup.HYVES){ changeLanguage("nl"); }; } public static function initTextField(_arg1:TextField):void{ var _local2:TextFormat; trace(_arg1.text); _arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn); trace(_arg1.text); _arg1.embedFonts = currentLanguage.embedFonts; if (currentLanguage.forceFont != ""){ _local2 = new TextFormat(); _local2.font = currentLanguage.forceFont; _arg1.setTextFormat(_local2); }; } private static function replaceFn():String{ var _local2:String = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } public static function outputAllBrands():String{ var _local3:Brand; var _local1:Array = Brandings.getBrandsArray(); var _local2:String = ""; for each (_local3 in _local1) { _local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n")); }; return (_local2); } public static function traceAllBrands():void{ trace(outputAllBrands()); } public static function getMoreGamesLink(_arg1:String=""):String{ var _local2:String = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1)); } public static function getSendToFriendLink():String{ return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain)); } public static function getPromotionLink(_arg1:String="feature_promotion"):String{ var _local2:String = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1)); } public static function getSpilCompanyLink():String{ var _local1:String = "http://www.gameportal.net/"; _local1 = (_local1 + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal")); _local1 = (_local1 + ("&utm_campaign=" + gameName)); _local1 = (_local1 + ("&utm_source=" + Brand.stripSubDomain((embedDomain) ? embedDomain : hostingDomain))); _local1 = (_local1 + "&utm_content=Branding_Link"); return (_local1); } public static function importXML(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.identifier] = new Object()); for each (_local4 in _local2.children()) { _local3[_local4.name()] = _local4.children()[0].toString(); }; }; } public static function importXMLv2(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.attribute("identifier")] = new Object()); for each (_local4 in _local2.children()) { if (_local4.children().length() > 0){ _local3[_local4.name()] = _local4.children()[0].toString(); } else { _local3[_local4.name()] = ""; }; }; }; } public static function getString(_arg1:String):String{ var _local2:Object = strings[_arg1]; if (_local2){ if (currentLanguage.textLanguage){ return (_local2[currentLanguage.textLanguage]); }; if (_local2[currentLanguage.name]){ return (_local2[currentLanguage.name]); }; return (_local2["en_us"]); //unresolved jump }; return (""); } private static function initContexMenu(_arg1:Sprite):void{ contexMenuItem = new ContextMenuItem(""); _arg1.contextMenu = new ContextMenu(); _arg1.contextMenu.customItems.push(contexMenuItem); contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked); } private static function contexMenuClicked(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu"))); } spil_internal static function chooseLanguage():void{ if (cookieLanguage != null){ currentLanguage = cookieLanguage; } else { if (isExternal){ currentLanguage = systemLanguage; } else { currentLanguage = portalLanguage; if (!(currentLanguage)){ currentLanguage = systemLanguage; }; }; }; if (!(currentLanguage)){ trace("Unable to determine language, using 'English US'"); currentLanguage = Languages.getLanguage("en_us"); }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; dispatchEvent(new Event(LANGUAGE_CHANGED)); } spil_internal static function chooseBranding():void{ currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]); if (!((currentBranding is Brand))){ currentBranding = Brandings.getBrandByDomain("www.agame.com"); }; contexMenuItem.caption = ("More Games: " + currentBranding.domain); dispatchEvent(new Event(BRANDING_CHANGED)); } spil_internal static function changeLanguage(_arg1:String):void{ var _local2:Language = Languages.getLanguage(_arg1); if (!(_local2)){ trace("ERROR: Supplied language string does not have a matching language"); } else { cookieLanguage = _local2; currentLanguage = _local2; }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; chooseBranding(); dispatchEvent(new Event(LANGUAGE_CHANGED)); } private static function get portalLanguage():Language{ var _local1:Brand; var _local2:String; var _local3:Language; if (isExternal){ return (null); }; if (!(embedDomain)){ return (null); }; _local1 = Brandings.getBrandByDomain(embedDomain); if (!(_local1)){ return (null); }; _local2 = _local1.preferedLanguage; if (!(_local2)){ return (null); }; _local3 = Languages.getLanguage(_local2); if (!(_local3)){ return (null); }; return (_local3); } spil_internal static function get systemLanguage():Language{ return (Languages.getLanguage(Capabilities.language)); } spil_internal static function get cookieLanguage():Language{ var _local1:SharedObject = SharedObject.getLocal(cookieName, cookiePath); var _local2:String = String(_local1.data[cookieLanguageVar]); return (Languages.getLanguage(_local2)); } spil_internal static function set cookieLanguage(_arg1:Language):void{ var _local2:SharedObject = SharedObject.getLocal(cookieName, cookiePath); if (_arg1 == null){ _local2.data[cookieLanguageVar] = null; } else { _local2.data[cookieLanguageVar] = _arg1.name; }; _local2.flush(); } public static function get isExternal():Boolean{ return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain)))); } public static function get isStagingDomain():Boolean{ var _local1:String = ("http://" + embedDomain); return ((_local1.indexOf("http://stg.") >= 0)); } spil_internal static function get hostingDomain():String{ var _local1:LocalConnection; if (debugHostDomain != ""){ return (debugHostDomain); }; _local1 = new LocalConnection(); return (_local1.domain); } spil_internal static function get embedDomain():String{ var loc:String; if (debugEmbedDomain != ""){ return (debugEmbedDomain); }; if (ExternalInterface.available){ try { loc = ExternalInterface.call("window.location.href.toString"); if (((!((loc == ""))) && (!((loc == null))))){ trace(("embed domain = " + getDomain(loc))); return (getDomain(loc)); }; } catch(e:SecurityError) { trace(("Security Error connecting to external interface, error = " + e)); } catch(e:Error) { trace(("Error connecting to external interface, error = " + e)); }; }; return (null); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (!(eventDispatcher)){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (!(eventDispatcher)){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } spil_internal static function dispatchEvent(_arg1:Event):void{ if (!(eventDispatcher)){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.dispatchEvent(_arg1); } public static function exportXML():XML{ var _local1:XML = <spil_games/> ; _local1.appendChild(Brandings.exportXML()); _local1.appendChild(Languages.exportXML()); _local1.appendChild(PortalGroup.exportXML()); return (_local1); } private static function getDomain(_arg1:String):String{ var _local2:String; var _local3:uint; if (_arg1.indexOf("file") == 0){ return ("offline_play"); }; _local2 = new String(); _local3 = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; if (_local2 == "localhost"){ _local2 = "offline_play"; }; return (_local2); } } }//package spill.localisation
Section 202
//SpilGamesLink (spill.localisation.SpilGamesLink) package spill.localisation { import flash.events.*; import flash.net.*; import flash.display.*; public class SpilGamesLink extends SimpleButton { public function SpilGamesLink(){ addEventListener(MouseEvent.CLICK, buttonClicked); } private function buttonClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink()), "_blank"); } } }//package spill.localisation
Section 203
//TextFieldFit (spill.localisation.TextFieldFit) package spill.localisation { import flash.text.*; import flash.utils.*; import flash.events.*; import flash.filters.*; import flash.display.*; public class TextFieldFit extends MovieClip { private var field:TextField; private var w:Number; private var h:Number; private var format:TextFormat; private var embeddedFonts:Array; private var sizeChanged:Boolean;// = true private var debugBounding:Sprite; private var valid:Boolean;// = true protected var _text:String;// = "default" protected var _textColor:uint;// = 0 protected var _textSize:Number;// = 12 protected var _multiline:Boolean;// = false protected var _disableWordwrap:Boolean;// = false protected var _hAlign:String;// = "left" protected var _vAlign:String;// = "top" protected var _bold:Boolean;// = false protected var _underline:Boolean;// = false protected var _italic:Boolean;// = false protected var _selectable:Boolean;// = false protected var _font:String;// = "" protected var _embedFonts:Boolean;// = true protected var _antiAliasType:String;// = "advanced" protected var _gridFitType:String;// = "pixel" protected var _useGlowFilter:Boolean;// = false protected var _glowBlur:Number;// = 3 protected var _glowColor:uint;// = 0 protected var _glowStrength:Number;// = 5 protected var _glowQuality:Number;// = 1 private static const gutter:Number = 2; spil_internal static var embedFonts:Boolean = true; spil_internal static var forceFont:String = null; spil_internal static var forceAAType:String = null; public static var alwaysCheckWidth:Boolean = false; public function TextFieldFit(){ var _local1:Boolean = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); var _local2:Number = width; var _local3:Number = height; if (numChildren > 0){ removeChildAt(0); }; if (!(field)){ field = new TextField(); addChild(field); }; field.border = false; field.background = false; field.type = TextFieldType.DYNAMIC; mouseEnabled = false; mouseChildren = false; format = new TextFormat(); embeddedFonts = Font.enumerateFonts(false); setSize(_local2, _local3); validate(); if (stage){ addEventListener(Event.RENDER, init); stage.invalidate(); }; init(); } public function get textField():TextField{ return (field); } private function init(_arg1:Event=null):void{ removeEventListener(Event.RENDER, init); updateProperties(); layoutText(); } protected function updateProperties():void{ var _local1:Boolean; var _local2:Font; field.text = _text; field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline; field.wordWrap = ((field.multiline) && (!(_disableWordwrap))); field.selectable = _selectable; field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType; field.gridFitType = _gridFitType; embeddedFonts = Font.enumerateFonts(false); if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){ _local1 = false; for each (_local2 in embeddedFonts) { if (_font == _local2.fontName){ _local1 = true; break; }; }; field.embedFonts = _local1; if (!(_local1)){ trace(((("WARNING: Embedded font '" + _font) + "' not found, disabling embedding of fonts, text = ") + _text)); } else { trace((("Found Embedded font '" + _font) + "' using font")); }; } else { field.embedFonts = false; }; if (TextFieldFit.forceFont){ format.font = TextFieldFit.forceFont; } else { format.font = _font; }; if (sizeChanged){ format.size = _textSize; }; format.color = _textColor; format.align = _hAlign; format.bold = _bold; format.italic = _italic; format.underline = _underline; format.leftMargin = 0; format.rightMargin = 0; field.setTextFormat(format); if (_useGlowFilter){ filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)]; } else { filters = []; }; } public function setSize(_arg1:Number, _arg2:Number):void{ w = _arg1; h = _arg2; scaleX = (scaleY = 1); field.width = w; field.height = h; invalidate(); } private function layoutText():void{ resizeText(); field.height = (field.textHeight + (gutter * 2)); if (vAlign == "top"){ field.y = 0; } else { if (vAlign == "middle"){ field.y = ((h - field.height) / 2); } else { if (vAlign == "bottom"){ field.y = (h - field.height); }; }; }; } private function resizeText(_arg1:Boolean=false):void{ if (!(doesTextFit())){ format.size = Object((Number(format.size) - 1)); if (format.size <= 3){ trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit"); return; }; field.setTextFormat(format); resizeText(true); } else { if (_arg1 == false){ while (doesTextFit()) { if (format.size <= textSize){ format.size = Object((Number(format.size) + 1)); field.setTextFormat(format); if (!(doesTextFit())){ format.size = Object((Number(format.size) - 1)); field.setTextFormat(format); break; }; } else { break; }; }; }; }; } private function doesTextFit():Boolean{ if (((((field.textHeight + (gutter * 2)) > h)) || (((((field.textWidth + (gutter * 2)) > w)) && (((!(field.multiline)) || (alwaysCheckWidth))))))){ return (false); }; return (true); } private function invalidate():void{ if (valid){ addEventListener(Event.ENTER_FRAME, validate); if (stage){ stage.invalidate(); }; valid = false; }; } private function validate(_arg1:Event=null):void{ updateProperties(); layoutText(); removeEventListener(Event.ENTER_FRAME, validate); valid = true; } public function set text(_arg1:String):void{ _text = _arg1; invalidate(); } public function get text():String{ return (_text); } public function set textColor(_arg1:uint):void{ _textColor = _arg1; invalidate(); } public function get textColor():uint{ return (_textColor); } public function set textSize(_arg1:Number):void{ _textSize = _arg1; sizeChanged = true; invalidate(); } public function get textSize():Number{ return (_textSize); } public function set multiline(_arg1:Boolean):void{ _multiline = _arg1; invalidate(); } public function get multiline():Boolean{ return (_multiline); } public function set disableWordwrap(_arg1:Boolean):void{ _disableWordwrap = _arg1; invalidate(); } public function get disableWordwrap():Boolean{ return (_disableWordwrap); } public function set hAlign(_arg1:String):void{ _hAlign = _arg1; invalidate(); } public function get hAlign():String{ return (_hAlign); } public function set vAlign(_arg1:String):void{ _vAlign = _arg1; invalidate(); } public function get vAlign():String{ return (_vAlign); } public function set bold(_arg1:Boolean):void{ _bold = _arg1; invalidate(); } public function get bold():Boolean{ return (_bold); } public function set underline(_arg1:Boolean):void{ _underline = _arg1; invalidate(); } public function get underline():Boolean{ return (_underline); } public function set italic(_arg1:Boolean):void{ _italic = _arg1; invalidate(); } public function get italic():Boolean{ return (_italic); } public function set selectable(_arg1:Boolean):void{ _selectable = _arg1; invalidate(); } public function get selectable():Boolean{ return (_selectable); } public function set font(_arg1:String):void{ _font = _arg1; invalidate(); } public function get font():String{ return (_font); } public function set embedFonts(_arg1:Boolean):void{ _embedFonts = _arg1; invalidate(); } public function get embedFonts():Boolean{ return (_embedFonts); } public function set antiAliasType(_arg1:String):void{ _antiAliasType = _arg1; invalidate(); } public function get antiAliasType():String{ return (_antiAliasType); } public function set gridFitType(_arg1:String):void{ _gridFitType = _arg1; invalidate(); } public function get gridFitType():String{ return (_gridFitType); } public function set useGlowFilter(_arg1:Boolean):void{ _useGlowFilter = _arg1; invalidate(); } public function get useGlowFilter():Boolean{ return (_useGlowFilter); } public function set glowBlur(_arg1:Number):void{ _glowBlur = _arg1; invalidate(); } public function get glowBlur():Number{ return (_glowBlur); } public function set glowColor(_arg1:uint):void{ _glowColor = _arg1; invalidate(); } public function get glowColor():uint{ return (_glowColor); } public function set glowStrength(_arg1:Number):void{ _glowStrength = _arg1; invalidate(); } public function get glowStrength():Number{ return (_glowStrength); } public function set glowQuality(_arg1:Number):void{ _glowQuality = _arg1; invalidate(); } public function get glowQuality():Number{ return (_glowQuality); } } }//package spill.localisation
Section 204
//Log (SWFStats.Log) package SWFStats { import flash.utils.*; import flash.system.*; import flash.events.*; import flash.net.*; import flash.external.*; public final class Log { private static const PingF:Timer = new Timer(60000); private static const PingR:Timer = new Timer(30000); public static var Enabled:Boolean = false; public static var Queue:Boolean = true; public static var SWFID:int = 0; public static var GUID:String = ""; public static var SourceUrl:String; private static var Request:LogRequest = new LogRequest(); private static var FirstPing:Boolean = true; private static var Pings:int = 0; private static var Plays:int = 0; private static var HighestGoal:int = 0; public static function View(_arg1:int=0, _arg2:String="", _arg3:String=""):void{ if (SWFID > 0){ return; }; SWFID = _arg1; GUID = _arg2; Enabled = true; if ((((SWFID == 0)) || ((GUID == "")))){ Enabled = false; return; }; if (((((!((_arg3.indexOf("http://") == 0))) && (!((Security.sandboxType == "localWithNetwork"))))) && (!((Security.sandboxType == "localTrusted"))))){ Enabled = false; return; }; SourceUrl = GetUrl(_arg3); if ((((SourceUrl == null)) || ((SourceUrl == "")))){ Enabled = false; return; }; Security.allowDomain("http://tracker.swfstats.com/"); Security.allowInsecureDomain("http://tracker.swfstats.com/"); Security.loadPolicyFile("http://tracker.swfstats.com/crossdomain.xml"); Security.allowDomain("http://utils.swfstats.com/"); Security.allowInsecureDomain("http://utils.swfstats.com/"); Security.loadPolicyFile("http://utils.swfstats.com/crossdomain.xml"); var _local4:int = GetCookie("views"); _local4++; SaveCookie("views", _local4); Send(("v/" + _local4), true); PingF.addEventListener(TimerEvent.TIMER, PingServer); PingF.start(); } public static function Play():void{ if (!(Enabled)){ return; }; Plays++; Send(("p/" + Plays)); } public static function Goal(_arg1:int, _arg2:String):void{ } private static function PingServer(... _args):void{ if (!(Enabled)){ return; }; Pings++; Send(((("t/" + (FirstPing) ? "y" : "n") + "/") + Pings), true); if (FirstPing){ PingF.stop(); PingR.addEventListener(TimerEvent.TIMER, PingServer); PingR.start(); FirstPing = false; }; } public static function CustomMetric(_arg1:String, _arg2:String=null):void{ if (!(Enabled)){ return; }; if (_arg2 == null){ _arg2 = ""; }; Send(((("c/" + Clean(_arg1)) + "/") + Clean(_arg2))); } public static function LevelCounterMetric(_arg1:String, _arg2):void{ if (!(Enabled)){ return; }; Send(((("lc/" + Clean(_arg1)) + "/") + Clean(_arg2))); } public static function LevelRangedMetric(_arg1:String, _arg2, _arg3:int):void{ if (!(Enabled)){ return; }; Send(((((("lr/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } public static function LevelAverageMetric(_arg1:String, _arg2, _arg3:int):void{ if (!(Enabled)){ return; }; Send(((((("la/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } private static function Send(_arg1:String, _arg2:Boolean=false):void{ Request.Queue(_arg1); if (((((Request.Ready) || (_arg2))) || (!(Queue)))){ Request.Send(); Request = new LogRequest(); }; } private static function Clean(_arg1:String):String{ return (escape(_arg1.replace("/", "\\").replace("~", "-"))); } private static function GetCookie(_arg1:String):int{ var _local2:SharedObject = SharedObject.getLocal("swfstats"); if (_local2.data[_arg1] == undefined){ return (0); }; return (int(_local2.data[_arg1])); } private static function SaveCookie(_arg1:String, _arg2:int):void{ var _local3:SharedObject = SharedObject.getLocal("swfstats"); _local3.data[_arg1] = _arg2.toString(); _local3.flush(); } private static function GetUrl(_arg1:String):String{ var url:String; var defaulturl = _arg1; if (ExternalInterface.available){ try { url = String(ExternalInterface.call("window.location.href.toString")); } catch(s:Error) { url = defaulturl; }; } else { if (defaulturl.indexOf("http://") == 0){ url = defaulturl; }; }; if ((((((url == null)) || ((url == "")))) || ((url == "null")))){ if ((((Security.sandboxType == "localWithNetwork")) || ((Security.sandboxType == "localTrusted")))){ url = "http://local-testing/"; } else { url = null; }; }; return (url); } } }//package SWFStats
Section 205
//LogRequest (SWFStats.LogRequest) package SWFStats { import flash.net.*; import flash.events.*; public final class LogRequest { private var Data:String;// = "" private var Pieces:int; public var Ready:Boolean;// = false private static var Failed:int = 0; public function Queue(_arg1:String):void{ if (Failed > 3){ return; }; this.Pieces++; this.Data = (this.Data + (((this.Data == "")) ? "" : "~" + _arg1)); if ((((this.Pieces == 8)) || ((this.Data.length > 300)))){ this.Ready = true; }; } public function Send():void{ var _local1:URLLoader = new URLLoader(); _local1.addEventListener(IOErrorEvent.IO_ERROR, this.IOErrorHandler); _local1.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.StatusChange); _local1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityErrorHandler); _local1.load(new URLRequest((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z"))); trace((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z")); } private function IOErrorHandler(_arg1:IOErrorEvent):void{ Failed++; } private function SecurityErrorHandler(_arg1:SecurityErrorEvent):void{ } private function StatusChange(_arg1:HTTPStatusEvent):void{ } } }//package SWFStats
Section 206
//AlienThief (AlienThief) package { import flash.events.*; import flash.net.*; import com.tinime.data.*; import SWFStats.*; import com.spilgames.api.*; import spill.localisation.*; import com.tinime.control.*; import flash.display.*; public class AlienThief extends MovieClip { public function AlienThief(){ addEventListener(Event.ADDED_TO_STAGE, onAddToStage); var _local1:LocalConnection = new LocalConnection(); CommonVals.currentDomain = _local1.domain; Log.View(824, "53996223-42d4-4537-9857-d5ab2f3e2b72", root.loaderInfo.loaderURL); } private function onServicesReady(_arg1:Event):void{ trace("SpilGamesServices are ready\n"); } private function onServicesFailed(_arg1:ErrorEvent):void{ trace((("SpilGamesServices failed: " + _arg1.text) + "\n")); } private function selectTinimeLink(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://www.tinime.com"), "_blank"); } private function onAddToStage(_arg1:Event):void{ var _local2:XML; var _local5:SpilGamesServices; SpilGame.initialize("Alien_Thief", PortalGroup.TEENS, "Alien-Thief.html", this, true); _local2 = <LocalisedText><textItem identifier="initializing"><en_us>Initializing…</en_us><en_uk>Initializing…</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>初使化…</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="playBtn"><en_us>PLAY</en_us><en_uk>PLAY</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>开始</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="medalsBtn"><en_us>MEDALS</en_us><en_uk>MEDALS</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>奖章</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="scoresBtn"><en_us>SCORES</en_us><en_uk>SCORES</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>分数</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="creditsBtn"><en_us>CREDITS</en_us><en_uk>CREDITS</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>信息</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="moreGamesBtn"><en_us>MORE GAMES</en_us><en_uk>MORE GAMES</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>更多游戏</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="levelNum"><en_us>LEVEL</en_us><en_uk>LEVEL</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>关卡</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="selectLevel"><en_us>SELECT LEVEL</en_us><en_uk>SELECT LEVEL</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>选择关卡</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="prevBtn"><en_us>PREV</en_us><en_uk>PREV</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>上页</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="nextBtn"><en_us>NEXT</en_us><en_uk>NEXT</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>下页</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="backBtn"><en_us>BACK</en_us><en_uk>BACK</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="chooseYourController"><en_us>CHOOSE YOUR CONTROLLER</en_us><en_uk>CHOOSE YOUR CONTROLLER</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="keyboard"><en_us>KEYBOARD</en_us><en_uk>KEYBOARD</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="mouse"><en_us>MOUSE</en_us><en_uk>MOUSE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="life"><en_us>LIFE:</en_us><en_uk>LIFE:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="score"><en_us>SCORES:</en_us><en_uk>SCORES:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="level"><en_us>LEVEL:</en_us><en_uk>LEVEL:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="gamePaused"><en_us>GAME PAUSED</en_us><en_uk>GAME PAUSED</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="spacePress"><en_us>Press 'Space' key to continue</en_us><en_uk>Press 'Space' key to continue</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="resumeBtn"><en_us>RESUME</en_us><en_uk>RESUME</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="restartBtn"><en_us>RESTART</en_us><en_uk>RESTART</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="quitBtn"><en_us>QUIT</en_us><en_uk>QUIT</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="gameOver"><en_us>GAME OVER</en_us><en_uk>GAME OVER</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tryAgainBtn"><en_us>TRY AGAIN</en_us><en_uk>TRY AGAIN</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="totalScore"><en_us>TOTAL SCORE:</en_us><en_uk>TOTAL SCORE:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="levelComplete"><en_us>LEVEL COMPLETE:</en_us><en_uk>LEVEL COMPLETE:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="levelScore"><en_us>Level Score:</en_us><en_uk>Level Score:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="continueBtn"><en_us>CONTINUE</en_us><en_uk>CONTINUE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="yourMedals"><en_us>YOUR MEDALS</en_us><en_uk>YOUR MEDALS</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="designAndProgramming"><en_us>GAME DESIGN&PROGRAMMING</en_us><en_uk>GAME DESIGN&PROGRAMMING</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="art"><en_us>ART</en_us><en_uk>ART</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="music"><en_us>MUSIC</en_us><en_uk>MUSIC</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial1"><en_us>You can choose either to use arrow keys or w,s,a,d to fly around.</en_us><en_uk>You can choose either to use arrow keys or w,s,a,d to fly around.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial2"><en_us>Press space key to lift animals and other things like trash can and cannon ball.</en_us><en_uk>Press space key to lift animals and other things like trash can and cannon ball.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="spaceKey"><en_us>SPACE</en_us><en_uk>SPACE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial3"><en_us>Pick and drop the cow here. Our babies like milk greatly!</en_us><en_uk>Pick and drop the cow here. Our babies like milk greatly!</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial4"><en_us>The ship will follow your mouse position, click and hold the mouse to lift things.</en_us><en_uk>The ship will follow your mouse position, click and hold the mouse to lift things.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial5"><en_us>By pressing 'Enter'key or click the icon below, you will enter into the camera mode,Then you can use arrow keys to scroll the whole scene.</en_us><en_uk>By pressing 'Enter'key or click the icon below, you will enter into the camera mode,Then you can use arrow keys to scroll the whole scene.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="submitScore"><en_us>SUBMIT SCORE</en_us><en_uk>SUBMIT SCORE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="submitBtn"><en_us>SUBMIT</en_us><en_uk>SUBMIT</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="medalAwarded"><en_us>MEDAL AWARDED</en_us><en_uk>MEDAL AWARDED</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="rookie"><en_us>Rookie</en_us><en_uk>Rookie</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="pilot"><en_us>Pilot</en_us><en_uk>Pilot</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="cowSavior"><en_us>Cow Savior</en_us><en_uk>Cow Savior</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="explorer"><en_us>Explorer</en_us><en_uk>Explorer</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="richAlien"><en_us>Rich Alien</en_us><en_uk>Rich Alien</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="wealthyAlien"><en_us>Wealthy Alien</en_us><en_uk>Wealthy Alien</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tormentedAlien"><en_us>Tormented Alien</en_us><en_uk>Tormented Alien</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="butcher"><en_us>Butcher</en_us><en_uk>Butcher</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="superStar"><en_us>SuperStar</en_us><en_uk>SuperStar</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="masterPilot"><en_us>Master Pilot</en_us><en_uk>Master Pilot</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="rookieDes"><en_us>First level Complete</en_us><en_uk>First level Complete</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="pilotDes"><en_us>Complete level 12</en_us><en_uk>Complete level 12</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="cowSaviorDes"><en_us>Complete level 15</en_us><en_uk>Complete level 15</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="explorerDes"><en_us>Find a hidden place</en_us><en_uk>Find a hidden place</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="richAlienDes"><en_us>Gather 50 stars</en_us><en_uk>Gather 50 stars</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="wealthyAlienDes"><en_us>Gather 200 stars</en_us><en_uk>Gather 200 stars</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tormentedAlienDes"><en_us>Die 20 times</en_us><en_uk>Die 20 times</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="butcherDes"><en_us>Have 20 cows killed</en_us><en_uk>Have 20 cows killed</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="superStarDes"><en_us>Win over 20000 score points</en_us><en_uk>Win over 20000 score points</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="masterPilotDes"><en_us>Complete all levels</en_us><en_uk>Complete all levels</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem></LocalisedText> ; SpilGame.importXMLv2(_local2); trace("Language Data Succesfully included"); Languages.initialize(); removeEventListener(Event.ADDED_TO_STAGE, onAddToStage); var _local3:String = this.root.loaderInfo.url.split("/")[2]; var _local4:Array = ["www.tinime.com", "www8.agame.com", "3.xiaoyouxi.cn", "swf.xiaoyouxi.cn", "files.game.com.cn", "files.game.asia", "swf.xiaoyouxi.cn", "files2.game.com.cn", "gamedev.dev.spilgames.com"]; if (CommonVals.currentDomain != "localhost"){ _local5 = SpilGamesServices.getInstance(); _local5.addEventListener("servicesReady", onServicesReady); _local5.addEventListener("servicesFailed", onServicesFailed); _local5.connect(this); if (_local4.indexOf(_local3) == -1){ return; }; }; SpilGame.initialize("Alien_Thief", PortalGroup.TEENS, "Alien-Thief.html", this, true); _local2 = <LocalisedText><textItem identifier="initializing"><en_us>Initializing…</en_us><en_uk>Initializing…</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>初使化…</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="playBtn"><en_us>PLAY</en_us><en_uk>PLAY</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>开始</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="medalsBtn"><en_us>MEDALS</en_us><en_uk>MEDALS</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>奖章</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="scoresBtn"><en_us>SCORES</en_us><en_uk>SCORES</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>分数</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="creditsBtn"><en_us>CREDITS</en_us><en_uk>CREDITS</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>信息</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="moreGamesBtn"><en_us>MORE GAMES</en_us><en_uk>MORE GAMES</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>更多游戏</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="levelNum"><en_us>LEVEL</en_us><en_uk>LEVEL</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>关卡</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="selectLevel"><en_us>SELECT LEVEL</en_us><en_uk>SELECT LEVEL</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>选择关卡</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="prevBtn"><en_us>PREV</en_us><en_uk>PREV</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>上页</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="nextBtn"><en_us>NEXT</en_us><en_uk>NEXT</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn>下页</cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="backBtn"><en_us>BACK</en_us><en_uk>BACK</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="chooseYourController"><en_us>CHOOSE YOUR CONTROLLER</en_us><en_uk>CHOOSE YOUR CONTROLLER</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="keyboard"><en_us>KEYBOARD</en_us><en_uk>KEYBOARD</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="mouse"><en_us>MOUSE</en_us><en_uk>MOUSE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="life"><en_us>LIFE:</en_us><en_uk>LIFE:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="score"><en_us>SCORES:</en_us><en_uk>SCORES:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="level"><en_us>LEVEL:</en_us><en_uk>LEVEL:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="gamePaused"><en_us>GAME PAUSED</en_us><en_uk>GAME PAUSED</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="spacePress"><en_us>Press 'Space' key to continue</en_us><en_uk>Press 'Space' key to continue</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="resumeBtn"><en_us>RESUME</en_us><en_uk>RESUME</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="restartBtn"><en_us>RESTART</en_us><en_uk>RESTART</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="quitBtn"><en_us>QUIT</en_us><en_uk>QUIT</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="gameOver"><en_us>GAME OVER</en_us><en_uk>GAME OVER</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tryAgainBtn"><en_us>TRY AGAIN</en_us><en_uk>TRY AGAIN</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="totalScore"><en_us>TOTAL SCORE:</en_us><en_uk>TOTAL SCORE:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="levelComplete"><en_us>LEVEL COMPLETE:</en_us><en_uk>LEVEL COMPLETE:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="levelScore"><en_us>Level Score:</en_us><en_uk>Level Score:</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="continueBtn"><en_us>CONTINUE</en_us><en_uk>CONTINUE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="yourMedals"><en_us>YOUR MEDALS</en_us><en_uk>YOUR MEDALS</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="designAndProgramming"><en_us>GAME DESIGN&PROGRAMMING</en_us><en_uk>GAME DESIGN&PROGRAMMING</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="art"><en_us>ART</en_us><en_uk>ART</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="music"><en_us>MUSIC</en_us><en_uk>MUSIC</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial1"><en_us>You can choose either to use arrow keys or w,s,a,d to fly around.</en_us><en_uk>You can choose either to use arrow keys or w,s,a,d to fly around.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial2"><en_us>Press space key to lift animals and other things like trash can and cannon ball.</en_us><en_uk>Press space key to lift animals and other things like trash can and cannon ball.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="spaceKey"><en_us>SPACE</en_us><en_uk>SPACE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial3"><en_us>Pick and drop the cow here. Our babies like milk greatly!</en_us><en_uk>Pick and drop the cow here. Our babies like milk greatly!</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial4"><en_us>The ship will follow your mouse position, click and hold the mouse to lift things.</en_us><en_uk>The ship will follow your mouse position, click and hold the mouse to lift things.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tutorial5"><en_us>By pressing 'Enter'key or click the icon below, you will enter into the camera mode,Then you can use arrow keys to scroll the whole scene.</en_us><en_uk>By pressing 'Enter'key or click the icon below, you will enter into the camera mode,Then you can use arrow keys to scroll the whole scene.</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="submitScore"><en_us>SUBMIT SCORE</en_us><en_uk>SUBMIT SCORE</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="submitBtn"><en_us>SUBMIT</en_us><en_uk>SUBMIT</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="medalAwarded"><en_us>MEDAL AWARDED</en_us><en_uk>MEDAL AWARDED</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="rookie"><en_us>Rookie</en_us><en_uk>Rookie</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="pilot"><en_us>Pilot</en_us><en_uk>Pilot</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="cowSavior"><en_us>Cow Savior</en_us><en_uk>Cow Savior</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="explorer"><en_us>Explorer</en_us><en_uk>Explorer</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="richAlien"><en_us>Rich Alien</en_us><en_uk>Rich Alien</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="wealthyAlien"><en_us>Wealthy Alien</en_us><en_uk>Wealthy Alien</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tormentedAlien"><en_us>Tormented Alien</en_us><en_uk>Tormented Alien</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="butcher"><en_us>Butcher</en_us><en_uk>Butcher</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="superStar"><en_us>SuperStar</en_us><en_uk>SuperStar</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="masterPilot"><en_us>Master Pilot</en_us><en_uk>Master Pilot</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="rookieDes"><en_us>First level Complete</en_us><en_uk>First level Complete</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="pilotDes"><en_us>Complete level 12</en_us><en_uk>Complete level 12</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="cowSaviorDes"><en_us>Complete level 15</en_us><en_uk>Complete level 15</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="explorerDes"><en_us>Find a hidden place</en_us><en_uk>Find a hidden place</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="richAlienDes"><en_us>Gather 50 stars</en_us><en_uk>Gather 50 stars</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="wealthyAlienDes"><en_us>Gather 200 stars</en_us><en_uk>Gather 200 stars</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="tormentedAlienDes"><en_us>Die 20 times</en_us><en_uk>Die 20 times</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="butcherDes"><en_us>Have 20 cows killed</en_us><en_uk>Have 20 cows killed</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="superStarDes"><en_us>Win over 20000 score points</en_us><en_uk>Win over 20000 score points</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem><textItem identifier="masterPilotDes"><en_us>Complete all levels</en_us><en_uk>Complete all levels</en_uk><nl></nl><fr></fr><de></de><es></es><br></br><pt></pt><it></it><se></se><pl></pl><ru></ru><id></id><ar></ar><jp></jp><cn></cn><es_mx></es_mx><es_ar></es_ar></textItem></LocalisedText> ; SpilGame.importXMLv2(_local2); trace("Language Data Succesfully included"); Languages.initialize(); GameLoopControl.getInstance().initGame(this); } } }//package
Section 207
//AllPassAnimMcLib (AllPassAnimMcLib) package { import flash.display.*; public dynamic class AllPassAnimMcLib extends MovieClip { public function AllPassAnimMcLib(){ addFrameScript(231, frame232); } function frame232(){ stop(); } } }//package
Section 208
//BackBtn (BackBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class BackBtn extends SimpleButton { public var __id4_:LocalizedTextField; public function BackBtn(){ __setProp___id4__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id4__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id4___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id4__(_arg1:Object){ var __id4_ = _arg1; try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.text = "{backBtn}"; __id4_.textColor = 4137230; __id4_.textSize = 14; __id4_.bold = true; __id4_.disableWordwrap = false; __id4_.embedFonts = true; __id4_.font = ""; __id4_.hAlign = "center"; __id4_.multiline = false; __id4_.vAlign = "top"; __id4_.antiAliasType = "advanced"; __id4_.glowBlur = 3; __id4_.glowColor = 0; __id4_.useGlowFilter = true; __id4_.glowQuality = 0; __id4_.glowStrength = 0; __id4_.gridFitType = "pixel"; __id4_.italic = false; __id4_.selectable = false; __id4_.underline = false; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id4___1(_arg1:Object){ var __id4_ = _arg1; try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.text = "{backBtn}"; __id4_.textColor = 0xFFFFFF; __id4_.textSize = 14; __id4_.bold = true; __id4_.disableWordwrap = false; __id4_.embedFonts = true; __id4_.font = ""; __id4_.hAlign = "center"; __id4_.multiline = false; __id4_.vAlign = "top"; __id4_.antiAliasType = "advanced"; __id4_.glowBlur = 3; __id4_.glowColor = 0; __id4_.useGlowFilter = true; __id4_.glowQuality = 0; __id4_.glowStrength = 0; __id4_.gridFitType = "pixel"; __id4_.italic = false; __id4_.selectable = false; __id4_.underline = false; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 209
//BreakableSquareSprLib (BreakableSquareSprLib) package { import flash.display.*; public dynamic class BreakableSquareSprLib extends Sprite { } }//package
Section 210
//btnClickSfx (btnClickSfx) package { import flash.media.*; public dynamic class btnClickSfx extends Sound { } }//package
Section 211
//BumperHittedMcLib (BumperHittedMcLib) package { import flash.display.*; public dynamic class BumperHittedMcLib extends MovieClip { } }//package
Section 212
//BumperMcLib (BumperMcLib) package { import flash.display.*; public dynamic class BumperMcLib extends MovieClip { } }//package
Section 213
//bumpHitSfx (bumpHitSfx) package { import flash.media.*; public dynamic class bumpHitSfx extends Sound { } }//package
Section 214
//CameraBtnMcLib (CameraBtnMcLib) package { import flash.display.*; public dynamic class CameraBtnMcLib extends MovieClip { } }//package
Section 215
//cameraModeMask (cameraModeMask) package { import flash.display.*; public dynamic class cameraModeMask extends MovieClip { public function cameraModeMask(){ addFrameScript(210, frame211); } function frame211(){ stop(); } } }//package
Section 216
//CannonBallMcLib (CannonBallMcLib) package { import flash.display.*; public dynamic class CannonBallMcLib extends MovieClip { public function CannonBallMcLib(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 217
//CannonBallParticleMcLib (CannonBallParticleMcLib) package { import flash.display.*; public dynamic class CannonBallParticleMcLib extends MovieClip { } }//package
Section 218
//CannonMcLib (CannonMcLib) package { import flash.display.*; public dynamic class CannonMcLib extends MovieClip { } }//package
Section 219
//cannonSfx (cannonSfx) package { import flash.media.*; public dynamic class cannonSfx extends Sound { } }//package
Section 220
//CarBodySprLib (CarBodySprLib) package { import flash.display.*; public dynamic class CarBodySprLib extends Sprite { } }//package
Section 221
//CarWheelSprLib (CarWheelSprLib) package { import flash.display.*; public dynamic class CarWheelSprLib extends Sprite { } }//package
Section 222
//CatDeadMcLib (CatDeadMcLib) package { import flash.display.*; public dynamic class CatDeadMcLib extends MovieClip { } }//package
Section 223
//CatMcLib (CatMcLib) package { import flash.display.*; public dynamic class CatMcLib extends MovieClip { } }//package
Section 224
//collectKeySfx (collectKeySfx) package { import flash.media.*; public dynamic class collectKeySfx extends Sound { } }//package
Section 225
//ContinueBtn (ContinueBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class ContinueBtn extends SimpleButton { public var __id5_:LocalizedTextField; public function ContinueBtn(){ __setProp___id5__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id5__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id5___1(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id5__(_arg1:Object){ var __id5_ = _arg1; try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.text = "{continueBtn}"; __id5_.textColor = 4137230; __id5_.textSize = 14; __id5_.bold = true; __id5_.disableWordwrap = false; __id5_.embedFonts = true; __id5_.font = ""; __id5_.hAlign = "center"; __id5_.multiline = false; __id5_.vAlign = "top"; __id5_.antiAliasType = "advanced"; __id5_.glowBlur = 3; __id5_.glowColor = 0; __id5_.useGlowFilter = true; __id5_.glowQuality = 0; __id5_.glowStrength = 0; __id5_.gridFitType = "pixel"; __id5_.italic = false; __id5_.selectable = false; __id5_.underline = false; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id5___1(_arg1:Object){ var __id5_ = _arg1; try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.text = "{continueBtn}"; __id5_.textColor = 0xFFFFFF; __id5_.textSize = 14; __id5_.bold = true; __id5_.disableWordwrap = false; __id5_.embedFonts = true; __id5_.font = ""; __id5_.hAlign = "center"; __id5_.multiline = false; __id5_.vAlign = "top"; __id5_.antiAliasType = "advanced"; __id5_.glowBlur = 3; __id5_.glowColor = 0; __id5_.useGlowFilter = true; __id5_.glowQuality = 0; __id5_.glowStrength = 0; __id5_.gridFitType = "pixel"; __id5_.italic = false; __id5_.selectable = false; __id5_.underline = false; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 226
//ControllerPanelSprLib (ControllerPanelSprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class ControllerPanelSprLib extends Sprite { public var __id17_:LocalizedTextField; public var mouseBtn:SimpleButton; public var keyboardBtn:SimpleButton; public function ControllerPanelSprLib(){ __setProp___id17__(); } function __setProp___id17__(){ try { __id17_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id17_.text = "{chooseYourController}"; __id17_.textColor = 5517825; __id17_.textSize = 24; __id17_.bold = true; __id17_.disableWordwrap = false; __id17_.embedFonts = true; __id17_.font = ""; __id17_.hAlign = "center"; __id17_.multiline = false; __id17_.vAlign = "top"; __id17_.antiAliasType = "advanced"; __id17_.glowBlur = 3; __id17_.glowColor = 16052672; __id17_.useGlowFilter = true; __id17_.glowQuality = 5; __id17_.glowStrength = 22; __id17_.gridFitType = "pixel"; __id17_.italic = false; __id17_.selectable = false; __id17_.underline = false; try { __id17_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 227
//CowDeadMcLib (CowDeadMcLib) package { import flash.display.*; public dynamic class CowDeadMcLib extends MovieClip { } }//package
Section 228
//cowIconSprite (cowIconSprite) package { import flash.display.*; public dynamic class cowIconSprite extends Sprite { } }//package
Section 229
//CowMcLib (CowMcLib) package { import flash.display.*; public dynamic class CowMcLib extends MovieClip { } }//package
Section 230
//cowYellSfx (cowYellSfx) package { import flash.media.*; public dynamic class cowYellSfx extends Sound { } }//package
Section 231
//CreditsBtn (CreditsBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class CreditsBtn extends SimpleButton { public var __id8_:LocalizedTextField; public var __id9_:LocalizedTextField; public function CreditsBtn(){ __setProp___id8__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id9__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id9__(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id8__(_arg1:Object){ var __id8_ = _arg1; try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.text = "{creditsBtn}"; __id8_.textColor = 0xFFFF00; __id8_.textSize = 18; __id8_.bold = true; __id8_.disableWordwrap = true; __id8_.embedFonts = true; __id8_.font = ""; __id8_.hAlign = "center"; __id8_.multiline = false; __id8_.vAlign = "top"; __id8_.antiAliasType = "advanced"; __id8_.glowBlur = 3; __id8_.glowColor = 0; __id8_.useGlowFilter = true; __id8_.glowQuality = 1; __id8_.glowStrength = 5; __id8_.gridFitType = "pixel"; __id8_.italic = false; __id8_.selectable = false; __id8_.underline = false; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id9__(_arg1:Object){ var __id9_ = _arg1; try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.text = "{creditsBtn}"; __id9_.textColor = 0xFFFF; __id9_.textSize = 18; __id9_.bold = true; __id9_.disableWordwrap = true; __id9_.embedFonts = true; __id9_.font = ""; __id9_.hAlign = "center"; __id9_.multiline = false; __id9_.vAlign = "top"; __id9_.antiAliasType = "advanced"; __id9_.glowBlur = 3; __id9_.glowColor = 0; __id9_.useGlowFilter = true; __id9_.glowQuality = 1; __id9_.glowStrength = 5; __id9_.gridFitType = "pixel"; __id9_.italic = false; __id9_.selectable = false; __id9_.underline = false; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 232
//CreditsScreenSprite (CreditsScreenSprite) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class CreditsScreenSprite extends Sprite { public var __id34_:LocalizedTextField; public var __id35_:LocalizedTextField; public var __id32_:LocalizedTextField; public var __id33_:LocalizedTextField; public function CreditsScreenSprite(){ __setProp___id32__(); __setProp___id33__(); __setProp___id34__(); __setProp___id35__(); } function __setProp___id32__(){ try { __id32_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id32_.text = "{creditsBtn}"; __id32_.textColor = 5517825; __id32_.textSize = 24; __id32_.bold = true; __id32_.disableWordwrap = false; __id32_.embedFonts = true; __id32_.font = ""; __id32_.hAlign = "center"; __id32_.multiline = false; __id32_.vAlign = "top"; __id32_.antiAliasType = "advanced"; __id32_.glowBlur = 3; __id32_.glowColor = 16052672; __id32_.useGlowFilter = true; __id32_.glowQuality = 5; __id32_.glowStrength = 22; __id32_.gridFitType = "pixel"; __id32_.italic = false; __id32_.selectable = false; __id32_.underline = false; try { __id32_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id33__(){ try { __id33_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id33_.text = "{designAndProgramming}"; __id33_.textColor = 0xFFFF; __id33_.textSize = 16; __id33_.bold = true; __id33_.disableWordwrap = false; __id33_.embedFonts = true; __id33_.font = ""; __id33_.hAlign = "center"; __id33_.multiline = false; __id33_.vAlign = "top"; __id33_.antiAliasType = "advanced"; __id33_.glowBlur = 3; __id33_.glowColor = 0; __id33_.useGlowFilter = true; __id33_.glowQuality = 0; __id33_.glowStrength = 0; __id33_.gridFitType = "pixel"; __id33_.italic = false; __id33_.selectable = false; __id33_.underline = false; try { __id33_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id34__(){ try { __id34_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id34_.text = "{art}"; __id34_.textColor = 0xFFFF; __id34_.textSize = 16; __id34_.bold = true; __id34_.disableWordwrap = false; __id34_.embedFonts = true; __id34_.font = ""; __id34_.hAlign = "center"; __id34_.multiline = false; __id34_.vAlign = "top"; __id34_.antiAliasType = "advanced"; __id34_.glowBlur = 3; __id34_.glowColor = 0; __id34_.useGlowFilter = true; __id34_.glowQuality = 0; __id34_.glowStrength = 0; __id34_.gridFitType = "pixel"; __id34_.italic = false; __id34_.selectable = false; __id34_.underline = false; try { __id34_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id35__(){ try { __id35_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id35_.text = "{music}"; __id35_.textColor = 0xFFFF; __id35_.textSize = 16; __id35_.bold = true; __id35_.disableWordwrap = false; __id35_.embedFonts = true; __id35_.font = ""; __id35_.hAlign = "center"; __id35_.multiline = false; __id35_.vAlign = "top"; __id35_.antiAliasType = "advanced"; __id35_.glowBlur = 3; __id35_.glowColor = 0; __id35_.useGlowFilter = true; __id35_.glowQuality = 0; __id35_.glowStrength = 0; __id35_.gridFitType = "pixel"; __id35_.italic = false; __id35_.selectable = false; __id35_.underline = false; try { __id35_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 233
//Debris1SprLib (Debris1SprLib) package { import flash.display.*; public dynamic class Debris1SprLib extends Sprite { } }//package
Section 234
//Debris2SprLib (Debris2SprLib) package { import flash.display.*; public dynamic class Debris2SprLib extends Sprite { } }//package
Section 235
//Debris3SprLib (Debris3SprLib) package { import flash.display.*; public dynamic class Debris3SprLib extends Sprite { } }//package
Section 236
//Debris4SprLib (Debris4SprLib) package { import flash.display.*; public dynamic class Debris4SprLib extends Sprite { } }//package
Section 237
//DogDeadMcLib (DogDeadMcLib) package { import flash.display.*; public dynamic class DogDeadMcLib extends MovieClip { } }//package
Section 238
//DogMcLib (DogMcLib) package { import flash.display.*; public dynamic class DogMcLib extends MovieClip { } }//package
Section 239
//Door2SprLib (Door2SprLib) package { import flash.display.*; public dynamic class Door2SprLib extends Sprite { } }//package
Section 240
//DoorSprLib (DoorSprLib) package { import flash.display.*; public dynamic class DoorSprLib extends Sprite { } }//package
Section 241
//explosionSfx (explosionSfx) package { import flash.media.*; public dynamic class explosionSfx extends Sound { } }//package
Section 242
//FloatBombExplosion (FloatBombExplosion) package { import flash.display.*; public dynamic class FloatBombExplosion extends MovieClip { } }//package
Section 243
//FloatBombMcLib (FloatBombMcLib) package { import flash.display.*; public dynamic class FloatBombMcLib extends MovieClip { } }//package
Section 244
//FrontLayerLevel1 (FrontLayerLevel1) package { import flash.display.*; public dynamic class FrontLayerLevel1 extends Sprite { } }//package
Section 245
//FrontLayerLevel10 (FrontLayerLevel10) package { import flash.display.*; public dynamic class FrontLayerLevel10 extends Sprite { } }//package
Section 246
//FrontLayerLevel11 (FrontLayerLevel11) package { import flash.display.*; public dynamic class FrontLayerLevel11 extends Sprite { } }//package
Section 247
//FrontLayerLevel12 (FrontLayerLevel12) package { import flash.display.*; public dynamic class FrontLayerLevel12 extends Sprite { } }//package
Section 248
//FrontLayerLevel13 (FrontLayerLevel13) package { import flash.display.*; public dynamic class FrontLayerLevel13 extends Sprite { } }//package
Section 249
//FrontLayerLevel14 (FrontLayerLevel14) package { import flash.display.*; public dynamic class FrontLayerLevel14 extends Sprite { } }//package
Section 250
//FrontLayerLevel15 (FrontLayerLevel15) package { import flash.display.*; public dynamic class FrontLayerLevel15 extends Sprite { } }//package
Section 251
//FrontLayerLevel16 (FrontLayerLevel16) package { import flash.display.*; public dynamic class FrontLayerLevel16 extends Sprite { } }//package
Section 252
//FrontLayerLevel17 (FrontLayerLevel17) package { import flash.display.*; public dynamic class FrontLayerLevel17 extends Sprite { } }//package
Section 253
//FrontLayerLevel18 (FrontLayerLevel18) package { import flash.display.*; public dynamic class FrontLayerLevel18 extends Sprite { } }//package
Section 254
//FrontLayerLevel19 (FrontLayerLevel19) package { import flash.display.*; public dynamic class FrontLayerLevel19 extends Sprite { } }//package
Section 255
//FrontLayerLevel2 (FrontLayerLevel2) package { import flash.display.*; public dynamic class FrontLayerLevel2 extends Sprite { } }//package
Section 256
//FrontLayerLevel20 (FrontLayerLevel20) package { import flash.display.*; public dynamic class FrontLayerLevel20 extends Sprite { } }//package
Section 257
//FrontLayerLevel21 (FrontLayerLevel21) package { import flash.display.*; public dynamic class FrontLayerLevel21 extends Sprite { } }//package
Section 258
//FrontLayerLevel22 (FrontLayerLevel22) package { import flash.display.*; public dynamic class FrontLayerLevel22 extends Sprite { } }//package
Section 259
//FrontLayerLevel23 (FrontLayerLevel23) package { import flash.display.*; public dynamic class FrontLayerLevel23 extends Sprite { } }//package
Section 260
//FrontLayerLevel24 (FrontLayerLevel24) package { import flash.display.*; public dynamic class FrontLayerLevel24 extends Sprite { } }//package
Section 261
//FrontLayerLevel25 (FrontLayerLevel25) package { import flash.display.*; public dynamic class FrontLayerLevel25 extends Sprite { } }//package
Section 262
//FrontLayerLevel3 (FrontLayerLevel3) package { import flash.display.*; public dynamic class FrontLayerLevel3 extends Sprite { } }//package
Section 263
//FrontLayerLevel4 (FrontLayerLevel4) package { import flash.display.*; public dynamic class FrontLayerLevel4 extends Sprite { } }//package
Section 264
//FrontLayerLevel5 (FrontLayerLevel5) package { import flash.display.*; public dynamic class FrontLayerLevel5 extends Sprite { } }//package
Section 265
//FrontLayerLevel6 (FrontLayerLevel6) package { import flash.display.*; public dynamic class FrontLayerLevel6 extends Sprite { } }//package
Section 266
//FrontLayerLevel7 (FrontLayerLevel7) package { import flash.display.*; public dynamic class FrontLayerLevel7 extends Sprite { } }//package
Section 267
//FrontLayerLevel8 (FrontLayerLevel8) package { import flash.display.*; public dynamic class FrontLayerLevel8 extends Sprite { } }//package
Section 268
//FrontLayerLevel9 (FrontLayerLevel9) package { import flash.display.*; public dynamic class FrontLayerLevel9 extends Sprite { } }//package
Section 269
//gameLoop (gameLoop) package { import flash.media.*; public dynamic class gameLoop extends Sound { } }//package
Section 270
//GameOverPanelSprite (GameOverPanelSprite) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class GameOverPanelSprite extends Sprite { public var tryAgainBtn:SimpleButton; public var __id24_:LocalizedTextField; public var quitBtn:SimpleButton; public var submitScoreBtn:SimpleButton; public var __id22_:LocalizedTextField; public var __id23_:LocalizedTextField; public function GameOverPanelSprite(){ __setProp___id22__(); __setProp___id23__(); __setProp___id24__(); } function __setProp___id22__(){ try { __id22_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id22_.text = "{gameOver}"; __id22_.textColor = 5517825; __id22_.textSize = 24; __id22_.bold = true; __id22_.disableWordwrap = false; __id22_.embedFonts = true; __id22_.font = ""; __id22_.hAlign = "center"; __id22_.multiline = false; __id22_.vAlign = "top"; __id22_.antiAliasType = "advanced"; __id22_.glowBlur = 3; __id22_.glowColor = 16052672; __id22_.useGlowFilter = true; __id22_.glowQuality = 5; __id22_.glowStrength = 22; __id22_.gridFitType = "pixel"; __id22_.italic = false; __id22_.selectable = false; __id22_.underline = false; try { __id22_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id23__(){ try { __id23_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id23_.text = "{spacePress}"; __id23_.textColor = 0xFFFFFF; __id23_.textSize = 14; __id23_.bold = true; __id23_.disableWordwrap = false; __id23_.embedFonts = true; __id23_.font = ""; __id23_.hAlign = "center"; __id23_.multiline = false; __id23_.vAlign = "top"; __id23_.antiAliasType = "advanced"; __id23_.glowBlur = 3; __id23_.glowColor = 0; __id23_.useGlowFilter = true; __id23_.glowQuality = 1; __id23_.glowStrength = 5; __id23_.gridFitType = "pixel"; __id23_.italic = false; __id23_.selectable = false; __id23_.underline = false; try { __id23_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id24__(){ try { __id24_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id24_.text = "{totalScore}"; __id24_.textColor = 0xFFFFFF; __id24_.textSize = 16; __id24_.bold = true; __id24_.disableWordwrap = false; __id24_.embedFonts = true; __id24_.font = ""; __id24_.hAlign = "right"; __id24_.multiline = false; __id24_.vAlign = "top"; __id24_.antiAliasType = "advanced"; __id24_.glowBlur = 3; __id24_.glowColor = 0xFFFFFF; __id24_.useGlowFilter = true; __id24_.glowQuality = 0; __id24_.glowStrength = 0; __id24_.gridFitType = "pixel"; __id24_.italic = false; __id24_.selectable = false; __id24_.underline = false; try { __id24_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 271
//GamePausePanelSprite (GamePausePanelSprite) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class GamePausePanelSprite extends Sprite { public var __id26_:LocalizedTextField; public var __id27_:LocalizedTextField; public var resumeBtn:SimpleButton; public var restartBtn:SimpleButton; public var mouseBtn:SimpleButton; public var quitBtn:SimpleButton; public var keyboardBtn:SimpleButton; public function GamePausePanelSprite(){ __setProp___id26__(); __setProp___id27__(); } function __setProp___id26__(){ try { __id26_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id26_.text = "{gamePaused}"; __id26_.textColor = 5517825; __id26_.textSize = 24; __id26_.bold = true; __id26_.disableWordwrap = false; __id26_.embedFonts = true; __id26_.font = ""; __id26_.hAlign = "center"; __id26_.multiline = false; __id26_.vAlign = "top"; __id26_.antiAliasType = "advanced"; __id26_.glowBlur = 3; __id26_.glowColor = 16052672; __id26_.useGlowFilter = true; __id26_.glowQuality = 5; __id26_.glowStrength = 22; __id26_.gridFitType = "pixel"; __id26_.italic = false; __id26_.selectable = false; __id26_.underline = false; try { __id26_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id27__(){ try { __id27_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id27_.text = "{spacePress}"; __id27_.textColor = 0xFFFFFF; __id27_.textSize = 14; __id27_.bold = true; __id27_.disableWordwrap = false; __id27_.embedFonts = true; __id27_.font = ""; __id27_.hAlign = "center"; __id27_.multiline = false; __id27_.vAlign = "top"; __id27_.antiAliasType = "advanced"; __id27_.glowBlur = 3; __id27_.glowColor = 0; __id27_.useGlowFilter = true; __id27_.glowQuality = 1; __id27_.glowStrength = 5; __id27_.gridFitType = "pixel"; __id27_.italic = false; __id27_.selectable = false; __id27_.underline = false; try { __id27_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 272
//GearWhee2SprLib (GearWhee2SprLib) package { import flash.display.*; public dynamic class GearWhee2SprLib extends Sprite { } }//package
Section 273
//GearWheel1SprLib (GearWheel1SprLib) package { import flash.display.*; public dynamic class GearWheel1SprLib extends Sprite { } }//package
Section 274
//HaloSprLib (HaloSprLib) package { import flash.display.*; public dynamic class HaloSprLib extends Sprite { } }//package
Section 275
//invalidSprite (invalidSprite) package { import flash.display.*; public dynamic class invalidSprite extends MovieClip { } }//package
Section 276
//keyFadeAnim (keyFadeAnim) package { import flash.display.*; public dynamic class keyFadeAnim extends MovieClip { public function keyFadeAnim(){ addFrameScript(24, frame25); } function frame25(){ stop(); } } }//package
Section 277
//KeyMcLib (KeyMcLib) package { import flash.display.*; public dynamic class KeyMcLib extends MovieClip { } }//package
Section 278
//LaserBeamMcLib (LaserBeamMcLib) package { import flash.display.*; public dynamic class LaserBeamMcLib extends MovieClip { } }//package
Section 279
//LaserProjectorSprLib (LaserProjectorSprLib) package { import flash.display.*; public dynamic class LaserProjectorSprLib extends Sprite { } }//package
Section 280
//Level10Hidden1 (Level10Hidden1) package { import flash.display.*; public dynamic class Level10Hidden1 extends Sprite { } }//package
Section 281
//Level11Hidden1 (Level11Hidden1) package { import flash.display.*; public dynamic class Level11Hidden1 extends Sprite { } }//package
Section 282
//Level21Hidden1 (Level21Hidden1) package { import flash.display.*; public dynamic class Level21Hidden1 extends Sprite { } }//package
Section 283
//Level3Hidden1 (Level3Hidden1) package { import flash.display.*; public dynamic class Level3Hidden1 extends Sprite { } }//package
Section 284
//LevelCompletePanelSprite (LevelCompletePanelSprite) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelCompletePanelSprite extends Sprite { public var __id14_:LocalizedTextField; public var __id15_:LocalizedTextField; public var quitBtn:SimpleButton; public var __id12_:LocalizedTextField; public var continueBtn:ContinueBtn; public var __id13_:LocalizedTextField; public function LevelCompletePanelSprite(){ __setProp___id12__(); __setProp___id13__(); __setProp___id14__(); __setProp___id15__(); } function __setProp___id12__(){ try { __id12_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id12_.text = "{levelComplete}"; __id12_.textColor = 5517825; __id12_.textSize = 24; __id12_.bold = true; __id12_.disableWordwrap = false; __id12_.embedFonts = true; __id12_.font = ""; __id12_.hAlign = "center"; __id12_.multiline = false; __id12_.vAlign = "top"; __id12_.antiAliasType = "advanced"; __id12_.glowBlur = 3; __id12_.glowColor = 16052672; __id12_.useGlowFilter = true; __id12_.glowQuality = 5; __id12_.glowStrength = 22; __id12_.gridFitType = "pixel"; __id12_.italic = false; __id12_.selectable = false; __id12_.underline = false; try { __id12_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id13__(){ try { __id13_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id13_.text = "{spacePress}"; __id13_.textColor = 0xFFFFFF; __id13_.textSize = 14; __id13_.bold = true; __id13_.disableWordwrap = false; __id13_.embedFonts = true; __id13_.font = ""; __id13_.hAlign = "center"; __id13_.multiline = false; __id13_.vAlign = "top"; __id13_.antiAliasType = "advanced"; __id13_.glowBlur = 3; __id13_.glowColor = 0; __id13_.useGlowFilter = true; __id13_.glowQuality = 1; __id13_.glowStrength = 5; __id13_.gridFitType = "pixel"; __id13_.italic = false; __id13_.selectable = false; __id13_.underline = false; try { __id13_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id14__(){ try { __id14_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id14_.text = "{totalScore}"; __id14_.textColor = 0xFFFFFF; __id14_.textSize = 16; __id14_.bold = true; __id14_.disableWordwrap = false; __id14_.embedFonts = true; __id14_.font = ""; __id14_.hAlign = "right"; __id14_.multiline = false; __id14_.vAlign = "top"; __id14_.antiAliasType = "advanced"; __id14_.glowBlur = 3; __id14_.glowColor = 0xFFFFFF; __id14_.useGlowFilter = true; __id14_.glowQuality = 0; __id14_.glowStrength = 0; __id14_.gridFitType = "pixel"; __id14_.italic = false; __id14_.selectable = false; __id14_.underline = false; try { __id14_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id15__(){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.text = "{levelScore}"; __id15_.textColor = 0xFFFFFF; __id15_.textSize = 16; __id15_.bold = true; __id15_.disableWordwrap = false; __id15_.embedFonts = true; __id15_.font = ""; __id15_.hAlign = "right"; __id15_.multiline = false; __id15_.vAlign = "top"; __id15_.antiAliasType = "advanced"; __id15_.glowBlur = 3; __id15_.glowColor = 0xFFFFFF; __id15_.useGlowFilter = true; __id15_.glowQuality = 0; __id15_.glowStrength = 0; __id15_.gridFitType = "pixel"; __id15_.italic = false; __id15_.selectable = false; __id15_.underline = false; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 285
//LevelScreenSprLib (LevelScreenSprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelScreenSprLib extends Sprite { public var preBtn:SimpleButton; public var prevTextMc:LocalizedTextField; public var nextTextMc:LocalizedTextField; public var __id30_:LocalizedTextField; public var backBtn:BackBtn; public var nextBtn:SimpleButton; public function LevelScreenSprLib(){ __setProp___id30__(); __setProp_prevTextMc_(); __setProp_nextTextMc_(); } function __setProp___id30__(){ try { __id30_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id30_.text = "{selectLevel}"; __id30_.textColor = 5517825; __id30_.textSize = 24; __id30_.bold = true; __id30_.disableWordwrap = false; __id30_.embedFonts = true; __id30_.font = ""; __id30_.hAlign = "center"; __id30_.multiline = false; __id30_.vAlign = "top"; __id30_.antiAliasType = "advanced"; __id30_.glowBlur = 3; __id30_.glowColor = 16052672; __id30_.useGlowFilter = true; __id30_.glowQuality = 5; __id30_.glowStrength = 22; __id30_.gridFitType = "pixel"; __id30_.italic = false; __id30_.selectable = false; __id30_.underline = false; try { __id30_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_prevTextMc_(){ try { prevTextMc["componentInspectorSetting"] = true; } catch(e:Error) { }; prevTextMc.text = "{prevBtn}"; prevTextMc.textColor = 0xFFFFFF; prevTextMc.textSize = 14; prevTextMc.bold = true; prevTextMc.disableWordwrap = false; prevTextMc.embedFonts = true; prevTextMc.font = ""; prevTextMc.hAlign = "left"; prevTextMc.multiline = false; prevTextMc.vAlign = "middle"; prevTextMc.antiAliasType = "advanced"; prevTextMc.glowBlur = 3; prevTextMc.glowColor = 0; prevTextMc.useGlowFilter = true; prevTextMc.glowQuality = 0; prevTextMc.glowStrength = 0; prevTextMc.gridFitType = "pixel"; prevTextMc.italic = false; prevTextMc.selectable = false; prevTextMc.underline = false; try { prevTextMc["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp_nextTextMc_(){ try { nextTextMc["componentInspectorSetting"] = true; } catch(e:Error) { }; nextTextMc.text = "{nextBtn}"; nextTextMc.textColor = 0xFFFFFF; nextTextMc.textSize = 14; nextTextMc.bold = true; nextTextMc.disableWordwrap = false; nextTextMc.embedFonts = true; nextTextMc.font = ""; nextTextMc.hAlign = "right"; nextTextMc.multiline = false; nextTextMc.vAlign = "middle"; nextTextMc.antiAliasType = "advanced"; nextTextMc.glowBlur = 3; nextTextMc.glowColor = 0; nextTextMc.useGlowFilter = true; nextTextMc.glowQuality = 0; nextTextMc.glowStrength = 0; nextTextMc.gridFitType = "pixel"; nextTextMc.italic = false; nextTextMc.selectable = false; nextTextMc.underline = false; try { nextTextMc["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 286
//LevelSel10McLib (LevelSel10McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel10McLib extends MovieClip { public var __id45_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel10McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id45__(){ if ((((__setPropDict[__id45_] == undefined)) || (!((((int(__setPropDict[__id45_]) >= 1)) && ((int(__setPropDict[__id45_]) <= 19))))))){ __setPropDict[__id45_] = currentFrame; try { __id45_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id45_.text = "{levelNum}"; __id45_.textColor = 0xFFFF; __id45_.textSize = 12; __id45_.bold = true; __id45_.disableWordwrap = false; __id45_.embedFonts = true; __id45_.font = ""; __id45_.hAlign = "right"; __id45_.multiline = false; __id45_.vAlign = "top"; __id45_.antiAliasType = "advanced"; __id45_.glowBlur = 3; __id45_.glowColor = 0; __id45_.useGlowFilter = false; __id45_.glowQuality = 1; __id45_.glowStrength = 5; __id45_.gridFitType = "pixel"; __id45_.italic = false; __id45_.selectable = false; __id45_.underline = false; try { __id45_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id45___1(){ if ((((__setPropDict[__id45_] == undefined)) || (!((((int(__setPropDict[__id45_]) >= 20)) && ((int(__setPropDict[__id45_]) <= 29))))))){ __setPropDict[__id45_] = currentFrame; try { __id45_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id45_.text = "{levelNum}"; __id45_.textColor = 0xFFCC00; __id45_.textSize = 12; __id45_.bold = true; __id45_.disableWordwrap = false; __id45_.embedFonts = true; __id45_.font = ""; __id45_.hAlign = "right"; __id45_.multiline = false; __id45_.vAlign = "top"; __id45_.antiAliasType = "advanced"; __id45_.glowBlur = 3; __id45_.glowColor = 0; __id45_.useGlowFilter = false; __id45_.glowQuality = 1; __id45_.glowStrength = 5; __id45_.gridFitType = "pixel"; __id45_.italic = false; __id45_.selectable = false; __id45_.underline = false; try { __id45_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id45__(); } function frame2(){ __setProp___id45__(); } function frame3(){ __setProp___id45__(); } function frame4(){ __setProp___id45__(); } function frame5(){ __setProp___id45__(); } function frame6(){ __setProp___id45__(); } function frame7(){ __setProp___id45__(); } function frame8(){ __setProp___id45__(); } function frame9(){ __setProp___id45__(); } function frame10(){ __setProp___id45__(); } function frame11(){ __setProp___id45__(); } function frame12(){ __setProp___id45__(); } function frame13(){ __setProp___id45__(); } function frame14(){ __setProp___id45__(); } function frame15(){ __setProp___id45__(); } function frame16(){ __setProp___id45__(); } function frame17(){ __setProp___id45__(); } function frame18(){ __setProp___id45__(); } function frame19(){ __setProp___id45__(); } function frame20(){ __setProp___id45___1(); } function frame21(){ __setProp___id45___1(); } function frame22(){ __setProp___id45___1(); } function frame23(){ __setProp___id45___1(); } function frame24(){ __setProp___id45___1(); } function frame25(){ __setProp___id45___1(); } function frame26(){ __setProp___id45___1(); } function frame27(){ __setProp___id45___1(); } function frame28(){ __setProp___id45___1(); } function frame29(){ __setProp___id45___1(); } } }//package
Section 287
//LevelSel11McLib (LevelSel11McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel11McLib extends MovieClip { public var __id46_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel11McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id46__(){ if ((((__setPropDict[__id46_] == undefined)) || (!((((int(__setPropDict[__id46_]) >= 1)) && ((int(__setPropDict[__id46_]) <= 19))))))){ __setPropDict[__id46_] = currentFrame; try { __id46_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id46_.text = "{levelNum}"; __id46_.textColor = 0xFFFF; __id46_.textSize = 12; __id46_.bold = true; __id46_.disableWordwrap = false; __id46_.embedFonts = true; __id46_.font = ""; __id46_.hAlign = "right"; __id46_.multiline = false; __id46_.vAlign = "top"; __id46_.antiAliasType = "advanced"; __id46_.glowBlur = 3; __id46_.glowColor = 0; __id46_.useGlowFilter = false; __id46_.glowQuality = 1; __id46_.glowStrength = 5; __id46_.gridFitType = "pixel"; __id46_.italic = false; __id46_.selectable = false; __id46_.underline = false; try { __id46_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id46___1(){ if ((((__setPropDict[__id46_] == undefined)) || (!((((int(__setPropDict[__id46_]) >= 20)) && ((int(__setPropDict[__id46_]) <= 29))))))){ __setPropDict[__id46_] = currentFrame; try { __id46_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id46_.text = "{levelNum}"; __id46_.textColor = 0xFFCC00; __id46_.textSize = 12; __id46_.bold = true; __id46_.disableWordwrap = false; __id46_.embedFonts = true; __id46_.font = ""; __id46_.hAlign = "right"; __id46_.multiline = false; __id46_.vAlign = "top"; __id46_.antiAliasType = "advanced"; __id46_.glowBlur = 3; __id46_.glowColor = 0; __id46_.useGlowFilter = false; __id46_.glowQuality = 1; __id46_.glowStrength = 5; __id46_.gridFitType = "pixel"; __id46_.italic = false; __id46_.selectable = false; __id46_.underline = false; try { __id46_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id46__(); } function frame2(){ __setProp___id46__(); } function frame3(){ __setProp___id46__(); } function frame4(){ __setProp___id46__(); } function frame5(){ __setProp___id46__(); } function frame6(){ __setProp___id46__(); } function frame7(){ __setProp___id46__(); } function frame8(){ __setProp___id46__(); } function frame9(){ __setProp___id46__(); } function frame10(){ __setProp___id46__(); } function frame11(){ __setProp___id46__(); } function frame12(){ __setProp___id46__(); } function frame13(){ __setProp___id46__(); } function frame14(){ __setProp___id46__(); } function frame15(){ __setProp___id46__(); } function frame16(){ __setProp___id46__(); } function frame17(){ __setProp___id46__(); } function frame18(){ __setProp___id46__(); } function frame19(){ __setProp___id46__(); } function frame20(){ __setProp___id46___1(); } function frame21(){ __setProp___id46___1(); } function frame22(){ __setProp___id46___1(); } function frame23(){ __setProp___id46___1(); } function frame24(){ __setProp___id46___1(); } function frame25(){ __setProp___id46___1(); } function frame26(){ __setProp___id46___1(); } function frame27(){ __setProp___id46___1(); } function frame28(){ __setProp___id46___1(); } function frame29(){ __setProp___id46___1(); } } }//package
Section 288
//LevelSel12McLib (LevelSel12McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel12McLib extends MovieClip { public var __id47_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel12McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id47__(){ if ((((__setPropDict[__id47_] == undefined)) || (!((((int(__setPropDict[__id47_]) >= 1)) && ((int(__setPropDict[__id47_]) <= 19))))))){ __setPropDict[__id47_] = currentFrame; try { __id47_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id47_.text = "{levelNum}"; __id47_.textColor = 0xFFFF; __id47_.textSize = 12; __id47_.bold = true; __id47_.disableWordwrap = false; __id47_.embedFonts = true; __id47_.font = ""; __id47_.hAlign = "right"; __id47_.multiline = false; __id47_.vAlign = "top"; __id47_.antiAliasType = "advanced"; __id47_.glowBlur = 3; __id47_.glowColor = 0; __id47_.useGlowFilter = false; __id47_.glowQuality = 1; __id47_.glowStrength = 5; __id47_.gridFitType = "pixel"; __id47_.italic = false; __id47_.selectable = false; __id47_.underline = false; try { __id47_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id47___1(){ if ((((__setPropDict[__id47_] == undefined)) || (!((((int(__setPropDict[__id47_]) >= 20)) && ((int(__setPropDict[__id47_]) <= 29))))))){ __setPropDict[__id47_] = currentFrame; try { __id47_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id47_.text = "{levelNum}"; __id47_.textColor = 0xFFCC00; __id47_.textSize = 12; __id47_.bold = true; __id47_.disableWordwrap = false; __id47_.embedFonts = true; __id47_.font = ""; __id47_.hAlign = "right"; __id47_.multiline = false; __id47_.vAlign = "top"; __id47_.antiAliasType = "advanced"; __id47_.glowBlur = 3; __id47_.glowColor = 0; __id47_.useGlowFilter = false; __id47_.glowQuality = 1; __id47_.glowStrength = 5; __id47_.gridFitType = "pixel"; __id47_.italic = false; __id47_.selectable = false; __id47_.underline = false; try { __id47_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id47__(); } function frame2(){ __setProp___id47__(); } function frame3(){ __setProp___id47__(); } function frame4(){ __setProp___id47__(); } function frame5(){ __setProp___id47__(); } function frame6(){ __setProp___id47__(); } function frame7(){ __setProp___id47__(); } function frame8(){ __setProp___id47__(); } function frame9(){ __setProp___id47__(); } function frame10(){ __setProp___id47__(); } function frame11(){ __setProp___id47__(); } function frame12(){ __setProp___id47__(); } function frame13(){ __setProp___id47__(); } function frame14(){ __setProp___id47__(); } function frame15(){ __setProp___id47__(); } function frame16(){ __setProp___id47__(); } function frame17(){ __setProp___id47__(); } function frame18(){ __setProp___id47__(); } function frame19(){ __setProp___id47__(); } function frame20(){ __setProp___id47___1(); } function frame21(){ __setProp___id47___1(); } function frame22(){ __setProp___id47___1(); } function frame23(){ __setProp___id47___1(); } function frame24(){ __setProp___id47___1(); } function frame25(){ __setProp___id47___1(); } function frame26(){ __setProp___id47___1(); } function frame27(){ __setProp___id47___1(); } function frame28(){ __setProp___id47___1(); } function frame29(){ __setProp___id47___1(); } } }//package
Section 289
//LevelSel13McLib (LevelSel13McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel13McLib extends MovieClip { public var __id48_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel13McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id48__(){ if ((((__setPropDict[__id48_] == undefined)) || (!((((int(__setPropDict[__id48_]) >= 1)) && ((int(__setPropDict[__id48_]) <= 19))))))){ __setPropDict[__id48_] = currentFrame; try { __id48_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id48_.text = "{levelNum}"; __id48_.textColor = 0xFFFF; __id48_.textSize = 12; __id48_.bold = true; __id48_.disableWordwrap = false; __id48_.embedFonts = true; __id48_.font = ""; __id48_.hAlign = "right"; __id48_.multiline = false; __id48_.vAlign = "top"; __id48_.antiAliasType = "advanced"; __id48_.glowBlur = 3; __id48_.glowColor = 0; __id48_.useGlowFilter = false; __id48_.glowQuality = 1; __id48_.glowStrength = 5; __id48_.gridFitType = "pixel"; __id48_.italic = false; __id48_.selectable = false; __id48_.underline = false; try { __id48_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id48___1(){ if ((((__setPropDict[__id48_] == undefined)) || (!((((int(__setPropDict[__id48_]) >= 20)) && ((int(__setPropDict[__id48_]) <= 29))))))){ __setPropDict[__id48_] = currentFrame; try { __id48_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id48_.text = "{levelNum}"; __id48_.textColor = 0xFFCC00; __id48_.textSize = 12; __id48_.bold = true; __id48_.disableWordwrap = false; __id48_.embedFonts = true; __id48_.font = ""; __id48_.hAlign = "right"; __id48_.multiline = false; __id48_.vAlign = "top"; __id48_.antiAliasType = "advanced"; __id48_.glowBlur = 3; __id48_.glowColor = 0; __id48_.useGlowFilter = false; __id48_.glowQuality = 1; __id48_.glowStrength = 5; __id48_.gridFitType = "pixel"; __id48_.italic = false; __id48_.selectable = false; __id48_.underline = false; try { __id48_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id48__(); } function frame2(){ __setProp___id48__(); } function frame3(){ __setProp___id48__(); } function frame4(){ __setProp___id48__(); } function frame5(){ __setProp___id48__(); } function frame6(){ __setProp___id48__(); } function frame7(){ __setProp___id48__(); } function frame8(){ __setProp___id48__(); } function frame9(){ __setProp___id48__(); } function frame10(){ __setProp___id48__(); } function frame11(){ __setProp___id48__(); } function frame12(){ __setProp___id48__(); } function frame13(){ __setProp___id48__(); } function frame14(){ __setProp___id48__(); } function frame15(){ __setProp___id48__(); } function frame16(){ __setProp___id48__(); } function frame17(){ __setProp___id48__(); } function frame18(){ __setProp___id48__(); } function frame19(){ __setProp___id48__(); } function frame20(){ __setProp___id48___1(); } function frame21(){ __setProp___id48___1(); } function frame22(){ __setProp___id48___1(); } function frame23(){ __setProp___id48___1(); } function frame24(){ __setProp___id48___1(); } function frame25(){ __setProp___id48___1(); } function frame26(){ __setProp___id48___1(); } function frame27(){ __setProp___id48___1(); } function frame28(){ __setProp___id48___1(); } function frame29(){ __setProp___id48___1(); } } }//package
Section 290
//LevelSel14McLib (LevelSel14McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel14McLib extends MovieClip { public var __id49_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel14McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id49__(){ if ((((__setPropDict[__id49_] == undefined)) || (!((((int(__setPropDict[__id49_]) >= 1)) && ((int(__setPropDict[__id49_]) <= 19))))))){ __setPropDict[__id49_] = currentFrame; try { __id49_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id49_.text = "{levelNum}"; __id49_.textColor = 0xFFFF; __id49_.textSize = 12; __id49_.bold = true; __id49_.disableWordwrap = false; __id49_.embedFonts = true; __id49_.font = ""; __id49_.hAlign = "right"; __id49_.multiline = false; __id49_.vAlign = "top"; __id49_.antiAliasType = "advanced"; __id49_.glowBlur = 3; __id49_.glowColor = 0; __id49_.useGlowFilter = false; __id49_.glowQuality = 1; __id49_.glowStrength = 5; __id49_.gridFitType = "pixel"; __id49_.italic = false; __id49_.selectable = false; __id49_.underline = false; try { __id49_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id49___1(){ if ((((__setPropDict[__id49_] == undefined)) || (!((((int(__setPropDict[__id49_]) >= 20)) && ((int(__setPropDict[__id49_]) <= 29))))))){ __setPropDict[__id49_] = currentFrame; try { __id49_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id49_.text = "{levelNum}"; __id49_.textColor = 0xFFCC00; __id49_.textSize = 12; __id49_.bold = true; __id49_.disableWordwrap = false; __id49_.embedFonts = true; __id49_.font = ""; __id49_.hAlign = "right"; __id49_.multiline = false; __id49_.vAlign = "top"; __id49_.antiAliasType = "advanced"; __id49_.glowBlur = 3; __id49_.glowColor = 0; __id49_.useGlowFilter = false; __id49_.glowQuality = 1; __id49_.glowStrength = 5; __id49_.gridFitType = "pixel"; __id49_.italic = false; __id49_.selectable = false; __id49_.underline = false; try { __id49_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id49__(); } function frame2(){ __setProp___id49__(); } function frame3(){ __setProp___id49__(); } function frame4(){ __setProp___id49__(); } function frame5(){ __setProp___id49__(); } function frame6(){ __setProp___id49__(); } function frame7(){ __setProp___id49__(); } function frame8(){ __setProp___id49__(); } function frame9(){ __setProp___id49__(); } function frame10(){ __setProp___id49__(); } function frame11(){ __setProp___id49__(); } function frame12(){ __setProp___id49__(); } function frame13(){ __setProp___id49__(); } function frame14(){ __setProp___id49__(); } function frame15(){ __setProp___id49__(); } function frame16(){ __setProp___id49__(); } function frame17(){ __setProp___id49__(); } function frame18(){ __setProp___id49__(); } function frame19(){ __setProp___id49__(); } function frame20(){ __setProp___id49___1(); } function frame21(){ __setProp___id49___1(); } function frame22(){ __setProp___id49___1(); } function frame23(){ __setProp___id49___1(); } function frame24(){ __setProp___id49___1(); } function frame25(){ __setProp___id49___1(); } function frame26(){ __setProp___id49___1(); } function frame27(){ __setProp___id49___1(); } function frame28(){ __setProp___id49___1(); } function frame29(){ __setProp___id49___1(); } } }//package
Section 291
//LevelSel15McLib (LevelSel15McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel15McLib extends MovieClip { public var __id50_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel15McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id50__(){ if ((((__setPropDict[__id50_] == undefined)) || (!((((int(__setPropDict[__id50_]) >= 1)) && ((int(__setPropDict[__id50_]) <= 19))))))){ __setPropDict[__id50_] = currentFrame; try { __id50_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id50_.text = "{levelNum}"; __id50_.textColor = 0xFFFF; __id50_.textSize = 12; __id50_.bold = true; __id50_.disableWordwrap = false; __id50_.embedFonts = true; __id50_.font = ""; __id50_.hAlign = "right"; __id50_.multiline = false; __id50_.vAlign = "top"; __id50_.antiAliasType = "advanced"; __id50_.glowBlur = 3; __id50_.glowColor = 0; __id50_.useGlowFilter = false; __id50_.glowQuality = 1; __id50_.glowStrength = 5; __id50_.gridFitType = "pixel"; __id50_.italic = false; __id50_.selectable = false; __id50_.underline = false; try { __id50_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id50___1(){ if ((((__setPropDict[__id50_] == undefined)) || (!((((int(__setPropDict[__id50_]) >= 20)) && ((int(__setPropDict[__id50_]) <= 29))))))){ __setPropDict[__id50_] = currentFrame; try { __id50_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id50_.text = "{levelNum}"; __id50_.textColor = 0xFFCC00; __id50_.textSize = 12; __id50_.bold = true; __id50_.disableWordwrap = false; __id50_.embedFonts = true; __id50_.font = ""; __id50_.hAlign = "right"; __id50_.multiline = false; __id50_.vAlign = "top"; __id50_.antiAliasType = "advanced"; __id50_.glowBlur = 3; __id50_.glowColor = 0; __id50_.useGlowFilter = false; __id50_.glowQuality = 1; __id50_.glowStrength = 5; __id50_.gridFitType = "pixel"; __id50_.italic = false; __id50_.selectable = false; __id50_.underline = false; try { __id50_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id50__(); } function frame2(){ __setProp___id50__(); } function frame3(){ __setProp___id50__(); } function frame4(){ __setProp___id50__(); } function frame5(){ __setProp___id50__(); } function frame6(){ __setProp___id50__(); } function frame7(){ __setProp___id50__(); } function frame8(){ __setProp___id50__(); } function frame9(){ __setProp___id50__(); } function frame10(){ __setProp___id50__(); } function frame11(){ __setProp___id50__(); } function frame12(){ __setProp___id50__(); } function frame13(){ __setProp___id50__(); } function frame14(){ __setProp___id50__(); } function frame15(){ __setProp___id50__(); } function frame16(){ __setProp___id50__(); } function frame17(){ __setProp___id50__(); } function frame18(){ __setProp___id50__(); } function frame19(){ __setProp___id50__(); } function frame20(){ __setProp___id50___1(); } function frame21(){ __setProp___id50___1(); } function frame22(){ __setProp___id50___1(); } function frame23(){ __setProp___id50___1(); } function frame24(){ __setProp___id50___1(); } function frame25(){ __setProp___id50___1(); } function frame26(){ __setProp___id50___1(); } function frame27(){ __setProp___id50___1(); } function frame28(){ __setProp___id50___1(); } function frame29(){ __setProp___id50___1(); } } }//package
Section 292
//LevelSel16McLib (LevelSel16McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel16McLib extends MovieClip { public var __id51_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel16McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id51__(){ if ((((__setPropDict[__id51_] == undefined)) || (!((((int(__setPropDict[__id51_]) >= 1)) && ((int(__setPropDict[__id51_]) <= 19))))))){ __setPropDict[__id51_] = currentFrame; try { __id51_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id51_.text = "{levelNum}"; __id51_.textColor = 0xFFFF; __id51_.textSize = 12; __id51_.bold = true; __id51_.disableWordwrap = false; __id51_.embedFonts = true; __id51_.font = ""; __id51_.hAlign = "right"; __id51_.multiline = false; __id51_.vAlign = "top"; __id51_.antiAliasType = "advanced"; __id51_.glowBlur = 3; __id51_.glowColor = 0; __id51_.useGlowFilter = false; __id51_.glowQuality = 1; __id51_.glowStrength = 5; __id51_.gridFitType = "pixel"; __id51_.italic = false; __id51_.selectable = false; __id51_.underline = false; try { __id51_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id51___1(){ if ((((__setPropDict[__id51_] == undefined)) || (!((((int(__setPropDict[__id51_]) >= 20)) && ((int(__setPropDict[__id51_]) <= 29))))))){ __setPropDict[__id51_] = currentFrame; try { __id51_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id51_.text = "{levelNum}"; __id51_.textColor = 0xFFCC00; __id51_.textSize = 12; __id51_.bold = true; __id51_.disableWordwrap = false; __id51_.embedFonts = true; __id51_.font = ""; __id51_.hAlign = "right"; __id51_.multiline = false; __id51_.vAlign = "top"; __id51_.antiAliasType = "advanced"; __id51_.glowBlur = 3; __id51_.glowColor = 0; __id51_.useGlowFilter = false; __id51_.glowQuality = 1; __id51_.glowStrength = 5; __id51_.gridFitType = "pixel"; __id51_.italic = false; __id51_.selectable = false; __id51_.underline = false; try { __id51_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id51__(); } function frame2(){ __setProp___id51__(); } function frame3(){ __setProp___id51__(); } function frame4(){ __setProp___id51__(); } function frame5(){ __setProp___id51__(); } function frame6(){ __setProp___id51__(); } function frame7(){ __setProp___id51__(); } function frame8(){ __setProp___id51__(); } function frame9(){ __setProp___id51__(); } function frame10(){ __setProp___id51__(); } function frame11(){ __setProp___id51__(); } function frame12(){ __setProp___id51__(); } function frame13(){ __setProp___id51__(); } function frame14(){ __setProp___id51__(); } function frame15(){ __setProp___id51__(); } function frame16(){ __setProp___id51__(); } function frame17(){ __setProp___id51__(); } function frame18(){ __setProp___id51__(); } function frame19(){ __setProp___id51__(); } function frame20(){ __setProp___id51___1(); } function frame21(){ __setProp___id51___1(); } function frame22(){ __setProp___id51___1(); } function frame23(){ __setProp___id51___1(); } function frame24(){ __setProp___id51___1(); } function frame25(){ __setProp___id51___1(); } function frame26(){ __setProp___id51___1(); } function frame27(){ __setProp___id51___1(); } function frame28(){ __setProp___id51___1(); } function frame29(){ __setProp___id51___1(); } } }//package
Section 293
//LevelSel17McLib (LevelSel17McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel17McLib extends MovieClip { public var __id52_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel17McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id52__(){ if ((((__setPropDict[__id52_] == undefined)) || (!((((int(__setPropDict[__id52_]) >= 1)) && ((int(__setPropDict[__id52_]) <= 19))))))){ __setPropDict[__id52_] = currentFrame; try { __id52_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id52_.text = "{levelNum}"; __id52_.textColor = 0xFFFF; __id52_.textSize = 12; __id52_.bold = true; __id52_.disableWordwrap = false; __id52_.embedFonts = true; __id52_.font = ""; __id52_.hAlign = "right"; __id52_.multiline = false; __id52_.vAlign = "top"; __id52_.antiAliasType = "advanced"; __id52_.glowBlur = 3; __id52_.glowColor = 0; __id52_.useGlowFilter = false; __id52_.glowQuality = 1; __id52_.glowStrength = 5; __id52_.gridFitType = "pixel"; __id52_.italic = false; __id52_.selectable = false; __id52_.underline = false; try { __id52_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id52___1(){ if ((((__setPropDict[__id52_] == undefined)) || (!((((int(__setPropDict[__id52_]) >= 20)) && ((int(__setPropDict[__id52_]) <= 29))))))){ __setPropDict[__id52_] = currentFrame; try { __id52_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id52_.text = "{levelNum}"; __id52_.textColor = 0xFFCC00; __id52_.textSize = 12; __id52_.bold = true; __id52_.disableWordwrap = false; __id52_.embedFonts = true; __id52_.font = ""; __id52_.hAlign = "right"; __id52_.multiline = false; __id52_.vAlign = "top"; __id52_.antiAliasType = "advanced"; __id52_.glowBlur = 3; __id52_.glowColor = 0; __id52_.useGlowFilter = false; __id52_.glowQuality = 1; __id52_.glowStrength = 5; __id52_.gridFitType = "pixel"; __id52_.italic = false; __id52_.selectable = false; __id52_.underline = false; try { __id52_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id52__(); } function frame2(){ __setProp___id52__(); } function frame3(){ __setProp___id52__(); } function frame4(){ __setProp___id52__(); } function frame5(){ __setProp___id52__(); } function frame6(){ __setProp___id52__(); } function frame7(){ __setProp___id52__(); } function frame8(){ __setProp___id52__(); } function frame9(){ __setProp___id52__(); } function frame10(){ __setProp___id52__(); } function frame11(){ __setProp___id52__(); } function frame12(){ __setProp___id52__(); } function frame13(){ __setProp___id52__(); } function frame14(){ __setProp___id52__(); } function frame15(){ __setProp___id52__(); } function frame16(){ __setProp___id52__(); } function frame17(){ __setProp___id52__(); } function frame18(){ __setProp___id52__(); } function frame19(){ __setProp___id52__(); } function frame20(){ __setProp___id52___1(); } function frame21(){ __setProp___id52___1(); } function frame22(){ __setProp___id52___1(); } function frame23(){ __setProp___id52___1(); } function frame24(){ __setProp___id52___1(); } function frame25(){ __setProp___id52___1(); } function frame26(){ __setProp___id52___1(); } function frame27(){ __setProp___id52___1(); } function frame28(){ __setProp___id52___1(); } function frame29(){ __setProp___id52___1(); } } }//package
Section 294
//LevelSel18McLib (LevelSel18McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel18McLib extends MovieClip { public var __id53_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel18McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id53__(){ if ((((__setPropDict[__id53_] == undefined)) || (!((((int(__setPropDict[__id53_]) >= 1)) && ((int(__setPropDict[__id53_]) <= 19))))))){ __setPropDict[__id53_] = currentFrame; try { __id53_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id53_.text = "{levelNum}"; __id53_.textColor = 0xFFFF; __id53_.textSize = 12; __id53_.bold = true; __id53_.disableWordwrap = false; __id53_.embedFonts = true; __id53_.font = ""; __id53_.hAlign = "right"; __id53_.multiline = false; __id53_.vAlign = "top"; __id53_.antiAliasType = "advanced"; __id53_.glowBlur = 3; __id53_.glowColor = 0; __id53_.useGlowFilter = false; __id53_.glowQuality = 1; __id53_.glowStrength = 5; __id53_.gridFitType = "pixel"; __id53_.italic = false; __id53_.selectable = false; __id53_.underline = false; try { __id53_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id53___1(){ if ((((__setPropDict[__id53_] == undefined)) || (!((((int(__setPropDict[__id53_]) >= 20)) && ((int(__setPropDict[__id53_]) <= 29))))))){ __setPropDict[__id53_] = currentFrame; try { __id53_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id53_.text = "{levelNum}"; __id53_.textColor = 0xFFCC00; __id53_.textSize = 12; __id53_.bold = true; __id53_.disableWordwrap = false; __id53_.embedFonts = true; __id53_.font = ""; __id53_.hAlign = "right"; __id53_.multiline = false; __id53_.vAlign = "top"; __id53_.antiAliasType = "advanced"; __id53_.glowBlur = 3; __id53_.glowColor = 0; __id53_.useGlowFilter = false; __id53_.glowQuality = 1; __id53_.glowStrength = 5; __id53_.gridFitType = "pixel"; __id53_.italic = false; __id53_.selectable = false; __id53_.underline = false; try { __id53_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id53__(); } function frame2(){ __setProp___id53__(); } function frame3(){ __setProp___id53__(); } function frame4(){ __setProp___id53__(); } function frame5(){ __setProp___id53__(); } function frame6(){ __setProp___id53__(); } function frame7(){ __setProp___id53__(); } function frame8(){ __setProp___id53__(); } function frame9(){ __setProp___id53__(); } function frame10(){ __setProp___id53__(); } function frame11(){ __setProp___id53__(); } function frame12(){ __setProp___id53__(); } function frame13(){ __setProp___id53__(); } function frame14(){ __setProp___id53__(); } function frame15(){ __setProp___id53__(); } function frame16(){ __setProp___id53__(); } function frame17(){ __setProp___id53__(); } function frame18(){ __setProp___id53__(); } function frame19(){ __setProp___id53__(); } function frame20(){ __setProp___id53___1(); } function frame21(){ __setProp___id53___1(); } function frame22(){ __setProp___id53___1(); } function frame23(){ __setProp___id53___1(); } function frame24(){ __setProp___id53___1(); } function frame25(){ __setProp___id53___1(); } function frame26(){ __setProp___id53___1(); } function frame27(){ __setProp___id53___1(); } function frame28(){ __setProp___id53___1(); } function frame29(){ __setProp___id53___1(); } } }//package
Section 295
//LevelSel19McLib (LevelSel19McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel19McLib extends MovieClip { public var __id54_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel19McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id54__(){ if ((((__setPropDict[__id54_] == undefined)) || (!((((int(__setPropDict[__id54_]) >= 1)) && ((int(__setPropDict[__id54_]) <= 19))))))){ __setPropDict[__id54_] = currentFrame; try { __id54_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id54_.text = "{levelNum}"; __id54_.textColor = 0xFFFF; __id54_.textSize = 12; __id54_.bold = true; __id54_.disableWordwrap = false; __id54_.embedFonts = true; __id54_.font = ""; __id54_.hAlign = "right"; __id54_.multiline = false; __id54_.vAlign = "top"; __id54_.antiAliasType = "advanced"; __id54_.glowBlur = 3; __id54_.glowColor = 0; __id54_.useGlowFilter = false; __id54_.glowQuality = 1; __id54_.glowStrength = 5; __id54_.gridFitType = "pixel"; __id54_.italic = false; __id54_.selectable = false; __id54_.underline = false; try { __id54_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id54___1(){ if ((((__setPropDict[__id54_] == undefined)) || (!((((int(__setPropDict[__id54_]) >= 20)) && ((int(__setPropDict[__id54_]) <= 29))))))){ __setPropDict[__id54_] = currentFrame; try { __id54_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id54_.text = "{levelNum}"; __id54_.textColor = 0xFFCC00; __id54_.textSize = 12; __id54_.bold = true; __id54_.disableWordwrap = false; __id54_.embedFonts = true; __id54_.font = ""; __id54_.hAlign = "right"; __id54_.multiline = false; __id54_.vAlign = "top"; __id54_.antiAliasType = "advanced"; __id54_.glowBlur = 3; __id54_.glowColor = 0; __id54_.useGlowFilter = false; __id54_.glowQuality = 1; __id54_.glowStrength = 5; __id54_.gridFitType = "pixel"; __id54_.italic = false; __id54_.selectable = false; __id54_.underline = false; try { __id54_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id54__(); } function frame2(){ __setProp___id54__(); } function frame3(){ __setProp___id54__(); } function frame4(){ __setProp___id54__(); } function frame5(){ __setProp___id54__(); } function frame6(){ __setProp___id54__(); } function frame7(){ __setProp___id54__(); } function frame8(){ __setProp___id54__(); } function frame9(){ __setProp___id54__(); } function frame10(){ __setProp___id54__(); } function frame11(){ __setProp___id54__(); } function frame12(){ __setProp___id54__(); } function frame13(){ __setProp___id54__(); } function frame14(){ __setProp___id54__(); } function frame15(){ __setProp___id54__(); } function frame16(){ __setProp___id54__(); } function frame17(){ __setProp___id54__(); } function frame18(){ __setProp___id54__(); } function frame19(){ __setProp___id54__(); } function frame20(){ __setProp___id54___1(); } function frame21(){ __setProp___id54___1(); } function frame22(){ __setProp___id54___1(); } function frame23(){ __setProp___id54___1(); } function frame24(){ __setProp___id54___1(); } function frame25(){ __setProp___id54___1(); } function frame26(){ __setProp___id54___1(); } function frame27(){ __setProp___id54___1(); } function frame28(){ __setProp___id54___1(); } function frame29(){ __setProp___id54___1(); } } }//package
Section 296
//LevelSel1McLib (LevelSel1McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel1McLib extends MovieClip { public var __id36_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel1McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id36__(){ if ((((__setPropDict[__id36_] == undefined)) || (!((((int(__setPropDict[__id36_]) >= 1)) && ((int(__setPropDict[__id36_]) <= 19))))))){ __setPropDict[__id36_] = currentFrame; try { __id36_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id36_.text = "{levelNum}"; __id36_.textColor = 0xFFFF; __id36_.textSize = 12; __id36_.bold = true; __id36_.disableWordwrap = false; __id36_.embedFonts = true; __id36_.font = ""; __id36_.hAlign = "right"; __id36_.multiline = false; __id36_.vAlign = "top"; __id36_.antiAliasType = "advanced"; __id36_.glowBlur = 3; __id36_.glowColor = 0; __id36_.useGlowFilter = false; __id36_.glowQuality = 1; __id36_.glowStrength = 5; __id36_.gridFitType = "pixel"; __id36_.italic = false; __id36_.selectable = false; __id36_.underline = false; try { __id36_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id36___1(){ if ((((__setPropDict[__id36_] == undefined)) || (!((((int(__setPropDict[__id36_]) >= 20)) && ((int(__setPropDict[__id36_]) <= 29))))))){ __setPropDict[__id36_] = currentFrame; try { __id36_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id36_.text = "{levelNum}"; __id36_.textColor = 0xFFCC00; __id36_.textSize = 12; __id36_.bold = true; __id36_.disableWordwrap = false; __id36_.embedFonts = true; __id36_.font = ""; __id36_.hAlign = "right"; __id36_.multiline = false; __id36_.vAlign = "top"; __id36_.antiAliasType = "advanced"; __id36_.glowBlur = 3; __id36_.glowColor = 0; __id36_.useGlowFilter = false; __id36_.glowQuality = 1; __id36_.glowStrength = 5; __id36_.gridFitType = "pixel"; __id36_.italic = false; __id36_.selectable = false; __id36_.underline = false; try { __id36_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id36__(); } function frame2(){ __setProp___id36__(); } function frame3(){ __setProp___id36__(); } function frame4(){ __setProp___id36__(); } function frame5(){ __setProp___id36__(); } function frame6(){ __setProp___id36__(); } function frame7(){ __setProp___id36__(); } function frame8(){ __setProp___id36__(); } function frame9(){ __setProp___id36__(); } function frame10(){ __setProp___id36__(); } function frame11(){ __setProp___id36__(); } function frame12(){ __setProp___id36__(); } function frame13(){ __setProp___id36__(); } function frame14(){ __setProp___id36__(); } function frame15(){ __setProp___id36__(); } function frame16(){ __setProp___id36__(); } function frame17(){ __setProp___id36__(); } function frame18(){ __setProp___id36__(); } function frame19(){ __setProp___id36__(); } function frame20(){ __setProp___id36___1(); } function frame21(){ __setProp___id36___1(); } function frame22(){ __setProp___id36___1(); } function frame23(){ __setProp___id36___1(); } function frame24(){ __setProp___id36___1(); } function frame25(){ __setProp___id36___1(); } function frame26(){ __setProp___id36___1(); } function frame27(){ __setProp___id36___1(); } function frame28(){ __setProp___id36___1(); } function frame29(){ __setProp___id36___1(); } } }//package
Section 297
//LevelSel20McLib (LevelSel20McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel20McLib extends MovieClip { public var __id55_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel20McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id55__(){ if ((((__setPropDict[__id55_] == undefined)) || (!((((int(__setPropDict[__id55_]) >= 1)) && ((int(__setPropDict[__id55_]) <= 19))))))){ __setPropDict[__id55_] = currentFrame; try { __id55_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id55_.text = "{levelNum}"; __id55_.textColor = 0xFFFF; __id55_.textSize = 12; __id55_.bold = true; __id55_.disableWordwrap = false; __id55_.embedFonts = true; __id55_.font = ""; __id55_.hAlign = "right"; __id55_.multiline = false; __id55_.vAlign = "top"; __id55_.antiAliasType = "advanced"; __id55_.glowBlur = 3; __id55_.glowColor = 0; __id55_.useGlowFilter = false; __id55_.glowQuality = 1; __id55_.glowStrength = 5; __id55_.gridFitType = "pixel"; __id55_.italic = false; __id55_.selectable = false; __id55_.underline = false; try { __id55_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id55___1(){ if ((((__setPropDict[__id55_] == undefined)) || (!((((int(__setPropDict[__id55_]) >= 20)) && ((int(__setPropDict[__id55_]) <= 29))))))){ __setPropDict[__id55_] = currentFrame; try { __id55_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id55_.text = "{levelNum}"; __id55_.textColor = 0xFFCC00; __id55_.textSize = 12; __id55_.bold = true; __id55_.disableWordwrap = false; __id55_.embedFonts = true; __id55_.font = ""; __id55_.hAlign = "right"; __id55_.multiline = false; __id55_.vAlign = "top"; __id55_.antiAliasType = "advanced"; __id55_.glowBlur = 3; __id55_.glowColor = 0; __id55_.useGlowFilter = false; __id55_.glowQuality = 1; __id55_.glowStrength = 5; __id55_.gridFitType = "pixel"; __id55_.italic = false; __id55_.selectable = false; __id55_.underline = false; try { __id55_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id55__(); } function frame2(){ __setProp___id55__(); } function frame3(){ __setProp___id55__(); } function frame4(){ __setProp___id55__(); } function frame5(){ __setProp___id55__(); } function frame6(){ __setProp___id55__(); } function frame7(){ __setProp___id55__(); } function frame8(){ __setProp___id55__(); } function frame9(){ __setProp___id55__(); } function frame10(){ __setProp___id55__(); } function frame11(){ __setProp___id55__(); } function frame12(){ __setProp___id55__(); } function frame13(){ __setProp___id55__(); } function frame14(){ __setProp___id55__(); } function frame15(){ __setProp___id55__(); } function frame16(){ __setProp___id55__(); } function frame17(){ __setProp___id55__(); } function frame18(){ __setProp___id55__(); } function frame19(){ __setProp___id55__(); } function frame20(){ __setProp___id55___1(); } function frame21(){ __setProp___id55___1(); } function frame22(){ __setProp___id55___1(); } function frame23(){ __setProp___id55___1(); } function frame24(){ __setProp___id55___1(); } function frame25(){ __setProp___id55___1(); } function frame26(){ __setProp___id55___1(); } function frame27(){ __setProp___id55___1(); } function frame28(){ __setProp___id55___1(); } function frame29(){ __setProp___id55___1(); } } }//package
Section 298
//LevelSel21McLib (LevelSel21McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel21McLib extends MovieClip { public var __id56_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel21McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id56__(){ if ((((__setPropDict[__id56_] == undefined)) || (!((((int(__setPropDict[__id56_]) >= 1)) && ((int(__setPropDict[__id56_]) <= 19))))))){ __setPropDict[__id56_] = currentFrame; try { __id56_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id56_.text = "{levelNum}"; __id56_.textColor = 0xFFFF; __id56_.textSize = 12; __id56_.bold = true; __id56_.disableWordwrap = false; __id56_.embedFonts = true; __id56_.font = ""; __id56_.hAlign = "right"; __id56_.multiline = false; __id56_.vAlign = "top"; __id56_.antiAliasType = "advanced"; __id56_.glowBlur = 3; __id56_.glowColor = 0; __id56_.useGlowFilter = false; __id56_.glowQuality = 1; __id56_.glowStrength = 5; __id56_.gridFitType = "pixel"; __id56_.italic = false; __id56_.selectable = false; __id56_.underline = false; try { __id56_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id56___1(){ if ((((__setPropDict[__id56_] == undefined)) || (!((((int(__setPropDict[__id56_]) >= 20)) && ((int(__setPropDict[__id56_]) <= 29))))))){ __setPropDict[__id56_] = currentFrame; try { __id56_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id56_.text = "{levelNum}"; __id56_.textColor = 0xFFCC00; __id56_.textSize = 12; __id56_.bold = true; __id56_.disableWordwrap = false; __id56_.embedFonts = true; __id56_.font = ""; __id56_.hAlign = "right"; __id56_.multiline = false; __id56_.vAlign = "top"; __id56_.antiAliasType = "advanced"; __id56_.glowBlur = 3; __id56_.glowColor = 0; __id56_.useGlowFilter = false; __id56_.glowQuality = 1; __id56_.glowStrength = 5; __id56_.gridFitType = "pixel"; __id56_.italic = false; __id56_.selectable = false; __id56_.underline = false; try { __id56_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id56__(); } function frame2(){ __setProp___id56__(); } function frame3(){ __setProp___id56__(); } function frame4(){ __setProp___id56__(); } function frame5(){ __setProp___id56__(); } function frame6(){ __setProp___id56__(); } function frame7(){ __setProp___id56__(); } function frame8(){ __setProp___id56__(); } function frame9(){ __setProp___id56__(); } function frame10(){ __setProp___id56__(); } function frame11(){ __setProp___id56__(); } function frame12(){ __setProp___id56__(); } function frame13(){ __setProp___id56__(); } function frame14(){ __setProp___id56__(); } function frame15(){ __setProp___id56__(); } function frame16(){ __setProp___id56__(); } function frame17(){ __setProp___id56__(); } function frame18(){ __setProp___id56__(); } function frame19(){ __setProp___id56__(); } function frame20(){ __setProp___id56___1(); } function frame21(){ __setProp___id56___1(); } function frame22(){ __setProp___id56___1(); } function frame23(){ __setProp___id56___1(); } function frame24(){ __setProp___id56___1(); } function frame25(){ __setProp___id56___1(); } function frame26(){ __setProp___id56___1(); } function frame27(){ __setProp___id56___1(); } function frame28(){ __setProp___id56___1(); } function frame29(){ __setProp___id56___1(); } } }//package
Section 299
//LevelSel22McLib (LevelSel22McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel22McLib extends MovieClip { public var __id57_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel22McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id57__(){ if ((((__setPropDict[__id57_] == undefined)) || (!((((int(__setPropDict[__id57_]) >= 1)) && ((int(__setPropDict[__id57_]) <= 19))))))){ __setPropDict[__id57_] = currentFrame; try { __id57_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id57_.text = "{levelNum}"; __id57_.textColor = 0xFFFF; __id57_.textSize = 12; __id57_.bold = true; __id57_.disableWordwrap = false; __id57_.embedFonts = true; __id57_.font = ""; __id57_.hAlign = "right"; __id57_.multiline = false; __id57_.vAlign = "top"; __id57_.antiAliasType = "advanced"; __id57_.glowBlur = 3; __id57_.glowColor = 0; __id57_.useGlowFilter = false; __id57_.glowQuality = 1; __id57_.glowStrength = 5; __id57_.gridFitType = "pixel"; __id57_.italic = false; __id57_.selectable = false; __id57_.underline = false; try { __id57_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id57___1(){ if ((((__setPropDict[__id57_] == undefined)) || (!((((int(__setPropDict[__id57_]) >= 20)) && ((int(__setPropDict[__id57_]) <= 29))))))){ __setPropDict[__id57_] = currentFrame; try { __id57_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id57_.text = "{levelNum}"; __id57_.textColor = 0xFFCC00; __id57_.textSize = 12; __id57_.bold = true; __id57_.disableWordwrap = false; __id57_.embedFonts = true; __id57_.font = ""; __id57_.hAlign = "right"; __id57_.multiline = false; __id57_.vAlign = "top"; __id57_.antiAliasType = "advanced"; __id57_.glowBlur = 3; __id57_.glowColor = 0; __id57_.useGlowFilter = false; __id57_.glowQuality = 1; __id57_.glowStrength = 5; __id57_.gridFitType = "pixel"; __id57_.italic = false; __id57_.selectable = false; __id57_.underline = false; try { __id57_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id57__(); } function frame2(){ __setProp___id57__(); } function frame3(){ __setProp___id57__(); } function frame4(){ __setProp___id57__(); } function frame5(){ __setProp___id57__(); } function frame6(){ __setProp___id57__(); } function frame7(){ __setProp___id57__(); } function frame8(){ __setProp___id57__(); } function frame9(){ __setProp___id57__(); } function frame10(){ __setProp___id57__(); } function frame11(){ __setProp___id57__(); } function frame12(){ __setProp___id57__(); } function frame13(){ __setProp___id57__(); } function frame14(){ __setProp___id57__(); } function frame15(){ __setProp___id57__(); } function frame16(){ __setProp___id57__(); } function frame17(){ __setProp___id57__(); } function frame18(){ __setProp___id57__(); } function frame19(){ __setProp___id57__(); } function frame20(){ __setProp___id57___1(); } function frame21(){ __setProp___id57___1(); } function frame22(){ __setProp___id57___1(); } function frame23(){ __setProp___id57___1(); } function frame24(){ __setProp___id57___1(); } function frame25(){ __setProp___id57___1(); } function frame26(){ __setProp___id57___1(); } function frame27(){ __setProp___id57___1(); } function frame28(){ __setProp___id57___1(); } function frame29(){ __setProp___id57___1(); } } }//package
Section 300
//LevelSel23McLib (LevelSel23McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel23McLib extends MovieClip { public var __id58_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel23McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id58__(){ if ((((__setPropDict[__id58_] == undefined)) || (!((((int(__setPropDict[__id58_]) >= 1)) && ((int(__setPropDict[__id58_]) <= 19))))))){ __setPropDict[__id58_] = currentFrame; try { __id58_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id58_.text = "{levelNum}"; __id58_.textColor = 0xFFFF; __id58_.textSize = 12; __id58_.bold = true; __id58_.disableWordwrap = false; __id58_.embedFonts = true; __id58_.font = ""; __id58_.hAlign = "right"; __id58_.multiline = false; __id58_.vAlign = "top"; __id58_.antiAliasType = "advanced"; __id58_.glowBlur = 3; __id58_.glowColor = 0; __id58_.useGlowFilter = false; __id58_.glowQuality = 1; __id58_.glowStrength = 5; __id58_.gridFitType = "pixel"; __id58_.italic = false; __id58_.selectable = false; __id58_.underline = false; try { __id58_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id58___1(){ if ((((__setPropDict[__id58_] == undefined)) || (!((((int(__setPropDict[__id58_]) >= 20)) && ((int(__setPropDict[__id58_]) <= 29))))))){ __setPropDict[__id58_] = currentFrame; try { __id58_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id58_.text = "{levelNum}"; __id58_.textColor = 0xFFCC00; __id58_.textSize = 12; __id58_.bold = true; __id58_.disableWordwrap = false; __id58_.embedFonts = true; __id58_.font = ""; __id58_.hAlign = "right"; __id58_.multiline = false; __id58_.vAlign = "top"; __id58_.antiAliasType = "advanced"; __id58_.glowBlur = 3; __id58_.glowColor = 0; __id58_.useGlowFilter = false; __id58_.glowQuality = 1; __id58_.glowStrength = 5; __id58_.gridFitType = "pixel"; __id58_.italic = false; __id58_.selectable = false; __id58_.underline = false; try { __id58_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id58__(); } function frame2(){ __setProp___id58__(); } function frame3(){ __setProp___id58__(); } function frame4(){ __setProp___id58__(); } function frame5(){ __setProp___id58__(); } function frame6(){ __setProp___id58__(); } function frame7(){ __setProp___id58__(); } function frame8(){ __setProp___id58__(); } function frame9(){ __setProp___id58__(); } function frame10(){ __setProp___id58__(); } function frame11(){ __setProp___id58__(); } function frame12(){ __setProp___id58__(); } function frame13(){ __setProp___id58__(); } function frame14(){ __setProp___id58__(); } function frame15(){ __setProp___id58__(); } function frame16(){ __setProp___id58__(); } function frame17(){ __setProp___id58__(); } function frame18(){ __setProp___id58__(); } function frame19(){ __setProp___id58__(); } function frame20(){ __setProp___id58___1(); } function frame21(){ __setProp___id58___1(); } function frame22(){ __setProp___id58___1(); } function frame23(){ __setProp___id58___1(); } function frame24(){ __setProp___id58___1(); } function frame25(){ __setProp___id58___1(); } function frame26(){ __setProp___id58___1(); } function frame27(){ __setProp___id58___1(); } function frame28(){ __setProp___id58___1(); } function frame29(){ __setProp___id58___1(); } } }//package
Section 301
//LevelSel24McLib (LevelSel24McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel24McLib extends MovieClip { public var __id59_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel24McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id59__(){ if ((((__setPropDict[__id59_] == undefined)) || (!((((int(__setPropDict[__id59_]) >= 1)) && ((int(__setPropDict[__id59_]) <= 19))))))){ __setPropDict[__id59_] = currentFrame; try { __id59_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id59_.text = "{levelNum}"; __id59_.textColor = 0xFFFF; __id59_.textSize = 12; __id59_.bold = true; __id59_.disableWordwrap = false; __id59_.embedFonts = true; __id59_.font = ""; __id59_.hAlign = "right"; __id59_.multiline = false; __id59_.vAlign = "top"; __id59_.antiAliasType = "advanced"; __id59_.glowBlur = 3; __id59_.glowColor = 0; __id59_.useGlowFilter = false; __id59_.glowQuality = 1; __id59_.glowStrength = 5; __id59_.gridFitType = "pixel"; __id59_.italic = false; __id59_.selectable = false; __id59_.underline = false; try { __id59_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id59___1(){ if ((((__setPropDict[__id59_] == undefined)) || (!((((int(__setPropDict[__id59_]) >= 20)) && ((int(__setPropDict[__id59_]) <= 29))))))){ __setPropDict[__id59_] = currentFrame; try { __id59_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id59_.text = "{levelNum}"; __id59_.textColor = 0xFFCC00; __id59_.textSize = 12; __id59_.bold = true; __id59_.disableWordwrap = false; __id59_.embedFonts = true; __id59_.font = ""; __id59_.hAlign = "right"; __id59_.multiline = false; __id59_.vAlign = "top"; __id59_.antiAliasType = "advanced"; __id59_.glowBlur = 3; __id59_.glowColor = 0; __id59_.useGlowFilter = false; __id59_.glowQuality = 1; __id59_.glowStrength = 5; __id59_.gridFitType = "pixel"; __id59_.italic = false; __id59_.selectable = false; __id59_.underline = false; try { __id59_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id59__(); } function frame2(){ __setProp___id59__(); } function frame3(){ __setProp___id59__(); } function frame4(){ __setProp___id59__(); } function frame5(){ __setProp___id59__(); } function frame6(){ __setProp___id59__(); } function frame7(){ __setProp___id59__(); } function frame8(){ __setProp___id59__(); } function frame9(){ __setProp___id59__(); } function frame10(){ __setProp___id59__(); } function frame11(){ __setProp___id59__(); } function frame12(){ __setProp___id59__(); } function frame13(){ __setProp___id59__(); } function frame14(){ __setProp___id59__(); } function frame15(){ __setProp___id59__(); } function frame16(){ __setProp___id59__(); } function frame17(){ __setProp___id59__(); } function frame18(){ __setProp___id59__(); } function frame19(){ __setProp___id59__(); } function frame20(){ __setProp___id59___1(); } function frame21(){ __setProp___id59___1(); } function frame22(){ __setProp___id59___1(); } function frame23(){ __setProp___id59___1(); } function frame24(){ __setProp___id59___1(); } function frame25(){ __setProp___id59___1(); } function frame26(){ __setProp___id59___1(); } function frame27(){ __setProp___id59___1(); } function frame28(){ __setProp___id59___1(); } function frame29(){ __setProp___id59___1(); } } }//package
Section 302
//LevelSel25McLib (LevelSel25McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel25McLib extends MovieClip { public var __id60_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel25McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id60__(){ if ((((__setPropDict[__id60_] == undefined)) || (!((((int(__setPropDict[__id60_]) >= 1)) && ((int(__setPropDict[__id60_]) <= 19))))))){ __setPropDict[__id60_] = currentFrame; try { __id60_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id60_.text = "{levelNum}"; __id60_.textColor = 0xFFFF; __id60_.textSize = 12; __id60_.bold = true; __id60_.disableWordwrap = false; __id60_.embedFonts = true; __id60_.font = ""; __id60_.hAlign = "right"; __id60_.multiline = false; __id60_.vAlign = "top"; __id60_.antiAliasType = "advanced"; __id60_.glowBlur = 3; __id60_.glowColor = 0; __id60_.useGlowFilter = false; __id60_.glowQuality = 1; __id60_.glowStrength = 5; __id60_.gridFitType = "pixel"; __id60_.italic = false; __id60_.selectable = false; __id60_.underline = false; try { __id60_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id60___1(){ if ((((__setPropDict[__id60_] == undefined)) || (!((((int(__setPropDict[__id60_]) >= 20)) && ((int(__setPropDict[__id60_]) <= 29))))))){ __setPropDict[__id60_] = currentFrame; try { __id60_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id60_.text = "{levelNum}"; __id60_.textColor = 0xFFCC00; __id60_.textSize = 12; __id60_.bold = true; __id60_.disableWordwrap = false; __id60_.embedFonts = true; __id60_.font = ""; __id60_.hAlign = "right"; __id60_.multiline = false; __id60_.vAlign = "top"; __id60_.antiAliasType = "advanced"; __id60_.glowBlur = 3; __id60_.glowColor = 0; __id60_.useGlowFilter = false; __id60_.glowQuality = 1; __id60_.glowStrength = 5; __id60_.gridFitType = "pixel"; __id60_.italic = false; __id60_.selectable = false; __id60_.underline = false; try { __id60_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id60__(); } function frame2(){ __setProp___id60__(); } function frame3(){ __setProp___id60__(); } function frame4(){ __setProp___id60__(); } function frame5(){ __setProp___id60__(); } function frame6(){ __setProp___id60__(); } function frame7(){ __setProp___id60__(); } function frame8(){ __setProp___id60__(); } function frame9(){ __setProp___id60__(); } function frame10(){ __setProp___id60__(); } function frame11(){ __setProp___id60__(); } function frame12(){ __setProp___id60__(); } function frame13(){ __setProp___id60__(); } function frame14(){ __setProp___id60__(); } function frame15(){ __setProp___id60__(); } function frame16(){ __setProp___id60__(); } function frame17(){ __setProp___id60__(); } function frame18(){ __setProp___id60__(); } function frame19(){ __setProp___id60__(); } function frame20(){ __setProp___id60___1(); } function frame21(){ __setProp___id60___1(); } function frame22(){ __setProp___id60___1(); } function frame23(){ __setProp___id60___1(); } function frame24(){ __setProp___id60___1(); } function frame25(){ __setProp___id60___1(); } function frame26(){ __setProp___id60___1(); } function frame27(){ __setProp___id60___1(); } function frame28(){ __setProp___id60___1(); } function frame29(){ __setProp___id60___1(); } } }//package
Section 303
//LevelSel2McLib (LevelSel2McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel2McLib extends MovieClip { public var __id37_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel2McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id37__(){ if ((((__setPropDict[__id37_] == undefined)) || (!((((int(__setPropDict[__id37_]) >= 1)) && ((int(__setPropDict[__id37_]) <= 19))))))){ __setPropDict[__id37_] = currentFrame; try { __id37_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id37_.text = "{levelNum}"; __id37_.textColor = 0xFFFF; __id37_.textSize = 12; __id37_.bold = true; __id37_.disableWordwrap = false; __id37_.embedFonts = true; __id37_.font = ""; __id37_.hAlign = "right"; __id37_.multiline = false; __id37_.vAlign = "top"; __id37_.antiAliasType = "advanced"; __id37_.glowBlur = 3; __id37_.glowColor = 0; __id37_.useGlowFilter = false; __id37_.glowQuality = 1; __id37_.glowStrength = 5; __id37_.gridFitType = "pixel"; __id37_.italic = false; __id37_.selectable = false; __id37_.underline = false; try { __id37_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id37___1(){ if ((((__setPropDict[__id37_] == undefined)) || (!((((int(__setPropDict[__id37_]) >= 20)) && ((int(__setPropDict[__id37_]) <= 29))))))){ __setPropDict[__id37_] = currentFrame; try { __id37_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id37_.text = "{levelNum}"; __id37_.textColor = 0xFFCC00; __id37_.textSize = 12; __id37_.bold = true; __id37_.disableWordwrap = false; __id37_.embedFonts = true; __id37_.font = ""; __id37_.hAlign = "right"; __id37_.multiline = false; __id37_.vAlign = "top"; __id37_.antiAliasType = "advanced"; __id37_.glowBlur = 3; __id37_.glowColor = 0; __id37_.useGlowFilter = false; __id37_.glowQuality = 1; __id37_.glowStrength = 5; __id37_.gridFitType = "pixel"; __id37_.italic = false; __id37_.selectable = false; __id37_.underline = false; try { __id37_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id37__(); } function frame2(){ __setProp___id37__(); } function frame3(){ __setProp___id37__(); } function frame4(){ __setProp___id37__(); } function frame5(){ __setProp___id37__(); } function frame6(){ __setProp___id37__(); } function frame7(){ __setProp___id37__(); } function frame8(){ __setProp___id37__(); } function frame9(){ __setProp___id37__(); } function frame10(){ __setProp___id37__(); } function frame11(){ __setProp___id37__(); } function frame12(){ __setProp___id37__(); } function frame13(){ __setProp___id37__(); } function frame14(){ __setProp___id37__(); } function frame15(){ __setProp___id37__(); } function frame16(){ __setProp___id37__(); } function frame17(){ __setProp___id37__(); } function frame18(){ __setProp___id37__(); } function frame19(){ __setProp___id37__(); } function frame20(){ __setProp___id37___1(); } function frame21(){ __setProp___id37___1(); } function frame22(){ __setProp___id37___1(); } function frame23(){ __setProp___id37___1(); } function frame24(){ __setProp___id37___1(); } function frame25(){ __setProp___id37___1(); } function frame26(){ __setProp___id37___1(); } function frame27(){ __setProp___id37___1(); } function frame28(){ __setProp___id37___1(); } function frame29(){ __setProp___id37___1(); } } }//package
Section 304
//LevelSel3McLib (LevelSel3McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel3McLib extends MovieClip { public var __id38_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel3McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id38__(){ if ((((__setPropDict[__id38_] == undefined)) || (!((((int(__setPropDict[__id38_]) >= 1)) && ((int(__setPropDict[__id38_]) <= 19))))))){ __setPropDict[__id38_] = currentFrame; try { __id38_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id38_.text = "{levelNum}"; __id38_.textColor = 0xFFFF; __id38_.textSize = 12; __id38_.bold = true; __id38_.disableWordwrap = false; __id38_.embedFonts = true; __id38_.font = ""; __id38_.hAlign = "right"; __id38_.multiline = false; __id38_.vAlign = "top"; __id38_.antiAliasType = "advanced"; __id38_.glowBlur = 3; __id38_.glowColor = 0; __id38_.useGlowFilter = false; __id38_.glowQuality = 1; __id38_.glowStrength = 5; __id38_.gridFitType = "pixel"; __id38_.italic = false; __id38_.selectable = false; __id38_.underline = false; try { __id38_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id38___1(){ if ((((__setPropDict[__id38_] == undefined)) || (!((((int(__setPropDict[__id38_]) >= 20)) && ((int(__setPropDict[__id38_]) <= 29))))))){ __setPropDict[__id38_] = currentFrame; try { __id38_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id38_.text = "{levelNum}"; __id38_.textColor = 0xFFCC00; __id38_.textSize = 12; __id38_.bold = true; __id38_.disableWordwrap = false; __id38_.embedFonts = true; __id38_.font = ""; __id38_.hAlign = "right"; __id38_.multiline = false; __id38_.vAlign = "top"; __id38_.antiAliasType = "advanced"; __id38_.glowBlur = 3; __id38_.glowColor = 0; __id38_.useGlowFilter = false; __id38_.glowQuality = 1; __id38_.glowStrength = 5; __id38_.gridFitType = "pixel"; __id38_.italic = false; __id38_.selectable = false; __id38_.underline = false; try { __id38_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id38__(); } function frame2(){ __setProp___id38__(); } function frame3(){ __setProp___id38__(); } function frame4(){ __setProp___id38__(); } function frame5(){ __setProp___id38__(); } function frame6(){ __setProp___id38__(); } function frame7(){ __setProp___id38__(); } function frame8(){ __setProp___id38__(); } function frame9(){ __setProp___id38__(); } function frame10(){ __setProp___id38__(); } function frame11(){ __setProp___id38__(); } function frame12(){ __setProp___id38__(); } function frame13(){ __setProp___id38__(); } function frame14(){ __setProp___id38__(); } function frame15(){ __setProp___id38__(); } function frame16(){ __setProp___id38__(); } function frame17(){ __setProp___id38__(); } function frame18(){ __setProp___id38__(); } function frame19(){ __setProp___id38__(); } function frame20(){ __setProp___id38___1(); } function frame21(){ __setProp___id38___1(); } function frame22(){ __setProp___id38___1(); } function frame23(){ __setProp___id38___1(); } function frame24(){ __setProp___id38___1(); } function frame25(){ __setProp___id38___1(); } function frame26(){ __setProp___id38___1(); } function frame27(){ __setProp___id38___1(); } function frame28(){ __setProp___id38___1(); } function frame29(){ __setProp___id38___1(); } } }//package
Section 305
//LevelSel4McLib (LevelSel4McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel4McLib extends MovieClip { public var __id39_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel4McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id39__(){ if ((((__setPropDict[__id39_] == undefined)) || (!((((int(__setPropDict[__id39_]) >= 1)) && ((int(__setPropDict[__id39_]) <= 19))))))){ __setPropDict[__id39_] = currentFrame; try { __id39_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id39_.text = "{levelNum}"; __id39_.textColor = 0xFFFF; __id39_.textSize = 12; __id39_.bold = true; __id39_.disableWordwrap = false; __id39_.embedFonts = true; __id39_.font = ""; __id39_.hAlign = "right"; __id39_.multiline = false; __id39_.vAlign = "top"; __id39_.antiAliasType = "advanced"; __id39_.glowBlur = 3; __id39_.glowColor = 0; __id39_.useGlowFilter = false; __id39_.glowQuality = 1; __id39_.glowStrength = 5; __id39_.gridFitType = "pixel"; __id39_.italic = false; __id39_.selectable = false; __id39_.underline = false; try { __id39_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id39___1(){ if ((((__setPropDict[__id39_] == undefined)) || (!((((int(__setPropDict[__id39_]) >= 20)) && ((int(__setPropDict[__id39_]) <= 29))))))){ __setPropDict[__id39_] = currentFrame; try { __id39_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id39_.text = "{levelNum}"; __id39_.textColor = 0xFFCC00; __id39_.textSize = 12; __id39_.bold = true; __id39_.disableWordwrap = false; __id39_.embedFonts = true; __id39_.font = ""; __id39_.hAlign = "right"; __id39_.multiline = false; __id39_.vAlign = "top"; __id39_.antiAliasType = "advanced"; __id39_.glowBlur = 3; __id39_.glowColor = 0; __id39_.useGlowFilter = false; __id39_.glowQuality = 1; __id39_.glowStrength = 5; __id39_.gridFitType = "pixel"; __id39_.italic = false; __id39_.selectable = false; __id39_.underline = false; try { __id39_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id39__(); } function frame2(){ __setProp___id39__(); } function frame3(){ __setProp___id39__(); } function frame4(){ __setProp___id39__(); } function frame5(){ __setProp___id39__(); } function frame6(){ __setProp___id39__(); } function frame7(){ __setProp___id39__(); } function frame8(){ __setProp___id39__(); } function frame9(){ __setProp___id39__(); } function frame10(){ __setProp___id39__(); } function frame11(){ __setProp___id39__(); } function frame12(){ __setProp___id39__(); } function frame13(){ __setProp___id39__(); } function frame14(){ __setProp___id39__(); } function frame15(){ __setProp___id39__(); } function frame16(){ __setProp___id39__(); } function frame17(){ __setProp___id39__(); } function frame18(){ __setProp___id39__(); } function frame19(){ __setProp___id39__(); } function frame20(){ __setProp___id39___1(); } function frame21(){ __setProp___id39___1(); } function frame22(){ __setProp___id39___1(); } function frame23(){ __setProp___id39___1(); } function frame24(){ __setProp___id39___1(); } function frame25(){ __setProp___id39___1(); } function frame26(){ __setProp___id39___1(); } function frame27(){ __setProp___id39___1(); } function frame28(){ __setProp___id39___1(); } function frame29(){ __setProp___id39___1(); } } }//package
Section 306
//LevelSel5McLib (LevelSel5McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel5McLib extends MovieClip { public var __id40_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel5McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id40__(){ if ((((__setPropDict[__id40_] == undefined)) || (!((((int(__setPropDict[__id40_]) >= 1)) && ((int(__setPropDict[__id40_]) <= 19))))))){ __setPropDict[__id40_] = currentFrame; try { __id40_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id40_.text = "{levelNum}"; __id40_.textColor = 0xFFFF; __id40_.textSize = 12; __id40_.bold = true; __id40_.disableWordwrap = false; __id40_.embedFonts = true; __id40_.font = ""; __id40_.hAlign = "right"; __id40_.multiline = false; __id40_.vAlign = "top"; __id40_.antiAliasType = "advanced"; __id40_.glowBlur = 3; __id40_.glowColor = 0; __id40_.useGlowFilter = false; __id40_.glowQuality = 1; __id40_.glowStrength = 5; __id40_.gridFitType = "pixel"; __id40_.italic = false; __id40_.selectable = false; __id40_.underline = false; try { __id40_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id40___1(){ if ((((__setPropDict[__id40_] == undefined)) || (!((((int(__setPropDict[__id40_]) >= 20)) && ((int(__setPropDict[__id40_]) <= 29))))))){ __setPropDict[__id40_] = currentFrame; try { __id40_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id40_.text = "{levelNum}"; __id40_.textColor = 0xFFCC00; __id40_.textSize = 12; __id40_.bold = true; __id40_.disableWordwrap = false; __id40_.embedFonts = true; __id40_.font = ""; __id40_.hAlign = "right"; __id40_.multiline = false; __id40_.vAlign = "top"; __id40_.antiAliasType = "advanced"; __id40_.glowBlur = 3; __id40_.glowColor = 0; __id40_.useGlowFilter = false; __id40_.glowQuality = 1; __id40_.glowStrength = 5; __id40_.gridFitType = "pixel"; __id40_.italic = false; __id40_.selectable = false; __id40_.underline = false; try { __id40_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id40__(); } function frame2(){ __setProp___id40__(); } function frame3(){ __setProp___id40__(); } function frame4(){ __setProp___id40__(); } function frame5(){ __setProp___id40__(); } function frame6(){ __setProp___id40__(); } function frame7(){ __setProp___id40__(); } function frame8(){ __setProp___id40__(); } function frame9(){ __setProp___id40__(); } function frame10(){ __setProp___id40__(); } function frame11(){ __setProp___id40__(); } function frame12(){ __setProp___id40__(); } function frame13(){ __setProp___id40__(); } function frame14(){ __setProp___id40__(); } function frame15(){ __setProp___id40__(); } function frame16(){ __setProp___id40__(); } function frame17(){ __setProp___id40__(); } function frame18(){ __setProp___id40__(); } function frame19(){ __setProp___id40__(); } function frame20(){ __setProp___id40___1(); } function frame21(){ __setProp___id40___1(); } function frame22(){ __setProp___id40___1(); } function frame23(){ __setProp___id40___1(); } function frame24(){ __setProp___id40___1(); } function frame25(){ __setProp___id40___1(); } function frame26(){ __setProp___id40___1(); } function frame27(){ __setProp___id40___1(); } function frame28(){ __setProp___id40___1(); } function frame29(){ __setProp___id40___1(); } } }//package
Section 307
//LevelSel6McLib (LevelSel6McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel6McLib extends MovieClip { public var __id41_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel6McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id41__(){ if ((((__setPropDict[__id41_] == undefined)) || (!((((int(__setPropDict[__id41_]) >= 1)) && ((int(__setPropDict[__id41_]) <= 19))))))){ __setPropDict[__id41_] = currentFrame; try { __id41_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id41_.text = "{levelNum}"; __id41_.textColor = 0xFFFF; __id41_.textSize = 12; __id41_.bold = true; __id41_.disableWordwrap = false; __id41_.embedFonts = true; __id41_.font = ""; __id41_.hAlign = "right"; __id41_.multiline = false; __id41_.vAlign = "top"; __id41_.antiAliasType = "advanced"; __id41_.glowBlur = 3; __id41_.glowColor = 0; __id41_.useGlowFilter = false; __id41_.glowQuality = 1; __id41_.glowStrength = 5; __id41_.gridFitType = "pixel"; __id41_.italic = false; __id41_.selectable = false; __id41_.underline = false; try { __id41_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id41___1(){ if ((((__setPropDict[__id41_] == undefined)) || (!((((int(__setPropDict[__id41_]) >= 20)) && ((int(__setPropDict[__id41_]) <= 29))))))){ __setPropDict[__id41_] = currentFrame; try { __id41_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id41_.text = "{levelNum}"; __id41_.textColor = 0xFFCC00; __id41_.textSize = 12; __id41_.bold = true; __id41_.disableWordwrap = false; __id41_.embedFonts = true; __id41_.font = ""; __id41_.hAlign = "right"; __id41_.multiline = false; __id41_.vAlign = "top"; __id41_.antiAliasType = "advanced"; __id41_.glowBlur = 3; __id41_.glowColor = 0; __id41_.useGlowFilter = false; __id41_.glowQuality = 1; __id41_.glowStrength = 5; __id41_.gridFitType = "pixel"; __id41_.italic = false; __id41_.selectable = false; __id41_.underline = false; try { __id41_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id41__(); } function frame2(){ __setProp___id41__(); } function frame3(){ __setProp___id41__(); } function frame4(){ __setProp___id41__(); } function frame5(){ __setProp___id41__(); } function frame6(){ __setProp___id41__(); } function frame7(){ __setProp___id41__(); } function frame8(){ __setProp___id41__(); } function frame9(){ __setProp___id41__(); } function frame10(){ __setProp___id41__(); } function frame11(){ __setProp___id41__(); } function frame12(){ __setProp___id41__(); } function frame13(){ __setProp___id41__(); } function frame14(){ __setProp___id41__(); } function frame15(){ __setProp___id41__(); } function frame16(){ __setProp___id41__(); } function frame17(){ __setProp___id41__(); } function frame18(){ __setProp___id41__(); } function frame19(){ __setProp___id41__(); } function frame20(){ __setProp___id41___1(); } function frame21(){ __setProp___id41___1(); } function frame22(){ __setProp___id41___1(); } function frame23(){ __setProp___id41___1(); } function frame24(){ __setProp___id41___1(); } function frame25(){ __setProp___id41___1(); } function frame26(){ __setProp___id41___1(); } function frame27(){ __setProp___id41___1(); } function frame28(){ __setProp___id41___1(); } function frame29(){ __setProp___id41___1(); } } }//package
Section 308
//LevelSel7McLib (LevelSel7McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel7McLib extends MovieClip { public var __id42_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel7McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id42__(){ if ((((__setPropDict[__id42_] == undefined)) || (!((((int(__setPropDict[__id42_]) >= 1)) && ((int(__setPropDict[__id42_]) <= 19))))))){ __setPropDict[__id42_] = currentFrame; try { __id42_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id42_.text = "{levelNum}"; __id42_.textColor = 0xFFFF; __id42_.textSize = 12; __id42_.bold = true; __id42_.disableWordwrap = false; __id42_.embedFonts = true; __id42_.font = ""; __id42_.hAlign = "right"; __id42_.multiline = false; __id42_.vAlign = "top"; __id42_.antiAliasType = "advanced"; __id42_.glowBlur = 3; __id42_.glowColor = 0; __id42_.useGlowFilter = false; __id42_.glowQuality = 1; __id42_.glowStrength = 5; __id42_.gridFitType = "pixel"; __id42_.italic = false; __id42_.selectable = false; __id42_.underline = false; try { __id42_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id42___1(){ if ((((__setPropDict[__id42_] == undefined)) || (!((((int(__setPropDict[__id42_]) >= 20)) && ((int(__setPropDict[__id42_]) <= 29))))))){ __setPropDict[__id42_] = currentFrame; try { __id42_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id42_.text = "{levelNum}"; __id42_.textColor = 0xFFCC00; __id42_.textSize = 12; __id42_.bold = true; __id42_.disableWordwrap = false; __id42_.embedFonts = true; __id42_.font = ""; __id42_.hAlign = "right"; __id42_.multiline = false; __id42_.vAlign = "top"; __id42_.antiAliasType = "advanced"; __id42_.glowBlur = 3; __id42_.glowColor = 0; __id42_.useGlowFilter = false; __id42_.glowQuality = 1; __id42_.glowStrength = 5; __id42_.gridFitType = "pixel"; __id42_.italic = false; __id42_.selectable = false; __id42_.underline = false; try { __id42_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id42__(); } function frame2(){ __setProp___id42__(); } function frame3(){ __setProp___id42__(); } function frame4(){ __setProp___id42__(); } function frame5(){ __setProp___id42__(); } function frame6(){ __setProp___id42__(); } function frame7(){ __setProp___id42__(); } function frame8(){ __setProp___id42__(); } function frame9(){ __setProp___id42__(); } function frame10(){ __setProp___id42__(); } function frame11(){ __setProp___id42__(); } function frame12(){ __setProp___id42__(); } function frame13(){ __setProp___id42__(); } function frame14(){ __setProp___id42__(); } function frame15(){ __setProp___id42__(); } function frame16(){ __setProp___id42__(); } function frame17(){ __setProp___id42__(); } function frame18(){ __setProp___id42__(); } function frame19(){ __setProp___id42__(); } function frame20(){ __setProp___id42___1(); } function frame21(){ __setProp___id42___1(); } function frame22(){ __setProp___id42___1(); } function frame23(){ __setProp___id42___1(); } function frame24(){ __setProp___id42___1(); } function frame25(){ __setProp___id42___1(); } function frame26(){ __setProp___id42___1(); } function frame27(){ __setProp___id42___1(); } function frame28(){ __setProp___id42___1(); } function frame29(){ __setProp___id42___1(); } } }//package
Section 309
//LevelSel8McLib (LevelSel8McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel8McLib extends MovieClip { public var __id43_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel8McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id43__(){ if ((((__setPropDict[__id43_] == undefined)) || (!((((int(__setPropDict[__id43_]) >= 1)) && ((int(__setPropDict[__id43_]) <= 19))))))){ __setPropDict[__id43_] = currentFrame; try { __id43_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id43_.text = "{levelNum}"; __id43_.textColor = 0xFFFF; __id43_.textSize = 12; __id43_.bold = true; __id43_.disableWordwrap = false; __id43_.embedFonts = true; __id43_.font = ""; __id43_.hAlign = "right"; __id43_.multiline = false; __id43_.vAlign = "top"; __id43_.antiAliasType = "advanced"; __id43_.glowBlur = 3; __id43_.glowColor = 0; __id43_.useGlowFilter = false; __id43_.glowQuality = 1; __id43_.glowStrength = 5; __id43_.gridFitType = "pixel"; __id43_.italic = false; __id43_.selectable = false; __id43_.underline = false; try { __id43_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id43___1(){ if ((((__setPropDict[__id43_] == undefined)) || (!((((int(__setPropDict[__id43_]) >= 20)) && ((int(__setPropDict[__id43_]) <= 29))))))){ __setPropDict[__id43_] = currentFrame; try { __id43_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id43_.text = "{levelNum}"; __id43_.textColor = 0xFFCC00; __id43_.textSize = 12; __id43_.bold = true; __id43_.disableWordwrap = false; __id43_.embedFonts = true; __id43_.font = ""; __id43_.hAlign = "right"; __id43_.multiline = false; __id43_.vAlign = "top"; __id43_.antiAliasType = "advanced"; __id43_.glowBlur = 3; __id43_.glowColor = 0; __id43_.useGlowFilter = false; __id43_.glowQuality = 1; __id43_.glowStrength = 5; __id43_.gridFitType = "pixel"; __id43_.italic = false; __id43_.selectable = false; __id43_.underline = false; try { __id43_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id43__(); } function frame2(){ __setProp___id43__(); } function frame3(){ __setProp___id43__(); } function frame4(){ __setProp___id43__(); } function frame5(){ __setProp___id43__(); } function frame6(){ __setProp___id43__(); } function frame7(){ __setProp___id43__(); } function frame8(){ __setProp___id43__(); } function frame9(){ __setProp___id43__(); } function frame10(){ __setProp___id43__(); } function frame11(){ __setProp___id43__(); } function frame12(){ __setProp___id43__(); } function frame13(){ __setProp___id43__(); } function frame14(){ __setProp___id43__(); } function frame15(){ __setProp___id43__(); } function frame16(){ __setProp___id43__(); } function frame17(){ __setProp___id43__(); } function frame18(){ __setProp___id43__(); } function frame19(){ __setProp___id43__(); } function frame20(){ __setProp___id43___1(); } function frame21(){ __setProp___id43___1(); } function frame22(){ __setProp___id43___1(); } function frame23(){ __setProp___id43___1(); } function frame24(){ __setProp___id43___1(); } function frame25(){ __setProp___id43___1(); } function frame26(){ __setProp___id43___1(); } function frame27(){ __setProp___id43___1(); } function frame28(){ __setProp___id43___1(); } function frame29(){ __setProp___id43___1(); } } }//package
Section 310
//LevelSel9McLib (LevelSel9McLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class LevelSel9McLib extends MovieClip { public var __id44_:LocalizedTextField; public var __setPropDict:Dictionary; public function LevelSel9McLib(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29); } function __setProp___id44__(){ if ((((__setPropDict[__id44_] == undefined)) || (!((((int(__setPropDict[__id44_]) >= 1)) && ((int(__setPropDict[__id44_]) <= 19))))))){ __setPropDict[__id44_] = currentFrame; try { __id44_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id44_.text = "{levelNum}"; __id44_.textColor = 0xFFFF; __id44_.textSize = 12; __id44_.bold = true; __id44_.disableWordwrap = false; __id44_.embedFonts = true; __id44_.font = ""; __id44_.hAlign = "right"; __id44_.multiline = false; __id44_.vAlign = "top"; __id44_.antiAliasType = "advanced"; __id44_.glowBlur = 3; __id44_.glowColor = 0; __id44_.useGlowFilter = false; __id44_.glowQuality = 1; __id44_.glowStrength = 5; __id44_.gridFitType = "pixel"; __id44_.italic = false; __id44_.selectable = false; __id44_.underline = false; try { __id44_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function __setProp___id44___1(){ if ((((__setPropDict[__id44_] == undefined)) || (!((((int(__setPropDict[__id44_]) >= 20)) && ((int(__setPropDict[__id44_]) <= 29))))))){ __setPropDict[__id44_] = currentFrame; try { __id44_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id44_.text = "{levelNum}"; __id44_.textColor = 0xFFCC00; __id44_.textSize = 12; __id44_.bold = true; __id44_.disableWordwrap = false; __id44_.embedFonts = true; __id44_.font = ""; __id44_.hAlign = "right"; __id44_.multiline = false; __id44_.vAlign = "top"; __id44_.antiAliasType = "advanced"; __id44_.glowBlur = 3; __id44_.glowColor = 0; __id44_.useGlowFilter = false; __id44_.glowQuality = 1; __id44_.glowStrength = 5; __id44_.gridFitType = "pixel"; __id44_.italic = false; __id44_.selectable = false; __id44_.underline = false; try { __id44_["componentInspectorSetting"] = false; } catch(e:Error) { }; }; } function frame1(){ __setProp___id44__(); } function frame2(){ __setProp___id44__(); } function frame3(){ __setProp___id44__(); } function frame4(){ __setProp___id44__(); } function frame5(){ __setProp___id44__(); } function frame6(){ __setProp___id44__(); } function frame7(){ __setProp___id44__(); } function frame8(){ __setProp___id44__(); } function frame9(){ __setProp___id44__(); } function frame10(){ __setProp___id44__(); } function frame11(){ __setProp___id44__(); } function frame12(){ __setProp___id44__(); } function frame13(){ __setProp___id44__(); } function frame14(){ __setProp___id44__(); } function frame15(){ __setProp___id44__(); } function frame16(){ __setProp___id44__(); } function frame17(){ __setProp___id44__(); } function frame18(){ __setProp___id44__(); } function frame19(){ __setProp___id44__(); } function frame20(){ __setProp___id44___1(); } function frame21(){ __setProp___id44___1(); } function frame22(){ __setProp___id44___1(); } function frame23(){ __setProp___id44___1(); } function frame24(){ __setProp___id44___1(); } function frame25(){ __setProp___id44___1(); } function frame26(){ __setProp___id44___1(); } function frame27(){ __setProp___id44___1(); } function frame28(){ __setProp___id44___1(); } function frame29(){ __setProp___id44___1(); } } }//package
Section 311
//lidClosingSfx (lidClosingSfx) package { import flash.media.*; public dynamic class lidClosingSfx extends Sound { } }//package
Section 312
//lifeCollectSfx (lifeCollectSfx) package { import flash.media.*; public dynamic class lifeCollectSfx extends Sound { } }//package
Section 313
//LifeUpProgressSprLib (LifeUpProgressSprLib) package { import flash.display.*; public dynamic class LifeUpProgressSprLib extends Sprite { } }//package
Section 314
//LifeUpSprLib (LifeUpSprLib) package { import flash.display.*; public dynamic class LifeUpSprLib extends Sprite { } }//package
Section 315
//LiftedCatMcLib (LiftedCatMcLib) package { import flash.display.*; public dynamic class LiftedCatMcLib extends MovieClip { public function LiftedCatMcLib(){ addFrameScript(29, frame30); } function frame30(){ gotoAndPlay(11); } } }//package
Section 316
//LiftedCowMcLib (LiftedCowMcLib) package { import flash.display.*; public dynamic class LiftedCowMcLib extends MovieClip { public function LiftedCowMcLib(){ addFrameScript(29, frame30); } function frame30(){ this.gotoAndPlay(10); } } }//package
Section 317
//LiftedDogMcLib (LiftedDogMcLib) package { import flash.display.*; public dynamic class LiftedDogMcLib extends MovieClip { public function LiftedDogMcLib(){ addFrameScript(29, frame30); } function frame30(){ gotoAndPlay(11); } } }//package
Section 318
//LogoMcLib (LogoMcLib) package { import flash.display.*; public dynamic class LogoMcLib extends MovieClip { } }//package
Section 319
//Medal0 (Medal0) package { import flash.display.*; public dynamic class Medal0 extends Sprite { } }//package
Section 320
//Medal1 (Medal1) package { import flash.display.*; public dynamic class Medal1 extends Sprite { } }//package
Section 321
//Medal2 (Medal2) package { import flash.display.*; public dynamic class Medal2 extends Sprite { } }//package
Section 322
//Medal3 (Medal3) package { import flash.display.*; public dynamic class Medal3 extends Sprite { } }//package
Section 323
//Medal4 (Medal4) package { import flash.display.*; public dynamic class Medal4 extends Sprite { } }//package
Section 324
//Medal5 (Medal5) package { import flash.display.*; public dynamic class Medal5 extends Sprite { } }//package
Section 325
//Medal6 (Medal6) package { import flash.display.*; public dynamic class Medal6 extends Sprite { } }//package
Section 326
//Medal7 (Medal7) package { import flash.display.*; public dynamic class Medal7 extends Sprite { } }//package
Section 327
//Medal8 (Medal8) package { import flash.display.*; public dynamic class Medal8 extends Sprite { } }//package
Section 328
//Medal9 (Medal9) package { import flash.display.*; public dynamic class Medal9 extends Sprite { } }//package
Section 329
//medalAwardBgSprite (medalAwardBgSprite) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class medalAwardBgSprite extends MovieClip { public var __id68_:LocalizedTextField; public function medalAwardBgSprite(){ __setProp___id68__(); } function __setProp___id68__(){ try { __id68_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id68_.text = "{medalAwarded}"; __id68_.textColor = 0x993300; __id68_.textSize = 22; __id68_.bold = true; __id68_.disableWordwrap = false; __id68_.embedFonts = true; __id68_.font = ""; __id68_.hAlign = "center"; __id68_.multiline = false; __id68_.vAlign = "top"; __id68_.antiAliasType = "advanced"; __id68_.glowBlur = 3; __id68_.glowColor = 0xDDDDDD; __id68_.useGlowFilter = true; __id68_.glowQuality = 0; __id68_.glowStrength = 0; __id68_.gridFitType = "pixel"; __id68_.italic = false; __id68_.selectable = false; __id68_.underline = false; try { __id68_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 330
//MedalsBtn (MedalsBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class MedalsBtn extends SimpleButton { public var __id6_:LocalizedTextField; public var __id7_:LocalizedTextField; public function MedalsBtn(){ __setProp___id6__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id7__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id7__(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id6__(_arg1:Object){ var __id6_ = _arg1; try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.text = "{medalsBtn}"; __id6_.textColor = 0xFFFF00; __id6_.textSize = 22; __id6_.bold = true; __id6_.disableWordwrap = false; __id6_.embedFonts = true; __id6_.font = ""; __id6_.hAlign = "center"; __id6_.multiline = false; __id6_.vAlign = "top"; __id6_.antiAliasType = "advanced"; __id6_.glowBlur = 3; __id6_.glowColor = 0; __id6_.useGlowFilter = true; __id6_.glowQuality = 1; __id6_.glowStrength = 5; __id6_.gridFitType = "pixel"; __id6_.italic = false; __id6_.selectable = false; __id6_.underline = false; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id7__(_arg1:Object){ var __id7_ = _arg1; try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.text = "{medalsBtn}"; __id7_.textColor = 0xFFFF; __id7_.textSize = 22; __id7_.bold = true; __id7_.disableWordwrap = false; __id7_.embedFonts = true; __id7_.font = ""; __id7_.hAlign = "center"; __id7_.multiline = false; __id7_.vAlign = "top"; __id7_.antiAliasType = "advanced"; __id7_.glowBlur = 3; __id7_.glowColor = 0; __id7_.useGlowFilter = true; __id7_.glowQuality = 1; __id7_.glowStrength = 5; __id7_.gridFitType = "pixel"; __id7_.italic = false; __id7_.selectable = false; __id7_.underline = false; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 331
//MedalScreenSprite (MedalScreenSprite) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class MedalScreenSprite extends Sprite { public var __id31_:LocalizedTextField; public function MedalScreenSprite(){ __setProp___id31__(); } function __setProp___id31__(){ try { __id31_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id31_.text = "{yourMedals}"; __id31_.textColor = 5517825; __id31_.textSize = 24; __id31_.bold = true; __id31_.disableWordwrap = false; __id31_.embedFonts = true; __id31_.font = ""; __id31_.hAlign = "center"; __id31_.multiline = false; __id31_.vAlign = "top"; __id31_.antiAliasType = "advanced"; __id31_.glowBlur = 3; __id31_.glowColor = 16052672; __id31_.useGlowFilter = true; __id31_.glowQuality = 5; __id31_.glowStrength = 22; __id31_.gridFitType = "pixel"; __id31_.italic = false; __id31_.selectable = false; __id31_.underline = false; try { __id31_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 332
//MedalUncoveredSprLib (MedalUncoveredSprLib) package { import flash.display.*; public dynamic class MedalUncoveredSprLib extends Sprite { } }//package
Section 333
//menuGrass (menuGrass) package { import flash.display.*; public dynamic class menuGrass extends Sprite { } }//package
Section 334
//menuLoop (menuLoop) package { import flash.media.*; public dynamic class menuLoop extends Sound { } }//package
Section 335
//MenuSprite (MenuSprite) package { import flash.display.*; public dynamic class MenuSprite extends Sprite { } }//package
Section 336
//MoreGamesBtn (MoreGamesBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class MoreGamesBtn extends SimpleButton { public var __id2_:LocalizedTextField; public var __id3_:LocalizedTextField; public function MoreGamesBtn(){ __setProp___id2__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id3__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id3__(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id2__(_arg1:Object){ var __id2_ = _arg1; try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.text = "{moreGamesBtn}"; __id2_.textColor = 0xFFFF00; __id2_.textSize = 12; __id2_.bold = true; __id2_.disableWordwrap = false; __id2_.embedFonts = true; __id2_.font = ""; __id2_.hAlign = "center"; __id2_.multiline = false; __id2_.vAlign = "top"; __id2_.antiAliasType = "advanced"; __id2_.glowBlur = 3; __id2_.glowColor = 0; __id2_.useGlowFilter = true; __id2_.glowQuality = 1; __id2_.glowStrength = 5; __id2_.gridFitType = "pixel"; __id2_.italic = false; __id2_.selectable = false; __id2_.underline = false; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id3__(_arg1:Object){ var __id3_ = _arg1; try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.text = "{moreGamesBtn}"; __id3_.textColor = 0xFFFF; __id3_.textSize = 12; __id3_.bold = true; __id3_.disableWordwrap = false; __id3_.embedFonts = true; __id3_.font = ""; __id3_.hAlign = "center"; __id3_.multiline = false; __id3_.vAlign = "top"; __id3_.antiAliasType = "advanced"; __id3_.glowBlur = 3; __id3_.glowColor = 0; __id3_.useGlowFilter = true; __id3_.glowQuality = 1; __id3_.glowStrength = 5; __id3_.gridFitType = "pixel"; __id3_.italic = false; __id3_.selectable = false; __id3_.underline = false; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 337
//MoveIndicSprLib (MoveIndicSprLib) package { import flash.display.*; public dynamic class MoveIndicSprLib extends Sprite { } }//package
Section 338
//musicBtn (musicBtn) package { import flash.display.*; public dynamic class musicBtn extends SimpleButton { } }//package
Section 339
//newPortalSfx (newPortalSfx) package { import flash.media.*; public dynamic class newPortalSfx extends Sound { } }//package
Section 340
//NightBgSprLib (NightBgSprLib) package { import flash.display.*; public dynamic class NightBgSprLib extends Sprite { } }//package
Section 341
//Num0SprLib (Num0SprLib) package { import flash.display.*; public dynamic class Num0SprLib extends Sprite { } }//package
Section 342
//Num1SprLib (Num1SprLib) package { import flash.display.*; public dynamic class Num1SprLib extends Sprite { } }//package
Section 343
//Num2SprLib (Num2SprLib) package { import flash.display.*; public dynamic class Num2SprLib extends Sprite { } }//package
Section 344
//Num3SprLib (Num3SprLib) package { import flash.display.*; public dynamic class Num3SprLib extends Sprite { } }//package
Section 345
//Num4SprLib (Num4SprLib) package { import flash.display.*; public dynamic class Num4SprLib extends Sprite { } }//package
Section 346
//Num5SprLib (Num5SprLib) package { import flash.display.*; public dynamic class Num5SprLib extends MovieClip { } }//package
Section 347
//Num6SprLib (Num6SprLib) package { import flash.display.*; public dynamic class Num6SprLib extends Sprite { } }//package
Section 348
//Num7SprLib (Num7SprLib) package { import flash.display.*; public dynamic class Num7SprLib extends Sprite { } }//package
Section 349
//Num8SprLib (Num8SprLib) package { import flash.display.*; public dynamic class Num8SprLib extends Sprite { } }//package
Section 350
//Num9SprLib (Num9SprLib) package { import flash.display.*; public dynamic class Num9SprLib extends Sprite { } }//package
Section 351
//oneUpSprite (oneUpSprite) package { import flash.display.*; public dynamic class oneUpSprite extends Sprite { } }//package
Section 352
//pauseBtn (pauseBtn) package { import flash.display.*; public dynamic class pauseBtn extends SimpleButton { } }//package
Section 353
//PlayBtn (PlayBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class PlayBtn extends SimpleButton { public var __id11_:LocalizedTextField; public var __id10_:LocalizedTextField; public function PlayBtn(){ __setProp___id10__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id11__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id11__(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id10__(_arg1:Object){ var __id10_ = _arg1; try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.text = "{playBtn}"; __id10_.textColor = 0xFFFF00; __id10_.textSize = 22; __id10_.bold = true; __id10_.disableWordwrap = false; __id10_.embedFonts = true; __id10_.font = ""; __id10_.hAlign = "center"; __id10_.multiline = false; __id10_.vAlign = "top"; __id10_.antiAliasType = "advanced"; __id10_.glowBlur = 3; __id10_.glowColor = 0; __id10_.useGlowFilter = true; __id10_.glowQuality = 1; __id10_.glowStrength = 5; __id10_.gridFitType = "pixel"; __id10_.italic = false; __id10_.selectable = false; __id10_.underline = false; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id11__(_arg1:Object){ var __id11_ = _arg1; try { __id11_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id11_.text = "{playBtn}"; __id11_.textColor = 0xFFFF; __id11_.textSize = 22; __id11_.bold = true; __id11_.disableWordwrap = false; __id11_.embedFonts = true; __id11_.font = ""; __id11_.hAlign = "center"; __id11_.multiline = false; __id11_.vAlign = "top"; __id11_.antiAliasType = "advanced"; __id11_.glowBlur = 3; __id11_.glowColor = 0; __id11_.useGlowFilter = true; __id11_.glowQuality = 1; __id11_.glowStrength = 5; __id11_.gridFitType = "pixel"; __id11_.italic = false; __id11_.selectable = false; __id11_.underline = false; try { __id11_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 354
//score10 (score10) package { import flash.display.*; public dynamic class score10 extends Sprite { } }//package
Section 355
//score100 (score100) package { import flash.display.*; public dynamic class score100 extends Sprite { } }//package
Section 356
//score20 (score20) package { import flash.display.*; public dynamic class score20 extends Sprite { } }//package
Section 357
//score50 (score50) package { import flash.display.*; public dynamic class score50 extends Sprite { } }//package
Section 358
//ScoresBtn (ScoresBtn) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class ScoresBtn extends SimpleButton { public var __id0_:LocalizedTextField; public var __id1_:LocalizedTextField; public function ScoresBtn(){ __setProp___id0__(DisplayObjectContainer(upState).getChildAt(1)); __setProp___id1__(DisplayObjectContainer(overState).getChildAt(1)); __setProp___id1__(DisplayObjectContainer(downState).getChildAt(1)); } function __setProp___id0__(_arg1:Object){ var __id0_ = _arg1; try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.text = "{scoresBtn}"; __id0_.textColor = 0xFFFF00; __id0_.textSize = 22; __id0_.bold = true; __id0_.disableWordwrap = false; __id0_.embedFonts = true; __id0_.font = ""; __id0_.hAlign = "center"; __id0_.multiline = false; __id0_.vAlign = "top"; __id0_.antiAliasType = "advanced"; __id0_.glowBlur = 3; __id0_.glowColor = 0; __id0_.useGlowFilter = true; __id0_.glowQuality = 1; __id0_.glowStrength = 5; __id0_.gridFitType = "pixel"; __id0_.italic = false; __id0_.selectable = false; __id0_.underline = false; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id1__(_arg1:Object){ var __id1_ = _arg1; try { __id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id1_.text = "{scoresBtn}"; __id1_.textColor = 0xFFFF; __id1_.textSize = 22; __id1_.bold = true; __id1_.disableWordwrap = false; __id1_.embedFonts = true; __id1_.font = ""; __id1_.hAlign = "center"; __id1_.multiline = false; __id1_.vAlign = "top"; __id1_.antiAliasType = "advanced"; __id1_.glowBlur = 3; __id1_.glowColor = 0; __id1_.useGlowFilter = true; __id1_.glowQuality = 1; __id1_.glowStrength = 5; __id1_.gridFitType = "pixel"; __id1_.italic = false; __id1_.selectable = false; __id1_.underline = false; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 359
//ScoresScreenSprite (ScoresScreenSprite) package { import flash.display.*; public dynamic class ScoresScreenSprite extends Sprite { } }//package
Section 360
//ScoreSubmitPanelSprLib (ScoreSubmitPanelSprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class ScoreSubmitPanelSprLib extends Sprite { public var cancelBtn:SimpleButton; public var quitBtn:SimpleButton; public var submitBtn:SimpleButton; public var __id20_:LocalizedTextField; public function ScoreSubmitPanelSprLib(){ __setProp___id20__(); } function __setProp___id20__(){ try { __id20_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id20_.text = "{submitScore}"; __id20_.textColor = 5517825; __id20_.textSize = 24; __id20_.bold = true; __id20_.disableWordwrap = false; __id20_.embedFonts = true; __id20_.font = ""; __id20_.hAlign = "center"; __id20_.multiline = false; __id20_.vAlign = "top"; __id20_.antiAliasType = "advanced"; __id20_.glowBlur = 3; __id20_.glowColor = 16052672; __id20_.useGlowFilter = true; __id20_.glowQuality = 5; __id20_.glowStrength = 22; __id20_.gridFitType = "pixel"; __id20_.italic = false; __id20_.selectable = false; __id20_.underline = false; try { __id20_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 361
//SnowBgSprLib (SnowBgSprLib) package { import flash.display.*; public dynamic class SnowBgSprLib extends Sprite { } }//package
Section 362
//soundBtn (soundBtn) package { import flash.display.*; public dynamic class soundBtn extends SimpleButton { } }//package
Section 363
//SpinyBallMcLib (SpinyBallMcLib) package { import flash.display.*; public dynamic class SpinyBallMcLib extends MovieClip { } }//package
Section 364
//SpinyStickSprLib (SpinyStickSprLib) package { import flash.display.*; public dynamic class SpinyStickSprLib extends Sprite { } }//package
Section 365
//starTokenCollectSfx (starTokenCollectSfx) package { import flash.media.*; public dynamic class starTokenCollectSfx extends Sound { } }//package
Section 366
//StarTokenMcLib (StarTokenMcLib) package { import flash.display.*; public dynamic class StarTokenMcLib extends MovieClip { } }//package
Section 367
//StarVanishMcLib (StarVanishMcLib) package { import flash.display.*; public dynamic class StarVanishMcLib extends MovieClip { } }//package
Section 368
//StatisticTextSprLib (StatisticTextSprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class StatisticTextSprLib extends Sprite { public var __id70_:LocalizedTextField; public var __id71_:LocalizedTextField; public var __id69_:LocalizedTextField; public function StatisticTextSprLib(){ __setProp___id69__(); __setProp___id70__(); __setProp___id71__(); } function __setProp___id69__(){ try { __id69_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id69_.text = "{life}"; __id69_.textColor = 0xFF0000; __id69_.textSize = 16; __id69_.bold = true; __id69_.disableWordwrap = false; __id69_.embedFonts = true; __id69_.font = ""; __id69_.hAlign = "right"; __id69_.multiline = false; __id69_.vAlign = "top"; __id69_.antiAliasType = "advanced"; __id69_.glowBlur = 3; __id69_.glowColor = 0; __id69_.useGlowFilter = true; __id69_.glowQuality = 1; __id69_.glowStrength = 5; __id69_.gridFitType = "pixel"; __id69_.italic = false; __id69_.selectable = false; __id69_.underline = false; try { __id69_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id70__(){ try { __id70_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id70_.text = "{score}"; __id70_.textColor = 0xFF0000; __id70_.textSize = 16; __id70_.bold = true; __id70_.disableWordwrap = false; __id70_.embedFonts = true; __id70_.font = ""; __id70_.hAlign = "right"; __id70_.multiline = false; __id70_.vAlign = "top"; __id70_.antiAliasType = "advanced"; __id70_.glowBlur = 3; __id70_.glowColor = 0; __id70_.useGlowFilter = true; __id70_.glowQuality = 1; __id70_.glowStrength = 5; __id70_.gridFitType = "pixel"; __id70_.italic = false; __id70_.selectable = false; __id70_.underline = false; try { __id70_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id71__(){ try { __id71_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id71_.text = "{level}"; __id71_.textColor = 0xFF0000; __id71_.textSize = 16; __id71_.bold = true; __id71_.disableWordwrap = false; __id71_.embedFonts = true; __id71_.font = ""; __id71_.hAlign = "right"; __id71_.multiline = false; __id71_.vAlign = "top"; __id71_.antiAliasType = "advanced"; __id71_.glowBlur = 3; __id71_.glowColor = 0; __id71_.useGlowFilter = true; __id71_.glowQuality = 1; __id71_.glowStrength = 5; __id71_.gridFitType = "pixel"; __id71_.italic = false; __id71_.selectable = false; __id71_.underline = false; try { __id71_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 369
//StickBarrierSprLib (StickBarrierSprLib) package { import flash.display.*; public dynamic class StickBarrierSprLib extends Sprite { } }//package
Section 370
//TeleTransmissionAnimMcLib (TeleTransmissionAnimMcLib) package { import flash.display.*; public dynamic class TeleTransmissionAnimMcLib extends MovieClip { public var dog:MovieClip; public var cat:MovieClip; public var cow:MovieClip; } }//package
Section 371
//TeleTransmissionMcLib (TeleTransmissionMcLib) package { import flash.display.*; public dynamic class TeleTransmissionMcLib extends MovieClip { } }//package
Section 372
//TrashCanSprLib (TrashCanSprLib) package { import flash.display.*; public dynamic class TrashCanSprLib extends Sprite { } }//package
Section 373
//TriggerMcLib (TriggerMcLib) package { import flash.display.*; public dynamic class TriggerMcLib extends MovieClip { } }//package
Section 374
//triggerSfx (triggerSfx) package { import flash.media.*; public dynamic class triggerSfx extends Sound { } }//package
Section 375
//Tutorial1SprLib (Tutorial1SprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Tutorial1SprLib extends Sprite { public var __id61_:LocalizedTextField; public function Tutorial1SprLib(){ __setProp___id61__(); } function __setProp___id61__(){ try { __id61_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id61_.text = "{tutorial1}"; __id61_.textColor = 0; __id61_.textSize = 12; __id61_.bold = false; __id61_.disableWordwrap = false; __id61_.embedFonts = true; __id61_.font = ""; __id61_.hAlign = "left"; __id61_.multiline = true; __id61_.vAlign = "top"; __id61_.antiAliasType = "advanced"; __id61_.glowBlur = 3; __id61_.glowColor = 0; __id61_.useGlowFilter = true; __id61_.glowQuality = 0; __id61_.glowStrength = 0; __id61_.gridFitType = "pixel"; __id61_.italic = false; __id61_.selectable = false; __id61_.underline = false; try { __id61_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 376
//Tutorial2SprLib (Tutorial2SprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Tutorial2SprLib extends Sprite { public var __id62_:LocalizedTextField; public var __id63_:LocalizedTextField; public function Tutorial2SprLib(){ __setProp___id62__(); __setProp___id63__(); } function __setProp___id62__(){ try { __id62_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id62_.text = "{spaceKey}"; __id62_.textColor = 0xFFFFFF; __id62_.textSize = 12; __id62_.bold = true; __id62_.disableWordwrap = false; __id62_.embedFonts = true; __id62_.font = ""; __id62_.hAlign = "center"; __id62_.multiline = false; __id62_.vAlign = "top"; __id62_.antiAliasType = "advanced"; __id62_.glowBlur = 3; __id62_.glowColor = 0; __id62_.useGlowFilter = true; __id62_.glowQuality = 0; __id62_.glowStrength = 0; __id62_.gridFitType = "pixel"; __id62_.italic = false; __id62_.selectable = false; __id62_.underline = false; try { __id62_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function __setProp___id63__(){ try { __id63_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id63_.text = "{tutorial2}"; __id63_.textColor = 0; __id63_.textSize = 12; __id63_.bold = false; __id63_.disableWordwrap = false; __id63_.embedFonts = true; __id63_.font = ""; __id63_.hAlign = "left"; __id63_.multiline = true; __id63_.vAlign = "top"; __id63_.antiAliasType = "advanced"; __id63_.glowBlur = 3; __id63_.glowColor = 0; __id63_.useGlowFilter = true; __id63_.glowQuality = 0; __id63_.glowStrength = 0; __id63_.gridFitType = "pixel"; __id63_.italic = false; __id63_.selectable = false; __id63_.underline = false; try { __id63_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 377
//Tutorial3SprLib (Tutorial3SprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Tutorial3SprLib extends MovieClip { public var __id64_:LocalizedTextField; public function Tutorial3SprLib(){ __setProp___id64__(); } function __setProp___id64__(){ try { __id64_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id64_.text = "{tutorial3}"; __id64_.textColor = 0; __id64_.textSize = 12; __id64_.bold = false; __id64_.disableWordwrap = false; __id64_.embedFonts = true; __id64_.font = ""; __id64_.hAlign = "left"; __id64_.multiline = true; __id64_.vAlign = "top"; __id64_.antiAliasType = "advanced"; __id64_.glowBlur = 3; __id64_.glowColor = 0; __id64_.useGlowFilter = true; __id64_.glowQuality = 0; __id64_.glowStrength = 0; __id64_.gridFitType = "pixel"; __id64_.italic = false; __id64_.selectable = false; __id64_.underline = false; try { __id64_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 378
//Tutorial4SprLib (Tutorial4SprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Tutorial4SprLib extends MovieClip { public var __id65_:LocalizedTextField; public function Tutorial4SprLib(){ __setProp___id65__(); } function __setProp___id65__(){ try { __id65_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id65_.text = "{tutorial4}"; __id65_.textColor = 0; __id65_.textSize = 12; __id65_.bold = false; __id65_.disableWordwrap = false; __id65_.embedFonts = true; __id65_.font = ""; __id65_.hAlign = "left"; __id65_.multiline = true; __id65_.vAlign = "top"; __id65_.antiAliasType = "advanced"; __id65_.glowBlur = 3; __id65_.glowColor = 0; __id65_.useGlowFilter = true; __id65_.glowQuality = 0; __id65_.glowStrength = 0; __id65_.gridFitType = "pixel"; __id65_.italic = false; __id65_.selectable = false; __id65_.underline = false; try { __id65_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 379
//Tutorial5SprLib (Tutorial5SprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Tutorial5SprLib extends MovieClip { public var __id66_:LocalizedTextField; public function Tutorial5SprLib(){ __setProp___id66__(); } function __setProp___id66__(){ try { __id66_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id66_.text = "{tutorial3}"; __id66_.textColor = 0; __id66_.textSize = 12; __id66_.bold = false; __id66_.disableWordwrap = false; __id66_.embedFonts = true; __id66_.font = ""; __id66_.hAlign = "left"; __id66_.multiline = true; __id66_.vAlign = "top"; __id66_.antiAliasType = "advanced"; __id66_.glowBlur = 3; __id66_.glowColor = 0; __id66_.useGlowFilter = true; __id66_.glowQuality = 0; __id66_.glowStrength = 0; __id66_.gridFitType = "pixel"; __id66_.italic = false; __id66_.selectable = false; __id66_.underline = false; try { __id66_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 380
//Tutorial6SprLib (Tutorial6SprLib) package { import adobe.utils.*; import flash.accessibility.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import spill.localisation.*; public dynamic class Tutorial6SprLib extends MovieClip { public var __id67_:LocalizedTextField; public function Tutorial6SprLib(){ __setProp___id67__(); } function __setProp___id67__(){ try { __id67_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id67_.text = "{tutorial5}"; __id67_.textColor = 0; __id67_.textSize = 12; __id67_.bold = false; __id67_.disableWordwrap = false; __id67_.embedFonts = true; __id67_.font = ""; __id67_.hAlign = "left"; __id67_.multiline = true; __id67_.vAlign = "top"; __id67_.antiAliasType = "advanced"; __id67_.glowBlur = 3; __id67_.glowColor = 0; __id67_.useGlowFilter = true; __id67_.glowQuality = 0; __id67_.glowStrength = 0; __id67_.gridFitType = "pixel"; __id67_.italic = false; __id67_.selectable = false; __id67_.underline = false; try { __id67_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 381
//ufoBeamSfx (ufoBeamSfx) package { import flash.media.*; public dynamic class ufoBeamSfx extends Sound { } }//package
Section 382
//UfoExplosion (UfoExplosion) package { import flash.display.*; public dynamic class UfoExplosion extends MovieClip { public function UfoExplosion(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package
Section 383
//UfoMcLib (UfoMcLib) package { import flash.display.*; public dynamic class UfoMcLib extends MovieClip { } }//package
Section 384
//UfoSpawnerActiveMcLib (UfoSpawnerActiveMcLib) package { import flash.display.*; public dynamic class UfoSpawnerActiveMcLib extends MovieClip { } }//package
Section 385
//UfoSpawnerInactiveMcLib (UfoSpawnerInactiveMcLib) package { import flash.display.*; public dynamic class UfoSpawnerInactiveMcLib extends MovieClip { } }//package
Section 386
//UfoSpawningMcLib (UfoSpawningMcLib) package { import flash.display.*; public dynamic class UfoSpawningMcLib extends MovieClip { } }//package
Section 387
//WindmillFanSprLib (WindmillFanSprLib) package { import flash.display.*; public dynamic class WindmillFanSprLib extends Sprite { } }//package

Library Items

Symbol 1 Sound {ufoBeamSfx}
Symbol 2 Sound {triggerSfx}
Symbol 3 Sound {starTokenCollectSfx}
Symbol 4 Sound {newPortalSfx}
Symbol 5 Sound {menuLoop}
Symbol 6 Sound {lifeCollectSfx}
Symbol 7 Sound {lidClosingSfx}
Symbol 8 Sound {gameLoop}
Symbol 9 Sound {explosionSfx}
Symbol 10 Sound {cowYellSfx}
Symbol 11 Sound {collectKeySfx}
Symbol 12 Sound {cannonSfx}
Symbol 13 Sound {bumpHitSfx}
Symbol 14 Sound {btnClickSfx}
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip {MoveIndicSprLib}Uses:15
Symbol 17 FontUsed by:18 20
Symbol 18 TextUses:17Used by:21
Symbol 19 GraphicUsed by:21 566 1027 1075
Symbol 20 TextUses:17Used by:21
Symbol 21 Button {spill.localisation.SpilGamesLink}Uses:18 19 20
Symbol 22 GraphicUsed by:23 764 772 773 774 778 782 787 790 803 856 857 859 860 863
Symbol 23 MovieClipUses:22Used by:24 436
Symbol 24 MovieClip {spill.localisation.LanguageSelectBox}Uses:23
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:27
Symbol 27 MovieClipUses:26Used by:156
Symbol 28 GraphicUsed by:156
Symbol 29 GraphicUsed by:40
Symbol 30 GraphicUsed by:40
Symbol 31 GraphicUsed by:40
Symbol 32 GraphicUsed by:40 399
Symbol 33 GraphicUsed by:40
Symbol 34 GraphicUsed by:40
Symbol 35 GraphicUsed by:40 292 360 1170
Symbol 36 GraphicUsed by:40
Symbol 37 GraphicUsed by:40
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:40
Symbol 40 MovieClipUses:29 30 31 32 33 34 35 36 37 39Used by:156
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:156
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:156
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:156
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:156
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:156
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:156
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:156
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:156
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:156
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClipUses:59Used by:156
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:156
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:63Used by:156
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:156
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:156
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClipUses:70Used by:156
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:74
Symbol 74 MovieClipUses:73Used by:156
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:75Used by:77
Symbol 77 MovieClipUses:76Used by:156
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:80
Symbol 80 MovieClipUses:79Used by:156
Symbol 81 GraphicUsed by:82
Symbol 82 MovieClipUses:81Used by:83
Symbol 83 MovieClipUses:82Used by:156
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClipUses:84Used by:86
Symbol 86 MovieClipUses:85Used by:156
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:89
Symbol 89 MovieClipUses:88Used by:156
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClipUses:90Used by:92
Symbol 92 MovieClipUses:91Used by:156
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:95
Symbol 95 MovieClipUses:94Used by:156
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:98
Symbol 98 MovieClipUses:97Used by:156
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:99Used by:101
Symbol 101 MovieClipUses:100Used by:156
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClipUses:102Used by:104
Symbol 104 MovieClipUses:103Used by:156
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClipUses:105Used by:107
Symbol 107 MovieClipUses:106Used by:156
Symbol 108 GraphicUsed by:109
Symbol 109 MovieClipUses:108Used by:156
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClipUses:110Used by:156
Symbol 112 GraphicUsed by:113
Symbol 113 MovieClipUses:112Used by:156
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClipUses:114Used by:156
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:156
Symbol 118 GraphicUsed by:119
Symbol 119 MovieClipUses:118Used by:156
Symbol 120 GraphicUsed by:121
Symbol 121 MovieClipUses:120Used by:156
Symbol 122 GraphicUsed by:123
Symbol 123 MovieClipUses:122Used by:156
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:124Used by:156
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:128
Symbol 128 MovieClipUses:127Used by:156
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClipUses:130Used by:156
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClipUses:132Used by:156
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClipUses:134Used by:156
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:156
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:138Used by:156
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClipUses:140Used by:142
Symbol 142 MovieClipUses:141Used by:156
Symbol 143 GraphicUsed by:144
Symbol 144 MovieClipUses:143Used by:156
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:156
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:156
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:151
Symbol 151 MovieClipUses:150Used by:156
Symbol 152 GraphicUsed by:153
Symbol 153 MovieClipUses:152Used by:156
Symbol 154 GraphicUsed by:155
Symbol 155 MovieClipUses:154Used by:156
Symbol 156 MovieClip {spill.localisation.BrandingLogo}Uses:27 28 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 71 74 77 80 83 86 89 92 95 98 101 104 107 109 111 113 115 117 119 121 123 125 128 131 133 135 137 139 142 144 146 148 151 153 155
Symbol 157 GraphicUsed by:160 379 856 857 859 860 863
Symbol 158 GraphicUsed by:160
Symbol 159 GraphicUsed by:160
Symbol 160 ButtonUses:157 158 159Used by:189
Symbol 161 GraphicUsed by:189 196 566 748 752 755 757 765
Symbol 162 GraphicUsed by:186
Symbol 163 GraphicUsed by:186
Symbol 164 GraphicUsed by:186
Symbol 165 GraphicUsed by:186
Symbol 166 GraphicUsed by:186
Symbol 167 GraphicUsed by:186
Symbol 168 GraphicUsed by:186
Symbol 169 GraphicUsed by:186
Symbol 170 GraphicUsed by:186
Symbol 171 GraphicUsed by:186
Symbol 172 GraphicUsed by:186
Symbol 173 GraphicUsed by:186
Symbol 174 GraphicUsed by:186
Symbol 175 GraphicUsed by:186
Symbol 176 GraphicUsed by:186
Symbol 177 GraphicUsed by:186
Symbol 178 GraphicUsed by:186
Symbol 179 GraphicUsed by:186
Symbol 180 GraphicUsed by:186
Symbol 181 GraphicUsed by:186
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:186
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:186
Symbol 186 MovieClip {AlienThief_fla.flag_icon_234}Uses:162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 185Used by:189 196
Symbol 187 FontUsed by:188
Symbol 188 EditableTextUses:187Used by:189
Symbol 189 MovieClipUses:160 161 186 188Used by:192
Symbol 190 GraphicUsed by:191
Symbol 191 MovieClipUses:190Used by:192
Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc}Uses:189 191
Symbol 193 GraphicUsed by:196
Symbol 194 FontUsed by:195 572 885
Symbol 195 EditableTextUses:194Used by:196
Symbol 196 MovieClip {spill.localisation.LanguageSelectBox_mc}Uses:193 195 161 186
Symbol 197 GraphicUsed by:222
Symbol 198 GraphicUsed by:222 490 601 604 1150 1245
Symbol 199 GraphicUsed by:222 490 601 604 1245
Symbol 200 GraphicUsed by:222 601 604
Symbol 201 GraphicUsed by:222 601 604
Symbol 202 GraphicUsed by:222 601 604
Symbol 203 GraphicUsed by:222 490 601 604 1150 1245
Symbol 204 GraphicUsed by:222 490 601 604 1245
Symbol 205 GraphicUsed by:222
Symbol 206 GraphicUsed by:222
Symbol 207 GraphicUsed by:222
Symbol 208 GraphicUsed by:222
Symbol 209 GraphicUsed by:222
Symbol 210 GraphicUsed by:222
Symbol 211 GraphicUsed by:222
Symbol 212 GraphicUsed by:222
Symbol 213 GraphicUsed by:222
Symbol 214 GraphicUsed by:222
Symbol 215 GraphicUsed by:222
Symbol 216 GraphicUsed by:222
Symbol 217 GraphicUsed by:222
Symbol 218 GraphicUsed by:222
Symbol 219 GraphicUsed by:222
Symbol 220 GraphicUsed by:222
Symbol 221 GraphicUsed by:222
Symbol 222 MovieClip {CowMcLib}Uses:197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
Symbol 223 GraphicUsed by:249
Symbol 224 GraphicUsed by:249 559 1276
Symbol 225 GraphicUsed by:249 559 1160 1276
Symbol 226 GraphicUsed by:249
Symbol 227 GraphicUsed by:249
Symbol 228 GraphicUsed by:231
Symbol 229 GraphicUsed by:231
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:228 229 230Used by:249
Symbol 232 GraphicUsed by:239
Symbol 233 GraphicUsed by:239
Symbol 234 GraphicUsed by:239
Symbol 235 GraphicUsed by:239
Symbol 236 GraphicUsed by:239
Symbol 237 GraphicUsed by:239
Symbol 238 GraphicUsed by:239
Symbol 239 MovieClipUses:232 233 234 235 236 237 238Used by:249
Symbol 240 GraphicUsed by:249
Symbol 241 GraphicUsed by:249
Symbol 242 GraphicUsed by:249
Symbol 243 GraphicUsed by:249
Symbol 244 GraphicUsed by:249
Symbol 245 GraphicUsed by:249
Symbol 246 GraphicUsed by:249
Symbol 247 GraphicUsed by:249
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClip {CatMcLib}Uses:223 224 225 226 227 231 239 240 241 242 243 244 245 246 247 248
Symbol 250 GraphicUsed by:276
Symbol 251 GraphicUsed by:276
Symbol 252 GraphicUsed by:276 1187
Symbol 253 GraphicUsed by:276
Symbol 254 GraphicUsed by:276
Symbol 255 GraphicUsed by:276 806
Symbol 256 GraphicUsed by:276
Symbol 257 GraphicUsed by:276 806
Symbol 258 GraphicUsed by:276
Symbol 259 GraphicUsed by:276
Symbol 260 GraphicUsed by:276
Symbol 261 GraphicUsed by:276
Symbol 262 GraphicUsed by:276
Symbol 263 GraphicUsed by:276
Symbol 264 GraphicUsed by:276
Symbol 265 GraphicUsed by:276
Symbol 266 GraphicUsed by:276
Symbol 267 GraphicUsed by:276
Symbol 268 GraphicUsed by:276
Symbol 269 GraphicUsed by:276
Symbol 270 GraphicUsed by:276
Symbol 271 GraphicUsed by:276
Symbol 272 GraphicUsed by:276
Symbol 273 GraphicUsed by:276
Symbol 274 GraphicUsed by:276
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClip {DogMcLib}Uses:250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClip {SpinyStickSprLib}Uses:277
Symbol 279 GraphicUsed by:292
Symbol 280 GraphicUsed by:292
Symbol 281 GraphicUsed by:292
Symbol 282 GraphicUsed by:292
Symbol 283 GraphicUsed by:292
Symbol 284 GraphicUsed by:292
Symbol 285 GraphicUsed by:292
Symbol 286 GraphicUsed by:292
Symbol 287 GraphicUsed by:292
Symbol 288 GraphicUsed by:292
Symbol 289 GraphicUsed by:292
Symbol 290 GraphicUsed by:292
Symbol 291 GraphicUsed by:292
Symbol 292 MovieClip {FloatBombMcLib}Uses:35 279 280 281 282 283 284 285 286 287 288 289 290 291
Symbol 293 GraphicUsed by:300
Symbol 294 GraphicUsed by:295
Symbol 295 MovieClipUses:294Used by:300
Symbol 296 GraphicUsed by:300
Symbol 297 GraphicUsed by:300
Symbol 298 GraphicUsed by:299
Symbol 299 MovieClipUses:298Used by:300
Symbol 300 MovieClip {NightBgSprLib}Uses:293 295 296 297 299
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:301Used by:307 1103
Symbol 303 GraphicUsed by:307 1103
Symbol 304 GraphicUsed by:306
Symbol 305 GraphicUsed by:306
Symbol 306 MovieClipUses:304 305Used by:307
Symbol 307 MovieClipUses:302 303 306Used by:308
Symbol 308 MovieClip {KeyMcLib}Uses:307
Symbol 309 GraphicUsed by:310
Symbol 310 MovieClip {SnowBgSprLib}Uses:309
Symbol 311 GraphicUsed by:317
Symbol 312 GraphicUsed by:313
Symbol 313 MovieClipUses:312Used by:317 806
Symbol 314 ShapeTweeningUsed by:317
Symbol 315 ShapeTweeningUsed by:317
Symbol 316 GraphicUsed by:317
Symbol 317 MovieClip {StarTokenMcLib}Uses:311 313 314 315 316
Symbol 318 GraphicUsed by:321
Symbol 319 GraphicUsed by:321
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClip {CarBodySprLib}Uses:318 319 320
Symbol 322 GraphicUsed by:323
Symbol 323 MovieClip {CarWheelSprLib}Uses:322
Symbol 324 GraphicUsed by:335
Symbol 325 GraphicUsed by:335
Symbol 326 GraphicUsed by:335
Symbol 327 GraphicUsed by:335
Symbol 328 GraphicUsed by:335
Symbol 329 GraphicUsed by:335
Symbol 330 GraphicUsed by:335
Symbol 331 GraphicUsed by:335
Symbol 332 GraphicUsed by:335
Symbol 333 GraphicUsed by:335
Symbol 334 GraphicUsed by:335
Symbol 335 MovieClip {SpinyBallMcLib}Uses:324 325 326 327 328 329 330 331 332 333 334
Symbol 336 GraphicUsed by:337
Symbol 337 MovieClipUses:336Used by:338
Symbol 338 MovieClip {Debris1SprLib}Uses:337
Symbol 339 GraphicUsed by:340
Symbol 340 MovieClipUses:339Used by:341
Symbol 341 MovieClip {Debris4SprLib}Uses:340
Symbol 342 GraphicUsed by:343
Symbol 343 MovieClipUses:342Used by:344
Symbol 344 MovieClip {Debris3SprLib}Uses:343
Symbol 345 GraphicUsed by:346
Symbol 346 MovieClipUses:345Used by:347
Symbol 347 MovieClip {Debris2SprLib}Uses:346
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:360 1170
Symbol 350 GraphicUsed by:351
Symbol 351 MovieClipUses:350Used by:360 1170
Symbol 352 GraphicUsed by:360
Symbol 353 GraphicUsed by:360 1170
Symbol 354 GraphicUsed by:360 1170
Symbol 355 ShapeTweeningUsed by:360
Symbol 356 ShapeTweeningUsed by:360
Symbol 357 ShapeTweeningUsed by:360
Symbol 358 ShapeTweeningUsed by:360
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClip {BumperMcLib}Uses:35 349 351 352 353 354 355 356 357 358 359
Symbol 361 GraphicUsed by:362
Symbol 362 MovieClipUses:361Used by:364
Symbol 363 GraphicUsed by:364
Symbol 364 MovieClipUses:362 363Used by:365
Symbol 365 MovieClip {CannonBallMcLib}Uses:364
Symbol 366 GraphicUsed by:370
Symbol 367 GraphicUsed by:370
Symbol 368 GraphicUsed by:370
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClip {DoorSprLib}Uses:366 367 368 369Used by:371
Symbol 371 MovieClip {Door2SprLib}Uses:370
Symbol 372 GraphicUsed by:373
Symbol 373 MovieClip {TrashCanSprLib}Uses:372
Symbol 374 GraphicUsed by:375
Symbol 375 MovieClip {LaserProjectorSprLib}Uses:374
Symbol 376 ShapeTweeningUsed by:379
Symbol 377 ShapeTweeningUsed by:379
Symbol 378 GraphicUsed by:379
Symbol 379 MovieClip {LaserBeamMcLib}Uses:376 157 377 378
Symbol 380 GraphicUsed by:384
Symbol 381 GraphicUsed by:384
Symbol 382 GraphicUsed by:384
Symbol 383 GraphicUsed by:384 431
Symbol 384 MovieClip {WindmillFanSprLib}Uses:380 381 382 383
Symbol 385 GraphicUsed by:386
Symbol 386 MovieClip {HaloSprLib}Uses:385
Symbol 387 GraphicUsed by:388
Symbol 388 MovieClipUses:387Used by:392
Symbol 389 GraphicUsed by:390
Symbol 390 MovieClipUses:389Used by:392
Symbol 391 GraphicUsed by:392
Symbol 392 MovieClip {UfoSpawnerInactiveMcLib}Uses:388 390 391
Symbol 393 GraphicUsed by:394
Symbol 394 MovieClipUses:393Used by:399
Symbol 395 GraphicUsed by:396
Symbol 396 MovieClipUses:395Used by:399
Symbol 397 GraphicUsed by:399
Symbol 398 GraphicUsed by:399
Symbol 399 MovieClip {UfoSpawnerActiveMcLib}Uses:394 396 397 32 398
Symbol 400 GraphicUsed by:409
Symbol 401 GraphicUsed by:409 1132
Symbol 402 ShapeTweeningUsed by:409
Symbol 403 GraphicUsed by:409 1132
Symbol 404 GraphicUsed by:409
Symbol 405 GraphicUsed by:409
Symbol 406 GraphicUsed by:409
Symbol 407 ShapeTweeningUsed by:409
Symbol 408 GraphicUsed by:409 1132
Symbol 409 MovieClip {TeleTransmissionMcLib}Uses:400 401 402 403 404 405 406 407 408
Symbol 410 GraphicUsed by:418
Symbol 411 GraphicUsed by:418
Symbol 412 GraphicUsed by:418
Symbol 413 GraphicUsed by:418
Symbol 414 GraphicUsed by:418
Symbol 415 GraphicUsed by:418
Symbol 416 GraphicUsed by:417
Symbol 417 MovieClipUses:416Used by:418
Symbol 418 MovieClip {CannonMcLib}Uses:410 411 412 413 414 415 417
Symbol 419 GraphicUsed by:424
Symbol 420 GraphicUsed by:424
Symbol 421 GraphicUsed by:424
Symbol 422 GraphicUsed by:424
Symbol 423 GraphicUsed by:424
Symbol 424 MovieClip {TriggerMcLib}Uses:419 420 421 422 423
Symbol 425 GraphicUsed by:431
Symbol 426 GraphicUsed by:431 435
Symbol 427 GraphicUsed by:431
Symbol 428 GraphicUsed by:431 435
Symbol 429 GraphicUsed by:431 435
Symbol 430 GraphicUsed by:431
Symbol 431 MovieClip {GearWheel1SprLib}Uses:425 426 427 428 429 430 383
Symbol 432 GraphicUsed by:435
Symbol 433 GraphicUsed by:435
Symbol 434 GraphicUsed by:435
Symbol 435 MovieClip {GearWhee2SprLib}Uses:432 426 433 428 429 434
Symbol 436 MovieClip {spill.localisation.LocalizedTextField}Uses:23Used by:437 588 598 601 602 604 606 609 622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742 755 757 764 765 772 773 774 778 782 783 787 788 790 795 796 803 806 856 857 859 860 863
Symbol 437 MovieClip {StatisticTextSprLib}Uses:436
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClip {menuGrass}Uses:438
Symbol 440 GraphicUsed by:566
Symbol 441 GraphicUsed by:566
Symbol 442 GraphicUsed by:566
Symbol 443 GraphicUsed by:566
Symbol 444 GraphicUsed by:566
Symbol 445 ShapeTweeningUsed by:566
Symbol 446 GraphicUsed by:460 566
Symbol 447 GraphicUsed by:460 566
Symbol 448 GraphicUsed by:460 566
Symbol 449 GraphicUsed by:460 566
Symbol 450 GraphicUsed by:566
Symbol 451 GraphicUsed by:566
Symbol 452 GraphicUsed by:566
Symbol 453 GraphicUsed by:566
Symbol 454 GraphicUsed by:566
Symbol 455 GraphicUsed by:566
Symbol 456 GraphicUsed by:566
Symbol 457 GraphicUsed by:566
Symbol 458 GraphicUsed by:566
Symbol 459 ShapeTweeningUsed by:566
Symbol 460 MovieClipUses:446 447 448 449Used by:566
Symbol 461 GraphicUsed by:490
Symbol 462 GraphicUsed by:490 1245
Symbol 463 GraphicUsed by:490 1150 1245
Symbol 464 GraphicUsed by:490 1245
Symbol 465 GraphicUsed by:469
Symbol 466 GraphicUsed by:469
Symbol 467 GraphicUsed by:469
Symbol 468 GraphicUsed by:469
Symbol 469 MovieClipUses:465 466 467 468Used by:490 1245
Symbol 470 GraphicUsed by:490
Symbol 471 GraphicUsed by:490
Symbol 472 GraphicUsed by:490
Symbol 473 GraphicUsed by:490
Symbol 474 GraphicUsed by:490
Symbol 475 GraphicUsed by:490 1245
Symbol 476 GraphicUsed by:490
Symbol 477 GraphicUsed by:490
Symbol 478 GraphicUsed by:490
Symbol 479 GraphicUsed by:490
Symbol 480 GraphicUsed by:490
Symbol 481 GraphicUsed by:490
Symbol 482 GraphicUsed by:490
Symbol 483 GraphicUsed by:490
Symbol 484 GraphicUsed by:490
Symbol 485 GraphicUsed by:490
Symbol 486 GraphicUsed by:490
Symbol 487 GraphicUsed by:490 1245
Symbol 488 GraphicUsed by:490
Symbol 489 GraphicUsed by:490
Symbol 490 MovieClipUses:461 198 199 462 463 464 469 203 204 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489Used by:496
Symbol 491 GraphicUsed by:496
Symbol 492 GraphicUsed by:496 531 564
Symbol 493 GraphicUsed by:496 531 564
Symbol 494 GraphicUsed by:496 531 564
Symbol 495 GraphicUsed by:496 531 564
Symbol 496 MovieClipUses:490 491 492 493 494 495Used by:498
Symbol 497 GraphicUsed by:498
Symbol 498 MovieClipUses:496 497Used by:566
Symbol 499 GraphicUsed by:532
Symbol 500 GraphicUsed by:528
Symbol 501 GraphicUsed by:528 1307
Symbol 502 GraphicUsed by:528 1307
Symbol 503 GraphicUsed by:528 1307
Symbol 504 GraphicUsed by:528 1307
Symbol 505 GraphicUsed by:528 1307
Symbol 506 GraphicUsed by:528 1307
Symbol 507 GraphicUsed by:528 1307
Symbol 508 GraphicUsed by:528
Symbol 509 GraphicUsed by:528
Symbol 510 GraphicUsed by:528
Symbol 511 GraphicUsed by:528
Symbol 512 GraphicUsed by:528
Symbol 513 GraphicUsed by:528
Symbol 514 GraphicUsed by:528
Symbol 515 GraphicUsed by:528
Symbol 516 GraphicUsed by:528
Symbol 517 GraphicUsed by:528
Symbol 518 GraphicUsed by:528
Symbol 519 GraphicUsed by:528
Symbol 520 GraphicUsed by:528
Symbol 521 GraphicUsed by:528
Symbol 522 GraphicUsed by:528
Symbol 523 GraphicUsed by:528
Symbol 524 GraphicUsed by:528
Symbol 525 GraphicUsed by:528
Symbol 526 GraphicUsed by:528
Symbol 527 GraphicUsed by:528
Symbol 528 MovieClipUses:500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527Used by:531
Symbol 529 GraphicUsed by:531
Symbol 530 GraphicUsed by:531
Symbol 531 MovieClipUses:528 529 493 494 495 530 492Used by:532
Symbol 532 MovieClipUses:499 531Used by:566
Symbol 533 GraphicUsed by:565
Symbol 534 GraphicUsed by:559
Symbol 535 GraphicUsed by:559 1276
Symbol 536 GraphicUsed by:559 1276
Symbol 537 GraphicUsed by:559 1276
Symbol 538 GraphicUsed by:559 804 1276
Symbol 539 GraphicUsed by:559
Symbol 540 GraphicUsed by:559
Symbol 541 GraphicUsed by:559
Symbol 542 GraphicUsed by:559
Symbol 543 GraphicUsed by:559
Symbol 544 GraphicUsed by:559
Symbol 545 GraphicUsed by:559
Symbol 546 GraphicUsed by:559
Symbol 547 GraphicUsed by:559
Symbol 548 GraphicUsed by:559
Symbol 549 GraphicUsed by:559
Symbol 550 GraphicUsed by:559
Symbol 551 GraphicUsed by:559
Symbol 552 GraphicUsed by:559
Symbol 553 GraphicUsed by:559
Symbol 554 GraphicUsed by:559
Symbol 555 GraphicUsed by:559
Symbol 556 GraphicUsed by:559
Symbol 557 GraphicUsed by:559
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClipUses:534 224 225 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558Used by:564
Symbol 560 GraphicUsed by:564
Symbol 561 GraphicUsed by:564
Symbol 562 GraphicUsed by:564
Symbol 563 GraphicUsed by:564
Symbol 564 MovieClipUses:559 560 492 561 494 562 493 563 495Used by:565
Symbol 565 MovieClipUses:533 564Used by:566
Symbol 566 MovieClip {AllPassAnimMcLib}Uses:161 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 19 460 498 532 565
Symbol 567 GraphicUsed by:578
Symbol 568 FontUsed by:569 570 582 585 789
Symbol 569 TextUses:568Used by:577
Symbol 570 TextUses:568Used by:577
Symbol 571 GraphicUsed by:577
Symbol 572 TextUses:194Used by:577
Symbol 573 GraphicUsed by:577
Symbol 574 GraphicUsed by:577 609 778
Symbol 575 GraphicUsed by:577 609 778
Symbol 576 GraphicUsed by:577
Symbol 577 MovieClipUses:569 570 571 572 573 574 575 576Used by:578
Symbol 578 MovieClip {cameraModeMask}Uses:567 577
Symbol 579 GraphicUsed by:580
Symbol 580 MovieClip {oneUpSprite}Uses:579
Symbol 581 GraphicUsed by:583
Symbol 582 TextUses:568Used by:583
Symbol 583 MovieClip {LifeUpSprLib}Uses:581 582
Symbol 584 GraphicUsed by:586
Symbol 585 TextUses:568Used by:586
Symbol 586 MovieClip {LifeUpProgressSprLib}Uses:584 585
Symbol 587 GraphicUsed by:588
Symbol 588 MovieClip {medalAwardBgSprite}Uses:587 436
Symbol 589 GraphicUsed by:598 599
Symbol 590 GraphicUsed by:598 599
Symbol 591 GraphicUsed by:592
Symbol 592 MovieClipUses:591Used by:598 601 604 606
Symbol 593 GraphicUsed by:598 853
Symbol 594 GraphicUsed by:598 853
Symbol 595 GraphicUsed by:598 852 853
Symbol 596 GraphicUsed by:598 853
Symbol 597 GraphicUsed by:598 853
Symbol 598 MovieClip {Tutorial6SprLib}Uses:589 590 592 593 594 595 596 597 436
Symbol 599 MovieClipUses:589 590Used by:601 602 604 606 609
Symbol 600 GraphicUsed by:601
Symbol 601 MovieClip {Tutorial5SprLib}Uses:599 592 600 198 199 200 201 202 203 204 436
Symbol 602 MovieClip {Tutorial4SprLib}Uses:599 436
Symbol 603 GraphicUsed by:604
Symbol 604 MovieClip {Tutorial3SprLib}Uses:599 592 603 198 199 200 201 202 203 204 436
Symbol 605 GraphicUsed by:606
Symbol 606 MovieClip {Tutorial2SprLib}Uses:599 592 605 436
Symbol 607 GraphicUsed by:609
Symbol 608 GraphicUsed by:609
Symbol 609 MovieClip {Tutorial1SprLib}Uses:599 607 574 575 608 436
Symbol 610 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 611 GraphicUsed by:622
Symbol 612 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 613 BitmapUsed by:614
Symbol 614 GraphicUses:613Used by:622
Symbol 615 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 616 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 617 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 618 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 619 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 620 GraphicUsed by:622
Symbol 621 GraphicUsed by:622 627 632 637 642 647 652 657 662 667 672 677 682 687 692 697 702 707 712 717 722 727 732 737 742
Symbol 622 MovieClip {LevelSel25McLib}Uses:610 611 436 612 614 615 616 617 618 619 620 621
Symbol 623 GraphicUsed by:627
Symbol 624 BitmapUsed by:625
Symbol 625 GraphicUses:624Used by:627
Symbol 626 GraphicUsed by:627
Symbol 627 MovieClip {LevelSel24McLib}Uses:610 623 436 612 625 615 616 617 618 619 626 621
Symbol 628 GraphicUsed by:632
Symbol 629 BitmapUsed by:630
Symbol 630 GraphicUses:629Used by:632
Symbol 631 GraphicUsed by:632
Symbol 632 MovieClip {LevelSel23McLib}Uses:610 628 436 612 630 615 616 617 618 619 631 621
Symbol 633 GraphicUsed by:637
Symbol 634 BitmapUsed by:635
Symbol 635 GraphicUses:634Used by:637
Symbol 636 GraphicUsed by:637
Symbol 637 MovieClip {LevelSel22McLib}Uses:610 633 436 612 635 615 616 617 618 619 636 621
Symbol 638 GraphicUsed by:642
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:642
Symbol 641 GraphicUsed by:642
Symbol 642 MovieClip {LevelSel21McLib}Uses:610 638 436 612 640 615 616 617 618 619 641 621
Symbol 643 GraphicUsed by:647
Symbol 644 BitmapUsed by:645
Symbol 645 GraphicUses:644Used by:647
Symbol 646 GraphicUsed by:647
Symbol 647 MovieClip {LevelSel20McLib}Uses:610 643 436 612 645 615 616 617 618 619 646 621
Symbol 648 GraphicUsed by:652
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:652
Symbol 651 GraphicUsed by:652
Symbol 652 MovieClip {LevelSel19McLib}Uses:610 648 436 612 650 615 616 617 618 619 651 621
Symbol 653 GraphicUsed by:657
Symbol 654 BitmapUsed by:655
Symbol 655 GraphicUses:654Used by:657
Symbol 656 GraphicUsed by:657
Symbol 657 MovieClip {LevelSel18McLib}Uses:610 653 436 612 655 615 616 617 618 619 656 621
Symbol 658 GraphicUsed by:662
Symbol 659 BitmapUsed by:660
Symbol 660 GraphicUses:659Used by:662
Symbol 661 GraphicUsed by:662
Symbol 662 MovieClip {LevelSel17McLib}Uses:610 658 436 612 660 615 616 617 618 619 661 621
Symbol 663 GraphicUsed by:667
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:667
Symbol 666 GraphicUsed by:667
Symbol 667 MovieClip {LevelSel16McLib}Uses:610 663 436 612 665 615 616 617 618 619 666 621
Symbol 668 GraphicUsed by:672
Symbol 669 BitmapUsed by:670
Symbol 670 GraphicUses:669Used by:672
Symbol 671 GraphicUsed by:672
Symbol 672 MovieClip {LevelSel15McLib}Uses:610 668 436 612 670 615 616 617 618 619 671 621
Symbol 673 GraphicUsed by:677
Symbol 674 BitmapUsed by:675
Symbol 675 GraphicUses:674Used by:677
Symbol 676 GraphicUsed by:677
Symbol 677 MovieClip {LevelSel14McLib}Uses:610 673 436 612 675 615 616 617 618 619 676 621
Symbol 678 GraphicUsed by:682
Symbol 679 BitmapUsed by:680
Symbol 680 GraphicUses:679Used by:682
Symbol 681 GraphicUsed by:682
Symbol 682 MovieClip {LevelSel13McLib}Uses:610 678 436 612 680 615 616 617 618 619 681 621
Symbol 683 GraphicUsed by:687
Symbol 684 BitmapUsed by:685
Symbol 685 GraphicUses:684Used by:687
Symbol 686 GraphicUsed by:687
Symbol 687 MovieClip {LevelSel12McLib}Uses:610 683 436 612 685 615 616 617 618 619 686 621
Symbol 688 GraphicUsed by:692
Symbol 689 BitmapUsed by:690
Symbol 690 GraphicUses:689Used by:692
Symbol 691 GraphicUsed by:692
Symbol 692 MovieClip {LevelSel11McLib}Uses:610 688 436 612 690 615 616 617 618 619 691 621
Symbol 693 GraphicUsed by:697
Symbol 694 BitmapUsed by:695
Symbol 695 GraphicUses:694Used by:697
Symbol 696 GraphicUsed by:697
Symbol 697 MovieClip {LevelSel10McLib}Uses:610 693 436 612 695 615 616 617 618 619 696 621
Symbol 698 GraphicUsed by:702
Symbol 699 BitmapUsed by:700
Symbol 700 GraphicUses:699Used by:702
Symbol 701 GraphicUsed by:702
Symbol 702 MovieClip {LevelSel9McLib}Uses:610 698 436 612 700 615 616 617 618 619 701 621
Symbol 703 GraphicUsed by:707
Symbol 704 BitmapUsed by:705
Symbol 705 GraphicUses:704Used by:707
Symbol 706 GraphicUsed by:707
Symbol 707 MovieClip {LevelSel8McLib}Uses:610 703 436 612 705 615 616 617 618 619 706 621
Symbol 708 GraphicUsed by:712
Symbol 709 BitmapUsed by:710
Symbol 710 GraphicUses:709Used by:712
Symbol 711 GraphicUsed by:712
Symbol 712 MovieClip {LevelSel7McLib}Uses:610 708 436 612 710 615 616 617 618 619 711 621
Symbol 713 GraphicUsed by:717
Symbol 714 BitmapUsed by:715
Symbol 715 GraphicUses:714Used by:717
Symbol 716 GraphicUsed by:717
Symbol 717 MovieClip {LevelSel6McLib}Uses:610 713 436 612 715 615 616 617 618 619 716 621
Symbol 718 GraphicUsed by:722
Symbol 719 BitmapUsed by:720
Symbol 720 GraphicUses:719Used by:722
Symbol 721 GraphicUsed by:722
Symbol 722 MovieClip {LevelSel5McLib}Uses:610 718 436 612 720 615 616 617 618 619 721 621
Symbol 723 GraphicUsed by:727
Symbol 724 BitmapUsed by:725
Symbol 725 GraphicUses:724Used by:727
Symbol 726 GraphicUsed by:727
Symbol 727 MovieClip {LevelSel4McLib}Uses:610 723 436 612 725 615 616 617 618 619 726 621
Symbol 728 GraphicUsed by:732
Symbol 729 BitmapUsed by:730
Symbol 730 GraphicUses:729Used by:732
Symbol 731 GraphicUsed by:732
Symbol 732 MovieClip {LevelSel3McLib}Uses:610 728 436 612 730 615 616 617 618 619 731 621
Symbol 733 GraphicUsed by:737
Symbol 734 BitmapUsed by:735
Symbol 735 GraphicUses:734Used by:737
Symbol 736 GraphicUsed by:737
Symbol 737 MovieClip {LevelSel2McLib}Uses:610 733 436 612 735 615 616 617 618 619 736 621
Symbol 738 GraphicUsed by:742
Symbol 739 BitmapUsed by:740
Symbol 740 GraphicUses:739Used by:742
Symbol 741 GraphicUsed by:742
Symbol 742 MovieClip {LevelSel1McLib}Uses:610 738 436 612 740 615 616 617 618 619 741 621
Symbol 743 GraphicUsed by:748
Symbol 744 GraphicUsed by:748
Symbol 745 GraphicUsed by:748 751
Symbol 746 GraphicUsed by:748
Symbol 747 GraphicUsed by:748
Symbol 748 MovieClip {MenuSprite}Uses:161 743 744 745 746 747
Symbol 749 GraphicUsed by:751
Symbol 750 GraphicUsed by:751
Symbol 751 MovieClipUses:749 745 750Used by:752 755 757 765
Symbol 752 MovieClip {ScoresScreenSprite}Uses:161 751
Symbol 753 GraphicUsed by:755
Symbol 754 GraphicUsed by:755
Symbol 755 MovieClip {CreditsScreenSprite}Uses:161 751 753 436 754
Symbol 756 GraphicUsed by:757
Symbol 757 MovieClip {MedalScreenSprite}Uses:161 751 756 436
Symbol 758 GraphicUsed by:765
Symbol 759 GraphicUsed by:760
Symbol 760 ButtonUses:759Used by:765
Symbol 761 GraphicUsed by:764 772 773 774 787 790 803
Symbol 762 GraphicUsed by:764 772 773 774 786 787 790 794
Symbol 763 GraphicUsed by:764 772 773 774 786 787 790 794
Symbol 764 Button {BackBtn}Uses:761 436 762 763 22Used by:765
Symbol 765 MovieClip {LevelScreenSprLib}Uses:161 751 758 760 764 436
Symbol 766 GraphicUsed by:770
Symbol 767 BitmapUsed by:768
Symbol 768 GraphicUses:767Used by:769
Symbol 769 MovieClipUses:768Used by:770
Symbol 770 MovieClip {LogoMcLib}Uses:766 769
Symbol 771 GraphicUsed by:783 788 795 796 806
Symbol 772 Button {AlienThief_fla.Timeline_122}Uses:761 436 762 763 22Used by:783
Symbol 773 Button {AlienThief_fla.Timeline_123}Uses:761 436 762 763 22Used by:783
Symbol 774 Button {AlienThief_fla.Timeline_107}Uses:761 436 762 763 22Used by:783 788 795 806
Symbol 775 GraphicUsed by:778
Symbol 776 GraphicUsed by:778
Symbol 777 GraphicUsed by:778
Symbol 778 Button {AlienThief_fla.Timeline_113}Uses:775 574 575 436 776 777 22Used by:783 796
Symbol 779 GraphicUsed by:782
Symbol 780 GraphicUsed by:782
Symbol 781 GraphicUsed by:782
Symbol 782 Button {AlienThief_fla.Timeline_114}Uses:779 436 780 781 22Used by:783 796
Symbol 783 MovieClip {GamePausePanelSprite}Uses:771 772 773 774 778 782 436
Symbol 784 GraphicUsed by:786
Symbol 785 GraphicUsed by:786
Symbol 786 ButtonUses:784 762 785 763Used by:788
Symbol 787 Button {AlienThief_fla.Timeline_120}Uses:761 436 762 763 22Used by:788
Symbol 788 MovieClip {GameOverPanelSprite}Uses:771 786 787 774 436
Symbol 789 TextUses:568Used by:795
Symbol 790 Button {AlienThief_fla.Timeline_116}Uses:761 436 762 763 22Used by:795
Symbol 791 GraphicUsed by:794
Symbol 792 GraphicUsed by:794
Symbol 793 GraphicUsed by:794
Symbol 794 ButtonUses:791 762 792 763 793Used by:795
Symbol 795 MovieClip {ScoreSubmitPanelSprLib}Uses:771 436 789 790 794 774
Symbol 796 MovieClip {ControllerPanelSprLib}Uses:771 778 782 436
Symbol 797 GraphicUsed by:798
Symbol 798 MovieClip {invalidSprite}Uses:797Used by:806
Symbol 799 GraphicUsed by:800
Symbol 800 MovieClip {cowIconSprite}Uses:799Used by:806
Symbol 801 GraphicUsed by:803
Symbol 802 GraphicUsed by:803
Symbol 803 Button {ContinueBtn}Uses:761 436 801 802 22Used by:806
Symbol 804 MovieClipUses:538Used by:806
Symbol 805 GraphicUsed by:806
Symbol 806 MovieClip {LevelCompletePanelSprite}Uses:771 436 774 803 800 313 798 804 255 805 257
Symbol 807 GraphicUsed by:808
Symbol 808 MovieClip {Num9SprLib}Uses:807
Symbol 809 GraphicUsed by:810
Symbol 810 MovieClip {Num8SprLib}Uses:809
Symbol 811 GraphicUsed by:812
Symbol 812 MovieClip {Num7SprLib}Uses:811
Symbol 813 GraphicUsed by:814
Symbol 814 MovieClip {Num6SprLib}Uses:813
Symbol 815 GraphicUsed by:816
Symbol 816 MovieClip {Num5SprLib}Uses:815
Symbol 817 GraphicUsed by:818
Symbol 818 MovieClip {Num4SprLib}Uses:817
Symbol 819 GraphicUsed by:820
Symbol 820 MovieClip {Num3SprLib}Uses:819
Symbol 821 GraphicUsed by:822
Symbol 822 MovieClip {Num2SprLib}Uses:821
Symbol 823 GraphicUsed by:824
Symbol 824 MovieClip {Num1SprLib}Uses:823
Symbol 825 GraphicUsed by:826
Symbol 826 MovieClip {Num0SprLib}Uses:825
Symbol 827 GraphicUsed by:828
Symbol 828 MovieClip {score100}Uses:827
Symbol 829 GraphicUsed by:830
Symbol 830 MovieClip {score50}Uses:829
Symbol 831 GraphicUsed by:832
Symbol 832 MovieClip {score20}Uses:831
Symbol 833 GraphicUsed by:834
Symbol 834 MovieClip {score10}Uses:833
Symbol 835 GraphicUsed by:836
Symbol 836 Button {pauseBtn}Uses:835
Symbol 837 GraphicUsed by:838 839
Symbol 838 MovieClipUses:837Used by:839
Symbol 839 Button {soundBtn}Uses:838 837
Symbol 840 GraphicUsed by:841 842
Symbol 841 MovieClipUses:840Used by:842
Symbol 842 Button {musicBtn}Uses:841 840
Symbol 843 GraphicUsed by:853
Symbol 844 GraphicUsed by:852
Symbol 845 GraphicUsed by:852
Symbol 846 GraphicUsed by:852
Symbol 847 ShapeTweeningUsed by:852
Symbol 848 GraphicUsed by:849
Symbol 849 MovieClipUses:848Used by:852
Symbol 850 ShapeTweeningUsed by:852
Symbol 851 GraphicUsed by:852
Symbol 852 MovieClipUses:844 845 595 846 847 849 850 851Used by:853
Symbol 853 MovieClip {CameraBtnMcLib}Uses:593 594 595 596 597 843 852
Symbol 854 GraphicUsed by:856 857
Symbol 855 GraphicUsed by:856 857
Symbol 856 Button {PlayBtn}Uses:854 436 855 157 22
Symbol 857 Button {CreditsBtn}Uses:854 436 855 157 22
Symbol 858 GraphicUsed by:859 860
Symbol 859 Button {MedalsBtn}Uses:858 436 157 22
Symbol 860 Button {MoreGamesBtn}Uses:858 436 157 22
Symbol 861 GraphicUsed by:863
Symbol 862 GraphicUsed by:863
Symbol 863 Button {ScoresBtn}Uses:861 436 862 157 22
Symbol 864 GraphicUsed by:865
Symbol 865 MovieClip {Medal9}Uses:864
Symbol 866 GraphicUsed by:867
Symbol 867 MovieClip {Medal8}Uses:866
Symbol 868 GraphicUsed by:869
Symbol 869 MovieClip {Medal7}Uses:868
Symbol 870 GraphicUsed by:871
Symbol 871 MovieClip {Medal6}Uses:870
Symbol 872 GraphicUsed by:873
Symbol 873 MovieClip {Medal5}Uses:872
Symbol 874 GraphicUsed by:875
Symbol 875 MovieClip {Medal4}Uses:874
Symbol 876 GraphicUsed by:877
Symbol 877 MovieClip {Medal3}Uses:876
Symbol 878 GraphicUsed by:879
Symbol 879 MovieClip {Medal2}Uses:878
Symbol 880 GraphicUsed by:881
Symbol 881 MovieClip {Medal1}Uses:880
Symbol 882 GraphicUsed by:883
Symbol 883 MovieClip {Medal0}Uses:882
Symbol 884 GraphicUsed by:886
Symbol 885 TextUses:194Used by:886
Symbol 886 MovieClip {MedalUncoveredSprLib}Uses:884 885
Symbol 887 GraphicUsed by:940
Symbol 888 GraphicUsed by:889
Symbol 889 MovieClipUses:888Used by:906 907 908 909
Symbol 890 GraphicUsed by:891
Symbol 891 MovieClipUses:890Used by:906 907 908 909
Symbol 892 GraphicUsed by:906 907 908 909
Symbol 893 GraphicUsed by:906 907 908 909
Symbol 894 GraphicUsed by:906 907 908 909
Symbol 895 GraphicUsed by:906 907 908 909
Symbol 896 GraphicUsed by:906 907 908 909
Symbol 897 GraphicUsed by:906 907 908 909
Symbol 898 GraphicUsed by:906 907 908
Symbol 899 GraphicUsed by:906 907 908 909
Symbol 900 GraphicUsed by:906 907 908 909
Symbol 901 GraphicUsed by:906 907 908 909
Symbol 902 GraphicUsed by:906 907 908 909
Symbol 903 GraphicUsed by:906
Symbol 904 GraphicUsed by:906 907 908 909
Symbol 905 GraphicUsed by:906 907 908 909
Symbol 906 MovieClipUses:889 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905Used by:940 951 957 966 994 1000 1003 1007 1011 1025 1027 1030 1033 1037 1041 1045 1073 1075 1081 1085 1093
Symbol 907 MovieClipUses:892 891 889 904 905 898 900 901 896 895 893 897 902 894 899Used by:940 951 957 966 994 1000 1003 1007 1011 1025 1027 1030 1037 1041 1048 1067 1073 1081
Symbol 908 MovieClipUses:892 891 889 904 905 898 900 896 895 893 901 897 902 894 899Used by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073
Symbol 909 MovieClipUses:889 891 892 895 896 897 899 900 901 904 894 893 905 902Used by:940 951 957 966 994 1000 1007 1011 1025 1030 1033 1037 1041 1048 1073 1081
Symbol 910 GraphicUsed by:940 951 957 966 1000 1007 1011 1025 1037 1041 1045 1048 1093
Symbol 911 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048
Symbol 912 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1093
Symbol 913 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073
Symbol 914 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1073
Symbol 915 GraphicUsed by:940 951 957 966 994 996 1000 1007 1025 1030 1037 1041 1045 1048 1067 1073 1081
Symbol 916 GraphicUsed by:940 951 957 966 1003 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081
Symbol 917 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1073 1081
Symbol 918 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081
Symbol 919 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081
Symbol 920 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1045 1048 1067 1073 1081
Symbol 921 GraphicUsed by:923 927 929 1085
Symbol 922 GraphicUsed by:923 927 929 1085
Symbol 923 MovieClipUses:921 922Used by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081 1093
Symbol 924 GraphicUsed by:927 929
Symbol 925 GraphicUsed by:927 929
Symbol 926 GraphicUsed by:927 929
Symbol 927 MovieClipUses:921 924 922 925 926Used by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081 1093
Symbol 928 GraphicUsed by:929
Symbol 929 MovieClipUses:921 924 922 925 926 928Used by:940 951
Symbol 930 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1027 1030 1033 1037 1041 1045 1048 1073 1075 1081 1085
Symbol 931 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1073 1081
Symbol 932 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1048 1073 1081
Symbol 933 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1073 1081
Symbol 934 GraphicUsed by:940
Symbol 935 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081 1085 1093
Symbol 936 GraphicUsed by:940 951 957 966 994 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081 1085 1093
Symbol 937 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1045 1048 1067 1073 1081
Symbol 938 GraphicUsed by:940 951 957 966 994 996 1000 1003 1007 1011 1025 1030 1037 1041 1067 1073
Symbol 939 GraphicUsed by:940 994 1000 1003 1011
Symbol 940 MovieClip {FrontLayerLevel25}Uses:887 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 923 927 929 930 931 932 933 934 935 936 937 938 939
Symbol 941 GraphicUsed by:951
Symbol 942 GraphicUsed by:951 966 985 994 996 1000 1003 1007 1011 1022 1025 1037 1041 1060 1073 1081 1085
Symbol 943 GraphicUsed by:951 966 985 994 996 1000 1003 1007 1011 1022 1025 1037 1041 1060 1073 1081 1085
Symbol 944 GraphicUsed by:951 966 985 994 996 1000 1003 1007 1011 1022 1025 1037 1041 1060 1073 1081 1085
Symbol 945 GraphicUsed by:951 966 985 994 996 1000 1003 1007 1011 1022 1025 1037 1041 1060 1073 1081 1085
Symbol 946 GraphicUsed by:951 966 985 994 996 1000 1003 1007 1011 1022 1025 1037 1041 1060 1073 1081 1085
Symbol 947 GraphicUsed by:951
Symbol 948 GraphicUsed by:951
Symbol 949 GraphicUsed by:951 966 1003 1011 1073
Symbol 950 GraphicUsed by:951 957 966 994 996 1000
Symbol 951 MovieClip {FrontLayerLevel24}Uses:941 929 923 906 907 909 908 942 943 944 945 946 947 910 927 911 912 917 913 914 920 919 918 915 916 930 932 931 933 935 936 937 948 938 949 950
Symbol 952 GraphicUsed by:957
Symbol 953 GraphicUsed by:957
Symbol 954 GraphicUsed by:957
Symbol 955 GraphicUsed by:957 1000 1025 1030 1041 1045 1048 1093
Symbol 956 GraphicUsed by:957 1007 1011
Symbol 957 MovieClip {FrontLayerLevel23}Uses:952 953 906 907 908 909 954 932 930 931 933 955 920 919 913 911 912 927 923 916 917 918 915 910 914 935 936 937 938 956 950
Symbol 958 GraphicUsed by:959
Symbol 959 MovieClip {StickBarrierSprLib}Uses:958
Symbol 960 GraphicUsed by:961
Symbol 961 MovieClip {BreakableSquareSprLib}Uses:960
Symbol 962 GraphicUsed by:966
Symbol 963 GraphicUsed by:966
Symbol 964 GraphicUsed by:966 996 1007 1011 1025 1037 1045 1048 1067 1073 1081 1085 1093
Symbol 965 GraphicUsed by:966 996 1007 1011 1025 1037 1045 1048 1067 1073 1081 1085 1093
Symbol 966 MovieClip {FrontLayerLevel22}Uses:962 942 943 944 945 946 963 906 908 907 909 910 911 912 927 920 919 915 918 913 914 916 917 923 964 965 930 932 933 931 935 936 950 938 937 949
Symbol 967 GraphicUsed by:973
Symbol 968 GraphicUsed by:973 985 991 1022 1060
Symbol 969 GraphicUsed by:973 985 991 1022 1060
Symbol 970 GraphicUsed by:973 985 991 1022 1060
Symbol 971 GraphicUsed by:973 985 991 1022 1060
Symbol 972 GraphicUsed by:973
Symbol 973 MovieClip {Level21Hidden1}Uses:967 968 969 970 971 972
Symbol 974 GraphicUsed by:985
Symbol 975 GraphicUsed by:985
Symbol 976 GraphicUsed by:985 991 1022 1060
Symbol 977 GraphicUsed by:985 991 1022 1060
Symbol 978 GraphicUsed by:985 991
Symbol 979 GraphicUsed by:985 991
Symbol 980 GraphicUsed by:985 991 1022 1060
Symbol 981 GraphicUsed by:985 991
Symbol 982 GraphicUsed by:985
Symbol 983 GraphicUsed by:985
Symbol 984 GraphicUsed by:985
Symbol 985 MovieClip {FrontLayerLevel21}Uses:974 975 968 969 970 942 943 944 945 946 976 977 971 978 979 980 981 982 983 984
Symbol 986 GraphicUsed by:991
Symbol 987 GraphicUsed by:991
Symbol 988 GraphicUsed by:991
Symbol 989 GraphicUsed by:991 1022 1060
Symbol 990 GraphicUsed by:991
Symbol 991 MovieClip {FrontLayerLevel20}Uses:986 987 970 969 968 976 977 980 988 979 971 989 978 981 990
Symbol 992 GraphicUsed by:994
Symbol 993 GraphicUsed by:994
Symbol 994 MovieClip {FrontLayerLevel19}Uses:992 906 909 908 907 993 942 943 944 945 946 911 912 913 914 927 923 920 919 918 917 915 933 930 932 931 936 939 937 938 935 950
Symbol 995 GraphicUsed by:996
Symbol 996 MovieClip {FrontLayerLevel18}Uses:995 942 943 944 945 946 930 908 964 965 915 927 917 913 914 918 919 935 938 950 937
Symbol 997 GraphicUsed by:1000
Symbol 998 GraphicUsed by:1000
Symbol 999 GraphicUsed by:1000
Symbol 1000 MovieClip {FrontLayerLevel17}Uses:997 998 906 907 908 909 999 942 943 944 945 946 931 932 930 933 955 911 912 910 913 914 919 920 918 917 915 927 923 935 936 937 938 939 950
Symbol 1001 GraphicUsed by:1003
Symbol 1002 GraphicUsed by:1003
Symbol 1003 MovieClip {FrontLayerLevel16}Uses:1001 906 907 908 1002 942 943 944 945 946 931 932 930 933 927 920 919 917 918 913 914 916 911 912 923 939 937 938 935 936 949
Symbol 1004 GraphicUsed by:1007
Symbol 1005 GraphicUsed by:1007
Symbol 1006 GraphicUsed by:1007
Symbol 1007 MovieClip {FrontLayerLevel15}Uses:1004 1005 906 907 908 909 942 943 944 945 946 964 965 923 911 912 913 927 915 917 919 920 910 918 914 930 933 931 932 935 936 938 937 956 1006
Symbol 1008 GraphicUsed by:1011
Symbol 1009 GraphicUsed by:1011
Symbol 1010 GraphicUsed by:1011
Symbol 1011 MovieClip {FrontLayerLevel14}Uses:1008 1009 906 907 908 909 942 943 944 945 946 911 912 927 920 919 913 916 910 914 918 923 917 964 965 930 932 933 931 935 936 937 938 956 949 939 1010
Symbol 1012 GraphicUsed by:1022
Symbol 1013 GraphicUsed by:1022
Symbol 1014 GraphicUsed by:1022
Symbol 1015 GraphicUsed by:1022
Symbol 1016 GraphicUsed by:1022
Symbol 1017 GraphicUsed by:1022
Symbol 1018 GraphicUsed by:1022
Symbol 1019 GraphicUsed by:1022
Symbol 1020 GraphicUsed by:1022 1060
Symbol 1021 GraphicUsed by:1022
Symbol 1022 MovieClip {FrontLayerLevel13}Uses:1012 1013 968 969 970 942 943 944 945 946 976 977 1014 1015 1016 989 971 980 1017 1018 1019 1020 1021
Symbol 1023 GraphicUsed by:1025
Symbol 1024 GraphicUsed by:1025
Symbol 1025 MovieClip {FrontLayerLevel12}Uses:1023 906 907 909 908 1024 942 943 944 945 946 927 920 918 919 915 913 914 916 910 923 955 911 912 917 931 932 930 933 964 965 935 936 937 938
Symbol 1026 GraphicUsed by:1027
Symbol 1027 MovieClip {Level11Hidden1}Uses:1026 906 907 19 930
Symbol 1028 GraphicUsed by:1030
Symbol 1029 GraphicUsed by:1030
Symbol 1030 MovieClip {FrontLayerLevel11}Uses:1028 1029 908 906 909 907 955 911 912 913 914 920 919 927 918 916 917 923 915 931 932 930 933 935 936 937 938
Symbol 1031 GraphicUsed by:1033
Symbol 1032 GraphicUsed by:1033
Symbol 1033 MovieClip {Level10Hidden1}Uses:1031 1032 906 909 930
Symbol 1034 GraphicUsed by:1037
Symbol 1035 GraphicUsed by:1037
Symbol 1036 GraphicUsed by:1037
Symbol 1037 MovieClip {FrontLayerLevel10}Uses:1034 942 943 944 945 946 1035 906 909 908 907 930 932 933 931 964 965 927 913 916 911 912 910 919 918 923 917 915 920 1036 935 938 936 937
Symbol 1038 GraphicUsed by:1041
Symbol 1039 GraphicUsed by:1041
Symbol 1040 GraphicUsed by:1041 1073
Symbol 1041 MovieClip {FrontLayerLevel9}Uses:942 943 944 945 946 1038 906 907 909 908 930 1039 931 932 933 955 911 912 910 927 918 919 915 913 917 923 916 1040 936 935 938 937
Symbol 1042 GraphicUsed by:1045
Symbol 1043 GraphicUsed by:1045
Symbol 1044 GraphicUsed by:1045
Symbol 1045 MovieClip {FrontLayerLevel8}Uses:1042 1043 906 908 955 911 912 927 910 915 916 918 919 920 913 923 917 1044 964 965 930 931 933 935 936 937
Symbol 1046 GraphicUsed by:1048
Symbol 1047 GraphicUsed by:1048
Symbol 1048 MovieClip {FrontLayerLevel7}Uses:1046 1047 907 909 908 917 910 955 911 912 915 927 919 920 913 923 916 918 964 965 932 930 931 933 935 936 937
Symbol 1049 GraphicUsed by:1060
Symbol 1050 GraphicUsed by:1060
Symbol 1051 GraphicUsed by:1060
Symbol 1052 GraphicUsed by:1060
Symbol 1053 GraphicUsed by:1060
Symbol 1054 GraphicUsed by:1060
Symbol 1055 GraphicUsed by:1060
Symbol 1056 GraphicUsed by:1060
Symbol 1057 GraphicUsed by:1060
Symbol 1058 GraphicUsed by:1060
Symbol 1059 GraphicUsed by:1060
Symbol 1060 MovieClip {FrontLayerLevel6}Uses:1049 968 969 970 976 977 971 980 1020 989 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 942 943 944 945 946
Symbol 1061 GraphicUsed by:1067
Symbol 1062 GraphicUsed by:1063 1067
Symbol 1063 MovieClipUses:1062Used by:1067
Symbol 1064 GraphicUsed by:1067 1073 1081 1085
Symbol 1065 GraphicUsed by:1067 1073 1081 1085
Symbol 1066 GraphicUsed by:1067
Symbol 1067 MovieClip {FrontLayerLevel5}Uses:1061 964 965 1063 1064 1065 1062 1066 907 908 915 913 916 927 923 920 919 918 935 936 937 938
Symbol 1068 GraphicUsed by:1073
Symbol 1069 GraphicUsed by:1073
Symbol 1070 GraphicUsed by:1073
Symbol 1071 GraphicUsed by:1073
Symbol 1072 GraphicUsed by:1073 1081
Symbol 1073 MovieClip {FrontLayerLevel4}Uses:1068 1069 908 907 906 909 1064 1065 1070 918 1040 964 965 942 943 944 945 946 930 932 931 933 1071 1072 927 915 916 917 919 920 913 923 914 935 936 937 938 949
Symbol 1074 GraphicUsed by:1075
Symbol 1075 MovieClip {Level3Hidden1}Uses:1074 906 19 930
Symbol 1076 GraphicUsed by:1081
Symbol 1077 GraphicUsed by:1081
Symbol 1078 GraphicUsed by:1081
Symbol 1079 GraphicUsed by:1081
Symbol 1080 GraphicUsed by:1081
Symbol 1081 MovieClip {FrontLayerLevel3}Uses:915 917 927 920 919 923 918 916 964 965 942 943 944 945 946 1076 906 907 909 1077 930 931 933 932 1078 1072 1079 1080 1064 1065 935 936 937
Symbol 1082 GraphicUsed by:1085
Symbol 1083 GraphicUsed by:1085
Symbol 1084 GraphicUsed by:1085
Symbol 1085 MovieClip {FrontLayerLevel2}Uses:942 943 944 945 946 964 965 1064 1065 921 922 1082 1083 906 930 1084 935 936
Symbol 1086 GraphicUsed by:1093
Symbol 1087 GraphicUsed by:1093
Symbol 1088 GraphicUsed by:1093
Symbol 1089 GraphicUsed by:1093
Symbol 1090 GraphicUsed by:1093
Symbol 1091 GraphicUsed by:1093
Symbol 1092 GraphicUsed by:1093
Symbol 1093 MovieClip {FrontLayerLevel1}Uses:1086 1087 912 1088 1089 1090 955 910 923 927 964 965 1091 1092 906 935 936
Symbol 1094 GraphicUsed by:1100
Symbol 1095 GraphicUsed by:1100
Symbol 1096 GraphicUsed by:1100
Symbol 1097 GraphicUsed by:1100
Symbol 1098 GraphicUsed by:1100
Symbol 1099 GraphicUsed by:1100
Symbol 1100 MovieClip {FloatBombExplosion}Uses:1094 1095 1096 1097 1098 1099
Symbol 1101 GraphicUsed by:1103
Symbol 1102 GraphicUsed by:1103
Symbol 1103 MovieClip {keyFadeAnim}Uses:302 303 1101 1102
Symbol 1104 GraphicUsed by:1112
Symbol 1105 GraphicUsed by:1112
Symbol 1106 ShapeTweeningUsed by:1112
Symbol 1107 ShapeTweeningUsed by:1112
Symbol 1108 ShapeTweeningUsed by:1112
Symbol 1109 ShapeTweeningUsed by:1112
Symbol 1110 GraphicUsed by:1112
Symbol 1111 ShapeTweeningUsed by:1112
Symbol 1112 MovieClip {StarVanishMcLib}Uses:1104 1105 1106 1107 1108 1109 1110 1111
Symbol 1113 GraphicUsed by:1132
Symbol 1114 GraphicUsed by:1132
Symbol 1115 MovieClipUsed by:1132
Symbol 1116 GraphicUsed by:1117
Symbol 1117 MovieClipUses:1116Used by:1132
Symbol 1118 GraphicUsed by:1132
Symbol 1119 GraphicUsed by:1132
Symbol 1120 GraphicUsed by:1132
Symbol 1121 GraphicUsed by:1132
Symbol 1122 GraphicUsed by:1132
Symbol 1123 GraphicUsed by:1132
Symbol 1124 GraphicUsed by:1132
Symbol 1125 GraphicUsed by:1132
Symbol 1126 GraphicUsed by:1132
Symbol 1127 GraphicUsed by:1132
Symbol 1128 GraphicUsed by:1132
Symbol 1129 GraphicUsed by:1132
Symbol 1130 GraphicUsed by:1132
Symbol 1131 GraphicUsed by:1132
Symbol 1132 MovieClip {TeleTransmissionAnimMcLib}Uses:1113 1114 401 1115 1117 408 403 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131
Symbol 1133 GraphicUsed by:1138
Symbol 1134 GraphicUsed by:1138
Symbol 1135 GraphicUsed by:1138
Symbol 1136 GraphicUsed by:1138
Symbol 1137 GraphicUsed by:1138
Symbol 1138 MovieClip {CannonBallParticleMcLib}Uses:1133 1134 1135 1136 1137
Symbol 1139 GraphicUsed by:1150
Symbol 1140 GraphicUsed by:1150
Symbol 1141 GraphicUsed by:1150
Symbol 1142 GraphicUsed by:1150
Symbol 1143 GraphicUsed by:1150
Symbol 1144 GraphicUsed by:1150 1160 1187
Symbol 1145 GraphicUsed by:1150 1160 1187
Symbol 1146 GraphicUsed by:1150
Symbol 1147 GraphicUsed by:1150
Symbol 1148 GraphicUsed by:1150
Symbol 1149 GraphicUsed by:1150
Symbol 1150 MovieClip {CowDeadMcLib}Uses:1139 203 198 463 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
Symbol 1151 GraphicUsed by:1160
Symbol 1152 GraphicUsed by:1160
Symbol 1153 GraphicUsed by:1160
Symbol 1154 GraphicUsed by:1160
Symbol 1155 GraphicUsed by:1160
Symbol 1156 GraphicUsed by:1160
Symbol 1157 GraphicUsed by:1160
Symbol 1158 GraphicUsed by:1160
Symbol 1159 GraphicUsed by:1160
Symbol 1160 MovieClip {CatDeadMcLib}Uses:1151 1152 225 1153 1154 1144 1145 1155 1156 1157 1158 1159
Symbol 1161 ShapeTweeningUsed by:1170
Symbol 1162 GraphicUsed by:1170
Symbol 1163 GraphicUsed by:1170
Symbol 1164 ShapeTweeningUsed by:1170
Symbol 1165 ShapeTweeningUsed by:1170
Symbol 1166 ShapeTweeningUsed by:1170
Symbol 1167 ShapeTweeningUsed by:1170
Symbol 1168 ShapeTweeningUsed by:1170
Symbol 1169 GraphicUsed by:1170
Symbol 1170 MovieClip {BumperHittedMcLib}Uses:35 349 351 353 1161 1162 1163 354 1164 1165 1166 1167 1168 1169
Symbol 1171 GraphicUsed by:1187
Symbol 1172 GraphicUsed by:1187
Symbol 1173 GraphicUsed by:1187
Symbol 1174 GraphicUsed by:1187
Symbol 1175 GraphicUsed by:1187
Symbol 1176 GraphicUsed by:1187
Symbol 1177 GraphicUsed by:1187
Symbol 1178 GraphicUsed by:1187
Symbol 1179 GraphicUsed by:1187
Symbol 1180 GraphicUsed by:1187
Symbol 1181 GraphicUsed by:1187
Symbol 1182 GraphicUsed by:1187
Symbol 1183 GraphicUsed by:1187
Symbol 1184 GraphicUsed by:1187
Symbol 1185 GraphicUsed by:1187
Symbol 1186 GraphicUsed by:1187
Symbol 1187 MovieClip {DogDeadMcLib}Uses:1171 252 1172 1173 1174 1175 1176 1177 1144 1145 1178 1179 1180 1181 1182 1183 1184 1185 1186
Symbol 1188 GraphicUsed by:1192
Symbol 1189 GraphicUsed by:1192
Symbol 1190 GraphicUsed by:1192
Symbol 1191 GraphicUsed by:1192
Symbol 1192 MovieClip {UfoExplosion}Uses:1188 1189 1190 1191
Symbol 1193 GraphicUsed by:1215
Symbol 1194 GraphicUsed by:1215
Symbol 1195 GraphicUsed by:1215
Symbol 1196 GraphicUsed by:1215
Symbol 1197 GraphicUsed by:1215
Symbol 1198 GraphicUsed by:1215
Symbol 1199 GraphicUsed by:1215
Symbol 1200 GraphicUsed by:1215
Symbol 1201 GraphicUsed by:1215
Symbol 1202 GraphicUsed by:1215
Symbol 1203 GraphicUsed by:1215
Symbol 1204 GraphicUsed by:1215
Symbol 1205 GraphicUsed by:1215
Symbol 1206 GraphicUsed by:1215
Symbol 1207 GraphicUsed by:1215
Symbol 1208 GraphicUsed by:1215
Symbol 1209 GraphicUsed by:1215
Symbol 1210 GraphicUsed by:1215
Symbol 1211 GraphicUsed by:1215
Symbol 1212 GraphicUsed by:1215
Symbol 1213 GraphicUsed by:1215
Symbol 1214 GraphicUsed by:1215
Symbol 1215 MovieClip {UfoMcLib}Uses:1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214Used by:1216
Symbol 1216 MovieClip {UfoSpawningMcLib}Uses:1215
Symbol 1217 GraphicUsed by:1245
Symbol 1218 GraphicUsed by:1245
Symbol 1219 GraphicUsed by:1245
Symbol 1220 GraphicUsed by:1245
Symbol 1221 GraphicUsed by:1245
Symbol 1222 GraphicUsed by:1245
Symbol 1223 GraphicUsed by:1245
Symbol 1224 GraphicUsed by:1245
Symbol 1225 GraphicUsed by:1245
Symbol 1226 GraphicUsed by:1245
Symbol 1227 GraphicUsed by:1245
Symbol 1228 GraphicUsed by:1245
Symbol 1229 GraphicUsed by:1245
Symbol 1230 GraphicUsed by:1245
Symbol 1231 GraphicUsed by:1245
Symbol 1232 GraphicUsed by:1245
Symbol 1233 GraphicUsed by:1245
Symbol 1234 GraphicUsed by:1245
Symbol 1235 GraphicUsed by:1245
Symbol 1236 GraphicUsed by:1245
Symbol 1237 GraphicUsed by:1245
Symbol 1238 GraphicUsed by:1245
Symbol 1239 GraphicUsed by:1245
Symbol 1240 GraphicUsed by:1245
Symbol 1241 GraphicUsed by:1245
Symbol 1242 GraphicUsed by:1245
Symbol 1243 GraphicUsed by:1245
Symbol 1244 GraphicUsed by:1245
Symbol 1245 MovieClip {LiftedCowMcLib}Uses:1217 198 199 462 463 464 469 203 204 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 475 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 487 1243 1244
Symbol 1246 GraphicUsed by:1276
Symbol 1247 GraphicUsed by:1276
Symbol 1248 GraphicUsed by:1276
Symbol 1249 GraphicUsed by:1276
Symbol 1250 GraphicUsed by:1276
Symbol 1251 GraphicUsed by:1276
Symbol 1252 GraphicUsed by:1276
Symbol 1253 GraphicUsed by:1276
Symbol 1254 GraphicUsed by:1276
Symbol 1255 GraphicUsed by:1276
Symbol 1256 GraphicUsed by:1276
Symbol 1257 GraphicUsed by:1276
Symbol 1258 GraphicUsed by:1276
Symbol 1259 GraphicUsed by:1276
Symbol 1260 GraphicUsed by:1276
Symbol 1261 GraphicUsed by:1276
Symbol 1262 GraphicUsed by:1276
Symbol 1263 GraphicUsed by:1276
Symbol 1264 GraphicUsed by:1276
Symbol 1265 GraphicUsed by:1276
Symbol 1266 GraphicUsed by:1276
Symbol 1267 GraphicUsed by:1276
Symbol 1268 GraphicUsed by:1276
Symbol 1269 GraphicUsed by:1276
Symbol 1270 GraphicUsed by:1276
Symbol 1271 GraphicUsed by:1276
Symbol 1272 GraphicUsed by:1276
Symbol 1273 GraphicUsed by:1276
Symbol 1274 GraphicUsed by:1276
Symbol 1275 GraphicUsed by:1276
Symbol 1276 MovieClip {LiftedCatMcLib}Uses:1246 224 225 535 536 537 538 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275
Symbol 1277 GraphicUsed by:1307
Symbol 1278 GraphicUsed by:1307
Symbol 1279 GraphicUsed by:1307
Symbol 1280 GraphicUsed by:1307
Symbol 1281 GraphicUsed by:1307
Symbol 1282 GraphicUsed by:1307
Symbol 1283 GraphicUsed by:1307
Symbol 1284 GraphicUsed by:1307
Symbol 1285 GraphicUsed by:1307
Symbol 1286 GraphicUsed by:1307
Symbol 1287 GraphicUsed by:1307
Symbol 1288 GraphicUsed by:1307
Symbol 1289 GraphicUsed by:1307
Symbol 1290 GraphicUsed by:1307
Symbol 1291 GraphicUsed by:1307
Symbol 1292 GraphicUsed by:1307
Symbol 1293 GraphicUsed by:1307
Symbol 1294 GraphicUsed by:1307
Symbol 1295 GraphicUsed by:1307
Symbol 1296 GraphicUsed by:1307
Symbol 1297 GraphicUsed by:1307
Symbol 1298 GraphicUsed by:1307
Symbol 1299 GraphicUsed by:1307
Symbol 1300 GraphicUsed by:1307
Symbol 1301 GraphicUsed by:1307
Symbol 1302 GraphicUsed by:1307
Symbol 1303 GraphicUsed by:1307
Symbol 1304 GraphicUsed by:1307
Symbol 1305 GraphicUsed by:1307
Symbol 1306 GraphicUsed by:1307
Symbol 1307 MovieClip {LiftedDogMcLib}Uses:1277 501 502 503 504 505 506 507 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306

Instance Names

"flag"Symbol 189 MovieClip Frame 1Symbol 186 MovieClip {AlienThief_fla.flag_icon_234}
"text"Symbol 189 MovieClip Frame 1Symbol 188 EditableText
"l_de"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_en_us"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_fr"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_it"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_nl"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_pl"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_es_mx"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_br"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_cn"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_en_uk"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_es"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_id"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_jp"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_pt"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_ar"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_in"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_es_ar"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_se"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"l_ru"Symbol 192 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 189 MovieClip
"languageName_text"Symbol 196 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 195 EditableText
"flag"Symbol 196 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 186 MovieClip {AlienThief_fla.flag_icon_234}
"__id69_"Symbol 437 MovieClip {StatisticTextSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id70_"Symbol 437 MovieClip {StatisticTextSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id71_"Symbol 437 MovieClip {StatisticTextSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id68_"Symbol 588 MovieClip {medalAwardBgSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id67_"Symbol 598 MovieClip {Tutorial6SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id66_"Symbol 601 MovieClip {Tutorial5SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id65_"Symbol 602 MovieClip {Tutorial4SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id64_"Symbol 604 MovieClip {Tutorial3SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id62_"Symbol 606 MovieClip {Tutorial2SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id63_"Symbol 606 MovieClip {Tutorial2SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id61_"Symbol 609 MovieClip {Tutorial1SprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id60_"Symbol 622 MovieClip {LevelSel25McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id59_"Symbol 627 MovieClip {LevelSel24McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id58_"Symbol 632 MovieClip {LevelSel23McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id57_"Symbol 637 MovieClip {LevelSel22McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id56_"Symbol 642 MovieClip {LevelSel21McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id55_"Symbol 647 MovieClip {LevelSel20McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id54_"Symbol 652 MovieClip {LevelSel19McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id53_"Symbol 657 MovieClip {LevelSel18McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id52_"Symbol 662 MovieClip {LevelSel17McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id51_"Symbol 667 MovieClip {LevelSel16McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id50_"Symbol 672 MovieClip {LevelSel15McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id49_"Symbol 677 MovieClip {LevelSel14McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id48_"Symbol 682 MovieClip {LevelSel13McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id47_"Symbol 687 MovieClip {LevelSel12McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id46_"Symbol 692 MovieClip {LevelSel11McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id45_"Symbol 697 MovieClip {LevelSel10McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id44_"Symbol 702 MovieClip {LevelSel9McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id43_"Symbol 707 MovieClip {LevelSel8McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id42_"Symbol 712 MovieClip {LevelSel7McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id41_"Symbol 717 MovieClip {LevelSel6McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id40_"Symbol 722 MovieClip {LevelSel5McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id39_"Symbol 727 MovieClip {LevelSel4McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id38_"Symbol 732 MovieClip {LevelSel3McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id37_"Symbol 737 MovieClip {LevelSel2McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id36_"Symbol 742 MovieClip {LevelSel1McLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id32_"Symbol 755 MovieClip {CreditsScreenSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id33_"Symbol 755 MovieClip {CreditsScreenSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id34_"Symbol 755 MovieClip {CreditsScreenSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id35_"Symbol 755 MovieClip {CreditsScreenSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id31_"Symbol 757 MovieClip {MedalScreenSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"preBtn"Symbol 765 MovieClip {LevelScreenSprLib} Frame 1Symbol 760 Button
"nextBtn"Symbol 765 MovieClip {LevelScreenSprLib} Frame 1Symbol 760 Button
"backBtn"Symbol 765 MovieClip {LevelScreenSprLib} Frame 1Symbol 764 Button {BackBtn}
"__id30_"Symbol 765 MovieClip {LevelScreenSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"prevTextMc"Symbol 765 MovieClip {LevelScreenSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"nextTextMc"Symbol 765 MovieClip {LevelScreenSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"resumeBtn"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 772 Button {AlienThief_fla.Timeline_122}
"restartBtn"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 773 Button {AlienThief_fla.Timeline_123}
"quitBtn"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 774 Button {AlienThief_fla.Timeline_107}
"keyboardBtn"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 778 Button {AlienThief_fla.Timeline_113}
"mouseBtn"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 782 Button {AlienThief_fla.Timeline_114}
"__id26_"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id27_"Symbol 783 MovieClip {GamePausePanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"submitScoreBtn"Symbol 788 MovieClip {GameOverPanelSprite} Frame 1Symbol 786 Button
"tryAgainBtn"Symbol 788 MovieClip {GameOverPanelSprite} Frame 1Symbol 787 Button {AlienThief_fla.Timeline_120}
"quitBtn"Symbol 788 MovieClip {GameOverPanelSprite} Frame 1Symbol 774 Button {AlienThief_fla.Timeline_107}
"__id22_"Symbol 788 MovieClip {GameOverPanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id23_"Symbol 788 MovieClip {GameOverPanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id24_"Symbol 788 MovieClip {GameOverPanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id20_"Symbol 795 MovieClip {ScoreSubmitPanelSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"submitBtn"Symbol 795 MovieClip {ScoreSubmitPanelSprLib} Frame 1Symbol 790 Button {AlienThief_fla.Timeline_116}
"cancelBtn"Symbol 795 MovieClip {ScoreSubmitPanelSprLib} Frame 1Symbol 794 Button
"quitBtn"Symbol 795 MovieClip {ScoreSubmitPanelSprLib} Frame 1Symbol 774 Button {AlienThief_fla.Timeline_107}
"keyboardBtn"Symbol 796 MovieClip {ControllerPanelSprLib} Frame 1Symbol 778 Button {AlienThief_fla.Timeline_113}
"mouseBtn"Symbol 796 MovieClip {ControllerPanelSprLib} Frame 1Symbol 782 Button {AlienThief_fla.Timeline_114}
"__id17_"Symbol 796 MovieClip {ControllerPanelSprLib} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id12_"Symbol 806 MovieClip {LevelCompletePanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"quitBtn"Symbol 806 MovieClip {LevelCompletePanelSprite} Frame 1Symbol 774 Button {AlienThief_fla.Timeline_107}
"continueBtn"Symbol 806 MovieClip {LevelCompletePanelSprite} Frame 1Symbol 803 Button {ContinueBtn}
"__id13_"Symbol 806 MovieClip {LevelCompletePanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id14_"Symbol 806 MovieClip {LevelCompletePanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"__id15_"Symbol 806 MovieClip {LevelCompletePanelSprite} Frame 1Symbol 436 MovieClip {spill.localisation.LocalizedTextField}
"cat"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 1Symbol 1115 MovieClip
"dog"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 1Symbol 1115 MovieClip
"cow"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 1Symbol 1117 MovieClip
"cat"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 9Symbol 1115 MovieClip
"dog"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 9Symbol 1115 MovieClip
"cow"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 9Symbol 1117 MovieClip
"cat"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 10Symbol 1115 MovieClip
"dog"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 10Symbol 1115 MovieClip
"cow"Symbol 1132 MovieClip {TeleTransmissionAnimMcLib} Frame 10Symbol 1117 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 11284 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmln ..."

Labels

"www.agame.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 1
"www.game.com.cn"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 2
"www.zapjuegos.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 3
"www.spel.nl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 4
"www.jeu.fr"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 5
"www.spielen.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 6
"www.clickjogos.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 7
"www.giocaregratis.it"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 8
"www.spel.se"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 9
"www.mygames.co.uk"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 10
"www.flashgames.ru"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 11
"www.game.co.in"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 12
"www.games.co.id"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 13
"www.minigry.pl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 14
"www.asoyun.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 15
"www.game.com.my"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 16
"www.gamesgames.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 17
"www.spelletjes.nl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 18
"www.jeux.fr"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 19
"www.jetztspielen.de"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 20
"www.gry.pl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 21
"www.spela.se"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 22
"www.gioco.it"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 23
"www.juegos.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 24
"www.juegos.mx"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 25
"www.juegos.com.ar"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 26
"www.ojogos.com.br"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 27
"www.ourgames.ru"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 28
"www.games.co.uk"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 29
"www.oyunlar123.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 30
"www.girlsgogames.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 31
"www.girlsgogames.in"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 32
"www.girlsgogamestr.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 33
"www.girlsgogames.com.br"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 34
"www.girlsgogames.fr"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 35
"www.girlsgogames.co.uk"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 36
"www.girlsgogames.de"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 37
"www.girlsgogames.pl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 38
"www.girlsgogames.ru"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 39
"www.juegosdechicas.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 40
"www.juegosdechicas.com.ar"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 41
"www.juegosdechicas.mx"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 42
"www.girlsgogames.it"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 43
"www.girlsgogames.es"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 44
"www.girlsgogames.nl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 45
"www.girlsgogames.se"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 46
"www.ojogos.pt"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 47
"www.laro.com.ph"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 48
"www.egames.jp"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 49
"www.a10.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 50
"www.dailygame.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 51
"www.zapapa.com"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 52
"www.zapapa.nl"Symbol 156 MovieClip {spill.localisation.BrandingLogo} Frame 53
"br"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 1
"nl"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 2
"cn"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 3
"de"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 4
"es"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 5
"fr"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 6
"in"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 7
"it"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 8
"jp"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 9
"my"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 10
"ph"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 11
"pl"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 12
"pt"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 13
"ru"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 14
"se"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 15
"tr"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 16
"en_uk"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 17
"en_us"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 18
"id"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 19
"ar"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 20
"es_mx"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 21
"es_ar"Symbol 186 MovieClip {AlienThief_fla.flag_icon_234} Frame 22
"锁定"Symbol 622 MovieClip {LevelSel25McLib} Frame 1
"解锁"Symbol 622 MovieClip {LevelSel25McLib} Frame 10
"鼠标移上"Symbol 622 MovieClip {LevelSel25McLib} Frame 20
"锁定"Symbol 627 MovieClip {LevelSel24McLib} Frame 1
"解锁"Symbol 627 MovieClip {LevelSel24McLib} Frame 10
"鼠标移上"Symbol 627 MovieClip {LevelSel24McLib} Frame 20
"锁定"Symbol 632 MovieClip {LevelSel23McLib} Frame 1
"解锁"Symbol 632 MovieClip {LevelSel23McLib} Frame 10
"鼠标移上"Symbol 632 MovieClip {LevelSel23McLib} Frame 20
"锁定"Symbol 637 MovieClip {LevelSel22McLib} Frame 1
"解锁"Symbol 637 MovieClip {LevelSel22McLib} Frame 10
"鼠标移上"Symbol 637 MovieClip {LevelSel22McLib} Frame 20
"锁定"Symbol 642 MovieClip {LevelSel21McLib} Frame 1
"解锁"Symbol 642 MovieClip {LevelSel21McLib} Frame 10
"鼠标移上"Symbol 642 MovieClip {LevelSel21McLib} Frame 20
"锁定"Symbol 647 MovieClip {LevelSel20McLib} Frame 1
"解锁"Symbol 647 MovieClip {LevelSel20McLib} Frame 10
"鼠标移上"Symbol 647 MovieClip {LevelSel20McLib} Frame 20
"锁定"Symbol 652 MovieClip {LevelSel19McLib} Frame 1
"解锁"Symbol 652 MovieClip {LevelSel19McLib} Frame 10
"鼠标移上"Symbol 652 MovieClip {LevelSel19McLib} Frame 20
"锁定"Symbol 657 MovieClip {LevelSel18McLib} Frame 1
"解锁"Symbol 657 MovieClip {LevelSel18McLib} Frame 10
"鼠标移上"Symbol 657 MovieClip {LevelSel18McLib} Frame 20
"锁定"Symbol 662 MovieClip {LevelSel17McLib} Frame 1
"解锁"Symbol 662 MovieClip {LevelSel17McLib} Frame 10
"鼠标移上"Symbol 662 MovieClip {LevelSel17McLib} Frame 20
"锁定"Symbol 667 MovieClip {LevelSel16McLib} Frame 1
"解锁"Symbol 667 MovieClip {LevelSel16McLib} Frame 10
"鼠标移上"Symbol 667 MovieClip {LevelSel16McLib} Frame 20
"锁定"Symbol 672 MovieClip {LevelSel15McLib} Frame 1
"解锁"Symbol 672 MovieClip {LevelSel15McLib} Frame 10
"鼠标移上"Symbol 672 MovieClip {LevelSel15McLib} Frame 20
"锁定"Symbol 677 MovieClip {LevelSel14McLib} Frame 1
"解锁"Symbol 677 MovieClip {LevelSel14McLib} Frame 10
"鼠标移上"Symbol 677 MovieClip {LevelSel14McLib} Frame 20
"锁定"Symbol 682 MovieClip {LevelSel13McLib} Frame 1
"解锁"Symbol 682 MovieClip {LevelSel13McLib} Frame 10
"鼠标移上"Symbol 682 MovieClip {LevelSel13McLib} Frame 20
"锁定"Symbol 687 MovieClip {LevelSel12McLib} Frame 1
"解锁"Symbol 687 MovieClip {LevelSel12McLib} Frame 10
"鼠标移上"Symbol 687 MovieClip {LevelSel12McLib} Frame 20
"锁定"Symbol 692 MovieClip {LevelSel11McLib} Frame 1
"解锁"Symbol 692 MovieClip {LevelSel11McLib} Frame 10
"鼠标移上"Symbol 692 MovieClip {LevelSel11McLib} Frame 20
"锁定"Symbol 697 MovieClip {LevelSel10McLib} Frame 1
"解锁"Symbol 697 MovieClip {LevelSel10McLib} Frame 10
"鼠标移上"Symbol 697 MovieClip {LevelSel10McLib} Frame 20
"锁定"Symbol 702 MovieClip {LevelSel9McLib} Frame 1
"解锁"Symbol 702 MovieClip {LevelSel9McLib} Frame 10
"鼠标移上"Symbol 702 MovieClip {LevelSel9McLib} Frame 20
"锁定"Symbol 707 MovieClip {LevelSel8McLib} Frame 1
"解锁"Symbol 707 MovieClip {LevelSel8McLib} Frame 10
"鼠标移上"Symbol 707 MovieClip {LevelSel8McLib} Frame 20
"锁定"Symbol 712 MovieClip {LevelSel7McLib} Frame 1
"解锁"Symbol 712 MovieClip {LevelSel7McLib} Frame 10
"鼠标移上"Symbol 712 MovieClip {LevelSel7McLib} Frame 20
"锁定"Symbol 717 MovieClip {LevelSel6McLib} Frame 1
"解锁"Symbol 717 MovieClip {LevelSel6McLib} Frame 10
"鼠标移上"Symbol 717 MovieClip {LevelSel6McLib} Frame 20
"锁定"Symbol 722 MovieClip {LevelSel5McLib} Frame 1
"解锁"Symbol 722 MovieClip {LevelSel5McLib} Frame 10
"鼠标移上"Symbol 722 MovieClip {LevelSel5McLib} Frame 20
"锁定"Symbol 727 MovieClip {LevelSel4McLib} Frame 1
"解锁"Symbol 727 MovieClip {LevelSel4McLib} Frame 10
"鼠标移上"Symbol 727 MovieClip {LevelSel4McLib} Frame 20
"锁定"Symbol 732 MovieClip {LevelSel3McLib} Frame 1
"解锁"Symbol 732 MovieClip {LevelSel3McLib} Frame 10
"鼠标移上"Symbol 732 MovieClip {LevelSel3McLib} Frame 20
"锁定"Symbol 737 MovieClip {LevelSel2McLib} Frame 1
"解锁"Symbol 737 MovieClip {LevelSel2McLib} Frame 10
"鼠标移上"Symbol 737 MovieClip {LevelSel2McLib} Frame 20
"锁定"Symbol 742 MovieClip {LevelSel1McLib} Frame 1
"解锁"Symbol 742 MovieClip {LevelSel1McLib} Frame 10
"鼠标移上"Symbol 742 MovieClip {LevelSel1McLib} Frame 20




http://swfchan.com/28/135457/info.shtml
Created: 9/2 -2019 12:42:11 Last modified: 9/2 -2019 12:42:11 Server time: 11/05 -2024 11:51:41