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

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

icebreaker.swf

This is the info page for
Flash #100632

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


Text
<p align="center"><font face="Sylfaen_13pt_st" size="13" color="#000000" letterSpacing="0.000000" kerning="1">0%</font></p>

Click and drag across
the ice to cut it in half.
Get the Viking to the
ship to complete the
level!

This is rock.
You can't cut rock.

There are two Vikings in this level.
You need to save them both!

If the Viking captain can't break a big chunk of ice,
cut it down to make it smaller for him.

These runes are very powerful
and dangerous.

These creatures are also harmful.
Avoid both!

These links hold ice and rock together.
You can cut them as well, if you want.

These birds will pull objects upwards.

There's wood in this level, too.

It's much lighter than rock.
You can move it more easily.

Don't forget that you can cut the ropes!

Try slicing across her!

These confusing blocks can be cut,
but they contain a lot of force
and will shoot off if they can!

Slice carefully!

This mysterious mist stops you
from cutting.

Stay away from it!

32

64

128

<p align="left"></p>

load

save

<p align="center"><font face="Verdana_10pt_st" size="10" color="#000000" letterSpacing="0.000000" kerning="1">0</font></p>

Moves allowed:

L = lock/unlock block
S = snap object

loading...

<p align="left"><font face="Sylfaen_12pt_st" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">1.</font></p>

<p align="left"><font face="Sylfaen_12pt_st" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">CHRIS</font></p>

<p align="left"><font face="Sylfaen_12pt_st" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">59860</font></p>

back to level select

PRESS SPACE TO CONTINUE

LEVEL SCORE

<p align="left"><font face="Sylfaen_13pt_st" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

TOTAL SCORE

<p align="left"><font face="Sylfaen_13pt_st" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

TOTAL SCORE

<p align="left"><font face="Sylfaen_13pt_st" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

This game has been URL-Locked!
If you are reading this message then this
version of the game has been stolen and
hosted on a site without the prior permission
of Nitrome!
For licencing information please contact: enquiries@nitrome.com

Click and drag across
the ice to cut it in half.
Get all the Vikings to
their ship to complete
each level!

GAME BY NITROME

ARTWORK

PROGRAMMING

MUSIC

WWW.NITROME.COM

(PHYSICS POWERED BY BOX2D)

ActionScript [AS3]

Section 1
//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 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_radius:Number; public var m_localPosition:b2Vec2; public function b2CircleShape(_arg1:b2ShapeDef){ var _local2:b2CircleDef; m_localPosition = new b2Vec2(); super(_arg1); _local2 = (_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; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_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))); } public function ():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:b2Mat22; 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; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_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 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)))); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_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)); } public function  ():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_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)); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//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(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function (_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++; }; }; } public function  (_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); } } }//package Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var :Array; public var  :Array; private var  :b2Vec2; public var  :b2OBB; public var :Array; public var :b2Vec2; public var :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 _local2:b2PolygonDef; var _local3:int; var _local4:int; 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 _local15:Number; var _local16:Number; var _local17:Number;  = new b2Vec2();  = new b2OBB();  = new Array(b2Settings.b2_maxPolygonVertices);  = new Array(b2Settings.b2_maxPolygonVertices);  = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; _local2 = (_arg1 as b2PolygonDef);  = _local2.vertexCount; _local4 = _local3; _local5 = _local3; _local3 = 0; while (_local3 < ) { [_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < ) { _local4 = _local3; _local5 = (((_local3 + 1) < )) ? (_local3 + 1) : 0; _local6 = ([_local5].x - [_local4].x); _local7 = ([_local5].y - [_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));  [_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; };  = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB( , , ); _local3 = 0; while (_local3 < ) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : ( - 1); _local5 = _local3; _local9 =  [_local4].x; _local10 =  [_local4].y; _local11 =  [_local5].x; _local12 =  [_local5].y; _local13 = ([_local3].x - .x); _local14 = ([_local3].y - .y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); [_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + .x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + .y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 < ) { _local3 = [_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 =  [_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public function GetCoreVertices():Array{ return (); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ 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 _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_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; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 < ) { _local11 = [_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 =  [_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 =  [_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); } public function  ():b2Vec2{ return (); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; 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; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 < ) { _local10 = [_local9]; _local11 = (((_local9 + 1) < )) ? [int((_local9 + 1))] : [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 Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 = [0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _local10 = 1; while (_local10 < ) { _local4 = [_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = [_local8];  .x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y)));  .y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return ( ); } public function GetVertexCount():int{ return (); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = 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); } public function GetVertices():Array{ return (); } public function ():Array{ return ( ); } public function GetOBB():b2OBB{ return ( ); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, [0])); } public function (_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, )); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; while (_local3 < ) { _local2 = [_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++; }; } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 =  .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 =  .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(); _local6 = _local5; _local4 =  .extents; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 =  .center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_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)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; 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(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; 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 _local5:Array; var _local6:Number; 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; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = 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 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var  :b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var  :Boolean; public var  :uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB: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;   = b2Pair.b2_nullProxy;  = _arg1..Copy();   = _arg1.; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function  ():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function  ():Number{ return (m_restitution); } public function  ():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return ( .Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if (  == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy( ); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){   = _arg1.CreateProxy(_local3, this); } else {   = b2Pair.b2_nullProxy; }; } public function  (_arg1:b2FilterData):void{  = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if (  == b2Pair.b2_nullProxy){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy( , _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function  ():Boolean{ return ( ); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (  != b2Pair.b2_nullProxy){ _arg1.DestroyProxy( );   = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){   = _arg1.CreateProxy(_local3, this); } else {   = b2Pair.b2_nullProxy; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):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); }; } } }//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var :Boolean;// = false public var density:Number;// = 0 public var type:int;// = -1 public var restitution:Number;// = 0 public var userData;// = null public var :b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0;  = false;  = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (upperBound.x - lowerBound.x); _local2 = (upperBound.y - lowerBound.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var proxyId:uint; public var stabbingCount:uint; public var value:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = proxyId; _local4 = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.Collision
Section 11
//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 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_bounds:Array; public var  :uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var  :int; public var m_pairManager:b2PairManager; public var  :uint; public var  :Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local4:Number; 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));  = 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) {  [_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++; }; _local4 = (_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;  = 0;   = 1;   = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:b2Proxy; _local4 = new Array(); _local5 = new Array();  (_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7];  (_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0);  (_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); _local10 = 0; _local11 = 0; while ((((_local11 <  )) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[ [_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; };   = 0;  (); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function  (_arg1:int):b2Proxy{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function  ():void{ var _local1:uint; if (  == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; };   = 1; } else {  ++; }; } private function  (_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:b2Proxy; _local8 = BinarySearch(_arg5, _arg6, _arg3); _local9 = BinarySearch(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){  (_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]){  (_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function  (_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; 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); } private function  (_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3.lowerBound.x; _local5 = _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); _local6 = _arg3.upperBound.x; _local7 = _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); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; 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; _local5 =  ; _local4 = m_proxyPool[_local5];  = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; _local6 = (2 * m_proxyCount); _local7 = new Array(); _local8 = new Array();  (_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13];  (_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++; _local10 = 0; while (_local10 <  ) { m_pairManager.AddBufferedPair(_local5,  [_local10]); _local10++; }; m_pairManager.Commit();   = 0;  (); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:b2Proxy; var _local5:int; var _local6:int; var _local7:int; 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; _local4 = m_proxyPool[_arg1]; _local5 = (2 * m_proxyCount); _local6 = 0; 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++; };  ([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 <  ) { m_pairManager.RemoveBufferedPair(_arg1,  [_local7]); _local7++; }; m_pairManager.Commit();   = 0;  (); _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( );  = _arg1; m_proxyCount--; } public function  (_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; 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); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; 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  (_arg1:uint):void{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if (_local2.timeStamp <  ){ _local2.timeStamp =  ; _local2.overlapCount = 1; } else { _local2.overlapCount = 2;  [ ] = _arg1;  ++; }; } 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 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 _local12:uint; var _local13:b2Proxy; var _local14:b2BoundValues; var _local15:b2BoundValues; 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; }; _local12 = (2 * m_proxyCount); _local13 = m_proxyPool[_arg1]; _local14 = new b2BoundValues();  (_local14.lowerValues, _local14.upperValues, _arg2); _local15 = 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 ( (_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 ( (_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 ( (_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 ( (_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 static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_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 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1.; _local7 = _arg1.; _local8 = _arg1. ; _local9 = _arg4.; _local10 = _arg4.; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; 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; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2.lowerBound; _local4 = _arg1.upperBound; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:ClipVertex; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2.; _local8 = _arg2. ; _local9 = _arg5.; _local10 = _arg5.; _local11 = _arg5. ; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_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..referenceEdge = _arg4; _local20.id..incidentEdge = _local21; _local20.id..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..referenceEdge = _arg4; _local20.id..incidentEdge = _local22; _local20.id..incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 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; }; _local21 = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13.; _local23 = _local13.; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new ClipVertex(), new ClipVertex()]; _local33 = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.() : _local28.Copy(); _local35 = 0; _local36 = 0; 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..flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2.; _local7 = _arg2. ; _local9 = _arg5.R; _local8 = _arg4.; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.; _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)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = 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 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 _local10: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); _local10 = (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 b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; 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:Number; var _local18:Number; var _local19:b2ManifoldPoint; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_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; _local19 = _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)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_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 _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_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; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2.; _local22 = _arg2.; _local23 = _arg2. ; _local24 = 0; 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..incidentEdge = _local18; _local6.id..incidentVertex = b2_nullFeature; _local6.id..referenceEdge = 0; _local6.id..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; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = 0; }; }; _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..referenceEdge = 0; _local6.id..flip = 0; } } }//package Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var _key:uint; public var :Features; public function b2ContactID(){  = new Features(); super(); . = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID; _local1 = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; . = (_key & 0xFF); . = (((_key & 0xFF00) >> 8) & 0xFF); . = (((_key & 0xFF0000) >> 16) & 0xFF); . = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var friction:Number; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s: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 InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; 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 _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; 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; _local8 = s_p1s; _local9 = s_p2s; _local10 = s_points; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; 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 - ((_local15 * _local19) + (_local16 * _local20))) <= (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 _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; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _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(((_local13 * _local13) + (_local14 * _local14))); _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 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 _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41: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]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_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); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_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); }; _local37 = (_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); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((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 DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:b2Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = 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))); _local10 = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_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; var _local8:int; _local7 = _arg3.m_type; _local8 = _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); } public static function ProcessTwo(_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:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = 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); } } }//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function b2Manifold(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } 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; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Box2D.Collision
Section 20
//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 21
//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 status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function b2Pair(){ userData = null; super(); } public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var :Array; public var :b2PairCallback; public var m_pairs:Array; public var :int; public var m_hashTable:Array; public var m_broadPhase:b2BroadPhase; public var :uint; 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++; };  = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { [_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;  = 0; } private function (_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint; _local5 = 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 (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return ((_arg1, _arg2, _local3)); } private function ():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local3:int; var _local4:Array; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; _local3 = 0; _local4 = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < ) { _local1 = [_local2]; _local5 = (_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ .PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = [_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = .PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = [_local2]; (_local1.proxyId1, _local1.proxyId2); _local2++; };  = 0; if (b2BroadPhase.s_validate){  (); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = (_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = []; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; ++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ (); }; } private function (_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local4:uint; var _local5:uint; var _local6:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local5 = m_hashTable[_local4]; _local6 = null; 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 = ; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0;  = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1;  = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 =  (_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = []; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; ++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ (); }; } private function  (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:b2Pair; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local4 = (_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 = ; _local4 = m_pairs[_local5];  = _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  ():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_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)))); } } }//package Box2D.Collision
Section 24
//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 GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var lowerBounds:Array; public var upperBounds:Array; public var userData;// = null public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; 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 _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_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 = ((-(_local7) * _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 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):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:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = s_p1; _local18 = s_p2; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 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 28
//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 29
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var  :int; public var :int; public var :int; public var :int; public var :b2ContactID; public function get referenceEdge():int{ return ( ); } public function set incidentVertex(_arg1:int):void{  = _arg1; ._key = ((._key & 4278255615) | (( << 16) & 0xFF0000)); } public function get flip():int{ return (); } public function get incidentEdge():int{ return (); } public function set referenceEdge(_arg1:int):void{  = _arg1; ._key = ((._key & 4294967040) | ( & 0xFF)); } public function set flip(_arg1:int):void{  = _arg1; ._key = ((._key & 0xFFFFFF) | (( << 24) & 4278190080)); } public function get incidentVertex():int{ return (); } public function set incidentEdge(_arg1:int):void{  = _arg1; ._key = ((._key & 4294902015) | (( << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 30
//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 SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function  (_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } 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 Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = 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 GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { 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 const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); 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 b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.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 b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); 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 b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } 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; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; 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); }; _local3 = _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))); } } }//package Box2D.Common.Math
Section 33
//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 Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function (_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function ():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function (_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function (_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function (_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function  (_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function  (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; 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 Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var :uint;// = 0 private var :uint;// = 0 private var :uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){  = 0;  = 0;  = 0; super();  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function get color():uint{ return ((( | ( << 8)) | ( << 16))); } public function set r(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxProxies:int = 0x0800; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_maxPairs:int = 16384; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class b2CircleContact extends b2Contact { private var  :Array; private var  :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint;   = [new b2Manifold()];   = new b2Manifold(); super(_arg1, _arg2); m_manifold =  [0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:b2ManifoldPoint; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body;  .Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = 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 ( .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 =  .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 (((( .pointCount > 0)) && (_arg1))){ _local4 =  .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( .normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; 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. ()) || (_arg2. ()))){ 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 GetShape1():b2Shape{ return (m_shape1); } public function ():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function GetShape2():b2Shape{ return (m_shape2); } public function ():int{ return (m_manifoldCount); } public function Update(_arg1:b2ContactListener):void{ var _local2:int; var _local3:int; var _local4:b2Body; var _local5:b2Body; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = 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 InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; 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 Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } 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 Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _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]; _local8.GetManifolds()[_local9].normal = _local10.normal.(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var normal:b2Vec2; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; 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 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactSolver { public var  :int; public var m_constraints:Array; public var m_allocator; public var  :b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; 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;   = new b2TimeStep(); m_constraints = new Array(); super();  .dt = _arg1.dt;  .inv_dt = _arg1.inv_dt;  .maxIterations = _arg1.maxIterations; m_allocator = _arg4;   = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6];   = (  + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 <  ) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; _local9 = 0; _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 _local5:int; 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; _local5 = 0; while (_local5 <  ) { _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]; _local6.points[_local18].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 SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; 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; _local2 = 0; _local5 = 0; while (_local5 <  ) { _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))); } 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 _local19:int; 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; _local19 = 0; while (_local19 <  ) { _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 _local1:int; var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; _local1 = 0; while (_local1 <  ) { _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++; }; } } }//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:b2ContactListener):void{ } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var  :Array; private var  :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint;   = [new b2Manifold()];   = new b2Manifold(); super(_arg1, _arg2); m_manifold =  [0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local6:b2Body; var _local7:b2Body; var _local8:Array; var _local9:b2ContactPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body;  .Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = 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 <  .pointCount) { if (_local8[_local13] == true){ } else { _local5 =  .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 <  .pointCount) { if (_local8[_local2]){ } else { _local5 =  .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( .normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class b2PolygonContact extends b2Contact { private var  :Array; private var  :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{   = new b2Manifold();   = [new b2Manifold()]; super(_arg1, _arg2); m_manifold =  [0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body;  .Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [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 <  .pointCount) { if (_local9[_local13] == true){ } else { _local4 =  .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 <  .pointCount) { if (_local9[_local8]){ } else { _local4 =  .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( .normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//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_mass:Number; public var :b2Vec2; public var m_impulse:Number; public var :Number; public var :Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var :Number; public var m_gamma:Number; public var :Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2);  = _arg1.length;  = _arg1.frequencyHz;  = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0;  = 0; m_inv_dt = 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; _local1 = new b2Vec2(); _local1.SetV(); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:b2Body; var _local3:b2Body; 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; if ( > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (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; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 - ); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12); .Set(_local9, _local10); _local14 = (_local13 * .x); _local15 = (_local13 * .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 InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; 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); _local7 = (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); _local9 = (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; .x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); .y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); _local10 = Math.sqrt(((.x * .x) + (.y * .y))); if (_local10 > b2Settings.b2_linearSlop){ .Multiply((1 / _local10)); } else { .SetZero(); }; _local11 = ((_local6 * .y) - (_local7 * .x)); _local12 = ((_local8 * .y) - (_local9 * .x)); _local13 = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if ( > 0){ _local14 = (_local10 - ); _local15 = ((2 * Math.PI) * ); _local16 = (((2 * m_mass) * ) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17))));  = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * .x); _local19 = (m_impulse * .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 GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (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; _local10 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); _local14 = ((.x * (_local12 - _local10)) + (.y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 + ) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 * .x); _local17 = (_local15 * .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)))); } } }//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; 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{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//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_force:Number; public var m_mass:Number; public var  :b2PrismaticJoint; public var  :b2PrismaticJoint; public var  :b2Body; public var  :b2Body; public var m_constant:Number; public var :b2RevoluteJoint; public var :b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var :b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Jacobian(); super(_arg1); _local2 = _arg1..m_type; _local3 = _arg1..m_type;  = null;  = null;  = null;  = null;  = _arg1..m_body1; m_body1 = _arg1..m_body2; if (_local2 == b2Joint.e_revoluteJoint){  = (_arg1. as b2RevoluteJoint); m_groundAnchor1.SetV(.m_localAnchor1); m_localAnchor1.SetV(.m_localAnchor2); _local4 = .GetJointAngle(); } else {  = (_arg1. as b2PrismaticJoint); m_groundAnchor1.SetV( .m_localAnchor1); m_localAnchor1.SetV( .m_localAnchor2); _local4 =  .GetJointTranslation(); };  = _arg1..m_body1; m_body2 = _arg1..m_body2; if (_local3 == b2Joint.e_revoluteJoint){  = (_arg1. as b2RevoluteJoint); m_groundAnchor2.SetV(.m_localAnchor1); m_localAnchor2.SetV(.m_localAnchor2); _local5 = .GetJointAngle(); } else {  = (_arg1. as b2PrismaticJoint); m_groundAnchor2.SetV( .m_localAnchor1); m_localAnchor2.SetV( .m_localAnchor2); _local5 =  .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; _local1 = new b2Vec2((m_force * .linear2.x), (m_force * .linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = m_body2; if (){ _local4 = .GetJointAngle(); } else { _local4 =  .GetJointTranslation(); }; if (){ _local5 = .GetJointAngle(); } else { _local5 =  .GetJointTranslation(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * .linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * .linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * .angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * .linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * .linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * .angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; 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 _local14:Number; var _local15:Number; _local2 =  ; _local3 =  ; _local4 = m_body1; _local5 = m_body2; _local14 = 0; .SetZero(); if (){ .angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 =  .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)); .linear1.Set(-(_local6), -(_local7)); .angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (){ .angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 =  .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)); .linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); .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) * .linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * .linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * .angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * .linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * .linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * .angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * .angular2) - ((_local2 * (m_force * .linear2.y)) - (_local3 * (m_force * .linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local5 = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * .angular2)); } } }//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var :b2Joint; public var :b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint;  = null;  = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } 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 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; 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 GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetType():int{ return (m_type); } public function ():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function  ():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; 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); } } }//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:b2Body; public var body2:b2Body; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { public var :Number; public var m_mass:b2Mat22; public var :b2Vec2; public var m_impulse:b2Vec2; public var  :b2Vec2; private var  :b2Mat22; private var :b2Mat22; private var K:b2Mat22; public var m_gamma:Number; public var  :b2Vec2; public var  :Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; K = new b2Mat22();  = new b2Mat22();  = new b2Mat22();  = new b2Vec2();  = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22();  = new b2Vec2(); super(_arg1); .SetV(_arg1.target); _local2 = (.x - m_body2.m_xf.position.x); _local3 = (.y - m_body2.m_xf.position.y); _local4 = m_body2.m_xf.R;  .x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y));  .y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y));  = _arg1.; m_impulse.SetZero(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1. * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8));  = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint( )); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = ( .x - _local2.m_sweep.localCenter.x); _local5 = ( .y - _local2.m_sweep.localCenter.y); _local6 = ((_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;  .col1.x = _local7;  .col2.x = 0;  .col1.y = 0;  .col2.y = _local7; .col1.x = ((_local8 * _local5) * _local5); .col2.x = ((-(_local8) * _local4) * _local5); .col1.y = ((-(_local8) * _local4) * _local5); .col2.y = ((_local8 * _local4) * _local4); K.SetM( ); K.AddM(); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass);  .x = ((_local2.m_sweep.c.x + _local4) - .x);  .y = ((_local2.m_sweep.c.y + _local5) - .y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); _local9 = (_arg1.dt * m_impulse.x); _local10 = (_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 GetReactionTorque():Number{ return (0); } public function  (_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); };  = _arg1; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; 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; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = ( .x - _local2.m_sweep.localCenter.x); _local7 = ( .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; _local8 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + (( * _arg1.inv_dt) *  .x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + (( * _arg1.inv_dt) *  .y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); _local10 = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 >  ){ m_impulse.Multiply(( / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.dt * _local10); _local16 = (_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)))); } } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var :Number; public var target:b2Vec2; public var  :Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint;  = 0; frequencyHz = 5; dampingRatio = 0.7;  = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 58
//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_limitForce:Number; public var :Number; public var  :Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var  :b2Vec2; public var m_motorMass:Number; public var  :Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var :Number; public var m_limitState:int; public var :Number; public var :Number; public var :b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var :b2Jacobian; public var m_enableMotor:Boolean; 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();  = new b2Vec2();  = new b2Jacobian();  = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.);  .x = -(m_localXAxis1.y);  .y = m_localXAxis1.x;  = _arg1.referenceAngle; .SetZero();  = 0; m_force = 0;  = 0; m_torque = 0; .SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0;  = _arg1. ;  = _arg1.;  = _arg1.; 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)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (); } public function GetLowerLimit():Number{ return ( ); } public function GetJointTranslation():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1.GetWorldVector(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{  = _arg1;  = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x *  .x) + (_local1.col2.x *  .y))); _local5 = (m_force * ((_local1.col1.y *  .x) + (_local1.col2.y *  .y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9: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 _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3.m_invMass; _local6 = _local4.m_invMass; _local7 = _local3.m_invI; _local8 = _local4.m_invI; _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; _local21 = ((_local9.col1.x *  .x) + (_local9.col2.x *  .y)); _local22 = ((_local9.col1.y *  .x) + (_local9.col2.y *  .y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-() * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * .angular2)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - ); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-() * _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(); _local28 = 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 -  ); _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 - ); _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) * .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * .angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; 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:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (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; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1.GetWorldVector(m_localXAxis1); _local16 = _local1.m_linearVelocity; _local17 = _local2.m_linearVelocity; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_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 SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (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; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (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; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x *  .x) + (_local4.col2.x *  .y)); _local15 = ((_local4.col1.y *  .x) + (_local4.col2.y *  .y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); .linear1.x = -(_local14); .linear1.y = -(_local15); .linear2.x = _local14; .linear2.y = _local15; .angular1 = -(((_local16 * _local15) - (_local17 * _local14))); .angular2 = ((_local8 * _local15) - (_local9 * _local14));  = (((_local10 + ((_local12 * .angular1) * .angular1)) + _local11) + ((_local13 * .angular2) * .angular2));  = (1 / );  = (_local12 + _local13); if ( > Number.MIN_VALUE){  = (1 / ); }; 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)); .linear1.x = -(_local18); .linear1.y = -(_local19); .linear2.x = _local18; .linear2.y = _local19; .angular1 = -(((_local16 * _local19) - (_local17 * _local18))); .angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * .angular1) * .angular1)) + _local11) + ((_local13 * .angular2) * .angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs(( -  )) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <=  ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= ){ 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 * .linear1.x) + ((m_motorForce + m_limitForce) * .linear1.x))); _local24 = (_arg1.dt * ((m_force * .linear1.y) + ((m_motorForce + m_limitForce) * .linear1.y))); _local25 = (_arg1.dt * ((m_force * .linear2.x) + ((m_motorForce + m_limitForce) * .linear2.x))); _local26 = (_arg1.dt * ((m_force * .linear2.y) + ((m_motorForce + m_limitForce) * .linear2.y))); _local27 = (_arg1.dt * (((m_force * .angular1) - m_torque) + ((m_motorForce + m_limitForce) * .angular1))); _local28 = (_arg1.dt * (((m_force * .angular2) + m_torque) + ((m_motorForce + m_limitForce) * .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; } public function ():Number{ return (m_motorForce); } public function (_arg1:Number):void{  = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_invMass; _local5 = _local3.m_invMass; _local6 = _local2.m_invI; _local7 = _local3.m_invI; _local9 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local10 = ((-(_arg1.inv_dt) * ) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1.inv_dt) * ) * _local12); m_torque = (m_torque + _local13); _local14 = (_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 = (.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), -( ),  ); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = .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) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); }; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var :b2Vec2; public var referenceAngle:Number; public var :Number; public var motorSpeed:Number; public var :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var  :Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2();  = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; .Set(1, 0); referenceAngle = 0; enableLimit = false;  = 0;  = 0; enableMotor = false;  = 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);  = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 60
//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 :b2Body; public var :Number; public var :Number; public var :Number; public var :int; public var :int; public var :Number; public var m_force:Number; public var :Number; public var m_constant:Number; public var  :int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var  :Number; public var :Number; public var :Number; public var :Number; public var :b2Vec2; public var :b2Vec2; public var :Number; 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();  = new b2Vec2();  = new b2Vec2(); super(_arg1);  = m_body1.m_world. ; m_groundAnchor1.x = (_arg1..x - .m_xf.position.x); m_groundAnchor1.y = (_arg1..y - .m_xf.position.y); m_groundAnchor2.x = (_arg1..x - .m_xf.position.x); m_groundAnchor2.y = (_arg1..y - .m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1. + (m_ratio * _arg1. ));  = b2Math.b2Min(_arg1., (m_constant - (m_ratio * b2_minPulleyLength)));  = b2Math.b2Min(_arg1. , ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0;  = 0;  = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } 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; _local1 = .Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (.m_xf.position.x + m_groundAnchor1.x); _local5 = (.m_xf.position.y + m_groundAnchor1.y); _local6 = (.m_xf.position.x + m_groundAnchor2.x); _local7 = (.m_xf.position.y + m_groundAnchor2.y); _local23 = 0; if ( == 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); .Set((_local12 - _local4), (_local13 - _local5)); .Set((_local14 - _local6), (_local15 - _local7)); _local16 = .Length(); _local17 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .Multiply((1 / _local16)); } else { .SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ .Multiply((1 / _local17)); } else { .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 = (-() * _local18); _local20 =  ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local14 = ((-(m_ratio) * _local19) * .x); _local15 = ((-(m_ratio) * _local19) * .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 ( == 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); .Set((_local12 - _local4), (_local13 - _local5)); _local16 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local16)); .y = (.y * (1 / _local16)); } else { .SetZero(); }; _local18 = ( - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .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 ( == 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); .Set((_local14 - _local6), (_local15 - _local7)); _local17 = .Length(); if (_local17 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local17)); .y = (.y * (1 / _local17)); } else { .SetZero(); }; _local18 = ( - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local14 = (-(_local19) * .x); _local15 = (-(_local19) * .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)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (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; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (.m_xf.position.x + m_groundAnchor1.x); _local15 = (.m_xf.position.y + m_groundAnchor1.y); _local16 = (.m_xf.position.x + m_groundAnchor2.x); _local17 = (.m_xf.position.y + m_groundAnchor2.y); .Set((_local10 - _local14), (_local11 - _local15)); .Set((_local12 - _local16), (_local13 - _local17)); _local18 = .Length(); _local19 = .Length(); if (_local18 > b2Settings.b2_linearSlop){ .Multiply((1 / _local18)); } else { .SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ .Multiply((1 / _local19)); } else { .SetZero(); }; _local20 = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){  = e_inactiveLimit; m_force = 0; } else {  = e_atUpperLimit;  = 0; }; if (_local18 < ){  = e_inactiveLimit;  = 0; } else {  = e_atUpperLimit;  = 0; }; if (_local19 < ){  = e_inactiveLimit;  = 0; } else {  = e_atUpperLimit;  = 0; }; _local21 = ((_local5 * .y) - (_local6 * .x)); _local22 = ((_local8 * .y) - (_local9 * .x));  = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21));  = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22));  = ( + ((m_ratio * m_ratio) * ));  = (1 / );  = (1 / );  = (1 / ); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - )) * .x); _local24 = ((_arg1.dt * (-(m_force) - )) * .y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .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;  = 0;  = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } public function ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (.m_xf.position.x + m_groundAnchor2.x); _local3 = (.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (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 ( == 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 = (-(((.x * _local10) + (.y * _local11))) - (m_ratio * ((.x * _local12) + (.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * .x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * .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 ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((.x * _local10) + (.y * _local11))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .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 ( == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((.x * _local12) + (.y * _local13))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local16 = ((-(_arg1.dt) * _local19) * .x); _local17 = ((-(_arg1.dt) * _local19) * .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)))); }; } public function ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (.m_xf.position.x + m_groundAnchor1.x); _local3 = (.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var  :Number; public var  :Number; public var  :Number; public var :Number; public var ratio:Number; public var :b2Vec2; public var :b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public function b2PulleyJointDef(){  = new b2Vec2();  = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; .Set(-1, 1); .Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0);  = 0;  = 0;  = 0;  = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2; .SetV(_arg3); .SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y);  = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y);  = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = ( + (ratio *  ));  = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength));  = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_motorForce:Number; public var :b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var  :b2Mat22; private var :b2Mat22; private var :b2Mat22; private var K:b2Mat22; public var :b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var :Number; public var  :Number; public var  :Number; public var  :Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22();  = new b2Mat22();  = new b2Mat22();  = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2();  = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2);  = _arg1.referenceAngle; .Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0;  = _arg1. ;  = _arg1. ;  = _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)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return ( ); } public function GetLowerLimit():Number{ return ( ); } public function SetLimits(_arg1:Number, _arg2:Number):void{  = _arg1;  = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return (); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (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; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3.m_invMass; _local19 = _local4.m_invMass; _local20 = _local3.m_invI; _local21 = _local4.m_invI;  .col1.x = (_local18 + _local19);  .col2.x = 0;  .col1.y = 0;  .col2.y = (_local18 + _local19); .col1.x = ((_local20 * _local8) * _local8); .col2.x = ((-(_local20) * _local7) * _local8); .col1.y = ((-(_local20) * _local7) * _local8); .col2.y = ((_local20 * _local7) * _local7); .col1.x = ((_local21 * _local11) * _local11); .col2.x = ((-(_local21) * _local10) * _local11); .col1.y = ((-(_local21) * _local10) * _local11); .col2.y = ((_local21 * _local10) * _local10); K.SetM( ); K.AddM(); K.AddM(); K.Solve(tImpulse, -(_local16), -(_local17)); _local22 = tImpulse.x; _local23 = 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(); _local24 = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) -  ); _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 -  ); _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 -  ); _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)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function  (_arg1:Number):void{  = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) -  )); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; 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; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (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; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (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; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI;  .col1.x = (_local10 + _local11);  .col2.x = 0;  .col1.y = 0;  .col2.y = (_local10 + _local11); .col1.x = ((_local12 * _local7) * _local7); .col2.x = ((-(_local12) * _local6) * _local7); .col1.y = ((-(_local12) * _local6) * _local7); .col2.y = ((_local12 * _local6) * _local6); .col1.x = ((_local13 * _local9) * _local9); .col2.x = ((-(_local13) * _local8) * _local9); .col1.y = ((-(_local13) * _local8) * _local9); .col2.y = ((_local13 * _local8) * _local8); K.SetM( ); K.AddM(); K.AddM(); K.Invert(); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) -  ); if (b2Math.b2Abs(( -  )) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <=  ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >=  ){ 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) * .x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * .y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * .y) - (_local7 * .x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * .x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * .y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * .y) - (_local9 * .x)) + m_motorForce) + m_limitForce))); } else { .SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function ():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (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; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (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; _local11 = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1.inv_dt) * ((.col1.x * _local11) + (.col2.x * _local12))); _local14 = (-(_arg1.inv_dt) * ((.col1.y * _local11) + (.col2.y * _local12))); .x = (.x + _local13); .y = (.y + _local14); _local15 = (_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), -(), ); _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)); }; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var  :Number; public var  :Number; public var motorSpeed:Number; public var maxMotorTorque:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0;  = 0;  = 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 64
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_type:int; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_invI:Number; public var m_linearVelocity:b2Vec2; public var m_sleepTime:Number; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var :Number; public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ var _local3:b2Mat22; var _local4:b2Vec2; m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1. ){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1. ){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1. ){ 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..center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); _local3 = m_xf.R; _local4 = 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.; m_angularDamping = _arg1. ; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0;  = 0; m_invI = 0; m_mass = _arg1..mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){  = _arg1..I; }; if ( > 0){ m_invI = (1 / ); }; 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  (_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 SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function  ():b2Vec2{ return (m_sweep.localCenter); } public function  (_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function  ():Boolean{ return ((m_type == e_dynamicType)); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SynchronizeTransform():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = 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 ():Number{ return (); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0;  = 0; m_invI = 0; _local2 = 0; _local3 = 0; _local4 = 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));  = ( + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if (((( > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){  = ( - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / ); } else {  = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = 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; }; _local7 = 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 ():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local4:b2Mat22; var _local5:b2Vec2; var _local6:Boolean; 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); _local4 = m_xf.R; _local5 = 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); _local6 = false; _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 GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } 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 SynchronizeShapes():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = s_xf1; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = 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))); _local5 = 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 GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function (_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 GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = 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.y + (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; m_invMass = 0;  = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){  = _arg1.I; }; if ( > 0){ m_invI = (1 / ); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = 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; }; _local5 = 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 IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } 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 IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge; _local2 = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function (_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); _local2 = m_shapeList; _local3 = null; _local4 = false; 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 GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function  (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = 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  ():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2BodyDef { public var  :Boolean; public var position:b2Vec2; public var  :Boolean; public var  :Boolean; public var userData; public var  :Number; public var :Boolean; public var angle:Number; public var :Number; public var :b2MassData; public function b2BodyDef(){  = new b2MassData(); position = new b2Vec2(); super(); .center.SetZero(); .mass = 0; .I = 0; userData = null; position.Set(0, 0); angle = 0;  = 0;  = 0;  = true;  = false;  = false;  = false; } } }//package Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 67
//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; var _local4:b2FilterData; var _local5:Boolean; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 68
//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 Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var  :Boolean; public var :b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){  = new b2NullContact(); super(); m_world = null;  = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (); }; if (_local3.m_body == _local4.m_body){ return (); }; if (_local6.IsConnected(_local5)){ return (); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (); }; _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{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 == ){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:b2Body; var _local6:b2Body; 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; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _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_shape1; _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; }; _local5 = _local2.m_body; _local6 = _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 _local1:b2Contact; var _local2:b2Body; var _local3:b2Body; _local1 = 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 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import flash.display.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2DebugDraw { public var  :Number;// = 1 public var  :Number;// = 1 public var  :Number;// = 1 public var  :Number;// = 1 public var :uint; public var m_sprite:Sprite; public var :Number;// = 1 public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; 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_jointBit:uint = 2; public function b2DebugDraw(){  = 1;  = 1;  = 1;  = 1;  = 1; super();  = 0; } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle( , _arg3.color,  ); m_sprite.graphics.moveTo((_arg1[0].x * ), (_arg1[0].y * )); m_sprite.graphics.beginFill(_arg3.color,  ); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * ), (_arg1[_local4].y * )); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * ), (_arg1[0].y * )); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle( , _arg3.color,  ); m_sprite.graphics.drawCircle((_arg1.x * ), (_arg1.y * ), (_arg2 * )); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle( , 0xFF0000,  ); m_sprite.graphics.moveTo((_arg1.position.x * ), (_arg1.position.y * )); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col1.x)) * ), ((_arg1.position.y + ( * _arg1.R.col1.y)) * )); m_sprite.graphics.lineStyle( , 0xFF00,  ); m_sprite.graphics.moveTo((_arg1.position.x * ), (_arg1.position.y * )); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col2.x)) * ), ((_arg1.position.y + ( * _arg1.R.col2.y)) * )); } public function (_arg1:uint):void{  = ( & ~(_arg1)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle( , _arg4.color,  ); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color,  ); m_sprite.graphics.drawCircle((_arg1.x * ), (_arg1.y * ), (_arg2 * )); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * ), (_arg1.y * )); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * ), ((_arg1.y + (_arg3.y * _arg2)) * )); } public function (_arg1:uint):void{  = _arg1; } public function (_arg1:uint):void{  = ( | _arg1); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle( , _arg3.color,  ); m_sprite.graphics.moveTo((_arg1.x * ), (_arg1.y * )); m_sprite.graphics.lineTo((_arg2.x * ), (_arg2.y * )); } public function GetFlags():uint{ return (); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle( , _arg3.color,  ); m_sprite.graphics.moveTo((_arg1[0].x * ), (_arg1[0].y * )); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * ), (_arg1[_local4].y * )); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * ), (_arg1[0].y * )); } } }//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var  :Array; public var  :b2ContactListener; public var m_positionIterationCount:int; public var  :int; public var m_bodies:Array; public var  :int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount: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();  = _arg1; m_contactCapacity = _arg2;  = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4;   = _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++; };   = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) {  [_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++;  [_local2] = _arg1; } public function  (_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; 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 (  == null){ return; }; _local4 = 0; 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;  .Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:b2ContactSolver; 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++; }; _local8 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 =  [_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 =  [_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 =  [_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; };  (_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]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:b2Body; var _local6:Boolean; _local3 = 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++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; };  (_local3.m_constraints); } } }//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var  :Number; public var  :b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var  :Boolean; public var m_broadPhase:b2BroadPhase; public var  :b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var  :b2Body; public var m_contactCount:int; public var  :b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var  :b2Body; public var  ; public var m_jointList:b2Joint; public var :b2Vec2; public var :b2ContactManager; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:b2BodyDef;  = new b2ContactManager(); super();  = null;  = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null;  = null;   = 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;   = _arg3;  = _arg2; m_lock = false;   = 0; .m_world = this; m_broadPhase = new b2BroadPhase(_arg1, ); _local4 = new b2BodyDef();   = CreateBody(_local4); } public function  (_arg1:b2Joint):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint:  .DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2();  .DrawSegment(_local12, _local8, _local10);  .DrawSegment(_local13, _local9, _local10);  .DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint:  .DrawSegment(_local8, _local9, _local10); break; default: if (_local2 !=  ){  .DrawSegment(_local6, _local8, _local10); };  .DrawSegment(_local8, _local9, _local10); if (_local3 !=  ){  .DrawSegment(_local7, _local9, _local10); }; }; } public function  (_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function  (_arg1:b2DebugDraw):void{  = _arg1; } public function  (_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function  ():int{ return (m_broadPhase.m_proxyCount); } public function  ():void{ var _local1:uint; var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; 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 ( == null){ return; };  .m_sprite.graphics.clear(); _local1 =  .GetFlags(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 =  ; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){  (_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){  (_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else {  (_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) {  (_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));  .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);  .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);  .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 =  ; 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++; };  .DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 =  ; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter();  .DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if ( ){  .SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; _local3 = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if ( ){  .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 ==  ){   = _arg1.m_next; }; m_bodyCount--; } public function  (_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function  ():b2Body{ return ( ); } public function  (_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; 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; _local5 = 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;  .DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){  .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++; };  .DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; };  .DrawPolygon(_local14, _local12, _local5); }; break; }; } public function  ():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Island; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; _local3 = new b2Island(m_bodyCount, m_contactCount, m_jointCount,  , m_contactListener); _local2 =  ; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = m_bodyCount; _local7 = new Array(_local6); _local8 =  ; 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_positionCorrection,  ); 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 =  ; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!(( == null))))){  .Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function  (_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function  (_arg1:b2Vec2):void{  = _arg1; } 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 _local8:b2Island; var _local9:int; var _local10:Array; 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; _local8 = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0,  , m_contactListener); _local9 = m_bodyCount; _local10 = new Array(_local9); _local2 =  ; 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)) && (!(( == null))))){  .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]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function Validate():void{ m_broadPhase.Validate(); } public function  ():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function  ():b2Body{ return ( ); } public function  (_arg1:Boolean):void{ m_warmStarting = _arg1; } public function  (_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:b2Body; var _local4:b2Shape; _local2 = 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 _local2:Boolean; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2Shape; _local2 = _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; }; _local3 = _arg1.m_body1; _local4 = _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 SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ var _local2:b2Body; if (m_lock == true){ return (null); }; _local2 = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next =  ; if ( ){  .m_prev = _local2; };   = _local2; m_bodyCount++; return (_local2); } public function  (_arg1:b2BoundaryListener):void{  = _arg1; } public function  (_arg1:b2DestructionListener):void{  = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ var _local3:b2TimeStep; m_lock = true; _local3 = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (  * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; .Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); };  ();   = _local3.inv_dt; m_lock = false; } public function ():int{ return (m_bodyCount); } public function ():int{ return (m_jointCount); } } }//package Box2D.Dynamics
Section 75
//BackToTitleButton (com.nitrome.game.BackToTitleButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class BackToTitleButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id2_:NumbskullFont; public function BackToTitleButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.align = "center"; __id2_.align_vert = "top"; __id2_.color = 2574473; __id2_.id = "None"; __id2_.line_spacing = 18; __id2_.text = "back"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.align = "center"; __id2_.align_vert = "top"; __id2_.color = 11977954; __id2_.id = "None"; __id2_.line_spacing = 18; __id2_.text = "back"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("title_screen"); } } }//package com.nitrome.game
Section 76
//CongratulationsSubmitScoreButton (com.nitrome.game.CongratulationsSubmitScoreButton) package com.nitrome.game { import flash.utils.*; public dynamic class CongratulationsSubmitScoreButton extends SubmitScoreButton { public var __setPropDict:Dictionary; public var __id3_:NumbskullFont; public function CongratulationsSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "top"; __id3_.color = 2574473; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "submit score"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame;  (); }; } function  (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "top"; __id3_.color = 11977954; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "submit score"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.game
Section 77
//ContinueGameButton (com.nitrome.game.ContinueGameButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; import flash.utils.*; public class ContinueGameButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id11_:NumbskullFont; public function ContinueGameButton(){ __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); } function frame10(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function  (){ try { __id11_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id11_.align = "center"; __id11_.align_vert = "top"; __id11_.color = 11977954; __id11_.id = "None"; __id11_.line_spacing = 18; __id11_.text = "resume"; __id11_.tracking = 0; try { __id11_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame17(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 1)) && ((int(__setPropDict[__id11_]) <= 10))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 11)) && ((int(__setPropDict[__id11_]) <= 20))))))){ __setPropDict[__id11_] = currentFrame;  (); }; } function  (){ try { __id11_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id11_.align = "center"; __id11_.align_vert = "top"; __id11_.color = 2574473; __id11_.id = "None"; __id11_.line_spacing = 18; __id11_.text = "resume"; __id11_.tracking = 0; try { __id11_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ if (Controller.popup){ Controller.popup.close(); }; } } }//package com.nitrome.game
Section 78
//CreditsButton (com.nitrome.game.CreditsButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class CreditsButton extends SimpleButton { public var __id6_:NumbskullFont; public var __setPropDict:Dictionary; public function CreditsButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function (){ try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "top"; __id6_.color = 2574473; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Credits"; __id6_.tracking = 0; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame7(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function (){ try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "top"; __id6_.color = 11977954; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Credits"; __id6_.tracking = 0; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("credits"); } } }//package com.nitrome.game
Section 79
//EndGameButton (com.nitrome.game.EndGameButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; import flash.utils.*; public class EndGameButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id12_:NumbskullFont; public function EndGameButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id12_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id12_.align = "center"; __id12_.align_vert = "top"; __id12_.color = 11977954; __id12_.id = "None"; __id12_.line_spacing = 18; __id12_.text = "end game"; __id12_.tracking = 0; try { __id12_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id12_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id12_.align = "center"; __id12_.align_vert = "top"; __id12_.color = 2574473; __id12_.id = "None"; __id12_.line_spacing = 18; __id12_.text = "end game"; __id12_.tracking = 0; try { __id12_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 11)) && ((int(__setPropDict[__id12_]) <= 20))))))){ __setPropDict[__id12_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 1)) && ((int(__setPropDict[__id12_]) <= 10))))))){ __setPropDict[__id12_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if (Controller.popup){ Controller.popup.close(); }; NitromeGame.transition.doTween(function (){ Controller.endGame(); NitromeGame.timeline.gotoAndStop("title_screen"); }); } } }//package com.nitrome.game
Section 80
//ExitToLevelSelectButton (com.nitrome.game.ExitToLevelSelectButton) package com.nitrome.game { import flash.display.*; public dynamic class ExitToLevelSelectButton extends MovieClip { } }//package com.nitrome.game
Section 81
//FxToggle (com.nitrome.game.FxToggle) package com.nitrome.game { import flash.events.*; public class FxToggle extends SimpleButton { public function FxToggle(){ if (!NitromeGame.sfx){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleSfx(); updateGraphic(); } } }//package com.nitrome.game
Section 82
//GatheringLink (com.nitrome.game.GatheringLink) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.net.*; public class GatheringLink extends SimpleButton { public function GatheringLink(){ this.addEventListener(MouseEvent.CLICK, click); } public function click(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.nitrome.com/games/icebreakergathering/"), "_blank"); } } }//package com.nitrome.game
Section 83
//HelpButton (com.nitrome.game.HelpButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class HelpButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id4_:NumbskullFont; public function HelpButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.align = "center"; __id4_.align_vert = "top"; __id4_.color = 12043747; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Help"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function  (){ try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.align = "center"; __id4_.align_vert = "top"; __id4_.color = 2574473; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Help"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame14(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("help"); } } }//package com.nitrome.game
Section 84
//HintOverlay (com.nitrome.game.HintOverlay) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.display.*; public class HintOverlay extends MovieClip { private var type:String; public function destroy():void{ if (parent){ parent.removeChild(this); }; } public function create(_arg1:String):void{ x = 275; y = 200; alpha = 0; visible = false; gotoAndStop((type = _arg1)); Controller.root.addChild(this); } public function advance():void{ if (((Controller.level) && (Controller.level.showHint))){ if (alpha < 1){ visible = true; alpha = (alpha + 0.2); if (alpha >= 1){ alpha = 1; }; }; } else { if (alpha > 0){ alpha = (alpha - 0.2); if (alpha <= 0){ alpha = 0; visible = false; }; }; }; } public function getType():String{ return (type); } } }//package com.nitrome.game
Section 85
//IngamePopup (com.nitrome.game.IngamePopup) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.display.*; import flash.events.*; import com.nitrome.util.*; public class IngamePopup extends MovieClip { public var  :String; public var  :Number;// = 0 public var  :Number;// = 0 public var :Boolean;// = false public var inner:MovieClip; public var :Number;// = 0 public var :Boolean;// = true public var :Number;// = 10 public var :Number;// = 0 public function IngamePopup(){  = true;  = 0;  = 0;  = 0;  = 0;  = 10;  = false; super(); addFrameScript(0, frame1, 11, frame12, 12, frame13, 15, frame16); addEventListener(Event.ADDED, ); x = 275; y = 200; } public function destroy():void{ (); removeEventListener(Event.ADDED, ); } public function  ():void{ var _local1:Number; var _local2:DisplayObject; if (((!()) || (!(isOpen)))){ return; }; _local1 = 0; while (_local1 < MovieClip(inner).numChildren) { _local2 = inner.getChildAt(_local1); if ((((_local2 is SimpleButton)) && ((_local2.name.substr(0, 7) == "default")))){ (_local2 as SimpleButton).onClick(null); return; }; _local1++; }; } function frame12(){  = true;  = false; stop(); } function frame16(){ (); } function frame1(){ stop(); } public function (_arg1:Event):void{ if ((((_arg1.target.parent == this)) && ((_arg1.target is MovieClip)))){ (_arg1.target as MovieClip).gotoAndStop( ); }; } private function ():void{ if (parent){ parent.removeChild(this); }; gotoAndStop(1); } public function open(_arg1:String):void{  = _arg1; gotoAndPlay(2); if (!parent){ Controller.root.popupHolder.addChild(this); };  = Controller.level.getScore();  = Score.value;  = ( = 0);  = true;  = 10; } function frame13(){  = false; } public function advance():void{ if (!inner){ return; }; if (((Key.isReady()) && (Key.isDown(32)))){  (); }; if (!){ if (((inner.levelScore) && (( < )))){  = ( + 153); if ( > ){  = ; }; inner.levelScore.text =  .toString(); } else { if ( > 0){ --; } else { if (((inner.totalScore) && (( <  )))){  = ( + 357); if ( >  ){  =  ; }; inner.totalScore.text = .toString(); }; }; }; }; } public function get isOpen():Boolean{ return (!((currentFrame == 1))); } public function close():void{ play(); stage.focus = null; } } }//package com.nitrome.game
Section 86
//IngameSubmitScoreButton (com.nitrome.game.IngameSubmitScoreButton) package com.nitrome.game { import flash.utils.*; public dynamic class IngameSubmitScoreButton extends SubmitScoreButton { public var __setPropDict:Dictionary; public var __id15_:NumbskullFont; public function IngameSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.align = "center"; __id15_.align_vert = "top"; __id15_.color = 2574473; __id15_.id = "None"; __id15_.line_spacing = 18; __id15_.text = "submit score"; __id15_.tracking = 0; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function  (){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.align = "center"; __id15_.align_vert = "top"; __id15_.color = 11977954; __id15_.id = "None"; __id15_.line_spacing = 18; __id15_.text = "submit score"; __id15_.tracking = 0; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.game
Section 87
//LevelStartButton (com.nitrome.game.LevelStartButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; import flash.utils.*; public class LevelStartButton extends SimpleButton { private var :Boolean; public var numberField:NumbskullFont; private var :Number; public var __setPropDict:Dictionary; public function LevelStartButton(){ __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);  = Number(name.substr(6));  = NitromeGame.getLevelUnlocked(); useHandCursor = (buttonMode = ); this.addEventListener(Event.ENTER_FRAME, enterFrame); } public function addedToStage(_arg1:Event):void{ updateGraphic(); } function frame10(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function (){ try { numberField["componentInspectorSetting"] = true; } catch(e:Error) { }; numberField.align = "center"; numberField.align_vert = "top"; numberField.color = 11977954; numberField.id = "None"; numberField.line_spacing = 18; numberField.text = "1"; numberField.tracking = 0; try { numberField["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } public function enterFrame(_arg1:Event):void{ updateGraphic(); this.removeEventListener(Event.ENTER_FRAME, enterFrame); } function frame4(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } override protected function updateGraphic():void{ if (){ if (over){ gotoAndStop("over"); } else { gotoAndStop("up"); }; } else { gotoAndStop("locked"); }; if (numberField){ numberField.text = String(); numberField.visible = ; numberField.color = ((() && (over))) ? 2574473 : 11977954; }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if (){ NitromeGame.transition.doTween(function (){ NitromeGame.timeline.gotoAndStop("game"); Controller.selectedLevel = ; Score.value = 0; }); }; } } }//package com.nitrome.game
Section 88
//LoadIndicator (com.nitrome.game.LoadIndicator) package com.nitrome.game { import flash.display.*; public class LoadIndicator extends MovieClip { public function LoadIndicator(_arg1:Number=0, _arg2:Number=0){ addFrameScript(6, frame7, 11, frame12); x = _arg1; y = _arg2; } public function destroy():void{ stop(); if (parent){ parent.removeChild(this); }; } function frame12(){ destroy(); } public function finishedLoading():void{ gotoAndPlay("outAnimation"); } function frame7(){ gotoAndPlay("loop"); } } }//package com.nitrome.game
Section 89
//MusicToggle (com.nitrome.game.MusicToggle) package com.nitrome.game { import flash.events.*; public class MusicToggle extends SimpleButton { public function MusicToggle(){ if (!NitromeGame.music){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.music){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.music){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleMusic(); updateGraphic(); } } }//package com.nitrome.game
Section 90
//NextLevelButton (com.nitrome.game.NextLevelButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; import flash.utils.*; public class NextLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id13_:NumbskullFont; public function NextLevelButton(){ __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); } function (){ try { __id13_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id13_.align = "center"; __id13_.align_vert = "top"; __id13_.color = 2574473; __id13_.id = "None"; __id13_.line_spacing = 18; __id13_.text = "next level"; __id13_.tracking = 0; try { __id13_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 1)) && ((int(__setPropDict[__id13_]) <= 10))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 11)) && ((int(__setPropDict[__id13_]) <= 20))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function (){ try { __id13_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id13_.align = "center"; __id13_.align_vert = "top"; __id13_.color = 11977954; __id13_.id = "None"; __id13_.line_spacing = 18; __id13_.text = "next level"; __id13_.tracking = 0; try { __id13_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if (Controller.popup){ Controller.popup.close(); }; NitromeGame.transition.doTween(function (){ if (Controller.loadedLevelNumber == NitromeGame.total_levels){ Controller.endGame(); NitromeGame.timeline.gotoAndStop("congrats"); } else { Controller.nextLevel(); }; }); } } }//package com.nitrome.game
Section 91
//NitromeLink (com.nitrome.game.NitromeLink) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.net.*; public class NitromeLink extends SimpleButton { public function NitromeLink(){ this.addEventListener(MouseEvent.CLICK, click); } public function click(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.nitrome.com/"), "_blank"); } } }//package com.nitrome.game
Section 92
//PauseButton (com.nitrome.game.PauseButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; public class PauseButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ Controller.popup.open("paused"); } } }//package com.nitrome.game
Section 93
//PlayButton (com.nitrome.game.PlayButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class PlayButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id1_:NumbskullFont; public function PlayButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function  (){ try { __id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id1_.align = "center"; __id1_.align_vert = "top"; __id1_.color = 2574473; __id1_.id = "None"; __id1_.line_spacing = 18; __id1_.text = "Play"; __id1_.tracking = 0; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame5(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function (){ try { __id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id1_.align = "center"; __id1_.align_vert = "top"; __id1_.color = 12043747; __id1_.id = "None"; __id1_.line_spacing = 18; __id1_.text = "Play"; __id1_.tracking = 0; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("level_select"); } } }//package com.nitrome.game
Section 94
//Preloader (com.nitrome.game.Preloader) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.text.*; public class Preloader extends MovieClip { public var progress:TextField; public var __id0_:NumbskullFont; public function Preloader(){ addEventListener(Event.ENTER_FRAME, enterFrame); (); } public function finishedLoading(){ if (hasEventListener(Event.COMPLETE)){ removeEventListener(Event.ENTER_FRAME, enterFrame); dispatchEvent(new Event(Event.COMPLETE)); }; } public function enterFrame(_arg1:Event):void{ var _local2:Number; var _local3:TextField; if (stage.loaderInfo.bytesLoaded < stage.loaderInfo.bytesTotal){ _local2 = Math.floor(((100 * stage.loaderInfo.bytesLoaded) / stage.loaderInfo.bytesTotal)); _local3 = (getChildByName("progress") as TextField); _local3.text = (_local2.toString() + "%"); } else { (root as MovieClip).stop(); finishedLoading(); }; } function (){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.align = "center"; __id0_.align_vert = "top"; __id0_.color = 12043747; __id0_.id = "None"; __id0_.line_spacing = 18; __id0_.text = "Loading"; __id0_.tracking = 0; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.game
Section 95
//ResetButton (com.nitrome.game.ResetButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; public class ResetButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if (Controller.isPaused()){ return; }; if (Level.EDITOR_ENABLED){ if (Controller.level.editor){ Controller.level.editor.selectMode(1); Controller.level.editor.selectMode(0); }; } else { NitromeGame.transition.doTween(function (){ Controller.restartLevel(); }); }; } } }//package com.nitrome.game
Section 96
//RestartLevelButton (com.nitrome.game.RestartLevelButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; import flash.utils.*; public class RestartLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id14_:NumbskullFont; public function RestartLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id14_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id14_.align = "center"; __id14_.align_vert = "top"; __id14_.color = 11977954; __id14_.id = "None"; __id14_.line_spacing = 18; __id14_.text = "restart level"; __id14_.tracking = 0; try { __id14_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function (){ try { __id14_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id14_.align = "center"; __id14_.align_vert = "top"; __id14_.color = 2574473; __id14_.id = "None"; __id14_.line_spacing = 18; __id14_.text = "restart level"; __id14_.tracking = 0; try { __id14_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame18(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 1)) && ((int(__setPropDict[__id14_]) <= 10))))))){ __setPropDict[__id14_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 11)) && ((int(__setPropDict[__id14_]) <= 20))))))){ __setPropDict[__id14_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if (Controller.popup){ Controller.popup.close(); }; NitromeGame.transition.doTween(function (){ Controller.restartLevel(); Score.value = 0; }); } } }//package com.nitrome.game
Section 97
//Score (com.nitrome.game.Score) package com.nitrome.game { public class Score { private static var r:int; private static var _value:int; private static var hash:String; public static function init():void{ r = (int((Math.random() * 2000000)) - 1000000); _value = r; hash = _value.toString(16); } public static function verify():Boolean{ return ((_value.toString(16) == hash)); } public static function get value():int{ return ((_value - r)); } public static function set value(_arg1:int):void{ var _local2:Boolean; _local2 = verify(); r = (int((Math.random() * 2000000)) - 1000000); _value = (r + _arg1); if (_local2){ hash = _value.toString(16); }; } } }//package com.nitrome.game
Section 98
//ScoresButton (com.nitrome.game.ScoresButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class ScoresButton extends SimpleButton { public var __id5_:NumbskullFont; public var __setPropDict:Dictionary; public function ScoresButton(){ __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); } function frame10(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function (){ try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.align = "center"; __id5_.align_vert = "top"; __id5_.color = 2574473; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Scores"; __id5_.tracking = 0; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame17(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function  (){ try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.align = "center"; __id5_.align_vert = "top"; __id5_.color = 12043747; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Scores"; __id5_.tracking = 0; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("view_scores"); } } }//package com.nitrome.game
Section 99
//SimpleButton (com.nitrome.game.SimpleButton) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SimpleButton extends MovieClip { protected var over:Boolean;// = false public function SimpleButton(){ over = false; super(); mouseChildren = false; buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); this.addEventListener(MouseEvent.MOUSE_DOWN, onClick); stop(); } protected function onMouseOver(_arg1:MouseEvent):void{ over = true; updateGraphic(); } protected function onMouseOut(_arg1:MouseEvent):void{ over = false; updateGraphic(); } protected function updateGraphic():void{ if (over){ gotoAndStop("_over"); } else { gotoAndStop("_up"); }; } public function onClick(_arg1:MouseEvent):void{ } } }//package com.nitrome.game
Section 100
//SoundManager (com.nitrome.game.SoundManager) package com.nitrome.game { import flash.display.*; import flash.media.*; public class SoundManager extends SoundManagerSuper { protected const MENU_VOLUME:Number = 1; protected const GAME_VOLUME:Number = 0.5; public var vikingAtEnd:MovieClip; public var ice3:MovieClip; public var fatwoman:MovieClip; public var wolfratDying:MovieClip; public var iceSmash:MovieClip; public var ice4:MovieClip; public var ropeBreak:MovieClip; public var nitrome:MovieClip; public var splash:MovieClip; public var noslice:MovieClip; public var death:MovieClip; public var runeDeath:MovieClip; public var ice3b:MovieClip; public var deepthud:MovieClip; public var iceTooLarge:MovieClip; public static const GAME:uint = 1; public static const MENU:uint = 0; public function SoundManager(){ NitromeGame.sound_manager = this; music_sounds.push(new MenuMusic()); music_sounds.push(new GameMusic()); transforms.push(new SoundTransform(MENU_VOLUME, 0)); transforms.push(new SoundTransform(GAME_VOLUME, 0)); channels.push(new SoundChannel()); channels.push(new SoundChannel()); volumes.push(MENU_VOLUME); volumes.push(GAME_VOLUME);  = uint.MAX_VALUE; } } }//package com.nitrome.game
Section 101
//SoundManagerSuper (com.nitrome.game.SoundManagerSuper) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SoundManagerSuper extends Sprite { protected const CROSS_FADE_SPEED:Number = 0.05; public var :int; protected var  :Boolean;// = true public var :Boolean;// = false protected var transforms:Array; protected var volumes:Array; protected var music_sounds:Array; protected var  :int; protected var  :Boolean;// = true protected var channels:Array; protected var  :Array; public function SoundManagerSuper(){ var _local1:int; var _local2:MovieClip;  = new Array(); music_sounds = new Array(); channels = new Array(); transforms = new Array(); volumes = new Array();  = true;  = true;  = false; super();  = NitromeGame.music;  = NitromeGame.sfx; _local1 = 0; while (_local1 < numChildren) { _local2 = (getChildAt(_local1) as MovieClip); if (_local2 != null){  [_local2.name] = _local2; }; _local1++; }; } public function set sfx(_arg1:Boolean):void{  = _arg1; } public function get music():Boolean{ return ( ); } public function toggleMusic():void{ if ( ){ (); } else { (); }; } public function playSound(_arg1:String):void{ if ( ){ if ( [_arg1] != null){  [_arg1].gotoAndPlay(2); }; }; } private function (_arg1:Event):void{ if (transforms[ ].volume > 0){ transforms[ ].volume = (transforms[ ].volume - CROSS_FADE_SPEED); channels[ ].soundTransform = transforms[ ]; }; if (transforms[].volume < 1){ transforms[].volume = (transforms[].volume + CROSS_FADE_SPEED); channels[].soundTransform = transforms[]; }; if ((((transforms[].volume >= volumes[])) && ((transforms[ ].volume <= 0)))){ channels[ ].stop();  = false; _arg1.target.removeEventListener(Event.ENTER_FRAME, ); }; } public function ():void{ NitromeGame.music = ( = true); playMusic(, true); } public function set music(_arg1:Boolean):void{  = _arg1; } public function playMusic(_arg1:uint, _arg2:Boolean=false):void{ var _local3:uint; if (((!(( == _arg1))) || (_arg2))){ if (_arg1 < music_sounds.length){ if ( ){ _local3 = 0; while (_local3 < music_sounds.length) { if (_local3 == _arg1){ } else { if (channels[_local3] != null){ channels[_local3].stop(); }; }; _local3++; }; transforms[_arg1].volume = volumes[_arg1]; channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]); };  = _arg1; }; }; } public function ():void{ NitromeGame.sfx = ( = false); } public function toggleSfx():void{  = !( ); NitromeGame.sfx = !(NitromeGame.sfx); } public function ():void{ var _local1:uint; _local1 = 0; while (_local1 < channels.length) { if (channels[_local1] != null){ channels[_local1].stop(); }; _local1++; }; NitromeGame.music = ( = false); } public function get sfx():Boolean{ return ( ); } public function ():void{ NitromeGame.sfx = ( = true); } public function  (_arg1:int):void{ if (((((!( )) || (( == _arg1)))) || ())){ return; }; transforms[_arg1].volume = 0; channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]);  = ;  = _arg1;  = true; addEventListener(Event.ENTER_FRAME, ); } } }//package com.nitrome.game
Section 102
//SubmitScoreButton (com.nitrome.game.SubmitScoreButton) package com.nitrome.game { import com.nitrome.icebreaker.*; import flash.events.*; public class SubmitScoreButton extends SimpleButton { public function SubmitScoreButton(){ if (Score.value == 0){ visible = false; }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ if (Controller.content){ Controller.endGame(); }; if (Controller.popup){ Controller.popup.close(); }; NitromeGame.timeline.gotoAndStop("submit_score"); }); } } }//package com.nitrome.game
Section 103
//TemplateFont (com.nitrome.game.TemplateFont) package com.nitrome.game { public class TemplateFont extends TextComponent { public function TemplateFont(){ _tracking = 0; _line_spacing = 18; _id = "None"; } override public function get id():String{ return (_id); } override public function set id(_arg1:String){ _id = _arg1; } override public function set tracking(_arg1:int){ _tracking = _arg1; } override protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } override public function get tracking():int{ return (_tracking); } override public function set line_spacing(_arg1:int){ _line_spacing = _arg1; } override public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.game
Section 104
//TextComponent (com.nitrome.game.TextComponent) package com.nitrome.game { import flash.display.*; import flash.geom.*; import flash.utils.*; public class TextComponent extends Sprite { protected var :String;// = "center" protected var :Array; protected var :String;// = "enter text" protected var _tracking:int;// = 0 protected var  :ColorTransform;// = null private var  :Number;// = 0 protected var :Array; protected var _id:String;// = "None" private var :Number;// = 0 protected var :String;// = "center" private var :Sprite; protected var :Sprite; protected var _line_spacing:int;// = 18 protected var :uint;// = 0xFFFFFF public function TextComponent(){  = "enter text"; _tracking = 0;  = "center";  = "center"; _line_spacing = 18; _id = "None";  = 0xFFFFFF;  = null;  = 0;  = 0; super(); init(); (); draw(); } public function get align():String{ return (); } private function init():void{  = new Array();  = new Array();  = width;  = height; scaleX = 1; scaleY = 1; removeChildAt(0); } public function set align(_arg1:String){  = _arg1; draw(); } private function ():void{  = new Sprite(); addChild(); } public function get align_vert():String{ return (); } public function get text():String{ return (); } public function set id(_arg1:String){ _id = _arg1; draw(); } protected function draw():void{ var line:*; var i:int; var isLivePreview:Boolean; var c:*; var class_name:String; var class_id:Class; var temp:Sprite; var j:int; var x_tracking:*; .graphics.clear(); if ( != null){ this.removeChild(); };  = new Sprite();  = new Array(); line = 0; .push(.addChild(new Sprite()));  = new Array(); .push(new Array()); i = 0; while (i < .length) {  = .toUpperCase(); c = .charAt(i); class_name = getClassNameFromChar(c); if (class_name == "NEWLINE"){ line = (line + 1); .push(new Array()); .push(.addChild(new Sprite())); [line].y = (line_spacing * line); } else { if (class_name != ""){ try { class_id = (getDefinitionByName(((("Text_" + _id) + "_") + class_name)) as Class); } catch(e:ReferenceError) { try { class_id = (getDefinitionByName((("Text_" + _id) + "_SPACE")) as Class); } catch(e:ReferenceError) { trace(("TextComponent error: could not find font " + _id)); break; }; }; if (Class != null){ temp = (new (class_id) as Sprite); [line].push([line].addChild(temp)); }; }; }; i = (i + 1); }; i = 0; while (i < .length) { j = 1; while (j < [i].length) { x_tracking = _tracking; if ([i][(j - 1)].kerning != null){ x_tracking = (x_tracking + [i][(j - 1)].kerning._x); } else { x_tracking = (x_tracking + [i][(j - 1)].width); }; [i][j].x = ([i][(j - 1)].x + x_tracking); j = (j + 1); }; if ( == "center"){ [i].x = ([i].x + int((( * 0.5) - ([i].width * 0.5)))); } else { if ( == "right"){ [i].x = ([i].x + int(( - [i].width))); }; }; i = (i + 1); }; if ( == "bottom"){ .y = (.y + int(( - .height))); } else { if ( == "center"){ .y = (.y + int((( * 0.5) - (.height * 0.5)))); }; }; if ( != null){ .transform.colorTransform =  ; }; .cacheAsBitmap = true; this.addChild(); this.cacheAsBitmap = true; isLivePreview = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); if (((isLivePreview) && (( == "")))){ .graphics.clear(); .graphics.lineStyle(1, 0); .graphics.beginFill(0xFFFFFF, 0.5); .graphics.drawRoundRect(0, 0, ,  , 10, 10); .graphics.endFill(); }; } public function get id():String{ return (_id); } public function set align_vert(_arg1:String){  = _arg1; draw(); } public function get color():uint{ return (); } public function set text(_arg1:String){  = _arg1; draw(); } public function set tracking(_arg1:int){ _tracking = _arg1; draw(); } public function (_arg1:Number, _arg2:Number):void{  = _arg1;  = _arg2; draw(); } protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } public function get tracking():int{ return (_tracking); } public function set color(_arg1:uint):void{  = _arg1; if (_arg1 == 0xFFFFFF){  = null; } else {  = new ColorTransform((((_arg1 >> 16) % 0x0100) / 0xFF), (((_arg1 >> 8) % 0x0100) / 0xFF), ((_arg1 % 0x0100) / 0xFF)); }; draw(); } public function set line_spacing(_arg1:int){ _line_spacing = _arg1; draw(); } public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.game
Section 105
//Transition (com.nitrome.game.Transition) package com.nitrome.game { import flash.display.*; public class Transition extends MovieClip { private var :Function;// = null public function Transition(){  = null; super(); addFrameScript(0, frame1, 12, frame13); NitromeGame.transition = this; stop(); mouseEnabled = false; mouseChildren = false; } function frame1(){ (); } function frame13(){ (); } protected function ():void{ if ( != null){ gotoAndPlay(1); } else { stop(); this.visible = false; }; } public function doTween(_arg1:Object):void{ var target = _arg1; play(); if ((target is Function)){  = (target as Function); } else {  = function (){ NitromeGame.timeline.gotoAndStop(target); }; }; this.visible = true; if (NitromeGame.sound_manager){ NitromeGame.sound_manager.playSound("deepthud"); }; } protected function ():void{ if ( != null){ ();  = null; }; } } }//package com.nitrome.game
Section 106
//ArrowButton (com.nitrome.highscore.ArrowButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ArrowButton extends SimpleButton { var :HighScoreBoard; public function ArrowButton(){  = (parent as HighScoreBoard); visible = false; } public function hide():void{ visible = false; } override public function onClick(_arg1:MouseEvent):void{ if (name == "_prev_arrow"){ .shiftScoresPrev(); } else { if (name == "_next_arrow"){ .shiftScoresNext(); }; }; } public function show():void{ visible = true; } } }//package com.nitrome.highscore
Section 107
//ClearButton (com.nitrome.highscore.ClearButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ClearButton extends SimpleButton { private var  :ScoreSubmitPanel; public function ClearButton(){  = (parent as ScoreSubmitPanel); } override public function onClick(_arg1:MouseEvent):void{  .clearName(); } } }//package com.nitrome.highscore
Section 108
//HighScoreBoard (com.nitrome.highscore.HighScoreBoard) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import flash.net.*; public class HighScoreBoard extends MovieClip { public const MAX_DIGITS:int = 8; private const MAX_RANK:int = 100; public const NUM_LINES:int = 10; public var _score_line_7:ScoreLine; private var :Array; private var :Boolean;// = false public var _next_arrow:NextArrow; private var :URLRequest; private var  :URLVariables; public var _score_line_10:ScoreLine; private var :ArrowButton; public var _prev_arrow:PrevArrow; private var :int; public var _score_line_1:ScoreLine; public var _score_line_2:ScoreLine; public var _score_line_3:ScoreLine; public var _score_line_4:ScoreLine; public var _score_line_5:ScoreLine; public var _score_line_6:ScoreLine; public var _score_line_8:ScoreLine; public var _score_line_9:ScoreLine; private var :URLLoader; private var  :ArrowButton; public function HighScoreBoard(){ var _local1:int;  = false; super(); if (((root) && (((((((((root as MovieClip).currentLabel == "game")) || (((root as MovieClip).currentLabel == "congrats")))) || (((root as MovieClip).currentLabel == "help")))) || (((root as MovieClip).currentLabel == "credits")))))){ return; };  = new Array(NUM_LINES); if (NitromeGame.isAtURL(NitromeGame.NITROME)){ }; _local1 = 0; while (_local1 < .length) { [_local1] = (getChildByName(("_score_line_" + (_local1 + 1))) as HighScoreLine); _local1++; };   = (getChildByName("_prev_arrow") as ArrowButton);  = (getChildByName("_next_arrow") as ArrowButton); addEventListener(Event.ADDED_TO_STAGE, init); } public function  (_arg1:int):void{  = _arg1;  = new URLLoader();  = new URLVariables();  = new URLRequest(NitromeGame.RETRIEVE_URL); .method = URLRequestMethod.POST; .data =  ; .dataFormat = URLLoaderDataFormat.VARIABLES; .addEventListener(Event.COMPLETE, ); .addEventListener(IOErrorEvent.IO_ERROR,  );  .min_rank = String(_arg1);  .game_name = NitromeGame.game_id;  .time_based = (NitromeGame.time_based) ? "1" : "0"; .load(); } private function (_arg1:Event):void{ var _local2:String; _local2 = _arg1.target.data.result; (_local2); } private function init(_arg1:Event):void{  (1); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } public function shiftScoresPrev():void{ var _local1:int; _local1 = ( - 10); if (_local1 < 1){ _local1 = 1; };  (_local1); } public function set zero_fill(_arg1:Boolean):void{  = _arg1; } private function  (_arg1:IOErrorEvent):void{ trace(("Retrieve scores failed: " + _arg1.text)); } public function get zero_fill():Boolean{ return (); } public function (_arg1:Array):void{ var _local2:int; var _local3:String; var _local4:String; if (_arg1.length > 0){ _local2 = 0; while (_local2 <= 9) { _local3 = String(_arg1[_local2].user_name); _local4 = String(_arg1[_local2].score); if ((((_local3 == "")) || ((_local3 == null)))){ [_local2].hide(); .hide(); } else { [_local2].displayData(( + _local2), _local3, _local4); }; _local2++; }; } else { trace("no leaderboard data"); }; } public function (_arg1:String):void{ var _local2:int; var _local3:Object; if (_arg1 != "0"){ _local2 = 0; while (_local2 < .length) { _local3 = NitromeGame.getHighScoreLine(_arg1, (_local2 + 1)); if (_local3 == null){ [_local2].hide(); } else { [_local2].displayData(( + _local2), _local3.username, _local3.score); }; _local2++; }; if (NitromeGame.displayNextButton(_arg1)){ .show(); } else { .hide(); }; if (NitromeGame.displayPreviousButton(_arg1)){  .show(); } else {  .hide(); }; }; } public function shiftScoresNext():void{ var _local1:int; _local1 = ( + 10);  (_local1); } } }//package com.nitrome.highscore
Section 109
//HighScoreLine (com.nitrome.highscore.HighScoreLine) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import flash.text.*; public class HighScoreLine extends Sprite { private const FADE_SPEED:Number = 0.3; private var :int; private var :TextField; private var  :TextField; public var _score_text:TextField; private var  :Boolean; private var :TextField; private var :int; public var _rank_text:TextField; public var _name_text:TextField; private var :HighScoreBoard; public function HighScoreLine(){ visible = false;  = false;  = (getChildByName("_score_text") as TextField);  = (getChildByName("_name_text") as TextField);  = (getChildByName("_rank_text") as TextField);  = (parent as HighScoreBoard); } public function hide():void{ trace((name + " hide")); visible = false;  = true; } private function  (_arg1:Event):void{ if ( >= ){ alpha = (alpha + FADE_SPEED); if (alpha >= 1){ _arg1.target.removeEventListener(Event.ENTER_FRAME,  ); }; }; ++; } public function displayData(_arg1:int, _arg2:String, _arg3:String):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; trace((name + " displayData:")); .text = String((_arg1 + "."));  .text = _arg2.toUpperCase(); trace(((((_arg1 + ",") + _arg2) + ",") + _arg3)); if (.zero_fill){ _local4 = .MAX_DIGITS; _local5 = _arg3.length; _local6 = (_local4 - _local5); _local7 = 1; while (_local7 <= _local6) { _arg3 = ("0" + _arg3); _local7++; }; .text = _arg3; } else { .text = _arg3; }; alpha = 0; visible = true;  = (((_arg1 - 1) % .NUM_LINES) * int((1 / FADE_SPEED)));  = 0; addEventListener(Event.ENTER_FRAME,  ); } } }//package com.nitrome.highscore
Section 110
//LetterButton (com.nitrome.highscore.LetterButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class LetterButton extends SimpleButton { private var  :TextComponent; public var _letter:NumbskullFont; private var :String; private var  :ScoreSubmitPanel; public function LetterButton(){  = (parent as ScoreSubmitPanel);  = name;  = (getChildByName("_letter") as TextComponent); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(_arg1:Event):void{  .text = ; _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } override protected function onMouseOut(_arg1:MouseEvent):void{ super.onMouseOut(_arg1);  .color = 11977954; } override public function onClick(_arg1:MouseEvent):void{  .addLetter(); } override protected function onMouseOver(_arg1:MouseEvent):void{ super.onMouseOver(_arg1);  .color = 2574473; } } }//package com.nitrome.highscore
Section 111
//ScoreSubmitPanel (com.nitrome.highscore.ScoreSubmitPanel) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import com.nitrome.game.*; import flash.net.*; import flash.ui.*; public class ScoreSubmitPanel extends MovieClip { private const MAX_LENGTH:Number = 10; private var  :URLLoader; public var C:LetterButton; public var D:LetterButton; public var E:LetterButton; public var F:LetterButton; public var H:LetterButton; public var I:LetterButton; public var J:LetterButton; public var L:LetterButton; public var A:LetterButton; public var K:LetterButton; public var W:LetterButton; public var X:LetterButton; public var R:LetterButton; public var T:LetterButton; public var U:LetterButton; public var V:LetterButton; public var G:LetterButton; public var Y:LetterButton; public var Z:LetterButton; public var S:LetterButton; public var N:LetterButton; public var O:LetterButton; private var  :TextComponent; public var Q:LetterButton; public var M:LetterButton; public var _score_text:NumbskullFont; private var  :MovieClip; public var B:LetterButton; public var P:LetterButton; private var :TextComponent; public var _name_text:NumbskullFont; private var  :SubmitButton; public var _submit_button:SubmitButton; public var _clear_button:ClearButton; private var  :URLRequest; private var  :URLVariables; public function ScoreSubmitPanel(){   = (getChildByName("_submit_button") as SubmitButton);  = (getChildByName("_name_text") as TextComponent);  = (getChildByName("_score_text") as TextComponent); addEventListener(Event.ADDED_TO_STAGE, init); } public function addLetter(_arg1:String):void{ var _local2:String; var _local3:String; _local2 =  .text; if (_local2.length < MAX_LENGTH){ _arg1 = _arg1.toUpperCase(); _local3 = (_local2 + _arg1);  .text = _local3;  .enable(); }; } private function  (_arg1:IOErrorEvent):void{ trace(("Submit score failed: " + _arg1.text)); trace(); NitromeGame.timeline.gotoAndStop("view_scores"); } public function clearName():void{  .disable();  .text = ""; } private function keyPressed(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = _arg1.charCode; if ((((((_local2 >= 65)) && ((_local2 <= 90)))) || ((((_local2 >= 97)) && ((_local2 <= 122)))))){ addLetter(String.fromCharCode(_local2)); }; if ((((_arg1.keyCode == Keyboard.BACKSPACE)) || ((_arg1.keyCode == Keyboard.DELETE)))){ clearName(); }; } private function  (_arg1:Event):void{ trace("Score submitted"); NitromeGame.timeline.gotoAndStop("view_scores"); } private function init(_arg1:Event):void{ .text = ("YOUR SCORE IS " + Score.value); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } public function submitScore():void{ var _local1:String; stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _local1 =  .text; if (_local1 != ""){   = new URLLoader();  = new URLVariables();  = new URLRequest(NitromeGame.SUBMIT_URL);  .method = URLRequestMethod.POST;  .data =  ;  .addEventListener(Event.COMPLETE,  );  .addEventListener(IOErrorEvent.IO_ERROR,  );  .data_string = NitromeGame.getScoreData(Score.value, _local1);  .time_based = "0";  .data =  ;  .load( ); } else { NitromeGame.timeline.gotoAndStop("view_scores"); }; } } }//package com.nitrome.highscore
Section 112
//SubmitButton (com.nitrome.highscore.SubmitButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class SubmitButton extends SimpleButton { private var :Boolean;// = false private var :Boolean;// = true private var  :ScoreSubmitPanel; public function SubmitButton(){  = false;  = true; super(); gotoAndStop("_up");  = (parent as ScoreSubmitPanel); } public function enable():void{  = false; useHandCursor = true; buttonMode = true; updateGraphic(); } override protected function updateGraphic():void{ if (((!(over)) || ())){ gotoAndStop("_up"); } else { gotoAndStop("_over"); }; } public function disable():void{  = true; useHandCursor = false; buttonMode = false; updateGraphic(); } override public function onClick(_arg1:MouseEvent):void{ if (){ gotoAndStop("_up"); } else { if (!){  .submitScore();  = true; }; }; } } }//package com.nitrome.highscore
Section 113
//ActiveObject (com.nitrome.icebreaker.ActiveObject) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.*; import flash.display.*; public class ActiveObject extends MovieClip { public var globalPosition:b2Vec2; public function destroy():void{ deactivate(); if (parent){ parent.removeChild(this); }; } public function create():void{ } public function updatePosition():void{ x = (globalPosition.x * 32); y = (globalPosition.y * 32); } public function activate():void{ } public function getBoundingBox():b2AABB{ return (null); } public function deactivate():void{ } public function advance():void{ } public function getPosition():b2Vec2{ return (globalPosition); } public function setPosition(_arg1:b2Vec2):void{ globalPosition = _arg1.Copy(); x = (globalPosition.x * 32); y = (globalPosition.y * 32); } } }//package com.nitrome.icebreaker
Section 114
//Background (com.nitrome.icebreaker.Background) package com.nitrome.icebreaker { import flash.display.*; import flash.events.*; public class Background extends Sprite { public var  :Number;// = 0 public var autoLevel:Number;// = -200 public var cloudsDeltaX:Number;// = 0 public var foreMountains:MovieClip; public var backMountains:MovieClip; public var clouds:MovieClip; public function Background(){ cloudsDeltaX = 0;   = 0; autoLevel = -200; super(); addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true); } public function scrollTo(_arg1:Number, _arg2:Number):void{ var wrap:Function; var dx = _arg1; var dy = _arg2; wrap = function (_arg1:Number, _arg2:Number):Number{ _arg1 = Math.floor(_arg1); if (_arg1 > 0){ return (((_arg1 % _arg2) - _arg2)); }; return ((_arg1 % _arg2)); }; clouds.x = wrap((cloudsDeltaX - (dx * 0.05)), 573); backMountains.x = wrap((-(dx) * 0.1), 1100); foreMountains.x = wrap((-(dx) * 0.2), 1100); clouds.y = Math.floor((-(dy) * 0.05)); backMountains.y = Math.floor((-(dy) * 0.1)); foreMountains.y = Math.floor((-(dy) * 0.2)); } public function enterFrame(_arg1:Event):void{ if (((Controller.root) && ((Controller.root.currentLabel == "game")))){ return; };   = (  + 10); scrollTo( , autoLevel); } } }//package com.nitrome.icebreaker
Section 115
//Bird (com.nitrome.icebreaker.Bird) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class Bird extends ActiveObject { public var solidShape:b2Shape; public var solidBody:b2Body; override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - 0.5), (globalPosition.y - 0.5)); _local1.upperBound = new b2Vec2((globalPosition.x + 0.5), (globalPosition.y + 0.5)); return (_local1); } override public function deactivate():void{ if (solidBody){ Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShape = null; } override public function advance():void{ globalPosition = solidBody.GetPosition().Copy(); updatePosition(); solidBody.ApplyForce(new b2Vec2(0, -20), solidBody.GetWorldCenter()); if (Math.abs(solidBody.GetLinearVelocity().x) > 0.5){ scaleX = ((solidBody.GetLinearVelocity().x)>=0) ? -1 : 1; }; } override public function setPosition(_arg1:b2Vec2):void{ super.setPosition(_arg1); if (solidBody){ solidBody.SetXForm(_arg1, 0); }; } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2CircleDef; if (solidBody){ return; }; _local1 = new b2BodyDef(); if (globalPosition){ _local1.position.Set(globalPosition.x, globalPosition.y); }; _local1.userData = {activeObject:this, bird:this}; solidBody = Controller.level.world.CreateBody(_local1); _local2 = new b2CircleDef(); _local2.radius = 0.5; _local2.density = 1; _local2.friction = 0.8; solidBody.CreateShape(_local2); solidBody.SetMassFromShapes(); } override public function create():void{ Controller.activeLayer.addChild(this); gotoAndPlay((1 + int((Math.random() * totalFrames)))); } } }//package com.nitrome.icebreaker
Section 116
//Block (com.nitrome.icebreaker.Block) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import flash.display.*; import flash.geom.*; import com.nitrome.util.*; import flash.filters.*; public class Block { public var :Number;// = 1 public var drawDeltaX:Number; public var drawDeltaY:Number; public var  :Number;// = 10 public var  :Number;// = 0 public var texture:BitmapData; public var :Boolean;// = false public var rotationalVelocity:Number; public var position:b2Vec2; public var  :Number;// = 8156823 public var  :Number;// = 3551551 public var  :Number; public var sprite:Sprite; public var  :Boolean;// = false public var editorLocked:Boolean;// = false public var velocity:b2Vec2; public var vertexList:Array; public var  :Number;// = 0.4 public var originalLine:Array; public var solidBody:b2Body; public var bitmapData:BitmapData; public var solidShapes:Array; public var rotation:Number; public static var rockTexture:BitmapData; public function Block(){  = 1;   = 8156823;   = 0.4;   = 3551551;   = false;  = 10;  = false;  = 0; editorLocked = false; super(); if (!rockTexture){ rockTexture = new RockTexture(0x0100, 0x0100); }; texture = rockTexture; solidBody = null; solidShapes = []; vertexList = []; originalLine = []; } public function divide(_arg1:b2Vec2, _arg2:b2Vec2):Array{ return (null); } public function advance():void{ var _local1:b2AABB; var _local2:Boolean; _local1 = getBoundingBox(); _local2 = (((_local1.lowerBound.y < Controller.level.sea.yPosition)) && ((_local1.upperBound.y > Controller.level.sea.yPosition))); if (_local2 != ){  = _local2; if ( > 15){ Controller.level.splash(((_local1.lowerBound.x + _local1.upperBound.x) * 16));  = 0; }; } else {  ++; }; } public function localToGlobal(_arg1:b2Vec2):b2Vec2{ if (!solidBody){ return (new b2Vec2((_arg1.x * 32), (_arg1.y * 32))); }; return (solidBody.GetWorldPoint(_arg1)); } public function globalToLocal(_arg1:b2Vec2):b2Vec2{ return (solidBody.GetLocalPoint(_arg1)); } public function getLocalBoundingBox():b2AABB{ var _local1:b2AABB; var _local2:Number; var _local3:b2Vec2; if (vertexList.length < 1){ return (null); }; _local1 = new b2AABB(); _local2 = 0; while (_local2 < vertexList.length) { _local3 = vertexList[_local2]; if (_local2 == 0){ _local1.lowerBound.Set(_local3.x, _local3.y); _local1.upperBound.Set(_local3.x, _local3.y); } else { if (_local3.x < _local1.lowerBound.x){ _local1.lowerBound.x = _local3.x; }; if (_local3.x > _local1.upperBound.x){ _local1.upperBound.x = _local3.x; }; if (_local3.y < _local1.lowerBound.y){ _local1.lowerBound.y = _local3.y; }; if (_local3.y > _local1.upperBound.y){ _local1.upperBound.y = _local3.y; }; }; _local2++; }; return (_local1); } public function getBoundingBoxCenter():b2Vec2{ var _local1:b2AABB; _local1 = getBoundingBox(); if (!_local1){ return (null); }; return (new b2Vec2(((_local1.lowerBound.x + _local1.upperBound.x) / 2), ((_local1.lowerBound.y + _local1.upperBound.y) / 2))); } public function prerenderBitmap():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Sprite; var _local5:Number; var _local6:Number; var _local7:Number; if (vertexList.length < 3){ bitmapData = null; return; }; _local1 = Infinity; _local2 = -(Infinity); _local3 = 0; while (_local3 < vertexList.length) { if (vertexList[_local3].x < _local1){ _local1 = vertexList[_local3].x; }; if (vertexList[_local3].x > _local2){ _local2 = vertexList[_local3].x; }; _local3++; }; _local1 = (_local1 * 32); _local2 = (_local2 * 32); _local4 = new Sprite(); _local4.graphics.clear(); if (texture){ _local4.graphics.beginBitmapFill(texture); } else { _local4.graphics.beginFill(1193046, 0.5); }; _local4.graphics.moveTo((vertexList[0].x * 32), (vertexList[0].y * 32)); _local3 = 1; while (_local3 < vertexList.length) { _local4.graphics.lineTo((vertexList[_local3].x * 32), (vertexList[_local3].y * 32)); _local3++; }; _local4.graphics.endFill(); _local5 = ( ) ?  : 0; drawDeltaX = (_local4.getBounds(_local4).left - _local5); drawDeltaY = (_local4.getBounds(_local4).top - _local5); _local6 = Math.ceil((_local4.width + (_local5 * 2))); _local7 = Math.ceil((_local4.height + (_local5 * 2))); if (_local6 < 1){ _local6 = 1; }; if (_local7 < 1){ _local7 = 1; }; bitmapData = new BitmapData(_local6, _local7, true, 0); bitmapData.draw(_local4, new Matrix(1, 0, 0, 1, -(drawDeltaX), -(drawDeltaY))); bitmapData.applyFilter(bitmapData, new Rectangle(0, 0, bitmapData.width, bitmapData.height), new Point(), new GlowFilter( ,  , 30, 30, 3, 1, true, false)); bitmapData.applyFilter(bitmapData, new Rectangle(0, 0, bitmapData.width, bitmapData.height), new Point(), new GlowFilter( , 1, 2, 2, 10, 1, true)); if ( ){ bitmapData.applyFilter(bitmapData, new Rectangle(0, 0, bitmapData.width, bitmapData.height), new Point(), new GlowFilter( , 1, ( * 2), ( * 2), 1, 1)); }; sprite = new Sprite(); sprite.addChild(new Bitmap(bitmapData, "auto", true)); updateBitmap(); Controller.blockLayer.addChild(sprite); } public function testPoint(_arg1:b2Vec2):Boolean{ var _local2:Number; if (!solidBody){ return (false); }; _local2 = 0; while (_local2 < solidShapes.length) { if (solidShapes[_local2].TestPoint(solidBody.m_xf, _arg1)){ return (true); }; _local2++; }; return (false); } public function destroyContained(_arg1:Boolean=false, _arg2:Finish=null):void{ var _local3:Number; var _local4:FrozenCharacter; var _local5:LinkConstraint; var _local6:ActiveObject; _local3 = 0; while (_local3 < Controller.level.characterList.length) { _local4 = (Controller.level.characterList[_local3] as FrozenCharacter); if (!_local4){ } else { if (_local4.insideBlock != this){ } else { if (_arg1){ _local4.atFinish = true; _local4.finish = _arg2; _local4.gotoAndPlay("standing"); _local4.parent.setChildIndex(_local4, (_local4.parent.numChildren - 1)); _arg2.charactersOnBoard.push(_local4); } else { _local4.destroy(); Global.removeFromList(_local4, Controller.level.characterList); Controller.level.failed(); }; }; }; _local3++; }; _local3 = 0; while (_local3 < Controller.level.constraintList.length) { _local5 = (Controller.level.constraintList[_local3] as LinkConstraint); if (!_local5){ } else { if (((!((_local5.attached1 == this))) && (!((_local5.attached2 == this))))){ } else { _local5.deactivate(); if (_local5.attached1 == this){ _local5.attached1 = "roaming"; }; if (_local5.attached2 == this){ _local5.attached2 = "roaming"; }; _local5.activate(); }; }; _local3++; }; _local3 = 0; while (_local3 < Controller.level.activeObjectList.length) { _local6 = Controller.level.activeObjectList[_local3]; if ((_local6 is HelpSign)){ if ((_local6 as HelpSign).attachedBlock != this){ } else { (_local6 as HelpSign).destroy(); }; }; _local3++; }; } public function addVertex(_arg1:b2Vec2, _arg2:Boolean=true):void{ vertexList.push(_arg1.Copy()); originalLine.push(_arg2); } public function unsolidify():void{  (); if (solidBody){ position = solidBody.GetPosition(); rotation = solidBody.GetAngle(); velocity = solidBody.GetLinearVelocity(); rotationalVelocity = solidBody.GetAngularVelocity(); Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShapes = []; } protected function  ():b2Vec2{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = 0; _local2 = 0; _local3 = 0; while (_local3 < vertexList.length) { _local1 = (_local1 + vertexList[_local3].x); _local2 = (_local2 + vertexList[_local3].y); _local3++; }; return (new b2Vec2((_local1 / vertexList.length), (_local2 / vertexList.length))); } public function insertVertex(_arg1:Number, _arg2:b2Vec2, _arg3:Boolean=true):void{ vertexList.splice(_arg1, 0, _arg2); originalLine.splice(_arg1, 0, _arg3); } public function  ():void{ if (((sprite) && (sprite.parent))){ sprite.parent.removeChild(sprite); }; if (bitmapData){ bitmapData.dispose(); }; bitmapData = null; sprite = null; } public function removeVertex(_arg1:Number):void{ vertexList.splice(_arg1, 1); originalLine.splice(_arg1, 1); } public function  (_arg1:b2Vec2):b2Vec2{ if (!solidBody){ return (new b2Vec2((_arg1.x / 32), (_arg1.y / 32))); }; return (solidBody.GetLocalPoint(new b2Vec2((_arg1.x / 32), (_arg1.y / 32)))); } public function bodyIsTouching(_arg1:b2Body):Boolean{ return (Level.bodyIsTouchingBody(_arg1, solidBody)); } public function updateBitmap():void{ var _local1:Matrix; if (((sprite) && (solidBody))){ _local1 = new Matrix(); _local1.translate(drawDeltaX, drawDeltaY); _local1.rotate(solidBody.GetAngle()); _local1.translate((solidBody.GetPosition().x * 32), (solidBody.GetPosition().y * 32)); sprite.transform.matrix = _local1; }; } public function deactivateContained():void{ var _local1:Number; var _local2:Constraint; var _local3:ActiveObject; _local1 = 0; while (_local1 < Controller.level.constraintList.length) { _local2 = Controller.level.constraintList[_local1]; if ((_local2 is PinConstraint)){ if ((_local2 as PinConstraint).attachedBlock == this){ _local2.deactivate(); }; } else { if ((_local2 is LinkConstraint)){ if (((((_local2 as LinkConstraint).attached1 == this)) || (((_local2 as LinkConstraint).attached2 == this)))){ _local2.deactivate(); }; } else { if ((_local2 is TurningPinsConstraint)){ if ((_local2 as TurningPinsConstraint).attachedBlock == this){ _local2.deactivate(); }; }; }; }; _local1++; }; _local1 = 0; while (_local1 < Controller.level.activeObjectList.length) { _local3 = Controller.level.activeObjectList[_local1]; if ((_local2 is HelpSign)){ if ((_local2 as HelpSign).attachedBlock == this){ _local2.deactivate(); }; }; _local1++; }; } public function localToPixel(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; if (!solidBody){ return (new b2Vec2((_arg1.x * 32), (_arg1.y * 32))); }; _local2 = solidBody.GetWorldPoint(new b2Vec2(_arg1.x, _arg1.y)); _local2.x = (_local2.x * 32); _local2.y = (_local2.y * 32); return (_local2); } protected function makePoly(_arg1:Array):b2PolygonShape{ var _local2:b2PolygonDef; _local2 = new b2PolygonDef(); _local2.vertexCount = _arg1.length; _local2.vertices = _arg1.slice(); _local2.density = 1; _local2.restitution = 0.2; return ((solidBody.CreateShape(_local2) as b2PolygonShape)); } public function getBoundingBox():b2AABB{ var _local1:b2AABB; var _local2:Number; var _local3:b2Vec2; if (vertexList.length < 1){ return (null); }; _local1 = new b2AABB(); _local2 = 0; while (_local2 < vertexList.length) { _local3 = localToGlobal(vertexList[_local2]); if (_local2 == 0){ _local1.lowerBound.Set(_local3.x, _local3.y); _local1.upperBound.Set(_local3.x, _local3.y); } else { if (_local3.x < _local1.lowerBound.x){ _local1.lowerBound.x = _local3.x; }; if (_local3.x > _local1.upperBound.x){ _local1.upperBound.x = _local3.x; }; if (_local3.y < _local1.lowerBound.y){ _local1.lowerBound.y = _local3.y; }; if (_local3.y > _local1.upperBound.y){ _local1.upperBound.y = _local3.y; }; }; _local2++; }; return (_local1); } public function getMass():Number{ return (solidBody.GetMass()); } public function solidify():void{ var _local1:b2BodyDef; var _local2:Array; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Boolean; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local1 = new b2BodyDef(); _local1.userData = {block:this}; solidBody = Controller.level.world.CreateBody(_local1); solidShapes = []; _local2 = vertexList.slice(); while (_local2.length > 3) { _local3 = 0; _local4 = -1; _local5 = 0; while (_local5 < _local2.length) { _local6 = _local2[_local5]; _local7 = _local2[((_local5 + 1) % _local2.length)]; _local8 = _local2[((_local5 + 2) % _local2.length)]; _local9 = false; _local10 = 0; while (_local10 < _local2.length) { if ((((((_local2[_local10] == _local6)) || ((_local2[_local10] == _local7)))) || ((_local2[_local10] == _local8)))){ } else { if (Geometry.pointInsideTriangle(_local6, _local7, _local8, _local2[_local10])){ _local9 = true; break; }; }; _local10++; }; if (_local9){ } else { _local11 = Math.atan2((_local7.y - _local6.y), (_local7.x - _local6.x)); _local12 = Math.atan2((_local8.y - _local7.y), (_local8.x - _local7.x)); _local13 = (_local12 - _local11); while (_local13 < -(Math.PI)) { _local13 = (_local13 + (Math.PI * 2)); }; while (_local13 > Math.PI) { _local13 = (_local13 - (Math.PI * 2)); }; if (_local13 > _local3){ _local3 = _local13; _local4 = _local5; }; }; _local5++; }; if (_local4 == -1){ break; }; _local6 = _local2[_local4]; _local7 = _local2[((_local4 + 1) % _local2.length)]; _local8 = _local2[((_local4 + 2) % _local2.length)]; solidShapes.push(makePoly([_local6, _local7, _local8])); _local2.splice(((_local4 + 1) % _local2.length), 1); }; solidShapes.push(makePoly(_local2)); solidBody.SetMassFromShapes(); if (position){ solidBody.SetXForm(position, rotation); }; if (velocity){ solidBody.SetLinearVelocity(velocity); solidBody.SetAngularVelocity(rotationalVelocity); }; prerenderBitmap(); } } }//package com.nitrome.icebreaker
Section 117
//Captain (com.nitrome.icebreaker.Captain) package com.nitrome.icebreaker { import flash.display.*; public dynamic class Captain extends MovieClip { public function Captain(){ addFrameScript(18, frame19, 27, frame28, 40, frame41, 59,  ); } function frame19(){ gotoAndPlay("standing"); } function frame28(){ gotoAndPlay("walking"); } function frame41(){ gotoAndPlay("standing"); } function  (){ gotoAndPlay("victory"); } } }//package com.nitrome.icebreaker
Section 118
//Character (com.nitrome.icebreaker.Character) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import flash.display.*; import com.nitrome.util.*; public class Character extends MovieClip { public var  :Number;// = 0 public var finishIdealX:Number; public var  :Boolean;// = false public var  :Number;// = -9 public var  :Boolean;// = true public var victoryAnimation:Boolean;// = false public var finish:Finish;// = null public var atFinish:Boolean;// = false public var  :Boolean;// = true public var  :Number;// = 0 public var completedTime:Number;// = 0 public static const WALK_MAXSPEED:Number = 4; public static const WALK_ACCEL:Number = 0.2; public function Character(){ atFinish = false; finish = null;   = -9;   = true;  = 0;   = false; completedTime = 0;   = 0; victoryAnimation = false;   = true; super(); } public function destroy():void{ if (parent){ parent.removeChild(this); }; } public function create():void{ Controller.characterLayer.addChild(this); } public function victory():void{ if (!victoryAnimation){ gotoAndPlay(( ("victory") + int((Math.random() * 18)))); }; victoryAnimation = true; } public function advance():void{ var _local1:b2Vec2; var _local2:Boolean; var _local3:Boolean; _local1 = getPosition(); _local2 = (_local1.y < Controller.level.sea.yPosition); if (  != _local2){   = _local2; Controller.level.splash((_local1.x * 32)); }; _local3 = false; if (_local1.x < ((Controller.level.leftEdge - 100) / 32)){ _local3 = true; }; if (_local1.x > ((Controller.level.rightEdge + 100) / 32)){ _local3 = true; }; if (_local1.y < ((Controller.level.topEdge - 100) / 32)){ _local3 = true; }; if (_local1.y > (Controller.level.sea.yPosition + (100 / 32))){ _local3 = true; }; if (_local3){  ++; } else {   = 0; }; if (!atFinish){ completedTime = 0; return; }; if (! ){ NitromeGame.sound_manager.playSound("vikingAtEnd");   = true; }; completedTime++; rotation = (rotation * 0.5); if ( ){  ++; y = (y +  ); if (y > (((finish.getPosition().y * 32) - 32) - 12)){ y = (((finish.getPosition().y * 32) - 32) - 12);   = false; }; } else { if (x != finishIdealX){  = ( + Global.deceleratingSweep(x, finishIdealX,  , WALK_ACCEL, WALK_ACCEL)); if (x < finishIdealX){ x = (x +  ); if (x >= finishIdealX){ x = finishIdealX;  = 0; if (!victoryAnimation){ gotoAndPlay("standing"); }; }; } else { x = (x +  ); if (x <= finishIdealX){ x = finishIdealX;  = 0; if (!victoryAnimation){ gotoAndPlay("standing"); }; }; }; if ( != 0){ scaleX = (( )>0) ? 1 : -1; if ((((currentLabel == "standing")) && (!(victoryAnimation)))){ gotoAndPlay("walking"); }; }; }; }; } public function getPosition():b2Vec2{ return (null); } public function isDead():Boolean{ return ((  > 30)); } public function setPosition(_arg1:b2Vec2):void{ } public function  (_arg1:String):Number{ var _local2:Number; _local2 = 0; while (_local2 < currentLabels.length) { if (currentLabels[_local2].name == _arg1){ return (currentLabels[_local2].frame); }; _local2++; }; return (0); } public function isSafe():Boolean{ return ((completedTime > 30)); } } }//package com.nitrome.icebreaker
Section 119
//Constraint (com.nitrome.icebreaker.Constraint) package com.nitrome.icebreaker { import flash.display.*; public class Constraint extends MovieClip { public function destroy():void{ deactivate(); if (parent){ parent.removeChild(this); }; } public function create():void{ } public function activate():void{ } public function deactivate():void{ } public function advance():void{ } public function  (_arg1:Block):Boolean{ return (false); } } }//package com.nitrome.icebreaker
Section 120
//ContactListener (com.nitrome.icebreaker.ContactListener) package com.nitrome.icebreaker { import Box2D.Collision.*; import Box2D.Dynamics.*; public class ContactListener extends b2ContactListener { override public function Add(_arg1:b2ContactPoint):void{ if (((_arg1.shape1.m_body.m_userData) && (_arg1.shape1.m_body.m_userData.contactMade))){ _arg1.shape1.m_body.m_userData.contactMade(_arg1, _arg1.shape2); }; if (((_arg1.shape2.m_body.m_userData) && (_arg1.shape2.m_body.m_userData.contactMade))){ _arg1.shape2.m_body.m_userData.contactMade(_arg1, _arg1.shape1); }; } } }//package com.nitrome.icebreaker
Section 121
//Controller (com.nitrome.icebreaker.Controller) package com.nitrome.icebreaker { import flash.display.*; import flash.events.*; import com.nitrome.util.*; import com.nitrome.game.*; import flash.net.*; public class Controller { public static const SKIP_MENUS:Boolean = false; public static const DEBUG:Boolean = false; public static const ENCRYPTED_LEVELS:Boolean = true; public static var finishLayer:Sprite; public static var level:Level = null; public static var frameNumber:Number = 0; public static var selectedLevel:Number = 1; public static var splashLayer:Sprite; public static var popup:IngamePopup; public static var background:Background; public static var characterLayer:Sprite; public static var xml_done:Boolean = false; public static var cutLayer:Sprite; public static var loadedLevelNumber:Number = -1; public static var seaLayer:Sprite; public static var blockLayer:Sprite; public static var loadedXML:XML = null; public static var loadIndicator:LoadIndicator = null; public static var fragmentLayer:Sprite; public static var root:MovieClip; public static var particleLayer:Sprite; public static var constraintLayer:Sprite; public static var protectionLayer:Sprite; public static var content:Sprite; public static var activeLayer:Sprite; public static var stage:Stage; public static var xml_data:Array; public static function isPaused():Boolean{ if (popup){ if (popup.isOpen){ if (popup. == "paused"){ return (true); }; if (popup. == "failed"){ return (true); }; }; }; return (false); } public static function loadXmlData(){ if (xml_done == false){ xml_data = new Array(); xml_data["1f08a64e48d86a9432914582141b6089.xml"] = "<level el=\"-400\" er=\"511\" et=\"-633\" sy=\"0\"><b t=\"i\" v=\"-192,-368,-178,-386,-160,-400,-144,-480,-137,-465,-124,-405,-116,-395,-96,-368,-99,-352,-93,-318,-96,-299,-96,-272,-108,-275,-96,-249,-80,-223,-85,-203,-98,-192,-125,-192,-136,-210,-141,-228,-127,-241,-132,-268,-158,-263,-182,-274,-183,-285,-180,-334\"/><b t=\"i\" v=\"-58,-547,-46,-553,-29,-556,-13,-549,-3,-534,0,-516,-9,-494,-24,-486,-41,-485,-61,-495,-70,-515,-65,-535\"/><b t=\"n\" v=\"-64,-656,178,-649,253,-645,229,-614,133,-584,90,-603,26,-605,-20,-591,-42,-579,-60,-594,-72,-638\"/><b t=\"i\" v=\"183,-469,181,-493,197,-514,220,-514,231,-503,235,-485,230,-464,213,-448,199,-451\"/><b t=\"w\" v=\"-80,-272,240,-272,240,-240,96,-240,96,-112,64,-112,64,-240,-80,-240\"/><p pos=\"80,-256\"/><p pos=\"-112,-224\"/><p pos=\"-144,-320\"/><p pos=\"-53,-645\"/><p pos=\"152,-643\"/><l p1=\"-32,-608\" p2=\"-33,-540\"/><l p1=\"210,-615\" p2=\"209,-501\"/><c t=\"f1\" pos=\"-35,-515\"/><c t=\"f1\" pos=\"209,-479\"/><ao pos=\"304,0\" t=\"f\"/></level>"; xml_data["3a136ff523e1ef48cc9687a8eb7eddc7.xml"] = "<level el=\"-400\" er=\"400\" et=\"-500\"><b t=\"i\" v=\"16,-304,36,-305,282,-307,304,-304,308,-277,307,-151,304,-128,286,-124,257,-122,21,-127,13,-150,11,-256,14,-288\"/><p pos=\"160,-288\"/><c t=\"f1\" pos=\"160,-160\"/><ao pos=\"-176,0\" t=\"f\"/></level>"; xml_data["3b8ce57ee272fcefe52082ac3a65ec7a.xml"] = "<level el=\"-349\" er=\"756\" et=\"-544\" sy=\"0\"><b t=\"d\" v=\"17,-163,23,-177,37,-187,66,-202,117,-217,131,-205,143,-180,148,-160,155,-103,170,-62,194,62,-1,67,7,-47,14,-109\"/><b t=\"d\" v=\"20,-352,29,-425,24,-505,-1,-568,164,-579,157,-478,151,-441,165,-396,158,-332,145,-294,118,-266,73,-257,35,-263,20,-288\"/><b t=\"n\" v=\"414,-181,463,-176,474,-165,482,-148,440,-126,416,-113\"/><b t=\"i\" v=\"618,-466,638,-448,652,-427,665,-400,675,-366,676,-324,640,-321,570,-319,524,-315,509,-323,501,-334,499,-350,501,-379,500,-456,486,-470,464,-475,451,-486,456,-497,504,-497,538,-496,565,-493,597,-481\"/><p pos=\"36,-556\"/><p pos=\"124,-559\"/><p pos=\"14,58\"/><p pos=\"172,56\"/><p pos=\"430,-169\"/><p pos=\"427,-141\"/><p pos=\"512,-336\"/><p pos=\"462,-488\"/><p pos=\"493,-485\"/><c t=\"s1\" pos=\"448,-192\"/><ao pos=\"-160,0\" t=\"f\"/></level>"; xml_data["3c6dd53f785b36d0e91f97b573672d34.xml"] = "<level el=\"-752\" er=\"1051\" et=\"-941\" sy=\"1.25\"><b t=\"w\" v=\"-630,-233,-624,-249,-616,-265,-604,-281,-585,-299,-555,-313,-528,-318,-508,-318,-478,-312,-458,-305,-444,-294,-431,-281,-420,-267,-410,-246,-403,-225,-405,-191,-417,-200,-422,-173,-408,-177,-412,-159,-419,-146,-431,-129,-436,-144,-456,-128,-443,-119,-454,-112,-460,-106,-486,-97,-487,-129,-473,-137,-454,-155,-444,-169,-437,-190,-436,-221,-444,-244,-460,-266,-483,-279,-508,-285,-527,-285,-542,-283,-560,-274,-574,-264,-582,-255,-590,-241,-596,-230,-599,-215,-595,-186,-586,-161,-573,-146,-560,-136,-541,-130,-541,-96,-558,-102,-571,-108,-587,-117,-575,-125,-595,-141,-601,-123,-613,-140,-619,-150,-630,-175,-615,-172,-620,-199,-632,-192,-632,-213\"/><b t=\"f\" v=\"-595,-141,-575,-125,-587,-118,-603,-83,-625,-100,-601,-124\"/><b t=\"f\" v=\"-458,-127,-437,-144,-431,-130,-403,-105,-423,-84,-443,-119\"/><b t=\"f\" v=\"-670,-188,-631,-193,-619,-200,-615,-173,-630,-176,-665,-165\"/><b t=\"f\" v=\"-418,-201,-406,-193,-366,-186,-372,-162,-409,-177,-424,-173\"/><b t=\"n\" v=\"1062,-959,1065,101,986,102,1002,-20,996,-68,990,-107,990,-130,984,-157,988,-192,992,-212,989,-238,994,-258,997,-298,993,-314,993,-331,982,-369,989,-394,996,-422,995,-446,1008,-465,1000,-486,999,-508,995,-534,1000,-547,999,-595,990,-619,990,-647,988,-679,980,-706,983,-744,972,-815,962,-834,962,-857,938,-859,917,-860,896,-857,879,-853,864,-858,839,-853,811,-861,792,-862,785,-869,769,-862,737,-865,694,-865,658,-869,604,-865,584,-872,568,-865,534,-869,521,-847,520,-822,491,-756,474,-819,454,-845,444,-873,424,-874,402,-785,398,-757,383,-724,366,-616,363,-593,350,-572,349,-534,347,-527,340,-532,292,-627,277,-723,254,-772,245,-805,241,-828,223,-873,210,-879,200,-873,177,-876,157,-878,92,-877,82,-882,33,-866,12,-865,-23,-867,-49,-883,-106,-882,-120,-886,-163,-887,-190,-892,-253,-885,-282,-889,-308,-886,-340,-881,-359,-887,-378,-883,-419,-886,-455,-883,-474,-869,-500,-866,-548,-885,-547,-882,-577,-884,-607,-882,-638,-875,-665,-882,-679,-874,-690,-860,-679,-850,-679,-836,-686,-817,-693,-805,-687,-788,-693,-756,-707,-738,-720,-677,-714,-641,-720,-623,-710,-607,-695,-541,-699,-501,-694,-354,-686,-330,-692,-304,-686,-127,-695,-95,-654,-83,-379,-83,-359,-89,-329,-83,-316,-108,-317,-141,-322,-178,-331,-203,-325,-229,-328,-253,-322,-270,-324,-302,-321,-333,-311,-356,-297,-386,-301,-419,-315,-430,-319,-463,-126,-467,-120,-440,-126,-409,-138,-368,-141,-342,-152,-321,-151,-265,-148,-232,-142,-217,-131,-202,-120,-176,-124,-121,-127,-98,-120,-70,-124,-33,-131,21,-124,65,-108,94,-186,93,-361,93,-767,96,-773,-867,-775,-897,-769,-959\"/><p pos=\"-756,83\"/><p pos=\"-377,79\"/><p pos=\"-765,-526\"/><p pos=\"-759,-948\"/><p pos=\"-140,-950\"/><p pos=\"1053,-951\"/><p pos=\"1057,-516\"/><p pos=\"1025,96\"/><l p1=\"-677,-426\" p2=\"-592,-274\"/><l p1=\"-565,-433\" p2=\"-547,-303\"/><l p1=\"-487,-304\" p2=\"-465,-431\"/><l p1=\"-440,-276\" p2=\"-357,-426\"/><l p1=\"-623,-428\" p2=\"-573,-292\"/><l p1=\"-461,-293\" p2=\"-413,-429\"/><l p1=\"-518,-306\" p2=\"-515,-432\"/><c t=\"s1\" pos=\"-514,-195\"/><ao pos=\"-514,-147\" t=\"fw\"/><ao pos=\"-623,-428\" t=\"b\"/><ao pos=\"-515,-432\" t=\"b\"/><ao pos=\"-465,-431\" t=\"b\"/><ao pos=\"-357,-426\" t=\"b\"/><ao pos=\"-413,-429\" t=\"b\"/><ao pos=\"-565,-433\" t=\"b\"/><ao pos=\"-677,-426\" t=\"b\"/><ao pos=\"850,49\" t=\"f\"/></level>"; xml_data["4a9187230eb0b079b884def81606976e.xml"] = "<level el=\"-400\" er=\"395\" et=\"-502\" sy=\"0\"><b t=\"i\" v=\"-256,-320,160,-320,176,-304,160,-256,139,-250,82,-256,-48,-254,-160,-256,-240,-250,-256,-256,-272,-304\"/><b t=\"n\" v=\"352,-528,416,-528,416,75,300,68,317,-24,333,-85,367,-187,375,-280,372,-322,345,-401,348,-469\"/><b t=\"n\" v=\"-432,-544,-352,-544,-350,-509,-359,-488,-380,-463,-397,-435,-410,-403,-404,-264,-387,-182,-377,-113,-377,-57,-352,64,-432,64\"/><p pos=\"-48,-288\"/><p pos=\"403,-513\"/><p pos=\"408,-303\"/><p pos=\"390,62\"/><p pos=\"407,-112\"/><p pos=\"-413,-523\"/><p pos=\"-423,-331\"/><p pos=\"-416,-134\"/><p pos=\"-372,56\"/><p pos=\"-419,57\"/><c t=\"s1\" pos=\"-96,-336\"/><c t=\"s1\" pos=\"0,-336\"/><c t=\"s1\" pos=\"96,-336\"/><c t=\"s1\" pos=\"-192,-336\"/><ao pos=\"-64,0\" t=\"f\"/></level>"; xml_data["4dd188979647ee0eafec603077cec98b.xml"] = "<level el=\"-400\" er=\"666\" et=\"-500\" sy=\"3.09375\"><b t=\"i\" v=\"-89,-235,187,-174,199,-164,212,-143,206,-113,204,-97,182,-67,168,-37,156,-30,122,-28,109,-52,86,-103,83,-124,69,-146,48,-160,22,-151,-16,-102,-48,-80,-68,-92,-84,-114,-112,-128,-127,-163,-133,-198,-118,-222,-112,-240,-102,-239\"/><b t=\"n\" v=\"-313,-289,-306,-299,-295,-301,-165,-266,-136,-252,-129,-245,-150,-230,-189,-247,-229,-248,-255,-243,-288,-256\"/><b t=\"i\" v=\"-257,-371,-245,-375,-228,-374,-216,-367,-210,-353,-212,-339,-220,-328,-231,-322,-244,-323,-257,-326,-265,-334,-269,-349,-265,-362\"/><b t=\"n\" v=\"242,-97,253,-87,280,-36,279,-27,256,-36,247,-44,243,-72\"/><b t=\"n\" v=\"286,-150,287,-163,301,-167,341,-151,369,-119,372,-111,341,-117,292,-143\"/><b t=\"n\" v=\"-288,-512,16,-512,0,-485,-20,-443,-35,-438,-50,-444,-61,-459,-85,-480,-143,-491,-175,-476,-194,-456,-206,-412,-220,-396,-245,-395,-263,-412\"/><b t=\"i\" v=\"-58,-384,-45,-393,-26,-393,-12,-385,-6,-372,-6,-356,-12,-341,-27,-334,-45,-335,-57,-341,-65,-353,-65,-369\"/><p pos=\"48,-192\"/><p pos=\"-270,-270\"/><p pos=\"-166,-247\"/><p pos=\"259,-47\"/><p pos=\"251,-72\"/><p pos=\"322,-144\"/><p pos=\"345,-128\"/><p pos=\"-260,-508\"/><p pos=\"-72,-509\"/><l p1=\"-235,-412\" p2=\"-239,-369\"/><l p1=\"-36,-456\" p2=\"-35,-381\"/><c t=\"f1\" pos=\"-239,-347\"/><c t=\"f1\" pos=\"-34,-356\"/><ao pos=\"400,96\" t=\"f\"/></level>"; xml_data["05a361e133d0bfdcf0da5d358cbc2c0b.xml"] = "<level el=\"-400\" er=\"400\" et=\"-500\" sy=\"0.46875\"><b t=\"i\" v=\"-144,-384,-135,-386,-73,-370,-30,-364,70,-330,96,-320,148,-300,140,-265,124,-249,108,-237,81,-233,20,-248,-116,-276,-144,-288,-148,-344\"/><b t=\"n\" v=\"-208,-448,-112,-448,-128,-432,-208,-432\"/><b t=\"n\" v=\"96,-448,192,-448,192,-432,112,-432\"/><p pos=\"-128,-368\"/><p pos=\"-48,-304\"/><p pos=\"-201,-440\"/><p pos=\"181,-440\"/><p pos=\"80,-288\"/><l p1=\"-132,-441\" p2=\"120,-440\"/><c t=\"s1\" pos=\"-128,-464\"/><c t=\"s1\" pos=\"128,-464\"/><ao pos=\"-144,16\" t=\"f\"/></level>"; xml_data["5dfc3b1a645eb24c1e3384ec9a6d427d.xml"] = "<level el=\"-482\" er=\"500\" et=\"-590\" sy=\"4.96875\" ht=\"\"><b t=\"i\" v=\"-346,-295,-292,-322,-270,-323,-197,-313,-180,-304,-169,-177,-171,-160,-240,-107,-257,-101,-298,-124,-342,-125,-350,-135,-355,-200,-354,-274\"/><b t=\"i\" v=\"195,-340,210,-351,283,-376,310,-374,369,-342,371,-297,352,-246,350,-207,320,-185,272,-169,233,-182,202,-216,206,-274,191,-302\"/><b t=\"n\" v=\"-159,-474,-144,-479,100,-511,116,-508,128,-500,133,-489,133,-468,140,-454,136,-431,146,-416,149,-382,163,-295,160,-283,166,-270,169,-246,165,-235,157,-231,136,-229,123,-230,115,-239,109,-266,110,-277,104,-292,100,-309,102,-322,94,-338,86,-376,88,-388,82,-399,78,-439,70,-453,37,-448,26,-450,13,-445,-13,-439,-26,-441,-36,-436,-64,-431,-76,-432,-111,-423,-109,-402,-113,-392,-110,-378,-109,-320,-110,-308,-107,-297,-109,-273,-107,-258,-91,-258,-71,-264,-47,-260,-27,-264,7,-268,8,-294,9,-310,4,-320,1,-332,-26,-335,-40,-343,-45,-367,-31,-383,10,-389,34,-386,40,-376,40,-355,40,-332,44,-315,50,-289,47,-271,52,-231,41,-224,7,-225,-5,-228,-14,-222,-43,-218,-53,-221,-68,-214,-92,-214,-105,-209,-134,-207,-147,-210,-155,-218,-157,-297,-156,-316,-161,-342,-162,-386,-161,-398,-164,-410,-166,-458\"/><p pos=\"-11,-361\"/><l p1=\"-204,-276\" p2=\"-129,-336\"/><l p1=\"127,-368\" p2=\"225,-314\"/><c t=\"s1\" pos=\"-14,-282\"/><ao pos=\"32,160\" t=\"f\"/></level>"; xml_data["7aa2df7130daa75eb958d52294f1a0c2.xml"] = "<level el=\"-281\" er=\"561\" et=\"-612\" sy=\"-5.53125\"><b t=\"w\" v=\"-16,-387,-16,-451,352,-451,352,-387,336,-387,336,-435,0,-435,0,-387\"/><b t=\"n\" v=\"-32,-640,384,-640,364,-602,373,-548,352,-512,323,-513,282,-528,232,-550,199,-538,138,-547,102,-523,35,-511,-16,-512,-31,-548,-40,-594\"/><b t=\"i\" v=\"304,-352,321,-357,348,-348,365,-339,373,-325,369,-307,382,-290,366,-273,355,-259,342,-274,336,-287,327,-286,309,-273,294,-280,301,-318\"/><p pos=\"32,-624\"/><p pos=\"304,-624\"/><p pos=\"336,-320\"/><l p1=\"344,-519\" p2=\"344,-443\"/><l p1=\"-7,-518\" p2=\"-8,-443\"/><c t=\"s1\" pos=\"96,-464\"/><c t=\"s1\" pos=\"176,-464\"/><ao pos=\"-19,-481\" t=\"pa64\"/><ao pos=\"-16,-176\" t=\"f\"/></level>"; xml_data["7f4835ba82b408711203d264748774a1.xml"] = "<level el=\"-571\" er=\"681\" et=\"-728\" sy=\"-0.0625\" ht=\"\"><b t=\"i\" v=\"6,-250,461,-251,483,-259,502,-282,512,-313,521,-320,528,-314,505,-250,474,-132,467,-89,435,-72,398,-45,340,-45,324,-52,317,-66,301,-90,272,-112,266,-133,267,-168,248,-208,215,-214,121,-211,27,-211,6,-218,-36,-249,-45,-260,-33,-260\"/><b t=\"i\" v=\"-76,-563,-64,-569,-43,-564,29,-588,102,-615,119,-612,127,-597,127,-493,117,-438,99,-432,51,-445,17,-441,1,-451,-63,-531\"/><b t=\"i\" v=\"386,-469,400,-500,413,-522,434,-519,436,-488,436,-463,421,-446,407,-439,392,-443\"/><b t=\"n\" v=\"-516,-256,-475,-208,-467,-199,-458,-162,-471,-110,-469,-54,-467,-29,-460,66,-613,70,-592,-485,-555,-387,-543,-319,-529,-272\"/><p pos=\"242,-231\"/><p pos=\"104,-587\"/><p pos=\"417,-504\"/><p pos=\"-598,59\"/><p pos=\"-484,57\"/><p pos=\"-587,-263\"/><p pos=\"-583,-417\"/><c t=\"f1\" pos=\"410,-467\"/><ao pos=\"-304,0\" t=\"f\"/></level>"; xml_data["8a5b9db8183e0b1c90e944372112e453.xml"] = "<level el=\"-261\" er=\"451\" et=\"-500\" sy=\"0\" ht=\"one\"><b t=\"i\" v=\"272,-366,336,-360,340,-351,325,-332,283,-331,268,-320,260,-238,335,-231,338,-229,318,-206,272,-200,257,-198,254,-175,240,-178,223,-178,223,-255,213,-271,153,-284,149,-304,156,-314,218,-309,230,-321,244,-378,252,-402,256,-413,262,-401\"/><b t=\"n\" v=\"323,-329,332,-341,343,-340,363,-322,357,-313,343,-304,329,-309\"/><p pos=\"240,-192\"/><p pos=\"344,-321\"/><c t=\"s1\" pos=\"181,-327\"/><c t=\"s1\" pos=\"279,-252\"/><c t=\"s1\" pos=\"287,-378\"/><ao pos=\"-48,0\" t=\"f\"/></level>"; xml_data["9be5347f433b6c9e5d639c181fb05257.xml"] = "<level el=\"-535\" er=\"776\" et=\"-673\" sy=\"8.46875\" ht=\"deadly\"><b t=\"n\" v=\"-410,-294,-399,-303,-395,-331,-402,-364,-396,-373,-384,-368,-336,-368,-188,-208,-240,-209,-232,-184,-240,-147,-119,-144,-88,-111,-78,94,-80,200,-83,341,-261,338,-263,255,-244,228,-251,205,-240,156,-270,95,-345,48,-391,-18,-385,-70,-408,-103,-395,-154,-421,-186,-422,-219,-458,-258,-457,-276,-449,-285\"/><b t=\"d\" v=\"-5,7,12,11,211,86,220,92,237,191,246,231,246,232,272,337,-83,340,-81,194,-78,93,-16,12\"/><b t=\"n\" v=\"321,56,331,57,382,94,350,149,413,176,435,138,462,151,464,165,447,204,453,252,431,339,271,338,235,186,316,62\"/><b t=\"i\" v=\"-108,-204,-95,-191,-91,-169,-98,-156,-98,-145,-105,-129,-119,-143,-241,-147,-233,-184,-241,-209,-190,-208,-164,-210,-123,-211\"/><b t=\"i\" v=\"382,93,448,92,455,99,453,116,439,126,435,139,413,178,349,149\"/><b t=\"i\" v=\"-82,-543,-61,-539,-35,-529,318,-409,360,-421,382,-436,367,-452,370,-476,394,-465,396,-443,457,-474,482,-315,395,-383,318,-378,281,-319,239,-253,225,-344,168,-364,71,-405,-11,-433,-77,-344,-76,-493\"/><b t=\"n\" v=\"-102,-705,458,-703,444,-662,430,-651,402,-606,378,-597,355,-575,316,-578,245,-589,225,-587,202,-594,174,-594,71,-623,50,-620,19,-628,-10,-630,-91,-653,-125,-677\"/><b t=\"i\" v=\"-437,-480,-414,-508,-397,-520,-375,-554,-364,-553,-354,-548,-352,-526,-375,-506,-386,-485,-409,-463,-376,-445,-369,-440,-370,-430,-415,-381,-511,-447,-498,-468,-476,-499,-468,-500\"/><p pos=\"-387,-101\"/><p pos=\"-104,-98\"/><p pos=\"260,330\"/><p pos=\"421,329\"/><p pos=\"-66,129\"/><p pos=\"210,129\"/><p pos=\"-217,-169\"/><p pos=\"364,147\"/><p pos=\"326,-689\"/><p pos=\"-73,-692\"/><p pos=\"-490,-464\"/><p pos=\"-366,-539\"/><p pos=\"-216,329\"/><p pos=\"-132,327\"/><p pos=\"-73,331\"/><p pos=\"290,331\"/><p pos=\"406,161\"/><p pos=\"-214,-189\"/><l p1=\"-63,-662\" p2=\"-63,-524\"/><l p1=\"282,-594\" p2=\"282,-404\"/><l p1=\"125,-459\" p2=\"125,-627\"/><c t=\"s1\" pos=\"-362,-382\"/><ao pos=\"617,286\" t=\"f\"/><ao pos=\"418,77\" t=\"wr\"/><ao pos=\"-156,-226\" t=\"wr\"/><ao pos=\"415,-474\" t=\"wr\"/><ao pos=\"-433,-284\" t=\"hs\"/></level>"; xml_data["29aede2ff3dc488394483b0f1047c1bd.xml"] = "<level el=\"-422\" er=\"400\" et=\"-772\" sy=\"1.90625\"><b t=\"i\" v=\"-189,-247,35,-246,58,-224,127,-225,124,-235,127,-258,143,-263,162,-261,166,-241,160,-224,149,-210,119,-201,81,-198,-54,-201,-79,-206,-170,-222,-199,-237,-252,-341,-242,-373,-200,-353,-219,-310\"/><b t=\"i\" v=\"-272,-685,-223,-718,-187,-729,-221,-691,-233,-669,-221,-647,-77,-603,-52,-610,-4,-607,24,-569,41,-532,-6,-514,-195,-595,-231,-562,-243,-524,-240,-449,-286,-545,-304,-637\"/><p pos=\"-69,-233\"/><p pos=\"-232,-342\"/><p pos=\"-19,-555\"/><p pos=\"-245,-686\"/><c t=\"s1\" pos=\"-38,-624\"/><c t=\"s1\" pos=\"-124,-260\"/><c t=\"f1\" pos=\"145,-241\"/><ao pos=\"240,64\" t=\"f\"/></level>"; xml_data["086e87d984c7b8e72f4dd249c2fbb26c.xml"] = "<level el=\"-656\" er=\"748\" et=\"-654\" sy=\"0\" ht=\"\"><b t=\"i\" v=\"-535,-475,-317,-396,-267,-243,-195,-354,-19,-277,11,-184,49,-241,187,-190,212,-78,277,-154,343,-128,415,-130,431,-123,442,-106,416,-25,414,25,426,62,-674,65,-675,-45,-675,-232,-622,-389,-635,-451,-603,-498,-601,-522,-541,-518\"/><b t=\"i\" v=\"-305,-607,-339,-610,-359,-563,-368,-615,-378,-616,-390,-589,-396,-618,-470,-619,-540,-632,-619,-631,-633,-613,-641,-633,-668,-619,-664,-677,472,-678,440,-591,376,-530,358,-448,346,-436,326,-440,314,-418,306,-444,295,-446,235,-354,197,-459,183,-459,173,-437,163,-460,130,-460,73,-440,34,-378,1,-464,-22,-474,-68,-419,-101,-511,-118,-521,-131,-507,-138,-532,-169,-550,-182,-573,-257,-457\"/><p pos=\"111,56\"/><p pos=\"388,56\"/><p pos=\"-250,-663\"/><p pos=\"-646,-665\"/><p pos=\"274,-664\"/><p pos=\"-661,56\"/><p pos=\"-215,56\"/><p pos=\"-666,-223\"/><c t=\"s1\" pos=\"-571,-534\"/><c t=\"f1\" pos=\"-59,-467\"/><ao pos=\"596,10\" t=\"f\"/></level>"; xml_data["242b90201e46051cf23633e338122b6b.xml"] = "<level el=\"-231\" er=\"504\" et=\"-489\" sy=\"0\" ht=\"\"><b t=\"i\" v=\"30,-57,35,-106,55,-130,101,-267,163,-201,174,-81,196,-13,195,68,-1,67,0,2,-10,-17,-6,-33\"/><b t=\"i\" v=\"-132,-405,39,-412,46,-389,0,-270,-4,-247,-23,-239,-71,-239,-79,-224,-86,-238,-100,-239,-113,-198,-125,-238,-155,-239,-162,-228,-168,-239,-185,-240,-206,-252,-199,-332,-202,-398,-184,-412\"/><p pos=\"-177,-390\"/><p pos=\"-184,-262\"/><p pos=\"11,59\"/><p pos=\"183,57\"/><p pos=\"-21,-261\"/><p pos=\"-35,-390\"/><c t=\"f1\" pos=\"10,-385\"/><ao pos=\"352,16\" t=\"f\"/></level>"; xml_data["1960c15a24f964d70b135e4da9cc1ace.xml"] = "<level el=\"-406\" er=\"401\" et=\"-501\" sy=\"0\" ht=\"link\"><b t=\"i\" v=\"-416,-512,-416,-544,416,-544,416,-512,416,-448,392,-432,369,-432,351,-418,330,-347,319,-285,311,-278,294,-335,279,-374,259,-404,221,-427,196,-396,150,-426,122,-433,91,-418,36,-435,3,-430,-25,-413,-53,-444,-109,-392,-203,-454,-293,-388,-330,-339,-368,-384,-382,-440\"/><b t=\"n\" v=\"-325,2,-306,-32,-284,-57,-267,-55,-246,-54,-225,-23,-208,36,-171,67,-427,59,-416,-82,-386,-18,-359,10\"/><p pos=\"-160,-512\"/><p pos=\"128,-512\"/><p pos=\"-352,-512\"/><p pos=\"-224,-512\"/><p pos=\"-192,-512\"/><p pos=\"-256,-512\"/><p pos=\"-96,-512\"/><p pos=\"-48,-512\"/><p pos=\"16,-512\"/><p pos=\"80,-512\"/><p pos=\"160,-512\"/><p pos=\"224,-512\"/><p pos=\"336,-512\"/><p pos=\"400,-512\"/><p pos=\"272,-512\"/><p pos=\"192,-512\"/><p pos=\"-400,-512\"/><p pos=\"-211,57\"/><p pos=\"-335,56\"/><p pos=\"-279,55\"/><p pos=\"-413,54\"/><l p1=\"-332,-373\" p2=\"-113,-413\"/><c t=\"f1\" pos=\"-331,-413\"/><c t=\"f1\" pos=\"310,-360\"/><ao pos=\"256,0\" t=\"f\"/><ao pos=\"-260,-52\" t=\"hs\"/></level>"; xml_data["04590debb0aa963d6660cef7eb36fbe9.xml"] = "<level el=\"-200\" er=\"626\" et=\"-732\" sy=\"-0.03125\" ht=\"birdwood\"><b t=\"w\" v=\"4,-332,259,-332,259,-311,4,-312\"/><b t=\"i\" v=\"59,-117,99,-132,142,-118,151,-72,191,-70,210,-63,232,-55,245,-23,263,1,351,65,-52,66,-38,38,-31,-12,-16,-46,8,-67,53,-71\"/><b t=\"i\" v=\"632,-750,632,-709,606,-709,595,-681,585,-708,566,-708,537,-603,502,-711,397,-710,260,-697,178,-678,111,-653,32,-631,-7,-605,-77,-581,-92,-505,-112,-566,-121,-562,-128,-527,-142,-555,-225,-526,-225,-751\"/><b t=\"n\" v=\"-219,-290,-219,-337,-194,-335,-182,-325,-173,-311,-145,-310,-134,-324,-119,-329,-101,-323,-91,-310,-80,-311,-74,-318,-62,-319,-52,-311,12,-311,12,-268,-16,-239,-23,-194,-37,-170,-52,-142,-77,-130,-106,-85,-131,67,-219,67\"/><p pos=\"-31,56\"/><p pos=\"236,3\"/><p pos=\"246,-320\"/><p pos=\"-216,-552\"/><p pos=\"611,-742\"/><p pos=\"-213,-322\"/><p pos=\"-2,-296\"/><p pos=\"-217,-738\"/><p pos=\"-210,56\"/><p pos=\"-141,56\"/><p pos=\"317,56\"/><p pos=\"186,-741\"/><l p1=\"70,-174\" p2=\"74,-115\"/><l p1=\"98,-124\" p2=\"102,-178\"/><l p1=\"141,-173\" p2=\"124,-115\"/><l p1=\"42,-155\" p2=\"67,-96\"/><l p1=\"134,-95\" p2=\"169,-157\"/><c t=\"f1\" pos=\"99,-103\"/><c t=\"s1\" pos=\"100,-347\"/><ao pos=\"70,-174\" t=\"b\"/><ao pos=\"102,-178\" t=\"b\"/><ao pos=\"141,-173\" t=\"b\"/><ao pos=\"169,-157\" t=\"b\"/><ao pos=\"42,-155\" t=\"b\"/><ao pos=\"418,9\" t=\"f\"/><ao pos=\"-121,-323\" t=\"hs\"/></level>"; xml_data["7641cbd1440451641137e4166b218b0f.xml"] = "<level el=\"-713\" er=\"776\" et=\"-676\" sy=\"0\" ht=\"\"><b t=\"n\" v=\"2,-471,282,-471,314,-470,394,-470,345,-428,328,-411,306,-398,284,-379,266,-357,247,-351,246,-340,224,-320,214,-305,198,-297,161,-264,140,-264,111,-269,85,-265,61,-244,43,-236,28,-223,11,-222,-5,-226,-56,-228,-76,-224,-103,-228,-137,-227,-159,-220,-182,-227,-206,-224,-216,-228,-219,-240,-220,-253,-217,-269,-205,-275,-194,-275,-95,-277,-95,-342,-446,-343,-446,-274,-393,-273,-382,-266,-381,-252,-387,-238,-382,-226,-380,-194,-389,-185,-401,-188,-457,-190,-507,-199,-531,-213,-548,-226,-561,-248,-575,-270,-584,-308,-590,-337,-591,-358,-590,-375,-587,-393,-582,-410,-564,-434,-550,-444,-532,-455,-512,-465,-488,-468,-458,-468,-437,-468,-419,-468,-376,-468,-344,-468,-344,-414,2,-413\"/><b t=\"n\" v=\"404,-702,410,-662,407,-645,397,-615,402,-587,392,-543,3,-544,3,-619,-342,-618,-342,-542,-448,-543,-509,-543,-552,-534,-590,-517,-623,-490,-643,-464,-660,-427,-666,-406,-669,-396,-666,-292,-660,-254,-647,-218,-632,-189,-613,-163,-588,-144,-565,-131,-538,-119,-507,-109,-461,-100,-430,-95,-400,-94,-400,-36,-332,-35,-332,-96,-297,-95,-297,-37,-229,-37,-229,-94,-205,-94,-195,-89,-191,-79,-200,-55,-196,-40,-199,-27,-203,-15,-206,11,-204,35,-190,68,-671,67,-743,68,-743,-698\"/><b t=\"w\" v=\"463,-130,736,-131,736,-178,765,-177,765,-98,462,-99\"/><b t=\"n\" v=\"474,-32,489,-37,503,-37,537,-37,559,-34,589,-38,601,-41,621,-38,679,-34,720,-39,786,-39,793,77,489,77,492,54,490,36,488,14,470,-19\"/><b t=\"f\" v=\"-342,-619,2,-618,2,-544,-342,-543\"/><b t=\"f\" v=\"-295,-135,-231,-136,-231,-38,-295,-38\"/><b t=\"f\" v=\"48,-539,141,-539,141,-471,48,-471\"/><b t=\"i\" v=\"-398,-135,-332,-134,-332,-35,-398,-36\"/><p pos=\"21,-453\"/><p pos=\"341,-453\"/><p pos=\"154,-285\"/><p pos=\"16,-240\"/><p pos=\"630,-115\"/><p pos=\"502,64\"/><p pos=\"632,62\"/><p pos=\"-6,-688\"/><p pos=\"391,-688\"/><p pos=\"-330,-606\"/><p pos=\"-8,-607\"/><p pos=\"-201,-249\"/><p pos=\"-357,-686\"/><p pos=\"-529,-436\"/><p pos=\"-529,-230\"/><p pos=\"-363,-451\"/><p pos=\"-733,58\"/><p pos=\"-731,-205\"/><p pos=\"-730,-415\"/><p pos=\"-396,60\"/><p pos=\"196,-687\"/><p pos=\"187,-454\"/><p pos=\"-403,-245\"/><p pos=\"-729,-676\"/><p pos=\"-208,61\"/><p pos=\"761,61\"/><c t=\"s1\" pos=\"716,-146\"/><c t=\"f1\" pos=\"-366,-114\"/><ao pos=\"353,-506\" t=\"w\"/><ao pos=\"-15,4\" t=\"f\"/><ao pos=\"-264,-150\" t=\"wr\"/><ao pos=\"-426,-505\" t=\"w\"/></level>"; xml_data["8517ba2a8651c3433a3a0b2454088987.xml"] = "<level el=\"-338\" er=\"484\" et=\"-500\" sy=\"1.46875\"><b t=\"i\" v=\"-165,-391,-152,-397,-140,-397,-125,-392,-119,-382,-118,-364,-126,-350,-139,-343,-153,-343,-168,-350,-174,-363,-174,-380\"/><b t=\"n\" v=\"-186,-516,32,-516,22,-487,-117,-459,-134,-452,-159,-460,-173,-492\"/><b t=\"i\" v=\"-53,-342,-92,-349,-97,-356,-89,-398,-84,-403,-43,-395,-40,-390,-46,-348\"/><b t=\"i\" v=\"6,-401,11,-403,46,-349,40,-339,-26,-343,-31,-349\"/><b t=\"n\" v=\"358,32,361,-56,377,-110,407,-146,422,-177,442,-248,463,-304,496,-363,508,-199,513,-33,502,55,522,109,352,96\"/><b t=\"i\" v=\"-113,-298,-96,-304,-102,-292,-111,-274,-122,-258,-130,-246,-150,-231,-190,-205,-208,-192,-229,-178,-237,-176,-237,-183,-230,-199,-224,-208,-191,-236,-168,-257,-150,-274,-140,-283\"/><b t=\"n\" v=\"-351,-186,-331,-170,-318,-151,-301,-112,-273,-65,-247,-38,-225,18,-194,65,-193,102,-356,114\"/><p pos=\"-157,-504\"/><p pos=\"-132,-508\"/><p pos=\"501,-155\"/><p pos=\"498,-61\"/><p pos=\"476,99\"/><p pos=\"-256,105\"/><p pos=\"-340,107\"/><p pos=\"-346,-22\"/><l p1=\"-138,-471\" p2=\"-145,-388\"/><l p1=\"-75,-487\" p2=\"-71,-391\"/><l p1=\"-8,-491\" p2=\"8,-390\"/><tp pos=\"-136,-266\" sp=\"2\"/><c t=\"f1\" pos=\"-147,-366\"/><c t=\"f1\" pos=\"-69,-367\"/><c t=\"f1\" pos=\"9,-361\"/><ao pos=\"208,48\" t=\"f\"/></level>"; xml_data["8924e38e45cba860a10a9413a898a34d.xml"] = "<level el=\"-399\" er=\"230\" et=\"-506\" sy=\"0\"><b t=\"f\" v=\"-191,-263,-174,-273,-138,-271,-127,-263,-121,-229,-126,-206,-143,-199,-150,-225,-148,-199,-174,-197,-196,-211,-202,-236\"/><b t=\"n\" v=\"-248,-533,-66,-535,-63,-498,-71,-482,-109,-424,-112,-376,-128,-352,-152,-356,-170,-348,-192,-352,-202,-365,-213,-409,-223,-469\"/><b t=\"n\" v=\"-58,-424,-31,-423,-30,-419,-59,-418\"/><b t=\"n\" v=\"-284,-361,-248,-360,-253,-354,-285,-353\"/><b t=\"n\" v=\"-413,-361,-269,-169,-239,-144,-228,-132,-213,-124,-211,-116,-229,-99,-245,-80,-253,-57,-249,-25,-242,69,-413,68\"/><b t=\"n\" v=\"64,16,67,-48,67,-80,57,-92,42,-102,73,-115,101,-138,113,-167,130,-199,123,-237,107,-270,123,-336,143,-379,186,-467,222,-583,298,-574,322,81,128,80,64,80\"/><b t=\"n\" v=\"28,-245,71,-245,64,-239,35,-238\"/><p pos=\"-196,-521\"/><p pos=\"-108,-523\"/><p pos=\"-53,-421\"/><p pos=\"-38,-421\"/><p pos=\"-280,-356\"/><p pos=\"-255,-356\"/><p pos=\"-407,-82\"/><p pos=\"-407,-340\"/><p pos=\"-377,56\"/><p pos=\"-266,59\"/><p pos=\"92,67\"/><p pos=\"288,59\"/><p pos=\"232,-561\"/><p pos=\"285,-237\"/><p pos=\"38,-242\"/><p pos=\"60,-242\"/><l p1=\"-167,-253\" p2=\"-160,-384\"/><c t=\"s1\" pos=\"-44,-437\"/><c t=\"s1\" pos=\"-267,-375\"/><c t=\"s1\" pos=\"51,-260\"/><ao pos=\"-80,-2\" t=\"f\"/></level>"; xml_data["26501f6c9853290a6f8dc4be38a08e74.xml"] = "<level el=\"-400\" er=\"500\" et=\"-500\" sy=\"0\" ht=\"\"><b t=\"i\" v=\"203,-190,233,-195,267,-207,295,-227,322,-248,350,-276,373,-310,379,-324,380,-336,394,-332,428,-336,460,-351,490,-353,489,-318,486,-282,478,-212,464,-139,445,-73,428,-21,416,3,312,5,179,8,191,-40,190,-69,181,-98,162,-135,130,-190,170,-187\"/><b t=\"i\" v=\"148,-248,161,-256,175,-260,192,-256,204,-250,213,-237,216,-223,214,-208,205,-195,191,-188,176,-186,160,-189,147,-197,140,-215,140,-233\"/><p pos=\"146,-180\"/><p pos=\"312,-218\"/><p pos=\"478,-343\"/><c t=\"f1\" pos=\"178,-222\"/><c t=\"f1\" pos=\"210,-169\"/><c t=\"f1\" pos=\"467,-311\"/><ao pos=\"-23,-2\" t=\"f\"/><ao pos=\"408,-372\" t=\"fw\"/></level>"; xml_data["87876e768e4c8715fd924529808f9c08.xml"] = "<level el=\"-402\" er=\"504\" et=\"-500\" sy=\"0\" ht=\"\"><b t=\"n\" v=\"336,-396,355,-405,382,-410,404,-410,427,-399,449,-382,457,-370,461,-343,475,-322,466,-318,471,-309,482,-293,463,-301,469,-285,476,-268,472,-256,486,-237,469,-241,458,-252,450,-261,457,-245,465,-238,467,-229,492,-196,497,-156,495,-114,466,-29,470,15,353,12,373,-49,374,-78,362,-83,354,-102,357,-114,368,-125,330,-87,305,-65,281,-70,252,-104,232,-130,208,-169,175,-176,133,-174,112,-178,98,-186,125,-185,154,-191,179,-204,196,-216,213,-207,236,-176,252,-162,282,-139,300,-116,317,-136,342,-161,357,-181,361,-208,369,-221,397,-234,395,-251,383,-260,367,-248,347,-239,335,-247,334,-262,325,-262,326,-270,318,-270,319,-284,309,-284,304,-288,314,-303,317,-317,311,-329,311,-352,317,-373\"/><b t=\"n\" v=\"-391,-348,-385,-382,-370,-412,-346,-432,-315,-440,-279,-437,-255,-430,-232,-409,-223,-398,-217,-384,-212,-358,-220,-368,-232,-373,-226,-358,-234,-343,-227,-334,-219,-317,-226,-313,-231,-310,-229,-303,-235,-297,-234,-293,-235,-283,-228,-273,-219,-256,-226,-224,-230,-250,-237,-255,-242,-229,-246,-244,-251,-254,-255,-245,-270,-259,-272,-247,-287,-262,-301,-242,-276,-238,-253,-227,-239,-204,-241,-170,-244,-148,-233,-119,-223,-71,-218,-24,-212,-5,-196,-17,-182,-37,-160,-59,-150,-79,-152,-98,-152,-116,-152,-130,-157,-143,-155,-154,-144,-150,-136,-136,-131,-117,-117,-113,-98,-108,-78,-111,-49,-115,-31,-124,-33,-109,-58,-93,-108,-75,-115,-69,-124,-48,-134,-15,-146,22,-257,20,-275,-10,-286,-42,-298,-15,-300,11,-438,11,-425,-47,-439,-113,-454,-149,-435,-196,-412,-224,-414,-234,-401,-263,-395,-289,-390,-315\"/><b t=\"i\" v=\"-132,-139,-124,-148,-109,-144,8,-164,25,-161,47,-162,66,-173,104,-180,93,-165,63,-142,-112,-112,-132,-122\"/><b t=\"i\" v=\"100,-357,168,-434,154,-453,135,-462,163,-471,195,-462,228,-439,228,-430,235,-421,221,-401,212,-404,200,-401,183,-415,117,-333,101,-336\"/><p pos=\"198,-198\"/><p pos=\"391,-202\"/><p pos=\"-16,-147\"/><p pos=\"-359,-27\"/><p pos=\"110,-347\"/><p pos=\"166,-455\"/><p pos=\"-416,-182\"/><c t=\"s1\" pos=\"-74,-167\"/><ao pos=\"128,2\" t=\"f\"/><ao pos=\"123,-222\" t=\"w\"/></level>"; xml_data["6916471ecd98660b123b157ce9a90a97.xml"] = "<level el=\"-413\" er=\"1194\" et=\"-788\" sy=\"6.8125\" ht=\"\"><b t=\"n\" v=\"-162,-379,-162,-153,51,-154,51,-260,73,-250,101,-240,126,-226,158,-212,177,-205,197,-194,226,-181,184,-144,170,-105,168,-92,155,-82,76,-86,-4,-80,-48,-83,-68,-78,-88,-83,-102,-81,-107,-58,-101,-41,-108,-21,-109,30,-103,46,-108,69,-101,88,-110,103,-119,156,-112,189,-112,249,-109,299,-219,298,-208,162,-197,144,-190,71,-198,5,-192,-22,-200,-90,-245,-219,-257,-242,-258,-271,-286,-317,-324,-351,-330,-388,-326,-401,-304,-423,-300,-439,-290,-447,-252,-425,-237,-421,-224,-410\"/><b t=\"w\" v=\"-162,-449,51,-333,51,-224,-162,-226\"/><b t=\"w\" v=\"226,-293,432,-223,433,-113,226,-113\"/><b t=\"n\" v=\"651,-808,638,-771,631,-751,616,-739,613,-711,599,-695,584,-647,580,-582,566,-554,575,-511,565,-485,568,-447,560,-435,540,-434,471,-439,457,-431,444,-435,422,-436,413,-443,395,-435,370,-439,350,-443,304,-434,288,-441,268,-432,226,-434,212,-438,208,-451,200,-477,204,-505,195,-536,198,-554,189,-608,176,-633,168,-669,172,-682,161,-695,159,-712,145,-721,131,-721,115,-734,109,-752,115,-774,101,-810\"/><b t=\"n\" v=\"451,-116,497,-91,516,-85,532,-76,589,-50,587,-23,521,-32,509,-31,495,-36,474,-41,459,-41,452,-44,451,-54,453,-79\"/><b t=\"w\" v=\"-48,0,128,0,128,32,-48,32\"/><b t=\"n\" v=\"105,72,136,73,222,67,253,72,301,72,302,55,312,47,329,49,347,45,352,48,353,55,354,71,418,70,423,59,435,58,596,56,625,52,648,42,687,2,715,17,733,-14,707,-29,725,-43,754,-53,815,-43,829,-35,837,-22,849,4,829,31,824,55,803,83,799,118,781,133,783,156,779,179,762,196,762,232,751,269,753,302,2,301,20,282,30,250,42,187,45,164,62,146,63,118,80,91,88,76\"/><b t=\"w\" v=\"320,-320,528,-320,528,-288,320,-288\"/><b t=\"w\" v=\"-404,-527,-244,-527,-244,-495,-404,-495\"/><b t=\"n\" v=\"-429,-810,-172,-809,-179,-768,-171,-739,-178,-721,-180,-702,-192,-688,-202,-662,-197,-638,-215,-624,-251,-626,-277,-625,-291,-621,-302,-624,-318,-619,-337,-628,-374,-625,-403,-631,-429,-626\"/><b t=\"n\" v=\"910,-210,986,-239,1005,-250,1025,-257,1076,-280,1112,-290,1124,-290,1137,-293,1150,-288,1174,-300,1188,-298,1212,-289,1212,32,1171,-16,1162,-42,1146,-57,1128,-68,1117,-87,1100,-91,1081,-106,1074,-123,1046,-136,1029,-138,1016,-150,1003,-152,995,-160,970,-156,952,-165,912,-165,897,-167\"/><b t=\"w\" v=\"827,-354,1035,-354,1035,-322,827,-322\"/><b t=\"n\" v=\"733,-803,1219,-803,1219,-457,1187,-455,1164,-462,1115,-460,1097,-453,1076,-460,995,-463,977,-458,952,-460,930,-454,910,-458,829,-458,814,-453,798,-460,800,-480,793,-495,796,-511,797,-530,789,-543,788,-566,788,-589,782,-603,783,-614,779,-676,762,-723,751,-740,751,-763\"/><p pos=\"736,286\"/><p pos=\"-205,286\"/><p pos=\"32,287\"/><p pos=\"124,-798\"/><p pos=\"631,-798\"/><p pos=\"463,-70\"/><p pos=\"574,-38\"/><p pos=\"-300,-400\"/><p pos=\"161,-150\"/><p pos=\"-424,-641\"/><p pos=\"-419,-800\"/><p pos=\"1202,-276\"/><p pos=\"1201,3\"/><p pos=\"747,-796\"/><p pos=\"1207,-793\"/><p pos=\"-187,-799\"/><p pos=\"-124,286\"/><p pos=\"1204,-470\"/><l p1=\"240,-464\" p2=\"240,-272\"/><l p1=\"416,-464\" p2=\"416,-208\"/><l p1=\"-32,-96\" p2=\"-32,16\"/><l p1=\"112,-96\" p2=\"112,16\"/><l p1=\"512,-464\" p2=\"512,-304\"/><l p1=\"336,-464\" p2=\"336,-304\"/><l p1=\"-256,-512\" p2=\"-256,-640\"/><l p1=\"-389,-641\" p2=\"-389,-512\"/><l p1=\"848,-480\" p2=\"848,-336\"/><l p1=\"1016,-481\" p2=\"1016,-338\"/><c t=\"s1\" pos=\"926,-370\"/><ao pos=\"-119,-187\" t=\"fw\"/><ao pos=\"-51,-187\" t=\"fw\"/><ao pos=\"18,-186\" t=\"fw\"/><ao pos=\"40,-34\" t=\"fw\"/><ao pos=\"418,-357\" t=\"fw\"/><ao pos=\"-325,-562\" t=\"fw\"/><ao pos=\"984,228\" t=\"f\"/><ao pos=\"798,-61\" t=\"wr\"/></level>"; xml_data["a8d24a6b853cc96c731ac02de4ce4640.xml"] = "<level el=\"-315\" er=\"576\" et=\"-906\" sy=\"0\"><b t=\"i\" v=\"190,-321,209,-329,229,-316,238,-300,262,-313,269,-306,252,-282,253,-271,273,-252,270,-244,244,-248,229,-243,226,-219,243,-192,233,-180,221,-207,213,-218,205,-250,197,-259,169,-260,168,-269,196,-280,187,-293\"/><b t=\"n\" v=\"32,-528,192,-368,160,-368,16,-512\"/><b t=\"n\" v=\"304,-256,432,-128,416,-112,288,-240,288,-256\"/><b t=\"i\" v=\"0,-608,288,-896,320,-864,304,-848,320,-816,304,-800,272,-816,251,-795,265,-760,256,-752,224,-768,204,-748,219,-715,212,-707,181,-725,155,-699,171,-668,162,-659,132,-674,110,-651,124,-623,115,-614,86,-628,59,-600,73,-572,64,-560\"/><b t=\"n\" v=\"480,-496,496,-496,496,-480,496,-272,496,-224,496,-160,480,-160\"/><b t=\"i\" v=\"448,-576,457,-583,484,-574,485,-562,483,-533,482,-520,463,-514,449,-520,445,-535,451,-566\"/><b t=\"n\" v=\"496,-204,528,-236,560,-204,528,-172\"/><p pos=\"224,-272\"/><p pos=\"32,-512\"/><p pos=\"160,-384\"/><p pos=\"321,-225\"/><p pos=\"415,-128\"/><p pos=\"32,-608\"/><p pos=\"288,-880\"/><p pos=\"231,-191\"/><p pos=\"487,-199\"/><p pos=\"464,-561\"/><p pos=\"514,-204\"/><p pos=\"545,-203\"/><l p1=\"462,-527\" p2=\"486,-490\"/><c t=\"f1\" pos=\"208,-302\"/><ao pos=\"-81,0\" t=\"f\"/></level>"; xml_data["a966fd188203adb105dd54705d1c8e2c.xml"] = "<level el=\"-400\" er=\"400\" et=\"-779\" sy=\"0.03125\" ht=\"mist\"><b t=\"i\" v=\"-288,-432,-274,-433,-274,-419,-255,-419,-256,-432,-253,-556,-238,-572,-233,-544,-220,-455,-213,-440,-192,-432,-188,-417,-191,-366,-197,-339,-207,-311,-223,-296,-241,-289,-258,-289,-278,-285,-288,-288,-292,-307,-288,-335,-292,-387,-294,-420\"/><b t=\"w\" v=\"-272,-656,-256,-656,-256,-432,-272,-432\"/><b t=\"i\" v=\"16,-240,32,-240,33,-256,38,-255,64,-240,80,-240,87,-223,82,-194,80,-176,58,-168,29,-177,-4,-175,-24,-172,-32,-176,-28,-194,-23,-199,-2,-198,-7,-217,-5,-222,16,-213,13,-235\"/><b t=\"i\" v=\"-294,-728,-277,-735,-255,-735,-241,-727,-232,-711,-234,-691,-246,-672,-264,-666,-284,-669,-298,-680,-304,-695,-302,-714\"/><b t=\"n\" v=\"-320,-800,-256,-800,-242,-785,-261,-760,-277,-745,-299,-738,-317,-749,-331,-785\"/><b t=\"n\" v=\"-353,9,-335,-106,-316,-124,-292,-124,-282,-107,-261,-61,-235,24,-224,70,-371,71\"/><p pos=\"-272,-368\"/><p pos=\"-224,-304\"/><p pos=\"16,-192\"/><p pos=\"64,-192\"/><p pos=\"-304,-784\"/><p pos=\"-272,-784\"/><p pos=\"-341,62\"/><p pos=\"-291,61\"/><l p1=\"-272,-768\" p2=\"-268,-724\"/><c t=\"f1\" pos=\"-269,-693\"/><ao pos=\"208,0\" t=\"f\"/><ao pos=\"-267,-435\" t=\"pa64\"/><ao pos=\"-308,-121\" t=\"hs\"/></level>"; xml_data["aa9ca65a8a10a922f48c5c4fd63134ec.xml"] = "<level el=\"-47\" er=\"583\" et=\"-392\" sy=\"0.96875\"><b t=\"i\" v=\"64,-287,313,-287,328,-283,335,-270,316,-212,308,-184,300,-132,285,-110,275,-103,264,-97,256,-103,258,-244,259,-259,252,-265,238,-262,168,-255,152,-258,145,-252,144,-241,140,-222,144,-208,192,-208,194,-201,196,-178,205,-174,203,-166,187,-162,171,-170,129,-177,116,-185,106,-210,104,-250,96,-256,72,-266,64,-263,63,-254,53,-256,52,-269,55,-282\"/><p pos=\"272,-112\"/><p pos=\"192,-272\"/><c t=\"s1\" pos=\"128,-304\"/><c t=\"s1\" pos=\"272,-304\"/><c t=\"s1\" pos=\"161,-222\"/><ao pos=\"400,32\" t=\"f\"/></level>"; xml_data["b8d8b19b7260cc0b2dddaed25bfd4a2b.xml"] = "<level el=\"-132\" er=\"976\" et=\"-500\" sy=\"1.9375\" ht=\"\"><b t=\"i\" v=\"256,-400,260,-388,261,-361,252,-341,233,-339,198,-332,192,-320,195,-254,192,-224,176,-221,162,-226,158,-254,162,-319,158,-338,111,-334,83,-335,71,-342,64,-352,64,-394,70,-400,81,-405,222,-403\"/><b t=\"n\" v=\"254,-50,264,-57,300,-57,317,-47,321,-7,325,51,342,120,336,144,224,144,224,118,242,64,253,6,247,-33\"/><b t=\"i\" v=\"501,-416,507,-402,512,-384,522,-379,550,-385,576,-388,592,-384,594,-373,592,-352,570,-353,519,-356,512,-352,508,-331,500,-320,478,-316,469,-321,463,-390,468,-414,478,-417\"/><b t=\"n\" v=\"592,-240,596,-226,596,-210,583,-177,567,-165,546,-171,531,-182,527,-219,530,-235,544,-240\"/><p pos=\"176,-240\"/><p pos=\"240,-384\"/><p pos=\"240,128\"/><p pos=\"320,128\"/><p pos=\"576,-368\"/><p pos=\"576,-208\"/><p pos=\"544,-208\"/><p pos=\"480,-400\"/><c t=\"s1\" pos=\"284,-71\"/><c t=\"s1\" pos=\"560,-256\"/><ao pos=\"736,64\" t=\"f\"/></level>"; xml_data["b9a69ae210c1fd99a2452084f871403e.xml"] = "<level el=\"-770\" er=\"1051\" et=\"-713\" sy=\"-0.28125\" ht=\"\"><b t=\"i\" v=\"-724,-591,-714,-600,-701,-605,-691,-607,-677,-604,-668,-598,-659,-588,-656,-576,-656,-561,-660,-550,-666,-541,-679,-536,-691,-532,-705,-534,-717,-540,-725,-550,-730,-564,-729,-579\"/><b t=\"i\" v=\"650,-81,664,-116,741,-91,742,-55,739,-18,762,24,758,58,629,58,614,4,626,-27,627,-65\"/><b t=\"i\" v=\"-198,-519,-204,-537,-236,-542,-263,-539,-271,-527,-280,-540,-300,-542,-323,-440,-338,-544,-350,-547,-359,-528,-368,-551,-417,-604,-453,-618,-513,-571,-534,-625,-574,-598,-587,-635,-730,-636,-746,-614,-756,-648,-779,-655,-794,-644,-794,-730,-107,-731,-134,-647,-99,-595,-106,-561,-128,-552,-142,-542,-186,-539\"/><b t=\"i\" v=\"591,-449,520,-446,502,-408,477,-408,452,-318,436,-225,449,-198,452,-172,497,-150,512,-116,537,-69,551,10,533,57,118,58,125,-99,118,-242,171,-315,294,-239,361,-204,396,-191,404,-211,417,-221,421,-325,411,-403,367,-438,356,-481,292,-506,189,-502,107,-371,34,-531,14,-533,-6,-500,-19,-532,-45,-424,-61,-536,-74,-546,-73,-562,-77,-603,-95,-646,-70,-731,669,-730,671,-691,615,-629,612,-509\"/><b t=\"i\" v=\"-790,-420,-790,-571,-704,-533,-679,-521,-667,-516,-639,-502,-657,-454,-683,-421,-659,-373,-699,-296,-677,-192,-707,-38,-696,62,-788,61,-790,-92\"/><b t=\"i\" v=\"-616,-207,-655,-296,-640,-333,-625,-367,-652,-421,-635,-453,-616,-496,-598,-491,-583,-453,-550,-477,-523,-415,-468,-465,-414,-443,25,-360,74,-222,73,-116,86,56,-642,57,-605,-56\"/><p pos=\"-780,-174\"/><p pos=\"72,50\"/><p pos=\"-612,47\"/><p pos=\"277,-722\"/><p pos=\"-154,-722\"/><p pos=\"639,49\"/><p pos=\"-782,-551\"/><p pos=\"-782,-329\"/><p pos=\"649,-723\"/><p pos=\"746,49\"/><p pos=\"-783,-714\"/><p pos=\"-749,50\"/><p pos=\"131,50\"/><p pos=\"522,50\"/><p pos=\"-47,-721\"/><l p1=\"-694,-653\" p2=\"-692,-594\"/><p pos=\"-288,48\"/><p pos=\"319,49\"/><p pos=\"-480,-722\"/><c t=\"f1\" pos=\"-692,-568\"/><ao pos=\"902,16\" t=\"f\"/></level>"; xml_data["b5001716531eceafd5e9f9a2aa55d7cd.xml"] = "<level el=\"-400\" er=\"500\" et=\"-500\" sy=\"-0.5\" ht=\"\"><b t=\"d\" v=\"-106,-272,-95,-292,-60,-324,-58,-300,-79,-277,-84,-256,-76,-232,-39,-254,-12,-262,11,-249,-1,-239,-23,-241,-38,-231,-56,-214,-49,-204,-19,-207,6,-199,17,-188,8,-180,-20,-185,-41,-181,-43,-171,-20,-168,-7,-158,-1,-134,-15,-134,-22,-145,-38,-149,-48,-137,-28,-108,-39,-103,-41,-77,-48,-87,-54,-53,-63,-82,-75,-84,-77,-66,-97,-119,-102,-153,-106,-198,-109,-238\"/><b t=\"i\" v=\"-114,-431,152,-432,160,-422,159,-410,151,-405,-111,-405,-120,-411,-121,-423\"/><b t=\"d\" v=\"108,-227,202,-226,217,-195,219,-176,214,-139,210,-163,203,-151,189,-117,178,-139,166,-141,154,-130,135,-129,126,-105,116,-132,107,-149,100,-160,95,-143,87,-173,90,-197\"/><b t=\"i\" v=\"-4,-333,38,-333,34,-357,36,-374,49,-390,67,-395,98,-385,69,-382,55,-375,53,-359,58,-342,75,-333,156,-330,169,-337,188,-334,195,-318,189,-302,188,-283,194,-264,212,-250,231,-251,248,-256,262,-267,268,-281,268,-293,277,-284,278,-267,271,-254,260,-243,236,-236,212,-234,195,-242,182,-251,166,-275,157,-296,140,-303,67,-311,13,-306,-3,-306,-14,-311,-15,-326\"/><b t=\"d\" v=\"303,-217,335,-218,317,-236,291,-227,277,-242,302,-254,324,-259,338,-246,352,-227,354,-242,331,-272,301,-285,297,-303,340,-298,356,-278,376,-252,381,-273,377,-295,355,-313,355,-329,388,-319,405,-289,411,-235,398,-210,383,-168,378,-145,371,-74,365,-104,355,-106,348,-92,341,-101,326,-55,318,-91,313,-110,310,-144,320,-175,324,-188,306,-187,312,-172,308,-159,291,-175,288,-198\"/><b t=\"i\" v=\"223,-422,464,-424,473,-415,470,-403,460,-398,228,-396,217,-403,216,-416\"/><p pos=\"-85,-286\"/><p pos=\"-51,-116\"/><p pos=\"-104,-417\"/><p pos=\"144,-420\"/><p pos=\"108,-193\"/><p pos=\"203,-192\"/><p pos=\"-3,-319\"/><p pos=\"179,-319\"/><p pos=\"227,-409\"/><p pos=\"459,-411\"/><p pos=\"322,-131\"/><p pos=\"384,-303\"/><c t=\"s1\" pos=\"-70,-444\"/><c t=\"s1\" pos=\"436,-439\"/><ao pos=\"156,-9\" t=\"f\"/></level>"; xml_data["c04f17356d1a5ae68fcec0720b8d9a64.xml"] = "<level el=\"-752\" er=\"1051\" et=\"-941\" sy=\"1.25\"><b t=\"w\" v=\"-630,-233,-624,-249,-616,-265,-604,-281,-585,-299,-555,-313,-528,-318,-508,-318,-478,-312,-458,-305,-444,-294,-431,-281,-420,-267,-410,-246,-403,-225,-405,-191,-417,-200,-422,-173,-408,-177,-412,-159,-419,-146,-431,-129,-436,-144,-456,-128,-443,-119,-454,-112,-460,-106,-486,-97,-487,-129,-473,-137,-454,-155,-444,-169,-437,-190,-436,-221,-444,-244,-460,-266,-483,-279,-508,-285,-527,-285,-542,-283,-560,-274,-574,-264,-582,-255,-590,-241,-596,-230,-599,-215,-595,-186,-586,-161,-573,-146,-560,-136,-541,-130,-541,-96,-558,-102,-571,-108,-587,-117,-575,-125,-595,-141,-601,-123,-613,-140,-619,-150,-630,-175,-615,-172,-620,-199,-632,-192,-632,-213\"/><b t=\"f\" v=\"-595,-141,-575,-125,-587,-118,-603,-83,-625,-100,-601,-124\"/><b t=\"f\" v=\"-458,-127,-437,-144,-431,-130,-403,-105,-423,-84,-443,-119\"/><b t=\"f\" v=\"-670,-188,-631,-193,-619,-200,-615,-173,-630,-176,-665,-165\"/><b t=\"f\" v=\"-418,-201,-406,-193,-366,-186,-372,-162,-409,-177,-424,-173\"/><b t=\"n\" v=\"1062,-959,1065,101,986,102,1002,-20,996,-68,990,-107,990,-130,984,-157,988,-192,992,-212,989,-238,994,-258,997,-298,993,-314,993,-331,982,-369,989,-394,996,-422,995,-446,1008,-465,1000,-486,999,-508,995,-534,1000,-547,999,-595,990,-619,990,-647,988,-679,980,-706,983,-744,972,-815,962,-834,962,-857,938,-859,917,-860,896,-857,879,-853,864,-858,839,-853,811,-861,792,-862,785,-869,769,-862,737,-865,694,-865,658,-869,604,-865,584,-872,568,-865,478,-869,444,-865,409,-871,398,-866,355,-864,319,-869,280,-873,223,-873,210,-879,200,-873,172,-874,157,-878,92,-877,82,-882,33,-866,12,-865,-23,-867,-49,-883,-106,-882,-120,-886,-163,-887,-190,-892,-253,-885,-282,-889,-308,-886,-340,-881,-359,-887,-378,-883,-419,-886,-455,-883,-474,-869,-500,-866,-548,-885,-569,-887,-591,-879,-607,-882,-638,-875,-665,-882,-679,-874,-690,-860,-679,-850,-679,-836,-686,-817,-693,-805,-687,-788,-693,-756,-707,-738,-720,-677,-714,-641,-720,-623,-710,-607,-695,-541,-699,-501,-694,-354,-686,-330,-692,-304,-686,-127,-695,-95,-654,-83,-350,-84,-348,-65,-356,-52,-350,-34,-360,-17,-378,27,-361,93,-767,96,-773,-867,-775,-897,-769,-959\"/><p pos=\"-756,83\"/><p pos=\"-377,79\"/><p pos=\"-765,-526\"/><p pos=\"-759,-948\"/><p pos=\"-140,-950\"/><p pos=\"1053,-951\"/><p pos=\"1057,-516\"/><p pos=\"1025,96\"/><l p1=\"-677,-426\" p2=\"-592,-274\"/><l p1=\"-565,-433\" p2=\"-547,-303\"/><l p1=\"-487,-304\" p2=\"-465,-431\"/><l p1=\"-440,-276\" p2=\"-357,-426\"/><l p1=\"-623,-428\" p2=\"-573,-292\"/><l p1=\"-461,-293\" p2=\"-413,-429\"/><l p1=\"-518,-306\" p2=\"-515,-432\"/><c t=\"s1\" pos=\"-514,-195\"/><ao pos=\"-514,-147\" t=\"fw\"/><ao pos=\"-623,-428\" t=\"b\"/><ao pos=\"-515,-432\" t=\"b\"/><ao pos=\"-465,-431\" t=\"b\"/><ao pos=\"-357,-426\" t=\"b\"/><ao pos=\"-413,-429\" t=\"b\"/><ao pos=\"-565,-433\" t=\"b\"/><ao pos=\"-677,-426\" t=\"b\"/><ao pos=\"819,46\" t=\"f\"/></level>"; xml_data["c643bd7675434027534d94a79ef13fa0.xml"] = "<level el=\"-73\" er=\"986\" et=\"-655\" sy=\"0.375\" ht=\"woman\"><b t=\"w\" v=\"19,-518,34,-527,47,-521,142,-521,157,-528,169,-520,166,-500,24,-496\"/><b t=\"n\" v=\"6,-662,263,-664,518,-663,556,-665,685,-659,647,-634,634,-620,615,-614,608,-598,592,-577,591,-563,581,-538,576,-502,575,-473,577,-457,576,-445,580,-435,586,-395,581,-358,575,-333,564,-323,561,-351,563,-364,558,-379,559,-392,550,-419,550,-431,544,-445,539,-468,537,-485,531,-498,525,-516,522,-529,514,-539,505,-557,482,-589,442,-616,413,-618,370,-593,355,-572,330,-562,306,-575,297,-582,285,-566,282,-548,259,-531,251,-541,247,-561,244,-581,238,-587,211,-611,174,-623,30,-628,13,-642\"/><b t=\"w\" v=\"107,-461,120,-471,138,-463,218,-463,244,-471,253,-461,247,-439,111,-440\"/><b t=\"i\" v=\"684,-76,727,-78,765,-90,793,-103,827,-123,853,-144,872,-166,882,-192,893,-240,908,-256,927,-265,955,-275,973,-284,1002,-293,993,6,871,45,823,-9,811,-29,802,-39,797,-29,794,-12,786,-34,783,-48,768,-54,760,-45,757,-30,742,-61,731,-59,723,-50,711,-67\"/><b t=\"i\" v=\"302,-536,314,-541,332,-539,343,-532,350,-518,349,-502,338,-488,322,-483,306,-486,295,-496,290,-511,293,-526\"/><b t=\"i\" v=\"682,-439,678,-423,680,-397,693,-377,718,-366,741,-367,764,-378,777,-402,776,-424,768,-444,779,-434,787,-422,788,-400,780,-368,770,-353,751,-341,729,-333,696,-346,679,-361,668,-391,667,-414,671,-426\"/><b t=\"w\" v=\"776,-543,791,-557,805,-549,911,-549,922,-558,939,-546,930,-529,788,-527\"/><b t=\"n\" v=\"780,-687,997,-684,1035,-611,1033,-337,992,-293,989,-508,969,-589,939,-623,899,-637,824,-635,787,-634,754,-643,734,-664\"/><b t=\"w\" v=\"810,-477,823,-467,846,-462,932,-463,939,-454,936,-441,841,-437,816,-448\"/><b t=\"n\" v=\"192,-412,206,-417,231,-414,269,-391,312,-353,368,-299,423,-274,456,-271,464,-259,461,-241,464,-221,487,-203,512,-202,530,-209,543,-232,548,-253,560,-258,579,-251,599,-240,614,-233,617,-210,615,-191,625,-167,636,-160,673,-160,692,-175,697,-201,706,-213,726,-211,763,-199,787,-178,763,-180,737,-177,713,-163,678,-148,636,-144,593,-155,572,-166,544,-178,495,-189,441,-187,413,-177,379,-150,359,-122,351,-81,347,-47,345,35,159,52,164,-3,169,-14,166,-32,169,-48,166,-61,167,-89,175,-101,171,-109,169,-135,173,-148,169,-159,168,-172,170,-182,165,-201,168,-218,165,-229,167,-247,170,-276,150,-299,114,-331,108,-349,119,-353,165,-358,175,-367,182,-397\"/><p pos=\"17,-656\"/><p pos=\"369,-634\"/><p pos=\"179,42\"/><p pos=\"328,17\"/><p pos=\"992,-228\"/><p pos=\"874,23\"/><p pos=\"794,-672\"/><p pos=\"981,-671\"/><p pos=\"560,-246\"/><p pos=\"208,-339\"/><l p1=\"32,-512\" p2=\"32,-640\"/><l p1=\"154,-637\" p2=\"155,-512\"/><l p1=\"124,-636\" p2=\"122,-454\"/><l p1=\"235,-451\" p2=\"238,-631\"/><l p1=\"316,-632\" p2=\"320,-530\"/><l p1=\"799,-642\" p2=\"799,-538\"/><l p1=\"922,-541\" p2=\"920,-640\"/><l p1=\"828,-642\" p2=\"827,-455\"/><l p1=\"928,-450\" p2=\"935,-641\"/><tp pos=\"729,-352\" sp=\"-4\"/><c t=\"f1\" pos=\"319,-509\"/><ao pos=\"566,12\" t=\"f\"/><ao pos=\"80,-558\" t=\"fw\"/><ao pos=\"864,-589\" t=\"fw\"/><ao pos=\"141,-352\" t=\"hs\"/></level>"; xml_data["c8820cda63f960ae31a48311d2f8f9a0.xml"] = "<level el=\"-400\" er=\"400\" et=\"-518\"><b t=\"n\" v=\"-256,-416,32,-304,34,-295,18,-286,2,-285,-46,-313,-118,-345,-178,-362,-214,-362,-256,-384,-269,-413\"/><b t=\"i\" v=\"-176,-512,-180,-541,-107,-540,-111,-526,-131,-502,-137,-476,-150,-449,-154,-415,-159,-413,-165,-437\"/><b t=\"i\" v=\"-233,-457,-223,-466,-206,-469,-192,-465,-182,-455,-179,-441,-184,-428,-195,-418,-210,-416,-224,-420,-232,-427,-236,-441\"/><b t=\"i\" v=\"50,-486,69,-484,102,-486,222,-485,271,-488,288,-467,260,-454,220,-459,174,-457,75,-447,48,-448,38,-468\"/><b t=\"n\" v=\"14,-82,71,-153,120,-180,139,-192,150,-193,165,-180,170,-97,191,-17,200,60,1,61\"/><p pos=\"-240,-400\"/><p pos=\"6,-302\"/><p pos=\"-167,-532\"/><p pos=\"-126,-529\"/><p pos=\"63,-465\"/><p pos=\"259,-471\"/><p pos=\"27,56\"/><p pos=\"162,55\"/><c t=\"f1\" pos=\"-207,-441\"/><ao pos=\"-144,0\" t=\"f\"/></level>"; xml_data["cae35e48fe9dff610eea5714e7189a60.xml"] = "<level el=\"-334\" er=\"219\" et=\"-477\" sy=\"6.90625\" ht=\"force\"><b t=\"f\" v=\"-44,-370,1,-382,49,-377,88,-376,94,-361,104,-322,92,-271,82,-257,63,-256,36,-263,11,-260,-32,-256,-63,-271,-64,-336\"/><b t=\"i\" v=\"56,-172,82,-184,94,-180,99,-165,101,-151,114,-141,116,-124,105,-122,95,-122,76,-123,57,-127,50,-147\"/><b t=\"n\" v=\"-16,-256,12,-259,41,-262,64,-256,52,-201,36,-202,16,-197,-10,-203,-18,-220\"/><b t=\"n\" v=\"-5,-86,10,-101,26,-103,42,-92,54,-63,60,24,49,212,70,390,-20,385,5,228,6,97,-1,6,-9,-59\"/><b t=\"i\" v=\"127,-87,144,-56,135,-33,112,-27,97,-29,87,-43,87,-65,92,-83,102,-92,117,-92\"/><b t=\"i\" v=\"127,28,134,37,139,66,129,82,108,86,95,80,89,62,97,35,104,19,117,19\"/><b t=\"n\" v=\"182,230,170,152,158,119,160,106,187,98,242,98,235,228,235,292,171,292\"/><p pos=\"8,-215\"/><p pos=\"37,-227\"/><p pos=\"17,-2\"/><p pos=\"22,193\"/><p pos=\"227,125\"/><p pos=\"225,282\"/><p pos=\"187,282\"/><l p1=\"22,-283\" p2=\"82,-175\"/><l p1=\"104,-135\" p2=\"110,-81\"/><l p1=\"111,-34\" p2=\"111,29\"/><c t=\"f1\" pos=\"78,-147\"/><c t=\"f1\" pos=\"113,-57\"/><c t=\"f1\" pos=\"113,59\"/><ao pos=\"-144,224\" t=\"f\"/><ao pos=\"185,102\" t=\"hs\"/></level>"; xml_data["d6efed80731998141307b4820737309a.xml"] = "<level el=\"-215\" er=\"400\" et=\"-634\" sy=\"0\"><b t=\"i\" v=\"306,-417,323,-411,336,-395,336,-352,328,-347,273,-358,231,-376,224,-384,237,-394,258,-405\"/><b t=\"i\" v=\"-48,-464,-31,-450,-16,-427,0,-416,48,-416,56,-409,53,-369,36,-346,0,-348,-17,-375,-29,-399,-55,-441,-61,-452\"/><b t=\"d\" v=\"48,-304,80,-365,79,-320,82,-293,111,-280,129,-275,142,-257,206,-241,112,-240,66,-246,48,-261,53,-288\"/><p pos=\"320,-384\"/><p pos=\"-48,-447\"/><p pos=\"81,-262\"/><l p1=\"32,-384\" p2=\"240,-384\"/><c t=\"s1\" pos=\"13,-431\"/><c t=\"f1\" pos=\"283,-383\"/><ao pos=\"96,0\" t=\"f\"/></level>"; xml_data["effb5a4dd010ea82e2959b6dc69beb70.xml"] = "<level el=\"-334\" er=\"263\" et=\"-392\" sy=\"0.125\" ht=\"cut\"><b t=\"i\" v=\"-392,65,-388,-421,309,-417,308,-126,308,74,141,75,145,39,162,-27,155,-49,142,-58,137,-66,141,-74,150,-77,170,-77,182,-88,191,-99,188,-154,174,-191,165,-204,166,-229,151,-248,135,-271,127,-254,118,-274,88,-293,73,-296,60,-289,44,-293,35,-291,9,-224,4,-210,-1,-206,-5,-211,-12,-227,-34,-293,-63,-291,-76,-262,-89,-291,-100,-290,-108,-276,-116,-288,-128,-276,-135,-263,-144,-258,-156,-258,-167,-252,-179,-219,-189,-241,-202,-222,-219,-213,-231,-210,-236,-203,-240,-191,-230,-153,-241,-135,-263,-121,-279,-95,-283,-54,-267,-23,-263,-6,-273,30,-273,63\"/><p pos=\"-378,-187\"/><p pos=\"292,-404\"/><p pos=\"161,64\"/><p pos=\"-380,49\"/><p pos=\"-10,-405\"/><p pos=\"-373,-405\"/><p pos=\"291,61\"/><c t=\"f1\" pos=\"1,-261\"/><ao pos=\"-27,8\" t=\"f\"/><ao pos=\"158,-76\" t=\"hs\"/></level>"; xml_data["f210e44136f475365910986936d6db87.xml"] = "<level el=\"34\" er=\"639\" et=\"-370\" sy=\"0.5625\" ht=\"\"><b t=\"i\" v=\"96,-399,282,-398,271,-347,257,-318,244,-259,245,-138,261,-49,273,103,82,102,100,-16,99,-85,83,-127,101,-182,110,-228,110,-288\"/><b t=\"i\" v=\"338,-393,552,-392,543,-341,530,-288,510,-260,473,-287,451,-334,425,-325,407,-309,387,-269,364,-275\"/><p pos=\"105,85\"/><p pos=\"253,88\"/><p pos=\"112,-388\"/><p pos=\"265,-388\"/><p pos=\"357,-381\"/><p pos=\"533,-381\"/><c t=\"f1\" pos=\"136,-262\"/><c t=\"f1\" pos=\"224,-288\"/><c t=\"f1\" pos=\"501,-298\"/><c t=\"f1\" pos=\"379,-310\"/><ao pos=\"432,16\" t=\"f\"/></level>"; xml_data["f4693f5d1b32df875be2b16a2d11f196.xml"] = "<level el=\"-400\" er=\"374\" et=\"-498\" sy=\"-0.0625\" ht=\"\"><b t=\"f\" v=\"63,-340,71,-345,180,-343,188,-357,187,-369,204,-357,206,-344,236,-343,243,-337,246,-326,238,-313,227,-298,218,-289,200,-288,171,-296,105,-313,77,-327\"/><b t=\"f\" v=\"-293,-372,-320,-361,-334,-347,-339,-323,-331,-302,-311,-292,-290,-291,-267,-303,-260,-321,-262,-342,-268,-352,-280,-363,-262,-361,-247,-352,-231,-321,-224,-286,-232,-258,-244,-241,-272,-222,-308,-216,-340,-228,-360,-246,-370,-269,-371,-302,-364,-336,-344,-361,-321,-372\"/><b t=\"n\" v=\"-379,-512,-257,-514,-80,-512,31,-506,12,-481,-18,-468,-119,-470,-210,-467,-263,-459,-314,-442,-348,-418,-363,-397,-372,-363,-375,-331,-373,-245,-364,-207,-347,-170,-328,-143,-310,-127,-281,-107,-318,-104,-336,-96,-351,-99,-365,-94,-382,-99,-391,-112,-407,-115,-408,-143,-410,-192,-409,-233,-410,-371,-418,-498\"/><b t=\"n\" v=\"94,-128,106,-115,127,-102,151,-95,187,-91,367,-92,374,-88,372,-77,358,-62,354,-44,348,-36,349,-27,350,-13,349,30,194,31,114,22,89,14,91,-16,89,-27,92,-37,88,-57,93,-69,87,-82,85,-113,87,-125\"/><b t=\"f\" v=\"235,-206,278,-212,314,-208,346,-197,357,-180,364,-162,364,-139,357,-121,348,-107,337,-97,288,-92,231,-94,270,-99,294,-108,307,-119,315,-141,313,-167,301,-189,278,-200\"/><p pos=\"234,-331\"/><p pos=\"207,-303\"/><p pos=\"-14,-488\"/><p pos=\"-386,-485\"/><p pos=\"-343,-260\"/><p pos=\"-250,-262\"/><p pos=\"354,-143\"/><p pos=\"108,-82\"/><p pos=\"256,-76\"/><c t=\"s1\" pos=\"163,-359\"/><c t=\"s1\" pos=\"116,-359\"/><c t=\"s1\" pos=\"-300,-313\"/><c t=\"s1\" pos=\"181,-109\"/><ao pos=\"-154,-4\" t=\"f\"/></level>"; xml_data["f8202226a45bfcfefddd94de811410a1.xml"] = "<level el=\"-73\" er=\"985\" et=\"-647\" sy=\"0\" ht=\"\"><b t=\"i\" v=\"-78,-546,-68,-524,-46,-512,-26,-508,-3,-508,17,-516,2,-499,-19,-491,-21,-481,7,-452,53,-421,97,-374,134,-339,131,-254,126,-220,127,-184,135,-156,149,-129,167,-116,192,-105,217,-115,238,-130,247,-149,255,-172,259,-210,258,-239,284,-222,326,-198,366,-182,409,-167,447,-159,484,-154,533,-148,601,-143,658,-142,752,-143,778,-140,759,-130,748,-120,743,-108,733,-123,722,-126,713,-115,709,-105,700,-119,687,-126,674,-116,660,-85,651,-116,641,-123,631,-117,624,-109,616,-101,610,-110,594,-109,585,-95,577,-67,574,-45,576,-20,598,38,-78,21,-98,-462\"/><b t=\"d\" v=\"134,-307,190,-260,252,-232,255,-201,253,-172,247,-150,237,-131,214,-114,193,-107,167,-117,151,-130,134,-154,127,-184,127,-216,131,-252\"/><b t=\"i\" v=\"134,-491,208,-436,254,-404,255,-384,194,-412,135,-466\"/><b t=\"n\" v=\"86,-652,150,-650,282,-651,442,-649,752,-655,874,-654,763,-636,714,-631,599,-621,585,-616,570,-616,549,-611,536,-615,524,-608,496,-602,466,-596,449,-596,440,-592,414,-587,345,-563,329,-561,315,-557,301,-556,293,-549,282,-545,269,-547,261,-540,211,-529,180,-533,158,-540,141,-555,125,-564,113,-578,103,-584,91,-594,73,-604,66,-612,57,-613,32,-627,-31,-649\"/><b t=\"d\" v=\"951,-454,988,-443,1022,-428,1009,-296,1006,-240,994,-191,976,-206,953,-188,959,-180,942,-173,945,-164,925,-163,913,-172,916,-156,924,-136,897,-154,895,-132,903,-114,889,-114,868,-131,865,-117,877,-98,847,-107,835,-125,830,-112,847,-93,820,-102,808,-119,809,-137,794,-134,782,-138,785,-149,803,-156,818,-166,827,-179,834,-197,828,-220,808,-233,779,-234,761,-235,745,-226,735,-226,729,-234,733,-247,709,-243,697,-255,713,-279,720,-302,731,-318,715,-338,729,-367,743,-402,714,-377,722,-399,741,-423,766,-435,790,-439,762,-445,799,-459,840,-466,888,-465,918,-461\"/><b t=\"i\" v=\"701,-588,836,-587,842,-581,842,-571,835,-565,699,-564,690,-572,690,-582\"/><b t=\"i\" v=\"642,-472,762,-476,770,-470,769,-458,761,-453,644,-449,636,-454,635,-465\"/><b t=\"i\" v=\"525,-399,537,-388,550,-360,568,-323,589,-286,607,-265,630,-243,672,-217,722,-197,668,-204,633,-215,602,-232,596,-228,591,-219,581,-241,573,-244,569,-233,556,-254,550,-265,534,-290,528,-279,526,-257,519,-288,509,-316,494,-345,491,-374,497,-394,510,-402\"/><p pos=\"-45,-490\"/><p pos=\"571,22\"/><p pos=\"51,-630\"/><p pos=\"285,-623\"/><p pos=\"652,-638\"/><p pos=\"842,-438\"/><p pos=\"863,-197\"/><p pos=\"831,-577\"/><p pos=\"699,-576\"/><p pos=\"759,-464\"/><p pos=\"644,-460\"/><p pos=\"515,-385\"/><p pos=\"570,-285\"/><l p1=\"152,-557\" p2=\"152,-469\"/><l p1=\"241,-401\" p2=\"244,-550\"/><c t=\"s1\" pos=\"-7,-525\"/><c t=\"s1\" pos=\"737,-602\"/><ao pos=\"752,2\" t=\"f\"/><ao pos=\"669,-488\" t=\"wr\"/></level>"; xml_data["fc9a0f6c08b624573ee48caf50b73418.xml"] = "<level el=\"-396\" er=\"241\" et=\"-500\" sy=\"-0.0625\" ht=\"stone\"><b t=\"i\" v=\"-183,-251,-184,-240,-190,-222,-194,-210,-204,-177,-217,-162,-222,-129,-222,-117,-227,-103,-236,-92,-250,-86,-258,-62,-265,-80,-269,-71,-274,-79,-287,-65,-285,-41,-267,-11,-257,25,-228,90,-349,88,-351,-28,-352,-126,-320,-171,-300,-235,-280,-236,-264,-242,-234,-245,-215,-246,-190,-256\"/><b t=\"n\" v=\"-18,-313,-22,-371,106,-371,120,-377,125,-409,109,-429,106,-452,117,-474,117,-540,297,-540,297,-183,300,83,162,83,144,-22,159,-86,158,-105,163,-130,147,-154,127,-160,115,-181,114,-203,97,-220,93,-240,82,-237,67,-243,51,-239,37,-243,24,-238,12,-242,6,-265,8,-276,-1,-292,-13,-303\"/><b t=\"n\" v=\"-427,-370,-425,-544,-252,-545,-256,-473,-262,-454,-272,-406,-262,-392,-257,-378,-150,-372,-151,-338,-178,-309,-204,-301,-217,-293,-232,-299,-260,-282,-271,-260,-299,-235,-320,-171,-352,-122,-351,-80,-351,-38,-349,90,-451,80,-425,-165,-424,-226,-429,-246,-416,-260\"/><b t=\"i\" v=\"-253,-544,-164,-547,-170,-480,-182,-456,-183,-419,-178,-408,-161,-402,-116,-399,-2,-401,10,-406,22,-417,23,-467,15,-472,5,-440,-4,-475,-15,-481,-19,-516,-41,-553,118,-550,118,-473,106,-450,109,-430,125,-410,120,-376,105,-370,-35,-372,-40,-365,-47,-372,-58,-372,-65,-358,-75,-372,-104,-374,-132,-372,-136,-363,-140,-371,-220,-376,-257,-376,-272,-405,-265,-443,-257,-474\"/><b t=\"i\" v=\"99,-86,159,-86,144,-20,163,85,114,82,119,51,127,21,116,-22,116,-48,104,-70\"/><p pos=\"-260,72\"/><p pos=\"-369,58\"/><p pos=\"268,64\"/><p pos=\"184,62\"/><p pos=\"-415,-236\"/><p pos=\"-424,62\"/><p pos=\"-330,73\"/><p pos=\"-340,-118\"/><p pos=\"-241,-517\"/><p pos=\"-252,-399\"/><p pos=\"133,61\"/><p pos=\"120,-71\"/><p pos=\"-2,-515\"/><p pos=\"102,-518\"/><p pos=\"-182,-518\"/><p pos=\"-403,-524\"/><p pos=\"-272,-523\"/><p pos=\"273,-202\"/><p pos=\"261,-513\"/><p pos=\"108,-394\"/><c t=\"f1\" pos=\"-230,-215\"/><c t=\"s1\" pos=\"-98,-418\"/><ao pos=\"-66,3\" t=\"f\"/><ao pos=\"120,-85\" t=\"hs\"/></level>"; xml_data["fca0969bbc422bce841966be2fc12a21.xml"] = "<level el=\"-400\" er=\"500\" et=\"-501\" sy=\"0\" ht=\"\"><b t=\"n\" v=\"131,-275,225,-279,262,-273,289,-277,316,-275,335,-279,360,-277,387,-275,408,-278,431,-282,456,-278,543,-281,559,14,476,7,469,-22,466,-62,460,-76,452,-98,448,-124,446,-137,436,-145,425,-168,408,-178,400,-187,387,-191,372,-201,344,-203,329,-215,316,-208,301,-210,292,-215,275,-216,258,-232,237,-236,222,-233,177,-250,139,-257,128,-264\"/><b t=\"f\" v=\"-340,-292,-325,-313,-293,-321,-264,-316,-244,-293,-246,-277,-259,-264,-294,-251,-329,-263,-341,-274\"/><b t=\"i\" v=\"186,-155,234,-145,277,-113,320,-47,333,17,301,45,252,37,189,-10,167,-52,156,-101,162,-136\"/><b t=\"i\" v=\"327,-386,362,-378,392,-359,415,-324,411,-295,398,-281,360,-280,331,-284,307,-302,295,-343,303,-370\"/><b t=\"n\" v=\"23,-506,50,-504,270,-506,404,-504,535,-512,534,-332,509,-373,489,-426,480,-444,459,-457,409,-450,384,-446,372,-450,352,-442,326,-445,316,-441,282,-443,242,-451,214,-452,202,-458,190,-455,162,-460,152,-466,134,-466,123,-473,113,-468,72,-475,46,-487\"/><p pos=\"520,-261\"/><p pos=\"320,11\"/><p pos=\"228,6\"/><p pos=\"288,6\"/><p pos=\"79,-481\"/><p pos=\"413,-468\"/><p pos=\"200,-263\"/><l p1=\"-308,-303\" p2=\"-316,-427\"/><l p1=\"-263,-300\" p2=\"-251,-437\"/><l p1=\"-284,-301\" p2=\"-284,-454\"/><l p1=\"-352,-396\" p2=\"-328,-298\"/><l p1=\"164,-208\" p2=\"176,-135\"/><l p1=\"209,-203\" p2=\"208,-142\"/><l p1=\"122,-182\" p2=\"167,-116\"/><l p1=\"279,-415\" p2=\"311,-362\"/><l p1=\"329,-371\" p2=\"326,-419\"/><l p1=\"348,-366\" p2=\"384,-412\"/><c t=\"f1\" pos=\"-294,-277\"/><c t=\"f1\" pos=\"335,-342\"/><c t=\"f1\" pos=\"190,-126\"/><ao pos=\"-128,-7\" t=\"f\"/><ao pos=\"-316,-427\" t=\"b\"/><ao pos=\"-251,-437\" t=\"b\"/><ao pos=\"-284,-454\" t=\"b\"/><ao pos=\"-352,-396\" t=\"b\"/><ao pos=\"164,-208\" t=\"b\"/><ao pos=\"209,-203\" t=\"b\"/><ao pos=\"122,-182\" t=\"b\"/><ao pos=\"279,-415\" t=\"b\"/><ao pos=\"326,-419\" t=\"b\"/><ao pos=\"384,-412\" t=\"b\"/></level>"; xml_done = true; }; } public static function restartLevel():void{ endLevel(); startLevel(loadedLevelNumber); } public static function onLoadComplete():void{ level = new Level(); level.create(loadedXML); NitromeGame.transition.play(); loadIndicator.finishedLoading(); } public static function startLevel(_arg1:Number):void{ var _local2:URLLoader; var _local3:String; var _local4:XML; if (level){ endLevel(); }; if (_arg1 == loadedLevelNumber){ level = new Level(); level.create(loadedXML); return; }; loadIndicator = new LoadIndicator(stage.stageWidth, stage.stageHeight); root.addChild(loadIndicator); NitromeGame.transition.stop(); _local2 = new URLLoader(); _local3 = NitromeGame.getLevelName(_arg1); Controller.loadXmlData(); _local4 = new XML(Controller.xml_data[_local3]); loadedLevelNumber = _arg1; loadedXML = _local4; Controller.onLoadComplete(); } public static function nextLevel():void{ endLevel(); startLevel((loadedLevelNumber + 1)); } public static function endLevel():void{ if (!level){ return; }; level.destroy(); level = null; } public static function endGame():void{ if (!content){ return; }; endLevel(); popup.destroy(); popup = null; Key.terminate(stage); stage.removeEventListener(Event.ENTER_FRAME, enterFrame); content.removeChild(cutLayer); cutLayer = null; content.removeChild(seaLayer); seaLayer = null; content.removeChild(splashLayer); splashLayer = null; content.removeChild(protectionLayer); protectionLayer = null; content.removeChild(finishLayer); finishLayer = null; content.removeChild(activeLayer); activeLayer = null; content.removeChild(constraintLayer); constraintLayer = null; content.removeChild(characterLayer); characterLayer = null; content.removeChild(blockLayer); blockLayer = null; content.removeChild(fragmentLayer); fragmentLayer = null; content.removeChild(particleLayer); particleLayer = null; content = null; root = null; stage = null; } public static function enterFrame(_arg1:Event):void{ if (((!(content)) || (!(level)))){ return; }; frameNumber++; level.advance(); popup.advance(); } public static function startGame(_arg1:Sprite):void{ if (content){ return; }; stage = _arg1.stage; root = MovieClip(_arg1.root); root.stop(); content = _arg1; content.addChild((particleLayer = new Sprite())); content.addChild((fragmentLayer = new Sprite())); content.addChild((blockLayer = new Sprite())); content.addChild((characterLayer = new Sprite())); content.addChild((constraintLayer = new Sprite())); content.addChild((activeLayer = new Sprite())); content.addChild((finishLayer = new Sprite())); content.addChild((protectionLayer = new Sprite())); content.addChild((splashLayer = new Sprite())); content.addChild((seaLayer = new Sprite())); content.addChild((cutLayer = new Sprite())); background = root.background; popup = new IngamePopup(); stage.quality = StageQuality.LOW; Key.initialize(stage); CustomCursor.setup(root); Trig.setup(); stage.addEventListener(Event.ENTER_FRAME, enterFrame); } } }//package com.nitrome.icebreaker
Section 122
//DeathBlock (com.nitrome.icebreaker.DeathBlock) package com.nitrome.icebreaker { import flash.display.*; public class DeathBlock extends Block { public static var deathBlockTexture:BitmapData; public function DeathBlock(){ if (!deathBlockTexture){ deathBlockTexture = new DeathBlockTexture(125, 125); }; texture = deathBlockTexture;   = true;  = 10154239;  = 10;   = 10154239;   = 0.2;   = 3687558; } } }//package com.nitrome.icebreaker
Section 123
//EditorDrawableObjects (com.nitrome.icebreaker.EditorDrawableObjects) package com.nitrome.icebreaker { import flash.display.*; public dynamic class EditorDrawableObjects extends MovieClip { } }//package com.nitrome.icebreaker
Section 124
//EditorPanel (com.nitrome.icebreaker.EditorPanel) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.*; import flash.display.*; import flash.events.*; import flash.text.*; import com.nitrome.util.*; import flash.net.*; import flash.external.*; public class EditorPanel extends Sprite { public var  :Boolean;// = false public var  :Array; public var  :Boolean;// = false public var :Sprite; public var txtMoves:TextField; public var :b2Vec2;// = null public var :Array; public var :Sprite; public var :Sprite; public var :Number;// = -1 public var :XML;// = null public var  :Boolean;// = false public var xmlData:TextField; public var loadFile:SimpleButton; public var :Boolean;// = false public var saveFile:SimpleButton; public var :Boolean;// = false private var :Sprite; public var :Number;// = 0 public var :Boolean;// = false public var :Number;// = 0 public var ;// = null public function EditorPanel(){ var _local1:Array; var _local2:Number; var _local3:MovieClip; var _local4:TextField;  = 0;  = 0;  = null;  = false;  = false;  = null;  = -1;  = false;  = null;  = false;  = false;  = false; super(); if (!Controller.DEBUG){ return; }; x = (Controller.stage.stageWidth / 2); y = (Controller.stage.stageHeight / 2); Controller.content.addChild(( = new Sprite())); Controller.content.addChild(( = new Sprite())); Controller.root.addChild(this); visible = false; _local1 = ["Test Run", "Edit", "Draw"];  = []; _local2 = 0; while (_local2 < _local1.length) { _local4 = new TextField(); _local4.text = _local1[_local2]; _local4.textColor = 0xFFFFFF; _local4.setTextFormat(new TextFormat("_sans", null, null, (_local2 == 0))); _local4.x = -135; _local4.y = ((_local2 * 20) - 25); if (_local2 > 0){ _local4.y = (_local4.y + 5); }; _local4.height = 20; _local4.selectable = false; addChild(_local4); .push(_local4); _local2++; };  = new Sprite(); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect(-5, 0, 110, 20); addChild(); _local2 = 1;  = []; do { _local3 = new EditorDrawableObjects(); addChild(_local3); _local3.x = ((((_local2 - 1) % 9) * 32) - 140); _local3.y = ((int(((_local2 - 1) / 9)) * 32) - 165); _local3.gotoAndStop(_local2);  .push(_local3); _local2++; } while (_local2 <= _local3.totalFrames);  = new Sprite(); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect(0, 0, 32, 32); addChild();  (0); selectMode(0); if ( == 0){  = Controller.level.reduceToXML(); .visible = false; };  (); stage.addEventListener(KeyboardEvent.KEY_DOWN, ); } public function isGameFrozen():Boolean{ return (!(( == 0))); } public function mouseMove(_arg1:MouseEvent):void{ var _local2:b2Vec2; var _local3:Block; var _local4:b2AABB; var _local5:b2Vec2; var _local6:b2Vec2; var _local7:b2Vec2; if ( ){ Controller.level.leftEdge = Controller.content.mouseX;  (); return; }; if (){ Controller.level.rightEdge = Controller.content.mouseX;  (); return; }; if ( ){ Controller.level.topEdge = Controller.content.mouseY;  (); return; }; _local2 = new b2Vec2((Controller.content.mouseX / 32), (Controller.content.mouseY / 32)); if (Key.isDown(Key.S)){ _local2.x = (Math.round((_local2.x * 2)) / 2); _local2.y = (Math.round((_local2.y * 2)) / 2); }; if ( ){ if (( is Sea)){ Controller.level.sea.yPosition = (Controller.level.sea.yPosition + (_local2.y - .y));  (); } else { if (( is Block)){ _local3 = ( as Block); if ( == -1){ _local3.unsolidify(); _local4 = _local3.getLocalBoundingBox(); if (Key.isDown(Key.S)){ _local5 = new b2Vec2(); _local5.x = ((_local3.position.x + _local2.x) - .x); _local5.y = ((_local3.position.y + _local2.y) - .y);  = _local2.Copy(); _local5.x = (_local5.x + _local4.lowerBound.x); _local5.y = (_local5.y + _local4.lowerBound.y); _local5.x = ((Math.round((_local5.x * 2)) / 2) - _local4.lowerBound.x); _local5.y = ((Math.round((_local5.y * 2)) / 2) - _local4.lowerBound.y); _local3.position.x = _local5.x; _local3.position.y = _local5.y; } else { _local3.position.x = (_local3.position.x + (_local2.x - .x)); _local3.position.y = (_local3.position.y + (_local2.y - .y));  = _local2.Copy(); }; _local3.solidify();  (); return; } else { _local6 = _local3.globalToLocal(_local2); _local3.unsolidify(); _local3.vertexList[].x = _local6.x; _local3.vertexList[].y = _local6.y; _local3.solidify();  (); }; } else { if (( is PinConstraint)){ ( as PinConstraint).setPosition(_local2);  (); } else { if (( is TurningPinsConstraint)){ ( as TurningPinsConstraint).setPosition(_local2);  (); } else { if (( is Character)){ ( as Character).setPosition(_local2);  (); } else { if (( is ActiveObject)){ _local7 = ( as ActiveObject).getPosition().Copy(); ( as ActiveObject).getPosition().Copy().x = (_local7.x + (_local2.x - .x)); _local7.y = (_local7.y + (_local2.y - .y)); if (Key.isDown(Key.S)){ _local7.x = (Math.round((_local7.x * 2)) / 2); _local7.y = (Math.round((_local7.y * 2)) / 2); }; ( as ActiveObject).setPosition(_local7);  (); } else { if (( is LinkConstraint)){ if ( == 0){ ( as LinkConstraint).setPosition1(_local2); } else { ( as LinkConstraint).setPosition2(_local2); };  (); }; }; }; }; }; }; };  = _local2; }; } public function  ():void{ .graphics.clear(); .graphics.lineStyle(4, 0xFF0000); .graphics.moveTo(Controller.level.leftEdge, (Controller.level.sea.yPosition * 32)); .graphics.lineTo(Controller.level.leftEdge, Controller.level.topEdge); .graphics.lineStyle(4, 0xFFFFFF); .graphics.lineTo(Controller.level.rightEdge, Controller.level.topEdge); .graphics.lineStyle(4, 0xE000); .graphics.lineTo(Controller.level.rightEdge, (Controller.level.sea.yPosition * 32)); } public function ():void{ var ref:FileReference; ref = new FileReference(); ref.addEventListener(Event.SELECT, function (_arg1:Event):void{ var file:FileReference; var loader:URLLoader; var callback:Function; var e = _arg1; file = (e.target as FileReference); loader = new URLLoader(); callback = function (_arg1:Event){ var _local2:XML; var _local3:b2Vec2; _local2 = new XML(_arg1.target.data); Controller.level.destroy(true); Controller.level.create(_local2); xmlData.text = Controller.level.reduceToXML(); selectMode(0);  = Controller.level.reduceToXML();  (); if (Controller.level.blockList[0]){ _local3 = Controller.level.blockList[0].getBoundingBoxCenter(); Controller.level.cameraFocusX = (_local3.x * 32); Controller.level.cameraFocusY = (_local3.y * 32); }; }; loader.addEventListener(Event.COMPLETE, callback); loader.load(new URLRequest(("levels/" + file.name))); }); ref.browse([new FileFilter("XML files (*.xml)", "*.xml"), new FileFilter("All files (*.*)", "*.*")]); } public function mouseUp(_arg1:MouseEvent):void{  = false;  = false;  = false;  = false; } public function ():void{ var xml:XML; var ok:Boolean; saveFile.alpha = 1; try { xml = () ?  : Controller.level.reduceToXML(); ok = ExternalInterface.call("saveFileWithoutName", xml.toXMLString(), false); if (ok){ } else { if (ExternalInterface.call("communicationOK") != "ok"){ saveFile.alpha = 0.5; }; }; } catch(e:Error) { saveFile.alpha = 0.5; }; } public function  (_arg1:Number):void{ .x =  [_arg1].x; .y =  [_arg1].y;  = _arg1; } public function  ():void{ var _local1:Number; var _local2:b2Vec2; var _local3:b2AABB; var _local4:Block; .graphics.clear(); if (( is Block)){ _local4 = ( as Block); _local1 = 0; while (_local1 < _local4.vertexList.length) { _local2 = _local4.localToPixel(_local4.vertexList[_local1]); .graphics.beginFill((_local4.editorLocked) ? 8405056 : 0xFF0000); .graphics.drawRect((_local2.x - 2), (_local2.y - 2), 4, 4); .graphics.endFill(); _local1++; }; } else { if (( is PinConstraint)){ _local2 = ( as PinConstraint).globalPosition.Copy(); _local2.x = (_local2.x * 32); _local2.y = (_local2.y * 32); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect((_local2.x - 10), (_local2.y - 10), 20, 20); } else { if (( is TurningPinsConstraint)){ _local2 = ( as TurningPinsConstraint).globalPosition.Copy(); _local2.x = (_local2.x * 32); _local2.y = (_local2.y * 32); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect((_local2.x - 15), (_local2.y - 15), 30, 30); } else { if (( is Character)){ _local2 = ( as Character).getPosition().Copy(); _local2.x = (_local2.x * 32); _local2.y = (_local2.y * 32); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect((_local2.x - 15), (_local2.y - 15), 30, 30); } else { if (( is ActiveObject)){ _local3 = ( as ActiveObject).getBoundingBox(); _local3.lowerBound.x = (_local3.lowerBound.x * 32); _local3.lowerBound.y = (_local3.lowerBound.y * 32); _local3.upperBound.x = (_local3.upperBound.x * 32); _local3.upperBound.y = (_local3.upperBound.y * 32); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect((_local3.lowerBound.x - 5), (_local3.lowerBound.y - 5), ((_local3.upperBound.x - _local3.lowerBound.x) + 10), ((_local3.upperBound.y - _local3.lowerBound.y) + 10)); } else { if (( is Weight)){ _local2 = ( as Weight).getPosition().Copy(); _local2.x = (_local2.x * 32); _local2.y = (_local2.y * 32); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect((_local2.x - 133), (_local2.y - 37), 266, 74); } else { if (( is LinkConstraint)){ if ( == 0){ _local2 = ( as LinkConstraint).globalPosition1.Copy(); } else { _local2 = ( as LinkConstraint).globalPosition2.Copy(); }; _local2.x = (_local2.x * 32); _local2.y = (_local2.y * 32); .graphics.lineStyle(2, 0xFF0000); .graphics.drawRect((_local2.x - 10), (_local2.y - 10), 20, 20); }; }; }; }; }; }; }; } public function (_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Key.SPACE){ visible = !(visible); if (visible){ if (){ xmlData.text = .toXMLString(); } else { xmlData.text = Controller.level.reduceToXML().toXMLString(); }; }; } else { if (_arg1.keyCode == Key.T){ selectMode(0); } else { if (_arg1.keyCode == Key.E){ selectMode(1); } else { if (_arg1.keyCode == Key.D){ selectMode(2); } else { if (_arg1.keyCode == Key.DELETE){ if (( is Block)){ ( as Block).unsolidify(); Global.removeFromList(, Controller.level.blockList); } else { if (( is Constraint)){ ( as Constraint).destroy(); Global.removeFromList(, Controller.level.constraintList); } else { if (( is Character)){ ( as Character).destroy(); Global.removeFromList(, Controller.level.characterList); } else { if (( is ActiveObject)){ ( as ActiveObject).destroy(); Global.removeFromList(, Controller.level.activeObjectList); }; }; }; };  = null;  (); } else { if (_arg1.keyCode == Key.L){ if (( is Block)){ ( as Block).editorLocked = !(( as Block).editorLocked);  (); }; }; }; }; }; }; }; } public function ():void{ var _local1:Number; _local1 = 0; while (_local1 < Controller.level.constraintList.length) { if ((Controller.level.constraintList[_local1] is PinConstraint)){ Controller.level.constraintList[_local1].setPosition(Controller.level.constraintList[_local1].globalPosition.Copy()); }; _local1++; }; _local1 = 0; while (_local1 < Controller.level.characterList.length) { if (!(Controller.level.characterList[_local1] is FrozenCharacter)){ } else { Controller.level.characterList[_local1].setPosition(Controller.level.characterList[_local1].getPosition()); }; _local1++; }; } public function selectMode(_arg1:Number):void{ if ((((((_arg1 == 0)) && (!(( == 0))))) && (!()))){ (); Controller.level.activateAll();  = Controller.level.reduceToXML(); .visible = false; } else { if (((((!((_arg1 == 0))) && (( == 0)))) && ())){ Controller.level.deactivateAll(); if (!Key.isDown(Key.DELETE)){ Controller.level.destroy(true); Controller.level.create(); Controller.level.deactivateAll(); };  = null; .visible = true; }; }; .x = [_arg1].x; .y = [_arg1].y;  = _arg1; if ( != 1){  = null;  (); }; } public function destroy():void{ stage.removeEventListener(KeyboardEvent.KEY_DOWN, ); if (parent){ parent.removeChild(this); }; } public function mouseDown(_arg1:MouseEvent):void{ var _local2:Number; var _local3:b2Vec2; var _local4:Block; var _local5:b2Vec2; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:PinConstraint; var _local9:TurningPinsConstraint; var _local10:LinkConstraint; var _local11:Character; var _local12:ActiveObject; var _local13:String; var _local14:Block; var _local15:PinConstraint; var _local16:LinkConstraint; var _local17:TurningPinsConstraint; var _local18:Character; var _local19:ActiveObject; if (((visible) && (hitTestPoint(_arg1.stageX, _arg1.stageY)))){ _local2 = 0; while (_local2 < .length) { if ([_local2].hitTestPoint(stage.mouseX, stage.mouseY)){ selectMode(_local2); return; }; _local2++; }; _local2 = 0; while (_local2 <  .length) { if ( [_local2].hitTestPoint(stage.mouseX, stage.mouseY)){  (_local2); selectMode(2); visible = false; return; }; _local2++; }; if (loadFile.hitTestPoint(stage.mouseX, stage.mouseY)){ (); return; }; if (saveFile.hitTestPoint(stage.mouseX, stage.mouseY)){ (); return; }; return; }; _local3 = new b2Vec2((Controller.content.mouseX / 32), (Controller.content.mouseY / 32));  = _local3.Copy(); if ( == 1){ if (Math.abs((Controller.content.mouseX - Controller.level.leftEdge)) < 5){  = true; return; }; if (Math.abs((Controller.content.mouseX - Controller.level.rightEdge)) < 5){  = true; return; }; if (Math.abs((Controller.content.mouseY - Controller.level.topEdge)) < 5){  = true; return; }; if (( is Block)){ _local4 = ( as Block); _local2 = 0; while (_local2 < _local4.vertexList.length) { _local5 = _local4.localToGlobal(_local4.vertexList[_local2]); if (Geometry.squareDistancePointToPoint(_local3, _local5) < ((10 / 32) * (10 / 32))){ if (((Key.isDown(Key.CONTROL)) && ((_local4.vertexList.length > 3)))){ _local4.unsolidify(); _local4.removeVertex(_local2); _local4.solidify();  (); return; };  = _local2;  = true;  (); return; }; _local2++; }; if (Key.isDown(Key.CONTROL)){ _local2 = 0; while (_local2 < _local4.vertexList.length) { _local5 = _local4.localToGlobal(_local4.vertexList[_local2]); _local6 = _local4.localToGlobal(_local4.vertexList[((_local2 + 1) % _local4.vertexList.length)]); if (Geometry.squareDistancePointToSegment(_local5, _local6, _local3) < ((10 / 32) * (10 / 32))){ _local7 = Geometry.nearestPointOnSegment(_local5, _local6, _local3); _local7 = _local4.globalToLocal(_local7); _local4.unsolidify(); _local4.insertVertex((_local2 + 1), _local7, true); _local4.solidify();  = (_local2 + 1);  = true;  (); return; }; _local2++; }; }; }; _local2 = 0; while (_local2 < Controller.level.constraintList.length) { _local8 = (Controller.level.constraintList[_local2] as PinConstraint); if (!_local8){ } else { if (Geometry.squareDistancePointToPoint(_local8.globalPosition, _local3) < (0.5 * 0.5)){  = _local8;  = true;  (); return; }; }; _local2++; }; _local2 = 0; while (_local2 < Controller.level.constraintList.length) { _local9 = (Controller.level.constraintList[_local2] as TurningPinsConstraint); if (!_local9){ } else { if (Geometry.squareDistancePointToPoint(_local9.globalPosition, _local3) < (0.5 * 0.5)){  = _local9;  = true;  (); return; }; }; _local2++; }; _local2 = 0; while (_local2 < Controller.level.constraintList.length) { _local10 = (Controller.level.constraintList[_local2] as LinkConstraint); if (!_local10){ } else { if (Geometry.squareDistancePointToPoint(_local10.globalPosition1, _local3) < (0.5 * 0.5)){  = _local10;  = 0;  = true;  (); return; }; if (Geometry.squareDistancePointToPoint(_local10.globalPosition2, _local3) < (0.5 * 0.5)){  = _local10;  = 1;  = true;  (); return; }; }; _local2++; }; _local2 = 0; while (_local2 < Controller.level.characterList.length) { _local11 = Controller.level.characterList[_local2]; if (Geometry.squareDistancePointToPoint(_local11.getPosition(), _local3) < (0.8 * 0.8)){  = _local11;  = true;  (); return; }; _local2++; }; _local2 = 0; while (_local2 < Controller.level.activeObjectList.length) { _local12 = Controller.level.activeObjectList[_local2]; if (_local12.hitTestPoint(stage.mouseX, stage.mouseY, true)){  = _local12;  = true;  (); return; }; _local2++; }; if (( is Block)){ if (((!(_local4.editorLocked)) && (_local4.testPoint(_local3)))){  = -1;  = true;  (); return; }; };  = Controller.level.searchForBlock(_local3); if (((!()) && ((_local3.y > Controller.level.sea.yPosition)))){  = Controller.level.sea;  = true; };  (); } else { if ( == 2){ _local13 =  [].currentLabel; if (_local13.substr(0, 6) == "block_"){ switch (_local13){ case "block_iceBlock": _local14 = new IceBlock(); break; case "block_woodBlock": _local14 = new WoodBlock(); break; case "block_deathBlock": _local14 = new DeathBlock(); break; case "block_forceBlock": _local14 = new ForceBlock(); break; default: _local14 = new Block(); }; _local14.addVertex(new b2Vec2((_local3.x - 1), (_local3.y - 1))); _local14.addVertex(new b2Vec2((_local3.x + 1), (_local3.y - 1))); _local14.addVertex(new b2Vec2((_local3.x + 1), (_local3.y + 1))); _local14.addVertex(new b2Vec2((_local3.x - 1), (_local3.y + 1))); _local14.solidify(); Controller.level.blockList.push(_local14);  = _local14; } else { if (_local13 == "pin"){ _local15 = new PinConstraint(); _local15.create(); _local15.setPosition(_local3); Controller.level.constraintList.push(_local15); } else { if (_local13 == "link"){ _local16 = new LinkConstraint(); _local16.create(); _local16.setPosition1(new b2Vec2((_local3.x - 0.5), _local3.y)); _local16.setPosition2(new b2Vec2((_local3.x + 0.5), _local3.y)); Controller.level.constraintList.push(_local16); } else { if (_local13.substr(0, 11) == "turningPins"){ _local17 = new TurningPinsConstraint(); switch (_local13){ case "turningPins_left": _local17.spinSpeed = -4; break; case "turningPins_leftSlow": _local17.spinSpeed = -2; break; case "turningPins_rightSlow": _local17.spinSpeed = 2; break; case "turningPins_right": _local17.spinSpeed = 4; break; }; _local17.create(); _local17.setPosition(_local3); Controller.level.constraintList.push(_local17); } else { if (_local13.substr(0, 5) == "char_"){ switch (_local13){ case "char_frozenGuy": _local18 = new FrozenGuy1(); break; case "char_standingGuy": _local18 = new StandingGuy1(); break; }; _local18.create(); _local18.setPosition(_local3); Controller.level.characterList.push(_local18); } else { if (_local13.substr(0, 7) == "object_"){ switch (_local13){ case "object_finish": _local19 = new Finish(); break; case "object_weight": _local19 = new Weight(); break; case "object_bird": _local19 = new Bird(); break; case "object_protectedArea32": _local19 = new ProtectedArea32(); break; case "object_protectedArea64": _local19 = new ProtectedArea64(); break; case "object_protectedArea128": _local19 = new ProtectedArea128(); break; case "object_wolfrat": _local19 = new Wolfrat(); break; case "object_fatWoman": _local19 = new FatWoman(); break; case "object_sign": _local19 = new HelpSign(); break; }; _local19.create(); _local19.setPosition(_local3); Controller.level.activeObjectList.push(_local19); }; }; }; }; }; }; selectMode(1);  (); }; }; } } }//package com.nitrome.icebreaker
Section 125
//FatWoman (com.nitrome.icebreaker.FatWoman) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import com.nitrome.util.*; public class FatWoman extends ActiveObject { public var solidShape:b2Shape; public var solidBody:b2Body; public static const RADIUS:Number = 1.12; public static const SLICE_RADIUS:Number = 0.9; public function FatWoman(){ addFrameScript(14, frame15, 37, frame38); } override public function updatePosition():void{ super.updatePosition(); if (solidBody){ rotation = ((solidBody.GetAngle() * 180) / Math.PI); }; } public function deleteBody():void{ if (solidBody){ Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShape = null; } override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - RADIUS), (globalPosition.y - RADIUS)); _local1.upperBound = new b2Vec2((globalPosition.x + RADIUS), (globalPosition.y + RADIUS)); return (_local1); } override public function deactivate():void{ deleteBody(); } function frame15(){ gotoAndPlay("idle"); } override public function advance():void{ super.advance(); globalPosition.x = solidBody.GetPosition().x; globalPosition.y = solidBody.GetPosition().y; updatePosition(); } function frame38(){ stop(); if (parent){ parent.removeChild(this); }; } public function divide(_arg1:b2Vec2, _arg2:b2Vec2):Boolean{ var _local3:Number; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = (SLICE_RADIUS * SLICE_RADIUS); _local4 = Geometry.nearestPointOnLine(_arg1, _arg2, globalPosition); if (Geometry.squareDistancePointToPoint(_local4, globalPosition) > _local3){ return (false); }; if (Geometry.squareDistancePointToPoint(_arg1, globalPosition) <= _local3){ return (false); }; if (Geometry.squareDistancePointToPoint(_arg2, globalPosition) <= _local3){ return (false); }; _local5 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local6 = b2Math.b2Dot(_local5, _arg1); _local7 = b2Math.b2Dot(_local5, _arg2); _local8 = b2Math.b2Dot(_local5, _local4); if (_local8 < _local6){ return (false); }; if (_local8 > _local7){ return (false); }; gotoAndPlay("sliced"); deleteBody(); NitromeGame.sound_manager.playSound("fatwoman"); return (true); } override public function setPosition(_arg1:b2Vec2):void{ super.setPosition(_arg1); if (solidBody){ solidBody.SetXForm(_arg1, 0); }; } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2CircleDef; if (solidBody){ return; }; _local1 = new b2BodyDef(); if (globalPosition){ _local1.position.Set(globalPosition.x, globalPosition.y); }; solidBody = Controller.level.world.CreateBody(_local1); _local2 = new b2CircleDef(); _local2.radius = RADIUS; _local2.density = 1; _local2.friction = 0.5; solidBody.CreateShape(_local2); solidBody.SetMassFromShapes(); } override public function create():void{ super.create(); Controller.activeLayer.addChild(this); } } }//package com.nitrome.icebreaker
Section 126
//Finish (com.nitrome.icebreaker.Finish) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import flash.display.*; import com.nitrome.util.*; public class Finish extends ActiveObject { public var :Number;// = 0 public var :Number; public var :Number; public var charactersOnBoard:Array; public var solidShape:b2PolygonShape; public var :MovieClip; public var  :Boolean;// = false public var  :Number;// = 0 public var solidBody:b2Body; public var  :Number; public static const CAPTAIN_ACCEL:Number = 0.2; public static const CAPTAIN_MAXSPEED:Number = 4; public function Finish(){  = 0;  = 0;  = false; super();  = new Captain(); .y = -32; addChildAt(, 0); charactersOnBoard = []; } public function ():Number{ return (((globalPosition.x * 32) + 128)); } public function victory():void{ if (! ){ .gotoAndPlay("victory"); };  = true; } public function ():Number{ return (((globalPosition.x * 32) - 128)); } override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - 4), (globalPosition.y - 1)); _local1.upperBound = new b2Vec2((globalPosition.x + 4), (globalPosition.y + 1)); return (_local1); } override public function deactivate():void{ if (solidBody){ Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShape = null; } override public function advance():void{ (); (); } protected function ():void{ var _local1:Number; var _local2:Number; _local1 = 50; if (((charactersOnBoard.length + 1) * _local1) > 200){ _local1 = Math.floor((200 / (charactersOnBoard.length + 1))); };  = (x - ((charactersOnBoard.length * _local1) / 2)); _local2 = 0; while (_local2 < charactersOnBoard.length) { charactersOnBoard[_local2].finishIdealX = ( + ((_local2 + 1) * _local1)); if (!isNaN()){ if (Math.abs((charactersOnBoard[_local2].finishIdealX - )) < 20){ if ((charactersOnBoard[_local2].finishIdealX - x) > 50){ charactersOnBoard[_local2].finishIdealX = (charactersOnBoard[_local2].finishIdealX - 30); } else { if ((charactersOnBoard[_local2].finishIdealX - x) < -50){ charactersOnBoard[_local2].finishIdealX = (charactersOnBoard[_local2].finishIdealX + 30); } else { if (charactersOnBoard[_local2].finishIdealX > ){ charactersOnBoard[_local2].finishIdealX = (charactersOnBoard[_local2].finishIdealX + 30); } else { charactersOnBoard[_local2].finishIdealX = (charactersOnBoard[_local2].finishIdealX - 30); }; }; }; }; }; _local2++; }; } protected function ():void{ var _local1:Array; var _local2:Number; var _local3:Number; var _local4:IceBlock; var _local5:Number; var _local6:TargetBlock; var _local7:Wolfrat; var _local8:MovieClip; _local1 = []; _local2 = 0; while (_local2 < Controller.level.blockList.length) { _local4 = (Controller.level.blockList[_local2] as IceBlock); if (!_local4){ } else { if (!_local4.solidBody){ } else { if (Controller.level.isTouchingFinish(_local4.solidBody) != this){ if (_local4.touchFinish == this){ _local4.touchFinishTime = 0; }; } else { _local4.touchFinish = this; _local4.touchFinishTime++; if (_local4.solidBody.GetLinearVelocity().LengthSquared() > 0.1){ if (_local4.touchFinish == this){ _local4.touchFinishTime = 0; }; } else { if (_local4.touchFinishTime < 10){ } else { _local5 = (_local4.solidBody.GetWorldCenter().x * 32); if (_local5 < ()){ } else { if (_local5 > ()){ } else { _local6 = new TargetBlock(); _local6.rightHandSide = (_local5 > x); _local6.iceX = _local5; _local6.x = (_local6.rightHandSide) ? (_local5 - 30) : (_local5 + 30); _local6.dx = Math.abs((_local6.x - )); _local6.block = _local4; _local6.smashable = (_local4.getMass() < 4); _local6.containsCharacter = _local4.anyFrozenInside(); _local1.push(_local6); }; }; }; }; }; }; }; _local2++; }; _local2 = 0; while (_local2 < Controller.level.activeObjectList.length) { _local7 = (Controller.level.activeObjectList[_local2] as Wolfrat); if (!_local7){ } else { if (!_local7.solidBody){ } else { if (!Level.bodyIsTouchingBody(_local7.solidBody, solidBody)){ if (_local7.touchFinish == this){ _local7.touchFinishTime = 0; }; } else { _local7.touchFinish = this; _local7.touchFinishTime++; if (_local7.touchFinishTime < 10){ } else { _local6 = new TargetBlock(); _local6.rightHandSide = (_local7.x > x); _local6.iceX = _local7.x; _local6.x = (_local6.rightHandSide) ? (_local6.iceX - 30) : (_local6.iceX + 30); _local6.dx = Math.abs((_local6.x - )); _local6.object = _local7; _local1.push(_local6); }; }; }; }; _local2++; }; if (_local1.length < 1){  ++; if ( > 30){ _local3 =  ; } else { _local3 = ; };  = NaN; } else {  = 0; _local1.sortOn(["smashable", "containsCharacter", "dx"], [Array.DESCENDING, Array.DESCENDING, Array.NUMERIC]); _local3 = _local1[0].x;  = _local1[0].iceX; };  = ( + Global.deceleratingSweep(, _local3, , CAPTAIN_ACCEL, CAPTAIN_ACCEL)); if ( < _local3){  = ( + ); if ( > _local3){  = _local3;  = 0; }; } else {  = ( + ); if ( < _local3){  = _local3;  = 0; }; }; if ( > ()){  = (); }; if ( < ()){  = (); }; .x = ( - x); if ((((_local1.length > 0)) && ((Math.abs(( - _local1[0].x)) < 3)))){ if (.currentLabel == "smashFrame"){ if (_local1[0].block){ if (_local1[0].smashable){ _local1[0].block.smashAndFree(this); }; } else { if (((_local1[0].object) && ((_local1[0].object is Wolfrat)))){ (_local1[0].object as Wolfrat).smash(); NitromeGame.sound_manager.playSound("wolfratDying"); }; }; Controller.level.updateCounters(); } else { if (.currentLabel == "impactFrame"){ _local8 = (addChildAt(new HammerImpact(), 0) as MovieClip); _local8.x = (_local1[0].iceX - x); _local8.y = -48; if (_local1[0].block){ if (_local1[0].smashable){ NitromeGame.sound_manager.playSound("iceSmash"); } else { NitromeGame.sound_manager.playSound("iceTooLarge"); }; }; } else { if ((((.currentLabel == "standing")) || ((.currentLabel == "walking")))){ .gotoAndPlay("smashing"); }; }; }; .scaleX = (_local1[0].rightHandSide) ? 1 : -1; } else { if ( == 0){ if ( ){ if (.currentLabel != "victory"){ .gotoAndPlay("victory"); }; } else { if (.currentLabel != "standing"){ .gotoAndPlay("standing"); }; }; } else { if (.currentLabel != "walking"){ .gotoAndPlay("walking"); }; .scaleX = (()>0) ? 1 : -1; }; }; } override public function setPosition(_arg1:b2Vec2):void{ super.setPosition(_arg1);  = x; if (solidBody){ solidBody.SetXForm(_arg1, 0); }; } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2PolygonDef; var _local3:b2PolygonDef; var _local4:b2PolygonDef; if (((solidShape) || (solidBody))){ return; }; _local1 = new b2BodyDef(); if (globalPosition){ _local1.position.Set(globalPosition.x, globalPosition.y); }; solidBody = Controller.level.world.CreateBody(_local1); _local2 = new b2PolygonDef(); _local2.vertexCount = 4; _local2.vertices[0] = new b2Vec2(-4, -1); _local2.vertices[1] = new b2Vec2(4, -1); _local2.vertices[2] = new b2Vec2(3, 0); _local2.vertices[3] = new b2Vec2(-3, 0); _local2.friction = 0.7; solidShape = (solidBody.CreateShape(_local2) as b2PolygonShape); _local3 = new b2PolygonDef(); _local3.vertexCount = 6; _local3.vertices[0] = new b2Vec2(-4, -1); _local3.vertices[1] = new b2Vec2(-5, -2.2); _local3.vertices[2] = new b2Vec2(-4.4, -3); _local3.vertices[3] = new b2Vec2(-3.6, -3.2); _local3.vertices[4] = new b2Vec2(-3.3, -2.8); _local3.vertices[5] = new b2Vec2(-3.3, -1); _local3.friction = 0.7; solidBody.CreateShape(_local3); _local4 = new b2PolygonDef(); _local4.vertexCount = 7; _local4.vertices[0] = new b2Vec2(4, -1); _local4.vertices[1] = new b2Vec2(3.5, -1); _local4.vertices[2] = new b2Vec2(3.3, -1.9); _local4.vertices[3] = new b2Vec2(3.5, -2.3); _local4.vertices[4] = new b2Vec2(3.8, -2.7); _local4.vertices[5] = new b2Vec2(4.2, -2.7); _local4.vertices[6] = new b2Vec2(4.5, -2.3); _local4.friction = 0.7; solidBody.CreateShape(_local4); } override public function create():void{ Controller.finishLayer.addChild(this); } } }//package com.nitrome.icebreaker class TargetBlock { public var rightHandSide:Boolean; public var containsCharacter:Boolean; public var block:IceBlock; public var dx:Number; public var smashable:Boolean; public var x:Number; public var iceX:Number; public var object:ActiveObject; private function TargetBlock(){ } }
Section 127
//ForceBlock (com.nitrome.icebreaker.ForceBlock) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import flash.display.*; import flash.geom.*; public class ForceBlock extends IceBlock { public var  :Array; public static var forceBlockTexture:BitmapData; public function ForceBlock(){   = []; super(); if (!forceBlockTexture){ forceBlockTexture = new ForceBlockTexture(125, 125); }; texture = forceBlockTexture; } override public function advance():void{ var _local1:b2Vec2; var _local2:Number; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:MovieClip; var _local10:Number; var _local11:ForceParticle; super.advance(); if (((solidBody) && (!(solidBody.IsFrozen())))){ _local1 = new b2Vec2(); _local2 = 0; while (_local2 < vertexList.length) { if (originalLine[_local2]){ } else { _local3 = solidBody.GetWorldPoint(vertexList[_local2]); _local4 = solidBody.GetWorldPoint(vertexList[((_local2 + 1) % vertexList.length)]); _local5 = new b2Vec2((_local4.y - _local3.y), (_local3.x - _local4.x)); _local5.Multiply(-20); _local1.Add(_local5); _local6 = (_local5.Length() / 50); _local7 = (Math.floor(((Controller.frameNumber + 1) * _local6)) - Math.floor((Controller.frameNumber * _local6))); _local8 = 0; while (_local8 < _local7) { _local9 = new ForceBlockForceMC(); _local10 = Math.random(); Controller.particleLayer.addChildAt(_local9, 0); _local9.x = (((_local10 * _local3.x) + ((1 - _local10) * _local4.x)) * 32); _local9.y = (((_local10 * _local3.y) + ((1 - _local10) * _local4.y)) * 32); _local11 = new ForceParticle(); _local11.mc = _local9; _local11.vx = (-(_local5.x) / 20); _local11.vy = (-(_local5.y) / 20);  .push(_local11); _local8++; }; }; _local2++; }; solidBody.ApplyForce(_local1, solidBody.GetWorldCenter()); _local2 = ( .length - 1); while (_local2 >= 0) { if ( [_local2].mc.parent){  [_local2].mc.x = ( [_local2].mc.x +  [_local2].vx);  [_local2].mc.y = ( [_local2].mc.y +  [_local2].vy); } else {  .splice(_local2, 1); }; _local2--; }; }; } override public function prerenderBitmap():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Sprite; var _local5:Rectangle; if (vertexList.length < 3){ bitmapData = null; return; }; _local1 = Infinity; _local2 = -(Infinity); _local3 = 0; while (_local3 < vertexList.length) { if (vertexList[_local3].x < _local1){ _local1 = vertexList[_local3].x; }; if (vertexList[_local3].x > _local2){ _local2 = vertexList[_local3].x; }; _local3++; }; _local1 = (_local1 * 32); _local2 = (_local2 * 32); _local4 = new Sprite(); _local4.graphics.clear(); if (texture){ _local4.graphics.beginBitmapFill(texture); } else { _local4.graphics.beginFill(1193046, 0.5); }; _local4.graphics.moveTo((vertexList[0].x * 32), (vertexList[0].y * 32)); _local3 = 1; while (_local3 <= vertexList.length) { _local4.graphics.lineStyle(1, 6253241, (originalLine[(_local3 - 1)]) ? 1 : 0.4); _local4.graphics.lineTo((vertexList[(_local3 % vertexList.length)].x * 32), (vertexList[(_local3 % vertexList.length)].y * 32)); _local3++; }; _local4.graphics.endFill(); _local5 = _local4.getBounds(_local4); _local5.inflate(1, 1); drawDeltaX = Math.floor(_local5.left); drawDeltaY = Math.floor(_local5.top); bitmapData = new BitmapData(Math.ceil(_local5.width), Math.ceil(_local5.height), true, 0); bitmapData.draw(_local4, new Matrix(1, 0, 0, 1, -(drawDeltaX), -(drawDeltaY))); sprite = new Sprite(); sprite.addChild(new Bitmap(bitmapData, "auto", true)); updateBitmap(); Controller.blockLayer.addChild(sprite); } } }//package com.nitrome.icebreaker import flash.display.*; class ForceParticle { public var vx:Number; public var vy:Number; public var mc:MovieClip; private function ForceParticle(){ } }
Section 128
//FrozenCharacter (com.nitrome.icebreaker.FrozenCharacter) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class FrozenCharacter extends Character { public var globalPosition:b2Vec2; public var :Number; public var localPosition:b2Vec2; public var insideBlock:IceBlock; public function FrozenCharacter(){ (); } override public function advance():void{ super.advance(); if (!atFinish){ updatePosition(); --; if ( < 1){ if (Math.random() >= 0.5){ gotoAndPlay("frozenBlink"); } else { gotoAndPlay("frozenShine"); }; (); }; } else { globalPosition.x = (x / 32); globalPosition.y = (y / 32); }; } public function ():void{  = (30 + Math.floor((Math.random() * 200))); } override public function getPosition():b2Vec2{ return (globalPosition); } protected function updatePosition():void{ if (((((insideBlock) && (insideBlock.solidBody))) && (localPosition))){ globalPosition = insideBlock.solidBody.GetWorldPoint(localPosition); rotation = ((insideBlock.solidBody.GetAngle() * 180) / Math.PI); }; x = (globalPosition.x * 32); y = (globalPosition.y * 32); } override public function setPosition(_arg1:b2Vec2):void{ var _local2:Number; var _local3:IceBlock; var _local4:Number; var _local5:b2Shape; _local2 = 0; while (_local2 < Controller.level.blockList.length) { _local3 = (Controller.level.blockList[_local2] as IceBlock); if (!_local3){ } else { if (!_local3.solidBody){ } else { _local4 = 0; while (_local4 < _local3.solidShapes.length) { _local5 = _local3.solidShapes[_local4]; if (_local5.TestPoint(_local3.solidBody.m_xf, _arg1)){ insideBlock = _local3; localPosition = _local3.solidBody.GetLocalPoint(_arg1); //unresolved jump }; _local4++; }; }; }; _local2++; }; globalPosition = _arg1.Copy(); updatePosition(); } } }//package com.nitrome.icebreaker
Section 129
//FrozenGuy1 (com.nitrome.icebreaker.FrozenGuy1) package com.nitrome.icebreaker { public dynamic class FrozenGuy1 extends FrozenCharacter { public function FrozenGuy1(){ addFrameScript(0, frame1, 14, frame15, 40, frame41, 65,  , 78,  , 97,  ); } function  (){ gotoAndPlay("walking"); } function  (){ gotoAndPlay("victory"); } function frame15(){ gotoAndStop("frozen"); } function frame1(){ stop(); } function frame41(){ gotoAndStop("frozen"); } function  (){ gotoAndPlay("standing"); } } }//package com.nitrome.icebreaker
Section 130
//HelpSign (com.nitrome.icebreaker.HelpSign) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.*; public class HelpSign extends ActiveObject { public var attachedBlock:Block; public var localPosition:b2Vec2; override public function updatePosition():void{ super.updatePosition(); rotation = (((attachedBlock) && (attachedBlock.solidBody))) ? ((attachedBlock.solidBody.GetAngle() * 180) / Math.PI) : 0; } override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - 0.75), (globalPosition.y - 1.5)); _local1.upperBound = new b2Vec2((globalPosition.x + 0.75), globalPosition.y); return (_local1); } override public function deactivate():void{ super.deactivate(); attachedBlock = null; Controller.level.showHint = false; } override public function advance():void{ super.advance(); if (((attachedBlock) && (attachedBlock.solidBody))){ globalPosition = attachedBlock.solidBody.GetWorldPoint(localPosition); updatePosition(); }; Controller.level.showHint = hitTestPoint(Controller.root.mouseX, Controller.root.mouseY); } override public function activate():void{ super.activate(); attachedBlock = Controller.level.searchForBlock(globalPosition); if (!attachedBlock){ return; }; localPosition = attachedBlock.solidBody.GetLocalPoint(globalPosition); } override public function create():void{ super.create(); Controller.activeLayer.addChild(this); } } }//package com.nitrome.icebreaker
Section 131
//IceBlock (com.nitrome.icebreaker.IceBlock) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import flash.display.*; import com.nitrome.util.*; public class IceBlock extends Block { public var touchFinishTime:Number;// = 0 public var touchFinish:Finish;// = null public static var iceTexture:BitmapData; public function IceBlock(){ touchFinishTime = 0; touchFinish = null; super(); if (!iceTexture){ iceTexture = new IceTexture(125, 125); }; texture = iceTexture;  = 0.7;   = 0xFFFFFF;   = 1.4;   = 3102341; } override public function advance():void{ var _local1:b2AABB; var _local2:Number; var _local3:Number; super.advance(); _local1 = getBoundingBox(); if (((((solidBody) && (_local1))) && ((_local1.upperBound.y > Controller.level.sea.yPosition)))){ _local2 = ((_local1.upperBound.y - Controller.level.sea.yPosition) / (_local1.upperBound.y - _local1.lowerBound.y)); if (_local2 > 1){ _local2 = 1; }; _local3 = (1 - (0.15 * _local2)); solidBody.SetLinearVelocity(new b2Vec2((solidBody.m_linearVelocity.x * _local3), (solidBody.m_linearVelocity.y * _local3))); solidBody.SetAngularVelocity((solidBody.m_angularVelocity * _local3)); if (_local1.lowerBound.y > ((Controller.level.sea.yPosition + (Level.SEA_MAX_HEIGHT / 32)) + 2)){ destroyContained(); unsolidify(); Global.removeFromList(this, Controller.level.blockList); }; }; } override public function prerenderBitmap():void{ super.prerenderBitmap(); sprite.alpha = 0.7; } override protected function makePoly(_arg1:Array):b2PolygonShape{ var _local2:b2PolygonDef; _local2 = new b2PolygonDef(); _local2.vertexCount = _arg1.length; _local2.vertices = _arg1.slice(); _local2.density = 1; _local2.friction = 0.2; return ((solidBody.CreateShape(_local2) as b2PolygonShape)); } public function smashAndFree(_arg1:Finish):void{ var _local2:Number; var _local3:Number; var _local4:IceFragment; destroyContained(true, _arg1); _local2 = int((getMass() * 3)); if (_local2 > 10){ _local2 = 10; }; _local3 = 0; while (_local3 < _local2) { _local4 = new IceFragment(this); _local4.create(); Controller.level.fragmentList.push(_local4); _local3++; }; unsolidify(); Global.removeFromList(this, Controller.level.blockList); } public function anyFrozenInside():Boolean{ var _local1:Number; var _local2:FrozenCharacter; _local1 = 0; while (_local1 < Controller.level.characterList.length) { _local2 = (Controller.level.characterList[_local1] as FrozenCharacter); if (!_local2){ } else { if (_local2.insideBlock == this){ return (true); }; }; _local1++; }; return (false); } override public function divide(_arg1:b2Vec2, _arg2:b2Vec2):Array{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Array; var _local7:Number; var _local8:Array; var _local9:Boolean; var _local10:Array; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:ShapeLineIntersection; var _local15:Number; var _local16:Number; var _local17:PotentialBlock; var _local18:*; var _local19:*; var _local20:*; var _local21:Array; var _local22:Block; var _local23:Number; var _local24:b2Vec2; _local3 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local3.Normalize(); _local4 = new b2Vec2(_local3.y, -(_local3.x)); _local5 = b2Math.b2Dot(_arg1, _local4); _local6 = []; _local7 = 0; while (_local7 < vertexList.length) { _local11 = localToGlobal(vertexList[_local7]); _local12 = localToGlobal(vertexList[((_local7 + 1) % vertexList.length)]); _local13 = Geometry.segmentIntersection(_local11, _local12, _arg1, _arg2); if (!_local13){ } else { _local14 = new ShapeLineIntersection(); _local14.location = _local13; _local14.vertex = _local7; _local14.locationAlongLine = b2Math.b2Dot(_local3, _local13); _local14.shapePathDirection = (b2Math.b2Dot(_local4, _local12) >= _local5); _local6.push(_local14); }; _local7++; }; if (_local6.length == 0){ return (null); }; _local6.sortOn("locationAlongLine", Array.NUMERIC); _local8 = []; _local7 = 0; while (_local7 < vertexList.length) { _local8[_local7] = false; _local7++; }; _local9 = false; _local10 = []; while (!(_local9)) { _local7 = 0; while (_local7 < vertexList.length) { if (!_local8[_local7]){ _local15 = _local7; break; }; _local7++; }; _local16 = _local15; _local17 = new PotentialBlock(); _local17.path = []; _local17.originalLines = []; do { _local18 = -1; _local7 = 0; while (_local7 < _local6.length) { if (_local6[_local7].vertex == _local16){ _local18 = _local7; }; _local7++; }; if (_local18 == -1){ _local8[_local16] = true; ++_local16; if (_local16 >= vertexList.length){ _local16 = 0; }; _local17.path.push(vertexList[_local16]); _local17.originalLines.push(originalLine[_local16]); } else { _local14 = _local6[_local18]; _local19 = (_local18 + (_local14.shapePathDirection) ? 1 : -1); _local20 = _local6[_local19]; if (((_local20) && (!((_local20.shapePathDirection == _local14.shapePathDirection))))){ _local8[_local16] = true; _local17.originalLines.push(false); _local17.originalLines.push(originalLine[_local20.vertex]); _local17.originalLines.push(originalLine[((_local20.vertex + 1) % vertexList.length)]); _local16 = ((_local20.vertex + 1) % vertexList.length); _local17.path.push(globalToLocal(_local14.location)); _local17.path.push(globalToLocal(_local20.location)); _local17.path.push(vertexList[_local16]); } else { _local8[_local16] = true; _local16 = ((_local16 + 1) % vertexList.length); _local17.path.push(vertexList[_local16]); _local17.originalLines.push(originalLine[_local16]); }; }; } while (_local16 != _local15); _local10.push(_local17); _local9 = true; _local7 = 0; while (_local7 < vertexList.length) { if (!_local8[_local7]){ _local9 = false; }; _local7++; }; }; if (_local10.length > 1){ _local21 = []; _local7 = 0; while (_local7 < _local10.length) { if (_local17.path.length < 3){ } else { if ((this is ForceBlock)){ _local22 = new ForceBlock(); } else { _local22 = new IceBlock(); }; _local23 = 0; while (_local23 < _local10[_local7].path.length) { _local22.addVertex(_local10[_local7].path[_local23], _local10[_local7].originalLines[_local23]); _local23++; }; _local22.position = solidBody.GetPosition(); _local22.rotation = solidBody.GetAngle(); _local24 = _local10[_local7].approximateCentroid(); _local22.velocity = solidBody.GetLinearVelocityFromLocalPoint(_local24); _local22.rotationalVelocity = solidBody.GetAngularVelocity(); _local22.solidify(); if (_local22.getMass() < 0.1){ _local22.unsolidify(); } else { _local21.push(_local22); }; }; _local7++; }; if (_local21.length > 1){ unsolidify(); return (_local21); }; if (_local21[0]){ _local21[0].unsolidify(); }; return (null); }; return (null); } } }//package com.nitrome.icebreaker import Box2D.Common.Math.*; class ShapeLineIntersection { public var vertex:Number; public var location:b2Vec2; public var shapePathDirection:Boolean; public var locationAlongLine:Number; private function ShapeLineIntersection(){ } } class PotentialBlock { public var path:Array; public var originalLines:Array; private function PotentialBlock(){ } public function approximateCentroid():b2Vec2{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local1 = 0; _local2 = 0; _local3 = 0; _local4 = 0; while (_local4 < path.length) { _local5 = path[_local4].x; _local6 = path[_local4].y; _local7 = path[((_local4 + 1) % path.length)].x; _local8 = path[((_local4 + 1) % path.length)].y; _local9 = ((_local5 * _local8) - (_local7 * _local6)); _local1 = (_local1 + _local9); _local2 = (_local2 + ((_local5 + _local7) * _local9)); _local3 = (_local3 + ((_local6 + _local8) * _local9)); _local4++; }; _local1 = (_local1 * 0.5); _local1 = Math.abs(_local1); _local2 = (_local2 / (6 * _local1)); _local3 = (_local3 / (6 * _local1)); return (new b2Vec2(_local2, _local3)); } }
Section 132
//IceFragment (com.nitrome.icebreaker.IceFragment) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.*; import flash.display.*; import com.nitrome.util.*; public class IceFragment extends MovieClip { public var globalPosition:b2Vec2; public var  :Number; public var velocity:b2Vec2; public function IceFragment(_arg1:IceBlock){ var _local2:b2AABB; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; super(); _local2 = _arg1.getBoundingBox(); _local3 = ((_local2.upperBound.x + _local2.lowerBound.x) * 0.5); _local4 = ((_local2.upperBound.y + _local2.lowerBound.y) * 0.5); _local5 = (_local2.upperBound.x - _local2.lowerBound.x); _local6 = (_local2.upperBound.y - _local2.lowerBound.y); globalPosition = new b2Vec2(); _local7 = 0; while (_local7 < 10) { globalPosition.x = (_local2.lowerBound.x + (Math.random() * _local5)); globalPosition.y = (_local2.lowerBound.y + (Math.random() * _local6)); if (_arg1.testPoint(globalPosition)){ break; }; _local7++; }; velocity = new b2Vec2(); velocity.x = ((globalPosition.x - _local3) * 0.06); velocity.y = (((globalPosition.y - _local4) * 0.06) - 0.3);  = ((Math.random() - 0.5) * 20); gotoAndStop(((1 + int((Math.random() * 5))) + ((_arg1 is ForceBlock)) ? 5 : 0)); alpha = 0.7; globalPosition. (velocity); advance(); } public function destroy():void{ if (parent){ parent.removeChild(this); }; Global.removeFromList(this, Controller.level.fragmentList); } public function create():void{ Controller.fragmentLayer.addChild(this); } public function advance():void{ velocity.y = (velocity.y + 0.03); globalPosition.Add(velocity); x = int((globalPosition.x * 32)); y = int((globalPosition.y * 32)); rotation = (rotation +  ); if (globalPosition.y > (Controller.level.sea.yPosition + 4)){ destroy(); }; } } }//package com.nitrome.icebreaker
Section 133
//Level (com.nitrome.icebreaker.Level) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import flash.display.*; import flash.events.*; import flash.geom.*; import Box2D.Dynamics.Contacts.*; import com.nitrome.util.*; import com.nitrome.game.*; public class Level { public var cameraFocusX:Number;// = 0 public var cameraFocusY:Number;// = 0 public var fragmentList:Array; public var world:b2World; public var constraintList:Array; public var :Number;// = 0 public var :Number;// = 0 public var activeObjectList:Array; public var showHint:Boolean;// = false public var background:Background; public var topEdge:Number; public var  :Boolean;// = false public var  :Number;// = 0 public var  :Sprite;// = null public var :HintOverlay; public var blockList:Array; public var sea:Sea; public var :Number;// = 0 public var :Boolean;// = false public var  :b2Vec2;// = null public var  :Number;// = 0 public var  :MiniMap; public var leftEdge:Number; public var characterList:Array; public var editor:EditorPanel; public var :Boolean;// = false public var rightEdge:Number; public var  :Number;// = 0 public static const SEA_MAX_HEIGHT:Number = 50; public static const EDITOR_ENABLED:Boolean = false; public function Level(){  = false;  = null;  = false;  = null;  = 0;  = 0; cameraFocusX = 0; cameraFocusY = 0;  = 0;  = 0;  = 0;  = 0;  = false; showHint = false; super(); } public function isTouchingFinish(_arg1:b2Body):Finish{ var _local2:b2ContactEdge; var _local3:Number; var _local4:Finish; if (!_arg1){ return (null); }; _local2 = _arg1.m_contactList; while (_local2) { if (((_local2.contact) && ((_local2.contact.m_manifoldCount > 0)))){ _local3 = 0; while (_local3 < Controller.level.activeObjectList.length) { _local4 = (Controller.level.activeObjectList[_local3] as Finish); if (((_local4) && ((_local4.solidBody == _local2.other)))){ if (_local2.contact.GetShape1().GetBody() == _local4.solidBody){ //unresolved if } else { if (_local2.contact.GetShape2().GetBody() == _local4.solidBody){ //unresolved if } else { return (_local4); }; }; }; _local3++; }; }; _local2 = _local2.next; }; return (null); } public function advance():void{ var _local1:Number; var _local2:Number; if (editor){ }; if (((((!(editor)) || (!(editor.isGameFrozen())))) && (!(Controller.isPaused())))){ if (((!(Controller.DEBUG)) || (!(Key.isDown(Key.H))))){ _local2 = 2; _local1 = 0; while (_local1 < _local2) { world.Step(((1 / 25) / _local2), (10 / _local2)); _local1++; }; }; _local1 = 0; while (_local1 < blockList.length) { blockList[_local1].advance(); _local1++; }; _local1 = 0; while (_local1 < characterList.length) { characterList[_local1].advance(); _local1++; }; _local1 = 0; while (_local1 < blockList.length) { blockList[_local1].updateBitmap(); _local1++; }; _local1 = 0; while (_local1 < constraintList.length) { constraintList[_local1].advance(); _local1++; }; _local1 = 0; while (_local1 < activeObjectList.length) { activeObjectList[_local1].advance(); _local1++; }; _local1 = (fragmentList.length - 1); while (_local1 >= 0) { fragmentList[_local1].advance(); _local1--; }; };  (); (); sea.advance();  .advance(); if (){ .advance(); }; if (! ){ (); }; if (!){ Controller.cutLayer.alpha = Global.slide(Controller.cutLayer.alpha, 0, 0.1); }; } public function create(_arg1:XML):void{ var _local2:b2AABB; var _local3:Number; var _local4:Array; var _local5:XML; var _local6:Block; var _local7:PinConstraint; var _local8:LinkConstraint; var _local9:TurningPinsConstraint; var _local10:Character; var _local11:ActiveObject; leftEdge = -400; rightEdge = 400; topEdge = -500; if (_arg1.hasOwnProperty("@el")){ leftEdge = Number(_arg1.@el); }; if (_arg1.hasOwnProperty("@er")){ rightEdge = Number(_arg1.@er); }; if (_arg1.hasOwnProperty("@et")){ topEdge = Number(_arg1.@et); }; _local2 = new b2AABB(); _local2.upperBound.Set(((rightEdge + 550) / 32), (1000 / 32)); _local2.lowerBound.Set(((leftEdge - 550) / 32), ((topEdge - 550) / 32)); world = new b2World(_local2, new b2Vec2(0, 5), true); world.SetContactListener(new ContactListener()); blockList = []; characterList = []; constraintList = []; activeObjectList = []; for each (_local5 in _arg1.b) { if (_local5.@t == "i"){ _local6 = new IceBlock(); } else { if (_local5.@t == "w"){ _local6 = new WoodBlock(); } else { if (_local5.@t == "d"){ _local6 = new DeathBlock(); } else { if (_local5.@t == "f"){ _local6 = new ForceBlock(); } else { _local6 = new Block(); }; }; }; }; _local4 = _local5.@v.split(","); _local3 = 0; while (_local3 < _local4.length) { _local6.addVertex(new b2Vec2((_local4[_local3] / 32), (_local4[(_local3 + 1)] / 32))); _local3 = (_local3 + 2); }; _local6.solidify(); _local6.editorLocked = true; blockList.push(_local6); }; for each (_local5 in _arg1.p) { _local7 = new PinConstraint(); _local4 = _local5.@pos.split(","); _local7.create(); _local7.setPosition(new b2Vec2((_local4[0] / 32), (_local4[1] / 32))); constraintList.push(_local7); }; for each (_local5 in _arg1.l) { _local8 = new LinkConstraint(); _local8.create(); _local4 = _local5.@p1.split(","); _local8.setPosition1(new b2Vec2((_local4[0] / 32), (_local4[1] / 32))); _local4 = _local5.@p2.split(","); _local8.setPosition2(new b2Vec2((_local4[0] / 32), (_local4[1] / 32))); constraintList.push(_local8); }; for each (_local5 in _arg1.tp) { _local9 = new TurningPinsConstraint(); _local9.spinSpeed = Number(_local5.@sp); _local4 = _local5.@pos.split(","); _local9.create(); _local9.setPosition(new b2Vec2((_local4[0] / 32), (_local4[1] / 32))); constraintList.push(_local9); }; for each (_local5 in _arg1.c) { if (_local5.@t == "f1"){ _local10 = new FrozenGuy1(); } else { if (_local5.@t == "s1"){ _local10 = new StandingGuy1(); } else { continue; }; }; _local4 = _local5.@pos.split(","); _local10.create(); _local10.setPosition(new b2Vec2((_local4[0] / 32), (_local4[1] / 32))); characterList.push(_local10); }; for each (_local5 in _arg1.ao) { if (_local5.@t == "f"){ _local11 = new Finish(); } else { if (_local5.@t == "w"){ _local11 = new Weight(); } else { if (_local5.@t == "b"){ _local11 = new Bird(); } else { if (_local5.@t == "pa32"){ _local11 = new ProtectedArea32(); } else { if (_local5.@t == "pa64"){ _local11 = new ProtectedArea64(); } else { if (_local5.@t == "pa28"){ _local11 = new ProtectedArea128(); } else { if (_local5.@t == "wr"){ _local11 = new Wolfrat(); } else { if (_local5.@t == "fw"){ _local11 = new FatWoman(); } else { if (_local5.@t == "hs"){ _local11 = new HelpSign(); } else { continue; }; }; }; }; }; }; }; }; }; _local4 = _local5.@pos.split(","); _local11.create(); _local11.setPosition(new b2Vec2((_local4[0] / 32), (_local4[1] / 32))); activeObjectList.push(_local11); };  = 30; activateAll(); sea = new Sea(); if (_arg1.hasOwnProperty("@sy")){ sea.create(_arg1.@sy); } else { sea.create(0); };  = new MiniMap();  .create();  = new HintOverlay(); .create(_arg1.@ht); if (((EDITOR_ENABLED) && (!(editor)))){ editor = new EditorPanel(); }; fragmentList = [];  = 0; updateCounters(); Controller.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); Controller.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); Controller.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp); Controller.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } protected function  ():void{ if (Controller.isPaused()){ return; }; if (){ if ((((((Controller.stage.mouseX < 50)) || (Key.isDown(Key.LEFT)))) || (Key.isDown(Key.A)))){  = -10; } else { if ((((((Controller.stage.mouseX > 500)) || (Key.isDown(Key.RIGHT)))) || (Key.isDown(Key.D)))){  = 10; } else {  = 0; }; }; if ((((((Controller.stage.mouseY < 50)) || (Key.isDown(Key.UP)))) || (Key.isDown(Key.W)))){  = -10; } else { if ((((((Controller.stage.mouseY > 350)) || (Key.isDown(Key.DOWN)))) || (Key.isDown(Key.S)))){  = 10; } else {  = 0; }; }; } else {  = 0;  = 0; };  = Global.slide(,  , 1);  = Global.slide(, , 1); cameraFocusX = (cameraFocusX + ); cameraFocusY = (cameraFocusY + ); if (((!(editor)) || (!(editor.isGameFrozen())))){ if (cameraFocusY > (((sea.yPosition * 32) - 200) + SEA_MAX_HEIGHT)){ cameraFocusY = (((sea.yPosition * 32) - 200) + SEA_MAX_HEIGHT); if ( > 0){  = 0; }; }; if (cameraFocusX < (leftEdge + 275)){ cameraFocusX = (leftEdge + 275); if ( < 0){  = 0; }; }; if (cameraFocusX > (rightEdge - 275)){ cameraFocusX = (rightEdge - 275); if ( > 0){  = 0; }; }; if (cameraFocusY < (topEdge + 200)){ cameraFocusY = (topEdge + 200); if ( < 0){  = 0; }; }; }; Controller.content.x = (275 - cameraFocusX); Controller.content.y = (200 - cameraFocusY); Controller.background.cloudsDeltaX = (Controller.background.cloudsDeltaX + 0.333); Controller.background.scrollTo((cameraFocusX - (leftEdge + 275)), (cameraFocusY - (((sea.yPosition * 32) - 200) + SEA_MAX_HEIGHT))); } public function deactivateAll():void{ var _local1:Number; _local1 = 0; while (_local1 < constraintList.length) { constraintList[_local1].deactivate(); _local1++; }; _local1 = 0; while (_local1 < activeObjectList.length) { activeObjectList[_local1].deactivate(); _local1++; }; } public function getScore():Number{ if ( < 10){ return ([1000, 800, 700, 600, 500, 450, 400, 350, 300, 250][ ]); }; return (Math.max((200 - ( * 10)), 0)); } public function mouseMove(_arg1:MouseEvent):void{ var _local2:b2Vec2; var _local3:Boolean; var _local4:Number; if (editor){ editor.mouseMove(_arg1); }; if (){ _local2 = new b2Vec2((Controller.content.mouseX / 32), (Controller.content.mouseY / 32)); _local3 = true; _local4 = 0; while (_local4 < activeObjectList.length) { if (!(activeObjectList[_local4] is ProtectedArea)){ } else { if ((activeObjectList[_local4] as ProtectedArea).sliceTouches( , _local2)){ _local3 = false; break; }; }; _local4++; }; Controller.cutLayer.graphics.clear(); if (_local3){ Controller.cutLayer.graphics.lineStyle(2, 0xFFFFFF); } else { Controller.cutLayer.graphics.lineStyle(2, 0xFF0000); }; Controller.cutLayer.graphics.moveTo(( .x * 32), ( .y * 32)); Controller.cutLayer.graphics.lineTo(Controller.content.mouseX, Controller.content.mouseY); };  = true; } public function mouseLeave(_arg1:Event):void{  = false; } public function ():void{ var _local1:Number; _local1 = 0; while (_local1 < constraintList.length) { constraintList[_local1].deactivate(); _local1++; }; } public function mouseUp(_arg1:MouseEvent):void{ var _local2:b2Vec2; var _local3:Boolean; if (editor){ editor.mouseUp(_arg1); }; if (){  = false; _local2 = new b2Vec2((Controller.content.mouseX / 32), (Controller.content.mouseY / 32)); if (_local2.x < (leftEdge / 32)){ _local2 = Geometry.lineIntersection( , _local2, new b2Vec2((leftEdge / 32), 0), new b2Vec2((leftEdge / 32), 100)); }; if (_local2.x > (rightEdge / 32)){ _local2 = Geometry.lineIntersection( , _local2, new b2Vec2((rightEdge / 32), 0), new b2Vec2((rightEdge / 32), 100)); }; if (_local2.y < (topEdge / 32)){ _local2 = Geometry.lineIntersection( , _local2, new b2Vec2(0, (topEdge / 32)), new b2Vec2(100, (topEdge / 32))); }; if (_local2.y > (sea.yPosition + (SEA_MAX_HEIGHT / 32))){ _local2 = Geometry.lineIntersection( , _local2, new b2Vec2(0, (sea.yPosition + (SEA_MAX_HEIGHT / 32))), new b2Vec2(100, (sea.yPosition + (SEA_MAX_HEIGHT / 32)))); }; _local3 = slice( , _local2); if (!_local3){ Controller.cutLayer.graphics.clear(); Controller.cutLayer.graphics.lineStyle(2, 0xFF0000); Controller.cutLayer.graphics.moveTo(( .x * 32), ( .y * 32)); Controller.cutLayer.graphics.lineTo((_local2.x * 32), (_local2.y * 32)); }; }; } public function slice(_arg1:b2Vec2, _arg2:b2Vec2):Boolean{ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local9:Number; var _local10:FrozenCharacter; var _local11:Number; var _local12:Number; var _local13:Block; var _local14:Array; var _local15:FrozenCharacter; var _local16:LinkConstraint; var _local17:Array; var _local18:FatWoman; _local3 = blockList.slice(); _local4 = constraintList.slice(); _local5 = activeObjectList.slice(); _local6 = false; _local7 = false; _local8 = false; if (((editor) && (editor.isGameFrozen()))){ return (false); }; _local9 = 0; while (_local9 < activeObjectList.length) { if (!(activeObjectList[_local9] is ProtectedArea)){ } else { if ((activeObjectList[_local9] as ProtectedArea).sliceTouches(_arg1, _arg2)){ return (false); }; }; _local9++; }; _local9 = 0; while (_local9 < characterList.length) { _local10 = (characterList[_local9] as FrozenCharacter); if (!_local10){ } else { _local11 = Geometry.squareDistancePointToSegment(_arg1, _arg2, _local10.getPosition()); _local12 = (16 / 32); if (_local11 < (_local12 * _local12)){ Global.removeFromList(_local10.insideBlock, _local3); }; }; _local9++; }; while (_local3.length > 0) { _local13 = _local3.shift(); if (!(_local13 is IceBlock)){ } else { _local13.deactivateContained(); _local14 = _local13.divide(_arg1, _arg2); if (!_local14){ } else { _local6 = true; _local7 = true; Global.removeFromList(_local13, blockList); blockList = blockList.concat(_local14); _local9 = 0; while (_local9 < characterList.length) { _local15 = (characterList[_local9] as FrozenCharacter); if (!_local15){ } else { if (_local15.insideBlock != _local13){ } else { _local15.setPosition(_local15.getPosition()); }; }; _local9++; }; }; }; }; activateAll(); while (_local4.length > 0) { _local16 = (_local4.shift() as LinkConstraint); if (!_local16){ } else { _local17 = _local16.divide(_arg1, _arg2); if (!_local17){ } else { _local6 = true; _local8 = true; Global.removeFromList(_local16, constraintList); constraintList = constraintList.concat(_local17); }; }; }; while (_local5.length > 0) { _local18 = (_local5.shift() as FatWoman); if (!_local18){ } else { if (!_local18.divide(_arg1, _arg2)){ } else { _local6 = true; Global.removeFromList(_local18, activeObjectList); }; }; }; if (_local6){  ++; updateCounters(); }; if (_local7){ if (Math.random() > 0.5){ NitromeGame.sound_manager.playSound("ice3"); } else { NitromeGame.sound_manager.playSound("ice4"); }; }; if (_local8){ NitromeGame.sound_manager.playSound("ropeBreak"); }; if (!_local6){ NitromeGame.sound_manager.playSound("noslice"); }; return (_local6); } public function activateAll():void{ var _local1:Number; _local1 = 0; while (_local1 < activeObjectList.length) { activeObjectList[_local1].activate(); _local1++; }; _local1 = 0; while (_local1 < constraintList.length) { constraintList[_local1].activate(); _local1++; }; } public function failed():void{ if (! ){ if (!EDITOR_ENABLED){ Controller.popup.open("failed"); };  = true; }; } public function searchForBlock(_arg1:b2Vec2):Block{ var _local2:Number; if (!_arg1){ return (null); }; _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_arg1)){ return (blockList[_local2]); }; _local2++; }; return (null); } public function ():void{ var _local1:Number; _local1 = 0; while (_local1 < constraintList.length) { constraintList[_local1].activate(); _local1++; }; } public function completed():void{ if (! ){ Score.value = (Score.value + getScore()); if (!EDITOR_ENABLED){ Controller.popup.open("complete"); }; NitromeGame.setLevelUnlocked((Controller.loadedLevelNumber + 1));  = true; }; } public function reduceToXML():XML{ var _local1:XML; var _local2:XML; var _local3:Array; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:String; var _local7:Number; var _local8:Number; _local1 = new XML((((((((((("<level el=\"" + ??esc_xattr ) + "\" er=\"") + ??esc_xattr ) + "\" et=\"") + ??esc_xattr ) + "\" sy=\"") + ??esc_xattr ) + "\" ht=\"") + ??esc_xattr ) + "\"/>")); _local7 = 0; while (_local7 < blockList.length) { if (blockList[_local7].vertexList.length < 3){ } else { _local2 = <b/> ; if ((blockList[_local7] is ForceBlock)){ _local2.@t = "f"; } else { if ((blockList[_local7] is IceBlock)){ _local2.@t = "i"; } else { if ((blockList[_local7] is WoodBlock)){ _local2.@t = "w"; } else { if ((blockList[_local7] is DeathBlock)){ _local2.@t = "d"; } else { _local2.@t = "n"; }; }; }; }; _local3 = []; _local8 = 0; while (_local8 < blockList[_local7].vertexList.length) { _local4 = blockList[_local7].localToPixel(blockList[_local7].vertexList[_local8]); _local3.push(Math.round(_local4.x)); _local3.push(Math.round(_local4.y)); _local8++; }; _local2.@v = _local3.join(","); _local1.appendChild(_local2); }; _local7++; }; _local7 = 0; while (_local7 < constraintList.length) { if ((constraintList[_local7] is PinConstraint)){ _local4 = constraintList[_local7].globalPosition; _local2 = new XML((("<p pos=\"" + ??esc_xattr ) + "\"/>")); _local1.appendChild(_local2); } else { if ((constraintList[_local7] is LinkConstraint)){ _local4 = constraintList[_local7].globalPosition1; _local5 = constraintList[_local7].globalPosition2; _local2 = new XML((((("<l p1=\"" + ??esc_xattr ) + "\" p2=\"") + ??esc_xattr ) + "\"/>")); _local1.appendChild(_local2); } else { if ((constraintList[_local7] is TurningPinsConstraint)){ _local4 = constraintList[_local7].globalPosition; _local2 = new XML((("<tp pos=\"" + ??esc_xattr ) + "\"/>")); _local2.@sp = (constraintList[_local7] as TurningPinsConstraint).spinSpeed; _local1.appendChild(_local2); }; }; }; _local7++; }; _local7 = 0; while (_local7 < characterList.length) { _local4 = characterList[_local7].getPosition(); if ((characterList[_local7] is FrozenGuy1)){ _local6 = "f1"; }; if ((characterList[_local7] is StandingGuy1)){ _local6 = "s1"; }; _local2 = new XML((((("<c t=\"" + ??esc_xattr ) + "\" pos=\"") + ??esc_xattr ) + "\"/>")); _local1.appendChild(_local2); _local7++; }; _local7 = 0; for (;_local7 < activeObjectList.length;_local7++) { _local4 = activeObjectList[_local7].getPosition(); _local2 = new XML((("<ao pos=\"" + ??esc_xattr ) + "\"/>")); if ((activeObjectList[_local7] is Finish)){ _local2.@t = "f"; } else { if ((activeObjectList[_local7] is Weight)){ _local2.@t = "w"; } else { if ((activeObjectList[_local7] is Bird)){ _local2.@t = "b"; } else { if ((activeObjectList[_local7] is ProtectedArea32)){ _local2.@t = "pa32"; } else { if ((activeObjectList[_local7] is ProtectedArea64)){ _local2.@t = "pa64"; } else { if ((activeObjectList[_local7] is ProtectedArea128)){ _local2.@t = "pa28"; } else { if ((activeObjectList[_local7] is Wolfrat)){ _local2.@t = "wr"; } else { if ((activeObjectList[_local7] is FatWoman)){ _local2.@t = "fw"; } else { if ((activeObjectList[_local7] is HelpSign)){ _local2.@t = "hs"; } else { continue; }; }; }; }; }; }; }; }; }; _local1.appendChild(_local2); }; return (_local1); } public function updateCounters():void{ var _local1:Number; var _local2:Number; _local1 = 0; _local2 = 0; while (_local2 < characterList.length) { if (characterList[_local2].atFinish){ _local1++; }; _local2++; }; Controller.root.moveCounter.text = (( .toString() + "/") +  ); if ( >= ( - 2)){ Controller.root.moveCounter.color = 16728128; } else { Controller.root.moveCounter.color = 0xFFFFFF; }; Controller.root.characterCounter.text = ((_local1.toString() + "/") + characterList.length.toString()); } public function ():void{ var _local1:Boolean; var _local2:Boolean; var _local3:Boolean; var _local4:Number; var _local5:Character; if (characterList.length < 1){ return; }; _local1 = true; _local2 = false; _local3 = true; _local4 = 0; while (_local4 < characterList.length) { _local5 = characterList[_local4]; if (!_local5.isSafe()){ _local1 = false; } else { if (_local5.completedTime < 90){ _local3 = false; }; }; if (_local5.isDead()){ _local2 = true; }; _local4++; }; if (_local2){ failed(); } else { if (_local1){ if (_local3){ completed(); }; _local4 = 0; while (_local4 < characterList.length) { characterList[_local4].victory(); _local4++; }; _local4 = 0; while (_local4 < activeObjectList.length) { if ((activeObjectList[_local4] is Finish)){ (activeObjectList[_local4] as Finish).victory(); }; _local4++; }; }; }; } public function mouseDown(_arg1:MouseEvent):void{ if (editor){ editor.mouseDown(_arg1); }; if ( >=  ){ return; }; if (((((!(editor)) || (!(editor.isGameFrozen())))) && (!(Controller.isPaused())))){ if (Controller.content.mouseX < leftEdge){ return; }; if (Controller.content.mouseX > rightEdge){ return; }; if (Controller.content.mouseY < topEdge){ return; }; if (Controller.content.mouseY > ((sea.yPosition * 32) + SEA_MAX_HEIGHT)){ return; };  = true;  = new b2Vec2((Controller.content.mouseX / 32), (Controller.content.mouseY / 32)); Controller.cutLayer.graphics.clear(); Controller.cutLayer.alpha = 1; }; } protected function ():void{ var _local1:Number; if (){ CustomCursor.setCursor(null); } else { if (Controller.isPaused()){ CustomCursor.setCursor(null); } else { if (((( == 0)) && (( == 0)))){ CustomCursor.setCursor(null); } else { if ( < 0){ _local1 = 180; if ( < 0){ _local1 = 225; }; if ( > 0){ _local1 = 135; }; } else { if ( > 0){ _local1 = 0; if ( < 0){ _local1 = 315; }; if ( > 0){ _local1 = 45; }; } else { if ( < 0){ _local1 = 270; }; if ( > 0){ _local1 = 90; }; }; }; CustomCursor.setCursor(ArrowCursor, _local1); }; }; }; } public function destroy(_arg1:Boolean=false):void{ var _local2:Number; deactivateAll(); _local2 = 0; while (_local2 < constraintList.length) { constraintList[_local2].destroy(); _local2++; }; _local2 = 0; while (_local2 < blockList.length) { blockList[_local2].unsolidify(); _local2++; }; _local2 = 0; while (_local2 < characterList.length) { characterList[_local2].destroy(); _local2++; }; _local2 = 0; while (_local2 < activeObjectList.length) { activeObjectList[_local2].destroy(); _local2++; }; _local2 = (fragmentList.length - 1); while (_local2 >= 0) { fragmentList[_local2].destroy(); _local2--; }; blockList = []; characterList = []; constraintList = []; activeObjectList = []; fragmentList = []; sea.destroy();  .destroy(); if ((( ) && ( .parent))){  .parent.removeChild( ); }; if (){ .destroy();  = null; }; if (((editor) && (!(_arg1)))){ editor.destroy(); editor = null; }; CustomCursor.setCursor(null); Controller.stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown); Controller.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove); Controller.stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUp); Controller.stage.removeEventListener(Event.MOUSE_LEAVE, mouseLeave); } public function splash(_arg1:Number):void{ var _local2:Splash; _local2 = new Splash(); _local2.x = _arg1; _local2.y = (sea.yPosition * 32); _local2.gotoAndPlay(1); Controller.splashLayer.addChild(_local2); NitromeGame.sound_manager.playSound("splash"); } public static function bodyIsTouchingBody(_arg1:b2Body, _arg2:b2Body):Boolean{ var _local3:b2ContactEdge; if (((!(_arg1)) || (!(_arg2)))){ return (false); }; _local3 = _arg1.m_contactList; while (_local3) { if (((_local3.contact) && ((_local3.contact.m_manifoldCount > 0)))){ if (_local3.other == _arg2){ return (true); }; }; _local3 = _local3.next; }; return (false); } public static function bodyIsTouchingShape(_arg1:b2Body, _arg2:b2Shape):Boolean{ var _local3:b2ContactEdge; if (((!(_arg1)) || (!(_arg2)))){ return (false); }; _local3 = _arg1.m_contactList; while (_local3) { if (((_local3.contact) && ((_local3.contact.m_manifoldCount > 0)))){ if (_local3.other == _arg2.GetBody()){ if (_local3.contact.GetShape1().GetBody() == _arg2.GetBody()){ if (_local3.contact.GetShape1() == _arg2){ return (true); }; }; if (_local3.contact.GetShape2().GetBody() == _arg2.GetBody()){ if (_local3.contact.GetShape2() == _arg2){ return (true); }; }; }; }; _local3 = _local3.next; }; return (false); } } }//package com.nitrome.icebreaker
Section 134
//LinkConstraint (com.nitrome.icebreaker.LinkConstraint) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import flash.display.*; import com.nitrome.util.*; public class LinkConstraint extends Constraint { public var :b2Vec2; public var active:Boolean;// = false public var attached1; public var attached2; public var :b2Vec2; public var roamingPoint2:b2Body; public var roamingPoint1:b2Body; public var :b2Vec2; public var :Sprite; public var :Sprite; public var  :b2DistanceJoint; public var  :LinkMid; public var globalPosition1:b2Vec2; public var globalPosition2:b2Vec2; public var :b2Vec2; public function LinkConstraint(){ active = false; super(); } public function ():void{ if (.parent){ .parent.removeChild(); }; if (.parent){ .parent.removeChild(); }; if ( .parent){  .parent.removeChild( ); }; } public function ():void{ var _local1:Number; var _local2:Number; if (((!(globalPosition1)) || (!(globalPosition2)))){ return; }; if (){ .x = (globalPosition1.x * 32); .y = (globalPosition1.y * 32); }; if (){ .x = (globalPosition2.x * 32); .y = (globalPosition2.y * 32); }; if ( ){  .x = .x;  .y = .y; _local1 = (.x - .x); _local2 = (.y - .y);  .rotation = (270 + ((Math.atan2((.y - .y), (.x - .x)) * 180) / Math.PI));  .ropeMask.scaleY = (Math.sqrt(((_local1 * _local1) + (_local2 * _local2))) / 100); }; } override public function deactivate():void{ deleteBody(); if (!.parent){ Controller.constraintLayer.addChild(); }; if (!.parent){ Controller.constraintLayer.addChild(); }; if (! .parent){ Controller.constraintLayer.addChild( ); }; active = false; } override public function advance():void{ super.advance();  (); (); } public function  ():void{ var _local1:b2Body; var _local2:b2Body; _local1 = (attached1 as b2Body); if ((attached1 is Block)){ _local1 = (attached1 as Block).solidBody; }; if ((attached1 is Bird)){ _local1 = (attached1 as Bird).solidBody; }; _local2 = (attached2 as b2Body); if ((attached2 is Block)){ _local2 = (attached2 as Block).solidBody; }; if ((attached2 is Bird)){ _local2 = (attached2 as Bird).solidBody; }; if (((!(_local1)) || (!(_local2)))){ return; }; globalPosition1 = _local1.GetWorldPoint(); globalPosition2 = _local2.GetWorldPoint(); } public function divide(_arg1:b2Vec2, _arg2:b2Vec2):Array{ var _local3:b2Vec2; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:b2Vec2; var _local8:LinkConstraint; var _local9:LinkConstraint;  (); _local3 = Geometry.segmentIntersection(globalPosition1, globalPosition2, _arg1, _arg2); if (!_local3){ return (null); }; if (Geometry.squareDistancePointToPoint(_local3, globalPosition1) < (0.25 * 0.25)){ return (null); }; if (Geometry.squareDistancePointToPoint(_local3, globalPosition2) < (0.25 * 0.25)){ return (null); }; _local4 = (attached1 as b2Body); if ((attached1 is Block)){ _local4 = (attached1 as Block).solidBody; }; if ((attached1 is Bird)){ _local4 = (attached1 as Bird).solidBody; }; _local5 = (attached2 as b2Body); if ((attached2 is Block)){ _local5 = (attached2 as Block).solidBody; }; if ((attached2 is Bird)){ _local5 = (attached2 as Bird).solidBody; };  = _local4.GetLinearVelocityFromLocalPoint();  = _local5.GetLinearVelocityFromLocalPoint(); _local6 = Geometry.between(globalPosition1, globalPosition2, _local3); _local7 = Geometry.lerpVec2(, , _local6); _local8 = new LinkConstraint(); _local8.attached1 = attached1; _local8.attached2 = "roaming"; _local8.setPosition1(globalPosition1); _local8.setPosition2(_local3); _local8. = ; _local8. = _local7; _local9 = new LinkConstraint(); _local9.attached1 = "roaming"; _local9.attached2 = attached2; _local9.setPosition1(_local3); _local9.setPosition2(globalPosition2); _local9. = _local7; _local9. = ; _local8.create(); _local8.activate(); _local9.create(); _local9.activate(); deleteBody(!((_local8.attached1 == roamingPoint1)), !((_local9.attached2 == roamingPoint2))); (); return ([_local8, _local9]); } public function setPosition1(_arg1:b2Vec2):void{ globalPosition1 = _arg1.Copy(); (); } public function deleteBody(_arg1:Boolean=true, _arg2:Boolean=true):void{ if ( ){ Controller.level.world.DestroyJoint( );  = null; }; if (roamingPoint1){  = roamingPoint1.GetLinearVelocity(); if (_arg1){ Controller.level.world.DestroyBody(roamingPoint1); }; roamingPoint1 = null; attached1 = "roaming"; }; if (roamingPoint2){  = roamingPoint2.GetLinearVelocity(); if (_arg2){ Controller.level.world.DestroyBody(roamingPoint2); }; roamingPoint2 = null; attached2 = "roaming"; }; } public function setPosition2(_arg1:b2Vec2):void{ globalPosition2 = _arg1.Copy(); (); } override public function activate():void{ var _local1:Block; var _local2:b2Body; var _local3:b2Body; var _local4:b2MassData; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2DistanceJointDef; if (active){ return; }; active = true; if (((((!(attached1)) || ((((attached1 is Block)) && (!((attached1 as Block).solidBody)))))) || ((attached1 == "roaming")))){ _local5 = 0; while (_local5 < Controller.level.activeObjectList.length) { if (!(Controller.level.activeObjectList[_local5] is Bird)){ } else { if (Geometry.squareDistancePointToPoint(Controller.level.activeObjectList[_local5].getPosition(), globalPosition1) > (0.25 * 0.25)){ } else { attached1 = Controller.level.activeObjectList[_local5]; globalPosition1 = Controller.level.activeObjectList[_local5].getPosition(); break; }; }; _local5++; }; if (((!((attached1 is Bird))) && (!((attached1 is b2Body))))){ if (attached1 != "roaming"){ _local1 = Controller.level.searchForBlock(globalPosition1); if (_local1){ attached1 = _local1; }; }; if (((!(attached1)) || ((attached1 == "roaming")))){ roamingPoint1 = Controller.level.world.CreateBody(new b2BodyDef()); roamingPoint1.SetXForm(globalPosition1, 0); if (){ roamingPoint1.SetLinearVelocity();  = null; }; _local4 = new b2MassData(); _local4.mass = 0.01; roamingPoint1.SetMass(_local4); attached1 = roamingPoint1; }; }; }; if ((attached1 is Block)){ _local2 = (attached1 as Block).solidBody; } else { if ((attached1 is Bird)){ _local2 = (attached1 as Bird).solidBody; } else { _local2 = (attached1 as b2Body); }; };  = _local2.GetLocalPoint(globalPosition1); if (((((!(attached2)) || ((((attached2 is Block)) && (!((attached2 as Block).solidBody)))))) || ((attached2 == "roaming")))){ _local5 = 0; while (_local5 < Controller.level.activeObjectList.length) { if (!(Controller.level.activeObjectList[_local5] is Bird)){ } else { if (Geometry.squareDistancePointToPoint(Controller.level.activeObjectList[_local5].getPosition(), globalPosition2) > (0.25 * 0.25)){ } else { attached2 = Controller.level.activeObjectList[_local5]; globalPosition2 = Controller.level.activeObjectList[_local5].getPosition(); break; }; }; _local5++; }; if (((!((attached2 is Bird))) && (!((attached2 is b2Body))))){ if (attached2 != "roaming"){ _local1 = Controller.level.searchForBlock(globalPosition2); if (_local1){ attached2 = _local1; }; }; if (((!(attached2)) || ((attached2 == "roaming")))){ roamingPoint2 = Controller.level.world.CreateBody(new b2BodyDef()); roamingPoint2.SetXForm(globalPosition2, 0); if (){ roamingPoint2.SetLinearVelocity();  = null; }; _local4 = new b2MassData(); _local4.mass = 0.01; roamingPoint2.SetMass(_local4); attached2 = roamingPoint2; }; }; }; if ((attached2 is Block)){ _local3 = (attached2 as Block).solidBody; } else { if ((attached2 is Bird)){ _local3 = (attached2 as Bird).solidBody; } else { _local3 = (attached2 as b2Body); }; };  = _local3.GetLocalPoint(globalPosition2); _local6 = (globalPosition2.x - globalPosition1.x); _local7 = (globalPosition2.y - globalPosition1.y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); _local9 = new b2DistanceJointDef(); _local9.body1 = _local2; _local9.body2 = _local3; _local9.localAnchor1 = ; _local9.localAnchor2 = ; _local9.length = _local8; _local9.collideConnected = true;  = (Controller.level.world.CreateJoint(_local9) as b2DistanceJoint); if (((.parent) && (!((attached1 is Block))))){ .parent.removeChild(); }; if (((.parent) && (!((attached2 is Block))))){ .parent.removeChild(); };  (); (); } override public function destroy():void{ super.destroy(); (); } override public function create():void{  = new LinkEnd();  = new LinkEnd();  = new LinkMid(); Controller.constraintLayer.addChild( ); Controller.constraintLayer.addChild(); Controller.constraintLayer.addChild(); } } }//package com.nitrome.icebreaker
Section 135
//LinkEnd (com.nitrome.icebreaker.LinkEnd) package com.nitrome.icebreaker { import flash.display.*; public dynamic class LinkEnd extends MovieClip { } }//package com.nitrome.icebreaker
Section 136
//LinkMid (com.nitrome.icebreaker.LinkMid) package com.nitrome.icebreaker { import flash.display.*; public dynamic class LinkMid extends MovieClip { public var ropeMask:MovieClip; } }//package com.nitrome.icebreaker
Section 137
//MiniMap (com.nitrome.icebreaker.MiniMap) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.*; import flash.display.*; public class MiniMap extends Sprite { public var br:MovieClip; public var b:MovieClip; public var leftEdge:Number; public var t:MovieClip; public var bl:MovieClip; public var l:MovieClip; public var tl:MovieClip; public var r:MovieClip; public var tr:MovieClip; public var :Number; public var :Sprite; public var topEdge:Number; public var :Sprite; public var rightEdge:Number; public function destroy():void{ if (parent){ parent.removeChild(this); }; } public function create():void{ var _local1:Number; var _local2:b2AABB; var _local3:Number; var _local4:Number; leftEdge = (Controller.level.leftEdge / 32); rightEdge = (Controller.level.rightEdge / 32); topEdge = (Controller.level.topEdge / 32);  = Controller.level.sea.yPosition; _local3 = int(((rightEdge - leftEdge) * 4)); _local4 = int((( - topEdge) * 4));  = new Sprite(); advance(); addChild();  = new Sprite(); .graphics.beginFill(0); .graphics.drawRect(0, 0, _local3, _local4); .graphics.endFill(); addChild(); .mask = ; x = 12; y = 12; t.scaleX = (b.scaleX = _local3); l.scaleY = (r.scaleY = _local4); b.y = (bl.y = (br.y = (_local4 + 5))); r.x = (tr.x = (br.x = (_local3 + 5))); Controller.root.mapHolder.addChild(this); } public function advance():void{ var _local1:Number; var _local2:b2Vec2; var _local3:Block; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:ActiveObject; var _local8:Character; var _local9:LinkConstraint; if (!){ return; }; .graphics.clear(); .graphics.beginFill(0, 0.2); .graphics.drawRect(0, 0, ((rightEdge - leftEdge) * 4), (( - topEdge) * 4)); .graphics.endFill(); .graphics.lineStyle(1, 0xFFFFFF, 0.1); .graphics.beginFill(0xFFFFFF, 0.05); .graphics.drawRect((((Controller.level.cameraFocusX / 8) - (leftEdge * 4)) - (275 / 8)), (((Controller.level.cameraFocusY / 8) - (topEdge * 4)) - (200 / 8)), (550 / 8), (400 / 8)); .graphics.endFill(); .graphics.lineStyle(); _local1 = 0; while (_local1 < Controller.level.blockList.length) { _local3 = Controller.level.blockList[_local1]; .graphics.beginFill(0, 0.5); _local4 = 0; while (_local4 < (_local3.vertexList.length + 1)) { _local2 = _local3.localToGlobal(_local3.vertexList[(_local4 % _local3.vertexList.length)]); _local5 = ((_local2.x - leftEdge) * 4); _local6 = ((_local2.y - topEdge) * 4); if (_local4 == 0){ .graphics.moveTo(_local5, _local6); } else { .graphics.lineTo(_local5, _local6); }; _local4++; }; .graphics.endFill(); _local1++; }; _local1 = 0; while (_local1 < Controller.level.activeObjectList.length) { _local7 = Controller.level.activeObjectList[_local1]; if ((_local7 is Finish)){ _local2 = _local7.getPosition(); .graphics.beginFill(0x603000, 0.5); .graphics.drawRect((((_local2.x - leftEdge) - 4) * 4), (((_local2.y - topEdge) - 1) * 4), 32, 8); .graphics.endFill(); } else { if ((_local7 is FatWoman)){ _local2 = _local7.getPosition(); .graphics.beginFill(0, 0.5); .graphics.drawCircle(((_local2.x - leftEdge) * 4), ((_local2.y - topEdge) * 4), (FatWoman.RADIUS * 4)); .graphics.endFill(); } else { if ((_local7 is Weight)){ _local2 = _local7.getPosition(); .graphics.beginFill(0, 0.5); .graphics.drawCircle(((_local2.x - leftEdge) * 4), ((_local2.y - topEdge) * 4), (Weight.RADIUS * 4)); .graphics.endFill(); }; }; }; _local1++; }; _local1 = 0; while (_local1 < Controller.level.characterList.length) { _local8 = Controller.level.characterList[_local1]; _local2 = _local8.getPosition(); if (_local8.atFinish){ .graphics.beginFill(0xFF00); } else { .graphics.beginFill(0xFFFF00); }; .graphics.drawRect((int(((_local2.x - leftEdge) * 4)) - 1), (int(((_local2.y - topEdge) * 4)) - 1), 3, 3); .graphics.endFill(); _local1++; }; _local1 = 0; while (_local1 < Controller.level.constraintList.length) { _local9 = (Controller.level.constraintList[_local1] as LinkConstraint); if (!_local9){ } else { .graphics.lineStyle(1, 0, 0.5); .graphics.moveTo(((_local9.globalPosition1.x - leftEdge) * 4), ((_local9.globalPosition1.y - topEdge) * 4)); .graphics.lineTo(((_local9.globalPosition2.x - leftEdge) * 4), ((_local9.globalPosition2.y - topEdge) * 4)); }; _local1++; }; } } }//package com.nitrome.icebreaker
Section 138
//PinConstraint (com.nitrome.icebreaker.PinConstraint) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; public class PinConstraint extends Constraint { public var active:Boolean;// = false public var pinJoint:b2RevoluteJoint; public var globalPosition:b2Vec2; public var attachedBlock:Block; public var pinBody:b2Body; public function PinConstraint(){ active = false; super(); } override public function deactivate():void{ if (pinJoint){ Controller.level.world.DestroyJoint(pinJoint); }; if (pinBody){ Controller.level.world.DestroyBody(pinBody); }; pinBody = null; pinJoint = null; active = false; } public function setPosition(_arg1:b2Vec2):void{ globalPosition = _arg1.Copy(); x = (globalPosition.x * 32); y = (globalPosition.y * 32); } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2RevoluteJointDef; if (((pinJoint) || (active))){ return; }; active = true; attachedBlock = Controller.level.searchForBlock(globalPosition); if (!attachedBlock){ return; }; _local1 = new b2BodyDef(); _local1.position.Set(globalPosition.x, globalPosition.y); pinBody = Controller.level.world.CreateBody(_local1); _local2 = new b2RevoluteJointDef(); _local2.body1 = pinBody; _local2.body2 = attachedBlock.solidBody; _local2.localAnchor2 = attachedBlock.solidBody.GetLocalPoint(globalPosition); pinJoint = (Controller.level.world.CreateJoint(_local2) as b2RevoluteJoint); } override public function create():void{ Controller.constraintLayer.addChild(this); } } }//package com.nitrome.icebreaker
Section 139
//ProtectedArea (com.nitrome.icebreaker.ProtectedArea) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.*; import com.nitrome.util.*; public class ProtectedArea extends ActiveObject { public var :Number;// = 128 public function ProtectedArea(){  = 128; super(); } public function sliceTouches(_arg1:b2Vec2, _arg2:b2Vec2):Boolean{ return (Geometry.segmentTouchesRectangle(getBoundingBox(), _arg1, _arg2)); } override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - ( / 64)), (globalPosition.y - ( / 64))); _local1.upperBound = new b2Vec2((globalPosition.x + ( / 64)), (globalPosition.y + ( / 64))); return (_local1); } override public function create():void{ Controller.protectionLayer.addChild(this); if ((this is ProtectedArea32)){  = 32; }; if ((this is ProtectedArea64)){  = 64; }; if ((this is ProtectedArea128)){  = 128; }; } } }//package com.nitrome.icebreaker
Section 140
//ProtectedArea128 (com.nitrome.icebreaker.ProtectedArea128) package com.nitrome.icebreaker { public dynamic class ProtectedArea128 extends ProtectedArea { } }//package com.nitrome.icebreaker
Section 141
//ProtectedArea32 (com.nitrome.icebreaker.ProtectedArea32) package com.nitrome.icebreaker { public dynamic class ProtectedArea32 extends ProtectedArea { } }//package com.nitrome.icebreaker
Section 142
//ProtectedArea64 (com.nitrome.icebreaker.ProtectedArea64) package com.nitrome.icebreaker { public dynamic class ProtectedArea64 extends ProtectedArea { } }//package com.nitrome.icebreaker
Section 143
//Sea (com.nitrome.icebreaker.Sea) package com.nitrome.icebreaker { import flash.display.*; import com.nitrome.util.*; public class Sea extends MovieClip { public var wave10:MovieClip; public var scrollX:Number;// = 0 public var wave4:MovieClip; public var wave6:MovieClip; public var wave1:MovieClip; public var wave5:MovieClip; public var wave8:MovieClip; public var wave3:MovieClip; public var wave7:MovieClip; public var wave2:MovieClip; public var :Array; public var :Number;// = 0 public var wave9:MovieClip; public var yPosition:Number; public var wave11:MovieClip; public var wave12:MovieClip; public var wave13:MovieClip; public function Sea(){ scrollX = 0;  = 0; super(); (true); (false); } public function (_arg1:Boolean):void{ var _local2:Number; var _local3:Number; if (!){  = Global.createList(30, 0); }; _local2 = 0; while (_local2 < 30) { if (((_arg1) && (((_local2 % 2) == 1)))){ } else { if (((!(_arg1)) && (((_local2 % 2) == 0)))){ } else { _local3 = Math.random(); if (_local3 >= 0.9){ [_local2] = 0; } else { if (_local3 >= 0.6){ [_local2] = 1; } else { [_local2] = 2; }; }; }; }; _local2++; }; } public function destroy():void{ if (parent){ parent.removeChild(this); }; } public function create(_arg1:Number):void{ yPosition = _arg1; Controller.seaLayer.addChild(this); } public function advance():void{ var _local1:Number; var _local2:Number; var _local3:MovieClip; var _local4:Number; if (Controller.isPaused()){ return; }; _local1 = 275; if (Controller.level){ _local1 = Controller.level.cameraFocusX; }; scrollX = (scrollX + 2); x = (((Math.floor(((_local1 - scrollX) / 47)) * 47) - 275) + scrollX); if (Controller.level){ y = (yPosition * 32); }; ++; if (( % 24) == 12){ (false); }; if (( % 24) == 0){ (true); }; _local2 = 1; while (_local2 <= 13) { _local3 = (getChildByName(("wave" + _local2)) as MovieClip); if (!_local3){ } else { _local4 = Math.floor((((_local1 - scrollX) + (_local2 * 47)) / 47)); _local4 = (_local4 % .length); if (_local4 < 0){ _local4 = (_local4 + .length); }; if ((_local4 % 2) == 0){ _local3.gotoAndStop(((1 + ( % 24)) + ([_local4] * 24))); } else { _local3.gotoAndStop(((1 + (( - 12) % 24)) + ([_local4] * 24))); }; }; _local2++; }; } } }//package com.nitrome.icebreaker
Section 144
//Splash (com.nitrome.icebreaker.Splash) package com.nitrome.icebreaker { import flash.display.*; public dynamic class Splash extends MovieClip { public function Splash(){ addFrameScript(14, frame15); } function frame15(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package com.nitrome.icebreaker
Section 145
//StandingCharacter (com.nitrome.icebreaker.StandingCharacter) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; import com.nitrome.util.*; public class StandingCharacter extends Character { public var :Boolean;// = false public var velocityY:Number;// = -10 private var  :Number;// = 0 public var solidShape:b2Shape; public var  :Boolean;// = false public var solidBody:b2Body; public function StandingCharacter(){  = 0;  = false;  = false; velocityY = -10; super(); } public function deleteBody():void{ if (solidBody){ Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShape = null; } protected function updatePosition():void{ if (solidBody){ x = (solidBody.GetPosition().x * 32); y = (solidBody.GetPosition().y * 32); rotation = ((solidBody.GetAngle() * 180) / Math.PI); }; } public function deathNormal():void{ deleteBody(); rotation = 0; gotoAndPlay("normalDeath"); NitromeGame.sound_manager.playSound("death"); } override public function advance():void{ var _local1:Finish; var _local2:Number; if (){ deathByRune(); return; }; if ( ){ if (y < (((Controller.level.sea.yPosition * 32) + Level.SEA_MAX_HEIGHT) + 100)){ if (currentLabel != "normalDeath"){ deathNormal(); }; velocityY = (velocityY + 1); y = (y + velocityY); rotation = (rotation + 4); } else { destroy(); Global.removeFromList(this, Controller.level.characterList); Controller.level.failed(); }; return; }; super.advance(); if (!atFinish){ updatePosition(); _local1 = Controller.level.isTouchingFinish(solidBody); if (((_local1) && ((Math.abs((solidBody.GetPosition().x - _local1.getPosition().x)) < 4)))){  ++; if ( > 10){ Controller.level.world.DestroyBody(solidBody); solidBody = null; atFinish = true; finish = _local1; finish.charactersOnBoard.push(this); Controller.level.updateCounters(); }; } else {  = 0; }; if (((solidBody) && ((solidBody.GetPosition().y > Controller.level.sea.yPosition)))){ _local2 = 0.85; solidBody.SetLinearVelocity(new b2Vec2((solidBody.m_linearVelocity.x * _local2), (solidBody.m_linearVelocity.y * _local2))); solidBody.SetAngularVelocity((solidBody.m_angularVelocity * _local2)); if (solidBody.GetPosition().y > (Controller.level.sea.yPosition + 2)){ destroy(); Global.removeFromList(this, Controller.level.characterList); Controller.level.failed(); }; }; }; } override public function getPosition():b2Vec2{ if (solidBody){ return (solidBody.GetPosition().Copy()); }; return (new b2Vec2((x / 32), (y / 32))); } public function contactMade(_arg1:b2ContactPoint, _arg2:b2Shape):void{ if (!_arg2.m_body.m_userData){ return; }; if ((_arg2.m_body.m_userData.block is DeathBlock)){  = true; }; if (_arg2.m_body.m_userData.wolfrat){  = true; }; if (_arg2.m_body.m_userData.bird){  = true; }; } override public function setPosition(_arg1:b2Vec2):void{ solidBody.SetXForm(_arg1, solidBody.GetAngle()); updatePosition(); } public function deathByRune():void{ Global.removeFromList(this, Controller.level.characterList); deleteBody(); rotation = 0; gotoAndPlay("runeDeath"); NitromeGame.sound_manager.playSound("runeDeath"); } override public function destroy():void{ deleteBody(); super.destroy(); } override public function create():void{ var _local1:b2BodyDef; var _local2:b2PolygonDef; super.create(); if (((solidBody) || (solidShape))){ return; }; _local1 = new b2BodyDef(); _local1.userData = {standingCharacter:this, contactMade:contactMade}; solidBody = Controller.level.world.CreateBody(_local1); _local2 = new b2PolygonDef(); _local2.vertexCount = 4; _local2.vertices[0] = new b2Vec2((-10 / 32), (-9 / 32)); _local2.vertices[1] = new b2Vec2((10 / 32), (-9 / 32)); _local2.vertices[2] = new b2Vec2((15 / 32), (15 / 32)); _local2.vertices[3] = new b2Vec2((-15 / 32), (15 / 32)); _local2.density = 1; solidShape = (solidBody.CreateShape(_local2) as b2PolygonShape); solidBody.SetMassFromShapes(); } } }//package com.nitrome.icebreaker
Section 146
//StandingGuy1 (com.nitrome.icebreaker.StandingGuy1) package com.nitrome.icebreaker { public dynamic class StandingGuy1 extends StandingCharacter { public function StandingGuy1(){ addFrameScript(24, , 37, frame38, 62,  , 69,  , 91,  ); } function  (){ stop(); } function (){ gotoAndPlay("standing"); } function frame38(){ gotoAndPlay("walking"); } function  (){ gotoAndPlay("victory"); } function  (){ stop(); if (parent){ parent.removeChild(this); }; Controller.level.failed(); } } }//package com.nitrome.icebreaker
Section 147
//TurningPinsConstraint (com.nitrome.icebreaker.TurningPinsConstraint) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; public class TurningPinsConstraint extends Constraint { public var active:Boolean;// = false public var pinJoint:b2RevoluteJoint; public var globalPosition:b2Vec2; public var spinSpeed:Number;// = 5 public var attachedBlock:Block; public var  :Number;// = 0 public var angle:Number;// = 0 public var pinBody:b2Body; public function TurningPinsConstraint(){ active = false; angle = 0;  = 0; spinSpeed = 5; super(); } override public function deactivate():void{ if (pinJoint){ Controller.level.world.DestroyJoint(pinJoint); }; if (pinBody){ Controller.level.world.DestroyBody(pinBody); }; pinBody = null; pinJoint = null; attachedBlock = null; active = false; } override public function advance():void{ super.advance(); if (attachedBlock){ rotation = ((attachedBlock.solidBody.GetAngle() * 180) / Math.PI); attachedBlock.solidBody.WakeUp(); }; } public function setPosition(_arg1:b2Vec2):void{ globalPosition = _arg1.Copy(); x = (globalPosition.x * 32); y = (globalPosition.y * 32); } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2RevoluteJointDef; if (((pinJoint) || (active))){ return; }; active = true; attachedBlock = Controller.level.searchForBlock(globalPosition); if (!attachedBlock){ return; }; _local1 = new b2BodyDef(); _local1.position.Set(globalPosition.x, globalPosition.y); pinBody = Controller.level.world.CreateBody(_local1); _local2 = new b2RevoluteJointDef(); _local2.body1 = pinBody; _local2.body2 = attachedBlock.solidBody; _local2.localAnchor2 = attachedBlock.solidBody.GetLocalPoint(globalPosition); _local2.enableMotor = true; _local2.motorSpeed = (spinSpeed * 0.3); _local2.maxMotorTorque = 500; pinJoint = (Controller.level.world.CreateJoint(_local2) as b2RevoluteJoint); } override public function create():void{ Controller.constraintLayer.addChild(this); } } }//package com.nitrome.icebreaker
Section 148
//Weight (com.nitrome.icebreaker.Weight) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class Weight extends ActiveObject { public var solidShape:b2Shape; public var solidBody:b2Body; public static const RADIUS:Number = 1.12; override public function updatePosition():void{ super.updatePosition(); rotation = ((solidBody.GetAngle() * 180) / Math.PI); } override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - 1.12), (globalPosition.y - 1.12)); _local1.upperBound = new b2Vec2((globalPosition.x + 1.12), (globalPosition.y + 1.12)); return (_local1); } override public function deactivate():void{ if (solidBody){ Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShape = null; } override public function advance():void{ globalPosition = solidBody.GetPosition().Copy(); updatePosition(); } override public function setPosition(_arg1:b2Vec2):void{ super.setPosition(_arg1); if (solidBody){ solidBody.SetXForm(_arg1, 0); }; } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2CircleDef; if (solidBody){ return; }; _local1 = new b2BodyDef(); if (globalPosition){ _local1.position.Set(globalPosition.x, globalPosition.y); }; solidBody = Controller.level.world.CreateBody(_local1); _local2 = new b2CircleDef(); _local2.radius = RADIUS; _local2.density = 10; _local2.friction = 0.5; solidBody.CreateShape(_local2); solidBody.SetMassFromShapes(); } override public function create():void{ Controller.activeLayer.addChild(this); } } }//package com.nitrome.icebreaker
Section 149
//Wolfrat (com.nitrome.icebreaker.Wolfrat) package com.nitrome.icebreaker { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.*; public class Wolfrat extends ActiveObject { public var velocityY:Number;// = -10 public var touchFinishTime:Number;// = 0 public var touchFinish:Finish;// = null public var solidShape:b2Shape; public var :Boolean;// = true public var solidBody:b2Body; public function Wolfrat(){  = true; velocityY = -10; touchFinishTime = 0; touchFinish = null; super(); addFrameScript(12, frame13, 13, frame14); } public function smash():void{ deleteBody();  = false; gotoAndStop("dead"); } public function deleteBody():void{ if (solidBody){ Controller.level.world.DestroyBody(solidBody); }; solidBody = null; solidShape = null; } function frame14(){ stop(); } override public function getBoundingBox():b2AABB{ var _local1:b2AABB; _local1 = new b2AABB(); _local1.lowerBound = new b2Vec2((globalPosition.x - 0.5), (globalPosition.y - 0.5)); _local1.upperBound = new b2Vec2((globalPosition.x + 0.5), (globalPosition.y + 0.5)); return (_local1); } function frame13(){ gotoAndPlay("standing"); } override public function deactivate():void{ super.deactivate(); deleteBody(); } override public function advance():void{ super.advance(); if (){ globalPosition.x = solidBody.GetPosition().x; globalPosition.y = solidBody.GetPosition().y; rotation = ((solidBody.GetAngle() * 180) / Math.PI); updatePosition(); } else { if (y < (((Controller.level.sea.yPosition * 32) + Level.SEA_MAX_HEIGHT) + 100)){ velocityY++; y = (y + velocityY); rotation = (rotation + 4); }; }; } public function bodyIsTouching(_arg1:b2Body):Boolean{ return (Level.bodyIsTouchingBody(_arg1, solidBody)); } override public function activate():void{ var _local1:b2BodyDef; var _local2:b2PolygonDef; super.activate(); if (((solidBody) || (solidShape))){ return; }; if (!){ return; }; _local1 = new b2BodyDef(); _local1.position = new b2Vec2(globalPosition.x, globalPosition.y); _local1.userData = {activeObject:this, wolfrat:this}; solidBody = Controller.level.world.CreateBody(_local1); _local2 = new b2PolygonDef(); _local2.vertexCount = 4; _local2.vertices[0] = new b2Vec2((-10 / 32), (-14 / 32)); _local2.vertices[1] = new b2Vec2((10 / 32), (-14 / 32)); _local2.vertices[2] = new b2Vec2((14 / 32), (14 / 32)); _local2.vertices[3] = new b2Vec2((-14 / 32), (14 / 32)); _local2.density = 1; solidShape = (solidBody.CreateShape(_local2) as b2PolygonShape); solidBody.SetMassFromShapes();  = true; } override public function create():void{ super.create(); Controller.activeLayer.addChild(this); } } }//package com.nitrome.icebreaker
Section 150
//WoodBlock (com.nitrome.icebreaker.WoodBlock) package com.nitrome.icebreaker { import Box2D.Collision.Shapes.*; import flash.display.*; public class WoodBlock extends Block { public static var woodTexture:BitmapData; public function WoodBlock(){ if (!woodTexture){ woodTexture = new WoodTexture(0x0100, 0x0100); }; texture = woodTexture;   = 3549999;   = 8083526; } override protected function makePoly(_arg1:Array):b2PolygonShape{ var _local2:b2PolygonDef; _local2 = new b2PolygonDef(); _local2.vertexCount = _arg1.length; _local2.vertices = _arg1.slice(); _local2.density = 0.1; _local2.restitution = 0.2; return ((solidBody.CreateShape(_local2) as b2PolygonShape)); } } }//package com.nitrome.icebreaker
Section 151
//CustomCursor (com.nitrome.util.CustomCursor) package com.nitrome.util { import flash.display.*; import flash.events.*; import flash.ui.*; public class CustomCursor { public static var cursor:Sprite; protected static var cursorClass:Class; protected static var parent:DisplayObjectContainer; protected static function mouseLeave(_arg1:Event):void{ if (cursor){ cursor.visible = false; }; } protected static function addedToStage(_arg1:Event):void{ parent.removeEventListener(Event.ADDED_TO_STAGE, addedToStage); parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); parent.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } protected static function mouseMove(_arg1:MouseEvent):void{ if (cursor){ cursor.x = (parent.mouseX << 0); cursor.y = (parent.mouseY << 0); if (!cursor.visible){ cursor.visible = true; }; _arg1.updateAfterEvent(); }; } public static function setCursor(_arg1:Class, _arg2:Number=0){ if (_arg1 == cursorClass){ if (((cursor) && (!((cursor.rotation == _arg2))))){ cursor.rotation = _arg2; }; return; }; if (cursor){ parent.removeChild(cursor); cursor = null; }; if (_arg1){ Mouse.hide(); } else { Mouse.show(); }; cursorClass = _arg1; if (_arg1 == null){ return; }; cursor = new cursorClass(); cursor.x = (parent.mouseX << 0); cursor.y = (parent.mouseY << 0); cursor.rotation = _arg2; cursor.mouseEnabled = false; cursor.mouseChildren = false; parent.addChild(cursor); } public static function setup(_arg1:DisplayObjectContainer):void{ parent = _arg1; if (parent.stage){ parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); parent.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } else { parent.addEventListener(Event.ADDED_TO_STAGE, addedToStage); }; } } }//package com.nitrome.util
Section 152
//Geometry (com.nitrome.util.Geometry) package com.nitrome.util { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class Geometry { public static function segmentTouchesRectangle(_arg1:b2AABB, _arg2:b2Vec2, _arg3:b2Vec2):Boolean{ var _local4:b2Vec2; var _local5:Number; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Number; if ((((_arg2.x < _arg1.lowerBound.x)) && ((_arg3.x < _arg1.lowerBound.x)))){ return (false); }; if ((((_arg2.x > _arg1.upperBound.x)) && ((_arg3.x > _arg1.upperBound.x)))){ return (false); }; if ((((_arg2.y < _arg1.lowerBound.y)) && ((_arg3.y < _arg1.lowerBound.y)))){ return (false); }; if ((((_arg2.y > _arg1.upperBound.y)) && ((_arg3.y > _arg1.upperBound.y)))){ return (false); }; _local4 = new b2Vec2((_arg3.y - _arg2.y), (_arg2.x - _arg3.x)); _local5 = b2Math.b2Dot(_local4, _arg2); _local6 = [new b2Vec2(_arg1.lowerBound.x, _arg1.lowerBound.y), new b2Vec2(_arg1.upperBound.x, _arg1.lowerBound.y), new b2Vec2(_arg1.upperBound.x, _arg1.upperBound.y), new b2Vec2(_arg1.lowerBound.x, _arg1.upperBound.y)]; _local7 = 0; _local8 = 0; while (_local8 < 4) { _local9 = b2Math.b2Dot(_local4, _local6[_local8]); if (_local9 > _local5){ _local7++; }; _local8++; }; return ((((_local7 > 0)) && ((_local7 < 4)))); } public static function nearestPointOnLine(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg3); _local7 = b2Math.b2Dot(_local5, _arg1); _local8 = ((_local6 * _local4.x) + (_local7 * _local5.x)); _local9 = ((_local6 * _local4.y) + (_local7 * _local5.y)); return (new b2Vec2(_local8, _local9)); } public static function between(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = b2Math.b2Dot(_arg1, _local4); _local6 = b2Math.b2Dot(_arg2, _local4); _local7 = b2Math.b2Dot(_arg3, _local4); if (_local5 == _local6){ return (0); }; return (((_local7 - _local5) / (_local6 - _local5))); } public static function nearestPointOnSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg1); _local7 = b2Math.b2Dot(_local4, _arg2); _local8 = b2Math.b2Dot(_local4, _arg3); _local9 = b2Math.b2Dot(_local5, _arg1); if (_local8 < _local6){ _local8 = _local6; }; if (_local8 > _local7){ _local8 = _local7; }; _local10 = ((_local8 * _local4.x) + (_local9 * _local5.x)); _local11 = ((_local8 * _local4.y) + (_local9 * _local5.y)); return (new b2Vec2(_local10, _local11)); } public static function setupPolygon(_arg1:b2PolygonDef, _arg2:Number, _arg3:Number, _arg4:b2Vec2=null, _arg5:Number=0):b2PolygonDef{ var _local6:Number; var _local7:Number; var _local8:Number; if (!_arg1){ _arg1 = new b2PolygonDef(); }; _arg1.vertexCount = _arg2; _local7 = (360 / _arg2); if (_arg4){ _local6 = 0; while (_local6 < _arg2) { _local8 = (_local6 * _local7); _arg1.vertices[_local6] = new b2Vec2(((Trig.getCos((_local8 + _arg5)) * _arg3) + _arg4.x), ((Trig.getSin((_local8 + _arg5)) * _arg3) + _arg4.y)); _local6++; }; } else { _local6 = 0; while (_local6 < _arg2) { _local8 = (_local6 * _local7); _arg1.vertices[_local6] = new b2Vec2((Trig.getCos((_local8 + _arg5)) * _arg3), (Trig.getSin((_local8 + _arg5)) * _arg3)); _local6++; }; }; return (_arg1); } public static function isLeft(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ return ((((_arg2.x - _arg1.x) * (_arg3.y - _arg1.y)) - ((_arg3.x - _arg1.x) * (_arg2.y - _arg1.y)))); } public static function pointInsideTriangle(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):Boolean{ var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; _local5 = new b2Vec2((_arg2.y - _arg1.y), -((_arg2.x - _arg1.x))); _local7 = b2Math.b2Dot(_local5, _arg1); _local8 = b2Math.b2Dot(_local5, _arg3); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; _local5 = new b2Vec2((_arg3.y - _arg2.y), -((_arg3.x - _arg2.x))); _local7 = b2Math.b2Dot(_local5, _arg2); _local8 = b2Math.b2Dot(_local5, _arg1); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; _local5 = new b2Vec2((_arg1.y - _arg3.y), -((_arg1.x - _arg3.x))); _local7 = b2Math.b2Dot(_local5, _arg3); _local8 = b2Math.b2Dot(_local5, _arg2); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; return (true); } public static function lerpVec2(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Number):b2Vec2{ return (new b2Vec2((_arg1.x + ((_arg2.x - _arg1.x) * _arg3)), (_arg1.y + ((_arg2.y - _arg1.y) * _arg3)))); } public static function squareDistancePointToPoint(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg2.x - _arg1.x); _local4 = (_arg2.y - _arg1.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function squareDistancePointToSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg1); _local7 = b2Math.b2Dot(_local4, _arg2); _local8 = b2Math.b2Dot(_local4, _arg3); _local9 = b2Math.b2Dot(_local5, _arg1); if (_local8 < _local6){ _local8 = _local6; }; if (_local8 > _local7){ _local8 = _local7; }; _local10 = ((_local8 * _local4.x) + (_local9 * _local5.x)); _local11 = ((_local8 * _local4.y) + (_local9 * _local5.y)); _local12 = (_local10 - _arg3.x); _local13 = (_local11 - _arg3.y); return (((_local12 * _local12) + (_local13 * _local13))); } public static function segmentIntersection(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):b2Vec2{ 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; _local7 = ((_arg1.x < _arg2.x)) ? _arg1.x : _arg2.x; _local8 = ((_arg1.x > _arg2.x)) ? _arg1.x : _arg2.x; _local9 = ((_arg3.x < _arg4.x)) ? _arg3.x : _arg4.x; _local10 = ((_arg3.x > _arg4.x)) ? _arg3.x : _arg4.x; if (_local8 < _local9){ return (null); }; if (_local7 > _local10){ return (null); }; _local11 = ((_arg1.y < _arg2.y)) ? _arg1.y : _arg2.y; _local12 = ((_arg1.y > _arg2.y)) ? _arg1.y : _arg2.y; _local13 = ((_arg3.y < _arg4.y)) ? _arg3.y : _arg4.y; _local14 = ((_arg3.y > _arg4.y)) ? _arg3.y : _arg4.y; if (_local12 < _local13){ return (null); }; if (_local11 > _local14){ return (null); }; _local5 = isLeft(_arg1, _arg2, _arg3); _local6 = isLeft(_arg1, _arg2, _arg4); if ((_local5 * _local6) >= 0){ return (null); }; _local5 = isLeft(_arg3, _arg4, _arg1); _local6 = isLeft(_arg3, _arg4, _arg2); if ((_local5 * _local6) >= 0){ return (null); }; return (lineIntersection(_arg1, _arg2, _arg3, _arg4)); } public static function lineIntersection(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):b2Vec2{ var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local5 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local6 = new b2Vec2((_arg4.x - _arg3.x), (_arg4.y - _arg3.y)); _local7 = (_arg3.x - _arg1.x); _local8 = (_arg3.y - _arg1.y); _local9 = ((_local7 * _local6.y) - (_local8 * _local6.x)); _local10 = ((_local5.x * _local6.y) - (_local5.y * _local6.x)); _local11 = (_local9 / _local10); _local12 = (_arg1.x + (_local5.x * _local11)); _local13 = (_arg1.y + (_local5.y * _local11)); return (new b2Vec2(_local12, _local13)); } } }//package com.nitrome.util
Section 153
//Global (com.nitrome.util.Global) package com.nitrome.util { import flash.display.*; import flash.geom.*; import flash.text.*; public class Global { public static function safeMinimum(_arg1:Array):Number{ var _local2:Number; var _local3:*; _local2 = NaN; for (_local3 in _arg1) { if (((isNaN(_local2)) || ((_arg1[_local3] < _local2)))){ _local2 = _arg1[_local3]; }; }; return (_local2); } public static function isNumeric(_arg1:String):Boolean{ return ((_arg1 == String(Number(_arg1)))); } public static function childrenList(_arg1, _arg2:String):Array{ var _local3:Array; var _local4:*; _local3 = []; for (_local4 in _arg1) { _local3.push(_arg1[_local4][_arg2]); }; return (_local3); } public static function whiteOut(_arg1:Number):ColorTransform{ var _local2:Number; var _local3:Number; if (_arg1 > 0.5){ _local2 = ((_arg1 - 0.5) * 2); _local3 = (0xFF - (_local2 * 0xFF)); return (new ColorTransform(_local2, _local2, _local2, 1, _local3, _local3, _local3, 0)); }; return (new ColorTransform(0, 0, 0, (_arg1 * 2), 0xFF, 0xFF, 0xFF, 0)); } public static function createGrid(_arg1:Number, _arg2:Number, _arg3=null):Array{ var _local4:Array; var _local5:Array; var _local6:Number; _local4 = []; _local5 = []; _local6 = 0; while (_local6 < _arg2) { _local5.push(_arg3); _local6++; }; _local6 = 0; while (_local6 < _arg1) { _local4.push(_local5.slice()); _local6++; }; return (_local4); } public static function trim(_arg1:String):String{ var _local2:Number; var _local3:Number; _local2 = 0; _local3 = (_arg1.length - 1); while ((((((((_arg1.charAt(_local2) == " ")) || ((_arg1.charAt(_local2) == "\t")))) || ((_arg1.charAt(_local2) == "\n")))) || ((_arg1.charAt(_local2) == "\r")))) { _local2++; }; while ((((((((_arg1.charAt(_local3) == " ")) || ((_arg1.charAt(_local3) == "\t")))) || ((_arg1.charAt(_local3) == "\n")))) || ((_arg1.charAt(_local3) == "\r")))) { _local3--; }; return (_arg1.substring(_local2, (_local3 + 1))); } public static function negativeModulo(_arg1:Number, _arg2:Number):Number{ if (_arg1 >= 0){ return (((_arg1 % _arg2) - _arg2)); }; return ((_arg1 % _arg2)); } public static function removeFromList(_arg1, _arg2:Array):void{ var _local3:Number; _local3 = (_arg2.length - 1); while (_local3 >= 0) { if (_arg2[_local3] == _arg1){ _arg2.splice(_local3, 1); }; _local3--; }; } public static function removeOnceFromList(_arg1, _arg2:Array):void{ var _local3:Number; _local3 = (_arg2.length - 1); while (_local3 >= 0) { if (_arg2[_local3] == _arg1){ _arg2.splice(_local3, 1); return; }; _local3--; }; } public static function enforcePlaces(_arg1:Number, _arg2:Number):String{ var _local3:String; var _local4:String; if (_arg1 < 0){ return (("-" + enforcePlaces(-(_arg1), _arg2))); }; _local3 = String(Math.floor(_arg1)); _local4 = String(Math.floor(((_arg1 % 1) * Math.pow(10, _arg2)))); while (_local4.length < _arg2) { _local4 = ("0" + _local4); }; return (((_local3 + ".") + _local4)); } public static function blackOut(_arg1:Number):ColorTransform{ var _local2:Number; if (_arg1 > 0.5){ _local2 = ((_arg1 - 0.5) * 2); return (new ColorTransform(_local2, _local2, _local2, 1, 0, 0, 0, 0)); }; return (new ColorTransform(0, 0, 0, (_arg1 * 2), 0, 0, 0, 0)); } public static function copyArrayDeep(_arg1:Array):Array{ var _local2:Array; var _local3:Number; _local2 = []; _local3 = 0; while (_local3 < _arg1.length) { if ((_arg1[_local3] is Array)){ _local2.push(copyArrayDeep(_arg1[_local3])); } else { _local2.push(_arg1[_local3]); }; _local3++; }; return (_local2); } public static function slide(_arg1:Number, _arg2:Number, _arg3:Number):Number{ if (_arg1 < _arg2){ _arg1 = (_arg1 + _arg3); if (_arg1 > _arg2){ _arg1 = _arg2; }; return (_arg1); //unresolved jump }; _arg1 = (_arg1 - _arg3); if (_arg1 < _arg2){ _arg1 = _arg2; }; return (_arg1); } public static function createList(_arg1:Number, _arg2=null):Array{ var _local3:Array; var _local4:Number; _local3 = []; _local4 = 0; while (_local4 < _arg1) { _local3.push(_arg2); _local4++; }; return (_local3); } public static function deceleratingSweep(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ var _local6:Number; var _local7:Number; _local6 = ((_arg3)>0) ? -(_arg5) : _arg5; _local7 = ((_arg3 * _arg3) / (2 * -(_local6))); _local7 = (_local7 + _arg1); if (_arg1 < _arg2){ if (_local7 > _arg2){ return (-(_arg5)); }; return (_arg4); //unresolved jump }; if (_local7 < _arg2){ return (_arg5); }; return (-(_arg4)); } public static function positiveModulo(_arg1:Number, _arg2:Number):Number{ if (_arg1 >= 0){ return ((_arg1 % _arg2)); }; return (((_arg1 % _arg2) + _arg2)); } public static function textToBitmap(_arg1:BitmapData, _arg2:String, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0xFFFFFF, _arg6:Boolean=false, _arg7:TextFormat=null):void{ var _local8:TextField; _local8 = new TextField(); _local8.autoSize = TextFieldAutoSize.LEFT; if (_arg7){ _local8.defaultTextFormat = _arg7; } else { _local8.defaultTextFormat = new TextFormat("_sans", 10); }; _local8.textColor = _arg5; _local8.text = _arg2; if (_arg6){ _arg1.draw(_local8, new Matrix(1, 0, 0, 1, (_arg3 - int((_local8.width / 2))), (_arg4 - int((_local8.height / 2))))); } else { _arg1.draw(_local8, new Matrix(1, 0, 0, 1, _arg3, _arg4)); }; } public static function ordinal(_arg1:Number):String{ if (((((_arg1 % 100) > 10)) && (((_arg1 % 100) < 15)))){ return ((_arg1.toString() + "th")); }; if ((_arg1 % 10) == 1){ return ((_arg1.toString() + "st")); }; if ((_arg1 % 10) == 2){ return ((_arg1.toString() + "nd")); }; if ((_arg1 % 10) == 3){ return ((_arg1.toString() + "rd")); }; return ((_arg1.toString() + "th")); } public static function safeMaximum(_arg1:Array):Number{ var _local2:Number; var _local3:*; _local2 = NaN; for (_local3 in _arg1) { if (((isNaN(_local2)) || ((_arg1[_local3] > _local2)))){ _local2 = _arg1[_local3]; }; }; return (_local2); } public static function repeatString(_arg1:String, _arg2:Number):String{ var _local3:String; var _local4:Number; if (_arg2 < 1){ return (""); }; _local3 = _arg1; _local4 = 1; while (_local4 < _arg2) { _local3 = (_local3 + _arg1); _local4++; }; return (_local3); } public static function findInList(_arg1, _arg2:Array):Number{ var _local3:Number; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public static function sign(_arg1:Number):Number{ if (_arg1 > 0){ return (1); }; if (_arg1 < 0){ return (-1); }; return (0); } public static function copyColorTransform(_arg1:ColorTransform):ColorTransform{ return (new ColorTransform(_arg1.redMultiplier, _arg1.greenMultiplier, _arg1.blueMultiplier, _arg1.alphaMultiplier, _arg1.redOffset, _arg1.greenOffset, _arg1.blueOffset, _arg1.alphaOffset)); } } }//package com.nitrome.util
Section 154
//Key (com.nitrome.util.Key) package com.nitrome.util { import flash.display.*; import flash.events.*; public class Key { public static const LEFT:uint = 37; public static const NUMPAD_DECIMAL:uint = 110; public static const A:uint = 65; public static const B:uint = 66; public static const C:uint = 67; public static const D:uint = 68; public static const E:uint = 69; public static const F:uint = 70; public static const G:uint = 71; public static const H:uint = 72; public static const I:uint = 73; public static const J:uint = 74; public static const K:uint = 75; public static const L:uint = 76; public static const M:uint = 77; public static const N:uint = 78; public static const O:uint = 79; public static const MINUS:uint = 189; public static const Q:uint = 81; public static const PAGE_DOWN:uint = 34; public static const S:uint = 83; public static const T:uint = 84; public static const U:uint = 85; public static const V:uint = 86; public static const P:uint = 80; public static const X:uint = 88; public static const R:uint = 82; public static const ALTERNATE:uint = 18; public static const QUOTE:uint = 222; public static const W:uint = 87; public static const BACKSPACE:uint = 8; public static const Y:uint = 89; public static const SHIFT:uint = 16; public static const PAGE_UP:uint = 33; public static const Z:uint = 90; public static const ESCAPE:uint = 27; public static const NUMPAD_ADD:uint = 107; public static const SEMICOLON:uint = 186; public static const UP:uint = 38; public static const DOWN:uint = 40; public static const F1:uint = 112; public static const F3:uint = 114; public static const F5:uint = 116; public static const F6:uint = 117; public static const F7:uint = 118; public static const F8:uint = 119; public static const F2:uint = 113; public static const F4:uint = 115; public static const ENTER:uint = 13; public static const INSERT:uint = 45; public static const END:uint = 35; public static const COMMA:uint = 188; public static const NUMBER_3:uint = 51; public static const NUMBER_5:uint = 53; public static const NUMBER_6:uint = 54; public static const NUMBER_0:uint = 48; public static const F9:uint = 120; public static const NUMBER_4:uint = 52; public static const NUMBER_7:uint = 55; public static const NUMBER_8:uint = 56; public static const NUMBER_2:uint = 50; public static const LEFTBRACKET:uint = 219; public static const NUMBER_9:uint = 57; public static const NUMBER_1:uint = 49; public static const BACKSLASH:uint = 220; public static const NUMPAD_MULTIPLY:uint = 106; public static const HOME:uint = 36; public static const F10:uint = 121; public static const F11:uint = 122; public static const F12:uint = 123; public static const F13:uint = 124; public static const F14:uint = 125; public static const SPACE:uint = 32; public static const F15:uint = 126; public static const RIGHTBRACKET:uint = 221; public static const EQUAL:uint = 187; public static const COMMAND:uint = 15; public static const CONTROL:uint = 17; public static const NUMPAD_ENTER:uint = 108; public static const NUMPAD:uint = 21; public static const TAB:uint = 9; public static const SLASH:uint = 191; public static const DELETE:uint = 46; public static const NUMPAD_DIVIDE:uint = 111; public static const NUMPAD_1:uint = 97; public static const NUMPAD_2:uint = 98; public static const NUMPAD_3:uint = 99; public static const NUMPAD_4:uint = 100; public static const NUMPAD_5:uint = 101; public static const NUMPAD_6:uint = 102; public static const NUMPAD_7:uint = 103; public static const NUMPAD_8:uint = 104; public static const NUMPAD_9:uint = 105; public static const PERIOD:uint = 190; public static const CAPS_LOCK:uint = 20; public static const NUMPAD_0:uint = 96; public static const BACKQUOTE:uint = 192; public static const NUMPAD_SUBTRACT:uint = 109; public static const RIGHT:uint = 39; protected static var keysDown:Object = new Object(); protected static var initialized:Boolean = false; public static function terminate(_arg1:Stage):void{ if (initialized){ _arg1.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.removeEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.removeEventListener(Event.DEACTIVATE, clearKeys); initialized = false; keysDown = new Object(); }; } public static function isReady():Boolean{ return (initialized); } public static function keyReleased(_arg1:KeyboardEvent):void{ if ((_arg1.keyCode in keysDown)){ delete keysDown[_arg1.keyCode]; }; } public static function keyPressed(_arg1:KeyboardEvent):void{ keysDown[_arg1.keyCode] = true; } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ trace("ERROR: Key class has not been initialized."); }; return (Boolean((_arg1 in keysDown))); } public static function initialize(_arg1:Stage):void{ if (!initialized){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } public static function clearKeys(_arg1:Event):void{ keysDown = new Object(); } } }//package com.nitrome.util
Section 155
//Lock (com.nitrome.util.Lock) package com.nitrome.util { import flash.display.*; import flash.net.*; public class Lock extends MovieClip { public function Lock(){ addFrameScript(1, frame2); } function frame2(){ stop(); } public static function urlLock(_arg1:Stage):void{ var _local2:String; if (NitromeGame.isAtURL(NitromeGame.NITROME) == true){ } else { _arg1.addChild(new (Lock)); _local2 = ("http://www.nitrome.com/games/" + NitromeGame.game_id); navigateToURL(new URLRequest(_local2), "_blank"); }; } } }//package com.nitrome.util
Section 156
//MD5 (com.nitrome.util.MD5) package com.nitrome.util { public class MD5 { private var  :int;// = 8 private var  :String;// = "" public function MD5(_arg1:String=null, _arg2:int=0){  = "";  = 8; super(); if (_arg1 != null){ this. = _arg1; }; if (((((!((_arg2 == 0))) && ((_arg2 == 8)))) || ((_arg2 == 16)))){ this. = _arg2; }; } private function (_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; var _local5:int; var _local6:int; _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF)); _local6 = 0; while (_local6 < 4) { if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){ _local3 = (_local3 +  ); } else { _local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63))); }; _local6++; }; _local4 = (_local4 + 3); }; return (_local3); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):int{ return (((((_arg2, _arg1), (_arg4, _arg6)), _arg5), _arg3)); } private function (_arg1:Array):String{ var _local2:String; var _local3:int; var _local4:int; _local2 = new String(""); _local3 = ((1 <<  ) - 1); _local4 = 0; while (_local4 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local4 >> 5)] >>> (_local4 % 32)) & _local3))); _local4 = (_local4 +  ); }; return (_local2); } private function (_arg1:String, _arg2:String):Array{ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:int; var _local7:Array; _local3 = new Array((_arg1)); if (_local3.length > 16){ _local3 = (_local3, (_arg1.length *  )); }; _local4 = new Array(16); _local5 = new Array(16); _local6 = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; _local7 = new Array((_local4.concat((_arg2)), (0x0200 + (_arg2.length *  )))); return ((_local5.concat(_local7), (0x0200 + 128))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ((((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function  (_arg1:String, _arg2:String):String{ return (((_arg1, _arg2))); } public function hash(_arg1:String):String{ return ( (_arg1)); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function  (_arg1:String):String{ return ((((_arg1), (_arg1.length *  )))); } private function (_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } private function (_arg1:Array, _arg2:int):Array{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; _local3 = 1732584193; _local4 = -271733879; _local5 = -1732584194; _local6 = 271733878; _local7 = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 = (_local3, _local8); _local4 = (_local4, _local9); _local5 = (_local5, _local10); _local6 = (_local6, _local11); _local7 = (_local7 + 16); }; return (new Array(_local3, _local4, _local5, _local6)); } private function (_arg1:String):String{ return ((((_arg1), (_arg1.length *  )))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ((((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function (_arg1:String, _arg2:String):String{ return (((_arg1, _arg2))); } private function (_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; _local2 = new Array(); _local3 = ((1 <<  ) - 1); _local4 = 0; while (_local4 < (_arg1.length *  )) { _local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 /  )) & _local3) << (_local4 % 32))); _local4 = (_local4 +  ); }; return (_local2); } private function (_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = "0123456789abcdef"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15)))); _local4++; }; return (_local3); } private function (_arg1:Number, _arg2:Number):Number{ var _local3:int; var _local4:int; _local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); _local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } private function (_arg1:String):String{ return ((((_arg1), (_arg1.length *  )))); } private function (_arg1:String, _arg2:String):String{ return (((_arg1, _arg2))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ((((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } } }//package com.nitrome.util
Section 157
//Trig (com.nitrome.util.Trig) package com.nitrome.util { public class Trig { protected static var hasSetup:Boolean = false; public static var cos:Array; public static var sin:Array; public static function getCos(_arg1:Number):Number{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; return (cos[(_arg1 << 0)]); } public static function getSin(_arg1:Number):Number{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; return (sin[(_arg1 << 0)]); } public static function setup():void{ var _local1:int; if (hasSetup){ return; }; sin = []; cos = []; _local1 = 0; while (_local1 <= 360) { sin[_local1] = Math.sin(((_local1 * Math.PI) / 180)); cos[_local1] = Math.cos(((_local1 * Math.PI) / 180)); _local1++; }; } } }//package com.nitrome.util
Section 158
//congratulationsclip_109 (Icebreaker_fla.congratulationsclip_109) package Icebreaker_fla { import com.nitrome.icebreaker.*; import flash.display.*; import flash.events.*; import com.nitrome.game.*; public dynamic class congratulationsclip_109 extends MovieClip { public var __id20_:NumbskullFont; public var captain:MovieClip; public var bg:Background; public var guy3:MovieClip; public var guy2:MovieClip; public var sea:Sea; public var guy1:MovieClip; public var scoreField:NumbskullFont; public function congratulationsclip_109(){ addFrameScript(0, frame1);  ();  (); } function  (){ try { __id20_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id20_.align = "center"; __id20_.align_vert = "center"; __id20_.color = 11977954; __id20_.id = "None"; __id20_.line_spacing = 18; __id20_.text = "Congratulations!"; __id20_.tracking = 0; try { __id20_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { scoreField["componentInspectorSetting"] = true; } catch(e:Error) { }; scoreField.align = "center"; scoreField.align_vert = "center"; scoreField.color = 15068151; scoreField.id = "None"; scoreField.line_spacing = 18; scoreField.text = "your final score is 0!"; scoreField.tracking = 0; try { scoreField["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ addEventListener(Event.ENTER_FRAME,  , false, 0, true); scoreField.text = ("Your final score is " + Score.value.toString()); bg.autoLevel = 0; guy1.gotoAndPlay(8); guy2.gotoAndPlay(3); guy3.gotoAndPlay(13); } public function  (_arg1:Event):void{ sea.scrollX = (sea.scrollX - 4); sea.advance(); } } }//package Icebreaker_fla
Section 159
//death_60 (Icebreaker_fla.death_60) package Icebreaker_fla { import flash.display.*; public dynamic class death_60 extends MovieClip { public function death_60(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 160
//deepthud_53 (Icebreaker_fla.deepthud_53) package Icebreaker_fla { import flash.display.*; public dynamic class deepthud_53 extends MovieClip { public function deepthud_53(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 161
//fatwoman_58 (Icebreaker_fla.fatwoman_58) package Icebreaker_fla { import flash.display.*; public dynamic class fatwoman_58 extends MovieClip { public function fatwoman_58(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 162
//ice3_51 (Icebreaker_fla.ice3_51) package Icebreaker_fla { import flash.display.*; public dynamic class ice3_51 extends MovieClip { public function ice3_51(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 163
//ice3b_64 (Icebreaker_fla.ice3b_64) package Icebreaker_fla { import flash.display.*; public dynamic class ice3b_64 extends MovieClip { public function ice3b_64(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 164
//ice4_52 (Icebreaker_fla.ice4_52) package Icebreaker_fla { import flash.display.*; public dynamic class ice4_52 extends MovieClip { public function ice4_52(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 165
//iceSmash_55 (Icebreaker_fla.iceSmash_55) package Icebreaker_fla { import flash.display.*; public dynamic class iceSmash_55 extends MovieClip { public function iceSmash_55(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 166
//iceTooLarge_56 (Icebreaker_fla.iceTooLarge_56) package Icebreaker_fla { import flash.display.*; public dynamic class iceTooLarge_56 extends MovieClip { public function iceTooLarge_56(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 167
//instances_2 (Icebreaker_fla.instances_2) package Icebreaker_fla { import flash.display.*; public dynamic class instances_2 extends MovieClip { public function instances_2(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 168
//MainTimeline (Icebreaker_fla.MainTimeline) package Icebreaker_fla { import com.nitrome.icebreaker.*; import flash.display.*; import flash.events.*; import mochi.as3.*; import com.nitrome.game.*; import flash.utils.*; import flash.ui.*; public dynamic class MainTimeline extends MovieClip { public var __id17_:NumbskullFont; public var mapHolder:MovieClip; public var __id18_:NumbskullFont; public var __setPropDict:Dictionary; public var __id19_:NumbskullFont; public var preloader:Preloader; public var content:MovieClip; public var characterCounter:NumbskullFont; public var button10:LevelStartButton; public var button11:LevelStartButton; public var button12:LevelStartButton; public var button13:LevelStartButton; public var button14:LevelStartButton; public var button15:LevelStartButton; public var button16:LevelStartButton; public var button18:LevelStartButton; public var button19:LevelStartButton; public var button17:LevelStartButton; public var moveCounter:NumbskullFont; public var button21:LevelStartButton; public var button23:LevelStartButton; public var button25:LevelStartButton; public var button26:LevelStartButton; public var button27:LevelStartButton; public var button28:LevelStartButton; public var button24:LevelStartButton; public var button29:LevelStartButton; public var button22:LevelStartButton; public var pauseGame:PauseButton; public var button31:LevelStartButton; public var button33:LevelStartButton; public var button34:LevelStartButton; public var button35:LevelStartButton; public var button36:LevelStartButton; public var button38:LevelStartButton; public var button30:LevelStartButton; public var button32:LevelStartButton; public var button37:LevelStartButton; public var button20:LevelStartButton; public var background:Background; public var button39:LevelStartButton; public var button40:LevelStartButton; public var button1:LevelStartButton; public var button4:LevelStartButton; public var button5:LevelStartButton; public var button6:LevelStartButton; public var button7:LevelStartButton; public var button9:LevelStartButton; public var button3:LevelStartButton; public var button8:LevelStartButton; public var button2:LevelStartButton; public var popupHolder:MovieClip; public var __id16_:NumbskullFont; public function MainTimeline(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 5, frame6, 15, frame16, 35, , 55, frame56, 65,  , 45, , 46, , 47, , 48,  , 49,  , 50,  , 51,  , 52, , 53, , 54, , 25, frame26, 26, frame27, 27, frame28, 28, frame29, 29, frame30, 30, , 31,  , 32, , 33,  , 34, , 56,  , 57,  , 58,  , 59,  , 60,  , 61,  , 62,  , 63,  , 64,  , 36, , 37, frame38, 38, , 39, frame40, 40, frame41, 41,  , 42, , 43, , 44, ); } function (){ try { moveCounter["componentInspectorSetting"] = true; } catch(e:Error) { }; moveCounter.align = "left"; moveCounter.align_vert = "center"; moveCounter.color = 0xFFFFFF; moveCounter.id = "None"; moveCounter.line_spacing = 18; moveCounter.text = "0/0"; moveCounter.tracking = 0; try { moveCounter["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame16(){ NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function frame6(){ Mouse.show(); stop(); } function frame26(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame1(){ MochiAd.showPreGameAd({clip:root, id:"cf58c0a38e3d2286", res:"550x400", background:11977954, color:2574473, outline:0, no_bg:true}); } function frame2(){ preloader.addEventListener(Event.COMPLETE, function (_arg1:Event){ NitromeGame.init((root as MovieClip), "icebreaker", "nobodies", 40); stage.showDefaultContextMenu = false; if (Controller.SKIP_MENUS){ (root as MovieClip).gotoAndStop("game"); } else { (root as MovieClip).gotoAndStop("nitrome"); }; }); stop(); } function (){ try { __id17_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id17_.align = "center"; __id17_.align_vert = "center"; __id17_.color = 11977954; __id17_.id = "None"; __id17_.line_spacing = 18; __id17_.text = "markus heinel"; __id17_.tracking = 0; try { __id17_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame29(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function frame27(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame30(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame38(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame40(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame28(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 26)) && ((int(__setPropDict[__id16_]) <= 35))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame41(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 36)) && ((int(__setPropDict[__id16_]) <= 45))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function frame56(){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; Controller.startGame(content); Controller.startLevel(Controller.selectedLevel); NitromeGame.sound_manager.playMusic(SoundManager.GAME); } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 46)) && ((int(__setPropDict[__id19_]) <= 55))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 46)) && ((int(__setPropDict[__id16_]) <= 55))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 46)) && ((int(__setPropDict[__id17_]) <= 55))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 46)) && ((int(__setPropDict[__id18_]) <= 55))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ try { characterCounter["componentInspectorSetting"] = true; } catch(e:Error) { }; characterCounter.align = "right"; characterCounter.align_vert = "center"; characterCounter.color = 0xFFFFFF; characterCounter.id = "None"; characterCounter.line_spacing = 18; characterCounter.text = "0/1"; characterCounter.tracking = 0; try { characterCounter["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 56)) && ((int(__setPropDict[characterCounter]) <= 65))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 56)) && ((int(__setPropDict[moveCounter]) <= 65))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.align = "center"; __id18_.align_vert = "center"; __id18_.color = 11977954; __id18_.id = "None"; __id18_.line_spacing = 18; __id18_.text = "chris burt-brown"; __id18_.tracking = 0; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 11977954; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "select a level"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.align = "center"; __id19_.align_vert = "center"; __id19_.color = 11977954; __id19_.id = "None"; __id19_.line_spacing = 18; __id19_.text = "lee nicklen"; __id19_.tracking = 0; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 11977954; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "instructions"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 11977954; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "credits"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Icebreaker_fla
Section 169
//nitrome_50 (Icebreaker_fla.nitrome_50) package Icebreaker_fla { import flash.display.*; public dynamic class nitrome_50 extends MovieClip { public function nitrome_50(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 170
//nitromeintro_98 (Icebreaker_fla.nitromeintro_98) package Icebreaker_fla { import flash.display.*; public dynamic class nitromeintro_98 extends MovieClip { public function nitromeintro_98(){ addFrameScript(39, frame40, 55, frame56, 90, , 141, ); } function (){ NitromeGame.sound_manager.playSound("nitrome"); } function frame40(){ NitromeGame.sound_manager.playSound("ice3b"); } function frame56(){ NitromeGame.sound_manager.playSound("iceSmash"); } function (){ stop(); NitromeGame.transition.doTween("title_screen"); } } }//package Icebreaker_fla
Section 171
//noslice_57 (Icebreaker_fla.noslice_57) package Icebreaker_fla { import flash.display.*; public dynamic class noslice_57 extends MovieClip { public function noslice_57(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 172
//popupcontent_95 (Icebreaker_fla.popupcontent_95) package Icebreaker_fla { import flash.display.*; import flash.text.*; import com.nitrome.game.*; import flash.utils.*; public dynamic class popupcontent_95 extends MovieClip { public var default_resume:ContinueGameButton; public var default_restart:RestartLevelButton; public var default_next:NextLevelButton; public var __setPropDict:Dictionary; public var levelScore:TextField; public var totalScore:TextField; public var title1:NumbskullFont; public var title2:NumbskullFont; public function popupcontent_95(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 20,  , 21, , 22, , 23, , 24, , 25, frame26, 26, frame27, 27, frame28, 28, frame29, 29, frame30); } function frame10(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function (){ try { title1["componentInspectorSetting"] = true; } catch(e:Error) { }; title1.align = "center"; title1.align_vert = "center"; title1.color = 9085911; title1.id = "None"; title1.line_spacing = 18; title1.text = "Pause"; title1.tracking = 0; try { title1["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame18(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function  (){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function (){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame28(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[title1] == undefined)) || (!((((int(__setPropDict[title1]) >= 1)) && ((int(__setPropDict[title1]) <= 10))))))){ __setPropDict[title1] = currentFrame; (); }; } function frame30(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function (){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function (){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame27(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function (){ try { title2["componentInspectorSetting"] = true; } catch(e:Error) { }; title2.align = "center"; title2.align_vert = "center"; title2.color = 9085911; title2.id = "None"; title2.line_spacing = 18; title2.text = "level complete"; title2.tracking = 0; try { title2["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame29(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 11)) && ((int(__setPropDict[title2]) <= 20))))))){ __setPropDict[title2] = currentFrame; (); }; } function frame26(){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame; (); }; } function (){ try { title2["componentInspectorSetting"] = true; } catch(e:Error) { }; title2.align = "center"; title2.align_vert = "center"; title2.color = 9085911; title2.id = "None"; title2.line_spacing = 18; title2.text = "level failed"; title2.tracking = 0; try { title2["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Icebreaker_fla
Section 173
//ropeBreak_59 (Icebreaker_fla.ropeBreak_59) package Icebreaker_fla { import flash.display.*; public dynamic class ropeBreak_59 extends MovieClip { public function ropeBreak_59(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 174
//runeDeath_63 (Icebreaker_fla.runeDeath_63) package Icebreaker_fla { import flash.display.*; public dynamic class runeDeath_63 extends MovieClip { public function runeDeath_63(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 175
//splash_54 (Icebreaker_fla.splash_54) package Icebreaker_fla { import flash.display.*; public dynamic class splash_54 extends MovieClip { public function splash_54(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 176
//vikingAtEnd_61 (Icebreaker_fla.vikingAtEnd_61) package Icebreaker_fla { import flash.display.*; public dynamic class vikingAtEnd_61 extends MovieClip { public function vikingAtEnd_61(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 177
//wolfratDying_62 (Icebreaker_fla.wolfratDying_62) package Icebreaker_fla { import flash.display.*; public dynamic class wolfratDying_62 extends MovieClip { public function wolfratDying_62(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 178
//MochiAd (mochi.as3.MochiAd) package mochi.as3 { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return ("3.0 as3"); } public static function showClickAwayAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_timeout:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var sendHostProgress:Boolean; var options = _arg1; DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_timeout = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; sendHostProgress = false; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; _local3 = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (this.root == null){ _local3 = true; }; if (_local3){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(_arg1:String):String{ var _local2:String; _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType == "application"){ return (_local2); }; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (_arg1.origFrameRate != undefined){ _arg1.stage.frameRate = _arg1.origFrameRate; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad._containerLCName != undefined){ _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"}); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Number; var _local3:Boolean; var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; _local1 = this.parent._mochiad_ctr; _local2 = (getTimer() - this.started); _local3 = false; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (_local2 > chk.ad_msec){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local3:Object; var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; _local3 = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _cleanup(_arg1:Object):void{ var idx:Number; var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; idx = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(_arg1:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var depth:Number; var mc:MovieClip; var wh:Array; var lv:URLVariables; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); wh = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; } else { trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal"); }; lv = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime())); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{ trace("[MochiAds] Blocked URL"); }); loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{ var _local4:Array; var _local5:Number; _local4 = _arg2.split("."); _local5 = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return (undefined); }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; if (typeof(_arg1[_local4[_local5]]) == "function"){ return (_arg1[_local4[_local5]].apply(_arg1, _arg3)); }; return (undefined); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip; _local4 = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local3:Object; var _local4:Number; var _local5:Number; var _local6:Array; _local3 = _arg2.getBounds(_arg2.root); _local4 = 0; _local5 = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.xMax - _local3.xMin); _local5 = (_local3.yMax - _local3.yMin); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function adShowing(_arg1:Object):void{ _arg1.origFrameRate = _arg1.stage.frameRate; _arg1.stage.frameRate = 30; } public static function getValue(_arg1:Object, _arg2:String):Object{ var _local3:Array; var _local4:Number; _local3 = _arg2.split("."); _local4 = 0; while (_local4 < (_local3.length - 1)) { if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){ return (undefined); }; _arg1 = _arg1[_local3[_local4]]; _local4++; }; return (_arg1[_local3[_local4]]); } public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{ var _local4:Object; var _local5:Object; switch (_arg3.id){ case "setValue": MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value); break; case "getValue": _local4 = MochiAd.getValue(_arg1, _arg3.objectName); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + _arg3.id)); }; } public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Array; var _local5:Number; _local4 = _arg2.split("."); _local5 = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return; }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; _arg1[_local4[_local5]] = _arg3; } public static function showPreGameAd(_arg1:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var bar:MovieClip; var bar_color:Number; var bar_background:Number; var bar_outline:Number; var backing_mc:MovieClip; var backing:Object; var inside_mc:MovieClip; var inside:Object; var outline_mc:MovieClip; var outline:Object; var complete:Boolean; var unloaded:Boolean; var f:Function; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = _arg1; DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (_arg1:Number):void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); return; }; clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ var fn:Function; MochiAd._cleanup(mc); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); bar = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = 10; bar.y = (h - 20); }; bar_color = options.color; delete options.color; bar_background = options.background; delete options.background; bar_outline = options.outline; delete options.outline; backing_mc = createEmptyMovieClip(bar, "_outline", 1); backing = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); inside_mc = createEmptyMovieClip(bar, "_inside", 2); inside = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; outline_mc = createEmptyMovieClip(bar, "_outline", 3); outline = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number; _local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; f = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object; _local2 = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; mc.rpcTestFn = function (_arg1:String):Object{ trace(("[MOCHIAD rpcTestFn] " + _arg1)); return (_arg1); }; mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; sendHostProgress = false; mc.sendHostLoadProgress = function (_arg1:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _local1:Object; var _local2:Object; var _local3:Number; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Object; var _local10:Number; var _local11:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; _local1 = this.parent.parent.root; _local2 = this.parent._mochiad_ctr; _local3 = (getTimer() - this.started); _local4 = false; _local5 = _local1.loaderInfo.bytesTotal; _local6 = _local1.loaderInfo.bytesLoaded; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; _local7 = ((100 * _local6) / _local5); _local8 = ((100 * _local3) / chk.ad_msec); _local9 = this._mochiad_bar._inside; _local10 = Math.min(100, Math.min(((_local7) || (0)), _local8)); _local10 = Math.max(this.last_pcnt, _local10); this.last_pcnt = _local10; _local9.scaleX = (_local10 * 0.01); options.ad_progress(_local10); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7}); if (_local7 == 100){ sendHostProgress = false; }; }; if (!chk.showing){ _local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local11 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){ options.ad_failed(); _local4 = true; }; }; }; if (_local3 > chk.ad_msec){ _local4 = true; }; if (((complete) && (_local4))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(_arg1); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var f:Function; var mc = _arg1; f = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package mochi.as3
Section 179
//ArrowCursor (ArrowCursor) package { import flash.display.*; public dynamic class ArrowCursor extends MovieClip { } }//package
Section 180
//ClearButton (ClearButton) package { import com.nitrome.highscore.*; import flash.utils.*; public dynamic class ClearButton extends ClearButton { public var __setPropDict:Dictionary; public var __id8_:NumbskullFont; public function ClearButton(){ __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); } function frame10(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function (){ try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.align = "center"; __id8_.align_vert = "top"; __id8_.color = 2574473; __id8_.id = "None"; __id8_.line_spacing = 18; __id8_.text = "clear"; __id8_.tracking = 0; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function (){ try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.align = "center"; __id8_.align_vert = "top"; __id8_.color = 11977954; __id8_.id = "None"; __id8_.line_spacing = 18; __id8_.text = "clear"; __id8_.tracking = 0; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame11(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } } }//package
Section 181
//DeathBlockTexture (DeathBlockTexture) package { import flash.display.*; public dynamic class DeathBlockTexture extends BitmapData { public function DeathBlockTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 182
//ForceBlockForceMC (ForceBlockForceMC) package { import flash.display.*; public dynamic class ForceBlockForceMC extends MovieClip { public function ForceBlockForceMC(){ addFrameScript(10, frame11); } function frame11(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 183
//ForceBlockTexture (ForceBlockTexture) package { import flash.display.*; public dynamic class ForceBlockTexture extends BitmapData { public function ForceBlockTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 184
//GameMusic (GameMusic) package { import flash.media.*; public dynamic class GameMusic extends Sound { } }//package
Section 185
//HammerImpact (HammerImpact) package { import flash.display.*; public dynamic class HammerImpact extends MovieClip { public function HammerImpact(){ addFrameScript(12, frame13); } function frame13(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 186
//HighScoreBoard (HighScoreBoard) package { import com.nitrome.highscore.*; public dynamic class HighScoreBoard extends HighScoreBoard { } }//package
Section 187
//IceTexture (IceTexture) package { import flash.display.*; public dynamic class IceTexture extends BitmapData { public function IceTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 188
//LetterButton (LetterButton) package { import com.nitrome.highscore.*; public dynamic class LetterButton extends LetterButton { public function LetterButton(){ addFrameScript(0, frame1);  (); } function frame1(){ stop(); } function  (){ try { _letter["componentInspectorSetting"] = true; } catch(e:Error) { }; _letter.align = "center"; _letter.align_vert = "center"; _letter.color = 11977954; _letter.id = "None"; _letter.line_spacing = 18; _letter.text = "a"; _letter.tracking = 0; try { _letter["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 189
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 190
//NextArrow (NextArrow) package { import com.nitrome.highscore.*; import flash.utils.*; public dynamic class NextArrow extends ArrowButton { public var __setPropDict:Dictionary; public var __id9_:NumbskullFont; public function NextArrow(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function  (){ try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.align = "center"; __id9_.align_vert = "top"; __id9_.color = 2574473; __id9_.id = "None"; __id9_.line_spacing = 18; __id9_.text = "next"; __id9_.tracking = 0; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame4(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;  (); }; } function  (){ try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.align = "center"; __id9_.align_vert = "top"; __id9_.color = 11977954; __id9_.id = "None"; __id9_.line_spacing = 18; __id9_.text = "next"; __id9_.tracking = 0; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 191
//NitromeGame (NitromeGame) package { import flash.display.*; import com.nitrome.util.*; import com.nitrome.game.*; import flash.net.*; public class NitromeGame { public static const NITROME:uint = 0; private static const DOMAINS:Array = new Array("nitrome.com", "miniclip.com", "candystand.com"); public static const CANDYSTAND:uint = 2; private static const NITROME_URL:Array = new Array("http://www.nitrome.com/", "http://cdn.nitrome.com/", "http://nitrome.com/", "http://www.nitrome.co.uk/", "http://www.nitrome.net/", "http://www.nitromegames.com/", "http://www.nitromegames.co.uk/", "http://www.nitrome-games.com/", "http://www.nitrome-games.co.uk/", "http://www.nitromeimages.com/"); private static const CANDYSTAND_URL:Array = new Array("http://www.candystand.com", "http://candystand.com"); public static const SUBMIT_URL:String = "http://www.nitrome.com/php/submit_score.php"; public static const MINICLIP:uint = 1; private static const MINICLIP_URL:Array = new Array("http://www.miniclip.com", "http://miniclip.com"); public static const RETRIEVE_URL:String = "http://www.nitrome.com/php/retrieve_scores.php"; private static var _level_id:String; private static var _leading_zero:Boolean = false; private static var ar_1:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ":", ".", "_", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"); private static var ar_2:Array = new Array("_", "7", "c", "2", "l", "r", "a", "h", "i", ".", "g", "m", "v", "1", "b", "q", "3", "z", "w", "o", "u", "t", "s", "0", "d", "f", "8", "n", "5", "k", ":", "j", "p", "/", "4", "6", "e", "9", "y", "x", "-"); private static var adj:Number = 1.75; private static var _total_levels:int; private static var _url:String; public static var global:Object = new Object(); public static var timeline:MovieClip; private static var _game_id:String; private static var ff:Array = new Array(); private static var ar_key:String = "ctdngevfaqki8_lb:psoj90ux127hm/4w5y3rz.6-"; public static var transition:Transition; private static var _time_based:Boolean = false; public static var sound_manager:SoundManager; private static var _selected_level:int = 1; public static function setLastSavedScore(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local4.data.last_saved_score = _arg1; _local4.flush(); _local4.close(); } public static function lockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 0; _local5++; }; _local4[0] = 1; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } public static function get game_id():String{ return (_game_id); } public static function set leading_zero(_arg1:Boolean):void{ _leading_zero = _arg1; } public static function set sfx(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.sfxon = _arg1; _local3.flush(); _local3.close(); } public static function unlockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 1; _local5++; }; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } private static function decryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:*; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_2.length) { if (ar_2[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (_local7 - Math.round(_local9)); _local10 = checkRange(_local10); _local4 = (_local9 + _local7); _local11 = ar_1[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function init(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Number):void{ timeline = _arg1; _url = _arg1.loaderInfo.url; _level_id = _arg3; _total_levels = _arg4; _game_id = _arg2.toLowerCase(); } public static function displayNextButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[10]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function set time_based(_arg1:Boolean):void{ _time_based = _arg1; } public static function get sfx():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.sfxon != undefined){ return (_local2.data.sfxon); }; return (true); //unresolved jump }; return (true); } public static function getScoreData(_arg1:int, _arg2:String):String{ var _local3:String; var _local4:String; _local3 = ((((String(_arg1) + "_") + game_id) + "_") + _arg2.toLowerCase()); trace(("encrypting: " + _local3)); _local4 = encryptString(ar_key, _local3); trace(("encrypted: " + _local4)); trace(("decrypted: " + decryptString(ar_key, _local4))); return (_local4); } public static function getTotalScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; var _local6:int; var _local7:int; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.level_scores == undefined){ return (0); }; _local6 = 0; _local7 = 0; while (_local7 < _local3.data.level_scores.length) { if (((!((_local3.data.level_scores[_local7] == undefined))) && (!(isNaN(_local3.data.level_scores[_local7]))))){ _local6 = (_local6 + _local3.data.level_scores[_local7]); }; _local7++; }; return (_local6); } private static function convertKey(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:String; var _local6:int; var _local7:int; _local2 = new Array(); _local2.push(_arg1.length); _local3 = 0; _local4 = 0; while (_local4 < _arg1.length) { _local5 = _arg1.substr(_local4, 1); _local7 = 0; while (_local7 < ar_1.length) { if (ar_1[_local7] == _local5){ _local6 = _local7; break; }; _local7++; }; _local2.push(_local6); _local3 = (_local3 + _local6); _local4++; }; _local2.push(_local3); return (_local2); } private static function checkRange(_arg1:int):int{ var _local2:int; _arg1 = Math.round(_arg1); _local2 = ar_1.length; while (_arg1 >= _local2) { _arg1 = (_arg1 - _local2); }; while (_arg1 < 0) { _arg1 = (_arg1 + _local2); }; return (_arg1); } public static function getSwfPath():String{ var _local1:String; var _local2:int; _local1 = url; _local2 = _local1.length; while (_local2 >= 0) { if (_local1.charAt(_local2) == "/"){ _local1 = _local1.slice(0, (_local2 + 1)); break; }; _local2--; }; return (_local1); } public static function get music():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.musicon != undefined){ return (_local2.data.musicon); }; return (true); //unresolved jump }; return (true); } public static function get level_id():String{ return (_level_id); } public static function setLevelUnlocked(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { _local7 = _local4.data.levels_unlocked; }; }; _local7[(_arg1 - 1)] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); } public static function get total_levels():int{ return (_total_levels); } public static function isAtURL(... _args):Boolean{ var _local2:int; var _local3:Array; var _local4:Boolean; var _local5:int; var _local6:String; if (_args.length == 0){ _args.push(NITROME); }; _local2 = 0; while (_local2 < _args.length) { if (_args[_local2] == NITROME){ _local3 = NITROME_URL; } else { if (_args[_local2] == MINICLIP){ _local3 = MINICLIP_URL; } else { if (_args[_local2] == CANDYSTAND){ _local3 = CANDYSTAND_URL; }; }; }; _local4 = false; _local5 = 0; while (_local5 < _local3.length) { _local6 = _local3[_local5]; trace(("testing: " + _local6)); if (url.substr(0, _local6.length) == _local6){ _local4 = true; break; }; _local5++; }; return (_local4); _local2++; }; return (false); } private static function encryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:String; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_1.length) { if (ar_1[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (Math.round(_local9) + _local7); _local10 = checkRange(_local10); _local4 = (_local9 + _local10); _local11 = ar_2[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function set selected_level(_arg1:int):void{ _selected_level = _arg1; } public static function get leading_zero():Boolean{ return (_leading_zero); } public static function set music(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.musicon = _arg1; _local3.flush(); _local3.close(); } public static function get time_based():Boolean{ return (_time_based); } public static function getLevelScore(_arg1:int, _arg2:int=1):int{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; if (!_local5){ return (0); }; if (_local4.data.level_scores == undefined){ return (0); }; if (_local4.data.level_scores[_arg1] == undefined){ return (0); }; return (_local4.data.level_scores[_arg1]); } public static function getLevelUnlocked(_arg1:int, _arg2:int=1):Boolean{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 1){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 1){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked[(_arg1 - 1)] == 1){ return (true); }; if (_local4.data.levels_unlocked[(_arg1 - 1)] == 0){ return (false); }; }; }; return (false); } public static function displayPreviousButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[11]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function get selected_level():int{ return (_selected_level); } public static function setLevelScore(_arg1:int, _arg2:int, _arg3:int=1):void{ var _local4:String; var _local5:SharedObject; var _local6:Boolean; var _local7:*; _local4 = (("so_" + game_id) + _arg3); _local5 = SharedObject.getLocal(_local4); _local6 = false; for each (_local7 in _local5.data) { _local6 = true; break; }; if (!_local6){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { if (_local5.data.level_scores == undefined){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { _local5.data.level_scores[_arg2] = _arg1; }; }; _local5.flush(); _local5.close(); } private static function applyFudgeFactor():Number{ var _local1:Number; _local1 = Number(ff.shift()); _local1 = (_local1 + adj); ff.push(_local1); return (_local1); } public static function getHighScoreLine(_arg1:String, _arg2:int):Object{ var _local3:Array; var _local4:String; var _local5:Array; var _local6:Object; _local3 = _arg1.split("|"); _local4 = _local3[(_arg2 - 1)]; if ((((((((_local4 == "0")) || ((_local4 == "1")))) || ((_local4 == null)))) || ((_local4 == "")))){ return (null); }; _local5 = _local4.split("_"); if ((((_local5[1] == "n")) || ((_local5[2] == "n")))){ return (null); }; _local6 = new Object(); _local6.username = _local5[2]; _local6.score = _local5[1]; _local6.rank = _local5[0]; return (_local6); } public static function get url():String{ return (_url); } public static function getLastSavedScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.last_saved_score == undefined){ return (0); }; return (_local3.data.last_saved_score); } public static function getLevelName(_arg1:Number, _arg2:String=".xml"):String{ var _local3:MD5; var _local4:String; var _local5:String; _local3 = new MD5(); _local4 = ""; if (leading_zero){ if (_arg1 < 10){ _local4 = "0"; }; }; _local5 = _local3.hash(String(((level_id + _local4) + _arg1))); return ((_local5 + _arg2)); } } }//package
Section 192
//NumbskullFont (NumbskullFont) package { import com.nitrome.game.*; public dynamic class NumbskullFont extends TemplateFont { } }//package
Section 193
//PrevArrow (PrevArrow) package { import com.nitrome.highscore.*; import flash.utils.*; public dynamic class PrevArrow extends ArrowButton { public var __id10_:NumbskullFont; public var __setPropDict:Dictionary; public function PrevArrow(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.align = "center"; __id10_.align_vert = "top"; __id10_.color = 2574473; __id10_.id = "None"; __id10_.line_spacing = 18; __id10_.text = "prev"; __id10_.tracking = 0; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function  (){ try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.align = "center"; __id10_.align_vert = "top"; __id10_.color = 11977954; __id10_.id = "None"; __id10_.line_spacing = 18; __id10_.text = "prev"; __id10_.tracking = 0; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 194
//RockTexture (RockTexture) package { import flash.display.*; public dynamic class RockTexture extends BitmapData { public function RockTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 195
//ScoreLine (ScoreLine) package { import com.nitrome.highscore.*; public dynamic class ScoreLine extends HighScoreLine { } }//package
Section 196
//ScoreSubmitPanel (ScoreSubmitPanel) package { import com.nitrome.highscore.*; public dynamic class ScoreSubmitPanel extends ScoreSubmitPanel { public function ScoreSubmitPanel(){ addFrameScript(0, frame1); (); (); } function (){ try { _score_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _score_text.align = "center"; _score_text.align_vert = "center"; _score_text.color = 11977954; _score_text.id = "None"; _score_text.line_spacing = 18; _score_text.text = "your score is 0"; _score_text.tracking = 0; try { _score_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { _name_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _name_text.align = "center"; _name_text.align_vert = "center"; _name_text.color = 11977954; _name_text.id = "None"; _name_text.line_spacing = 18; _name_text.text = ""; _name_text.tracking = 0; try { _name_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); } } }//package
Section 197
//SubmitButton (SubmitButton) package { import com.nitrome.highscore.*; import flash.utils.*; public dynamic class SubmitButton extends SubmitButton { public var __id7_:NumbskullFont; public var __setPropDict:Dictionary; public function SubmitButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function  (){ try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.align = "center"; __id7_.align_vert = "top"; __id7_.color = 2574473; __id7_.id = "None"; __id7_.line_spacing = 18; __id7_.text = "submit"; __id7_.tracking = 0; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame3(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function  (){ try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.align = "center"; __id7_.align_vert = "top"; __id7_.color = 11977954; __id7_.id = "None"; __id7_.line_spacing = 18; __id7_.text = "submit"; __id7_.tracking = 0; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame8(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } } }//package
Section 198
//Text_None_0 (Text_None_0) package { import flash.display.*; public dynamic class Text_None_0 extends Sprite { } }//package
Section 199
//Text_None_1 (Text_None_1) package { import flash.display.*; public dynamic class Text_None_1 extends Sprite { } }//package
Section 200
//Text_None_2 (Text_None_2) package { import flash.display.*; public dynamic class Text_None_2 extends Sprite { } }//package
Section 201
//Text_None_3 (Text_None_3) package { import flash.display.*; public dynamic class Text_None_3 extends Sprite { } }//package
Section 202
//Text_None_4 (Text_None_4) package { import flash.display.*; public dynamic class Text_None_4 extends Sprite { } }//package
Section 203
//Text_None_5 (Text_None_5) package { import flash.display.*; public dynamic class Text_None_5 extends Sprite { } }//package
Section 204
//Text_None_6 (Text_None_6) package { import flash.display.*; public dynamic class Text_None_6 extends Sprite { } }//package
Section 205
//Text_None_7 (Text_None_7) package { import flash.display.*; public dynamic class Text_None_7 extends Sprite { } }//package
Section 206
//Text_None_8 (Text_None_8) package { import flash.display.*; public dynamic class Text_None_8 extends Sprite { } }//package
Section 207
//Text_None_9 (Text_None_9) package { import flash.display.*; public dynamic class Text_None_9 extends Sprite { } }//package
Section 208
//Text_None_A (Text_None_A) package { import flash.display.*; public dynamic class Text_None_A extends Sprite { } }//package
Section 209
//Text_None_APOSTROPHE (Text_None_APOSTROPHE) package { import flash.display.*; public dynamic class Text_None_APOSTROPHE extends Sprite { } }//package
Section 210
//Text_None_B (Text_None_B) package { import flash.display.*; public dynamic class Text_None_B extends Sprite { } }//package
Section 211
//Text_None_C (Text_None_C) package { import flash.display.*; public dynamic class Text_None_C extends Sprite { } }//package
Section 212
//Text_None_COLON (Text_None_COLON) package { import flash.display.*; public dynamic class Text_None_COLON extends Sprite { } }//package
Section 213
//Text_None_COMMA (Text_None_COMMA) package { import flash.display.*; public dynamic class Text_None_COMMA extends Sprite { } }//package
Section 214
//Text_None_D (Text_None_D) package { import flash.display.*; public dynamic class Text_None_D extends Sprite { } }//package
Section 215
//Text_None_E (Text_None_E) package { import flash.display.*; public dynamic class Text_None_E extends Sprite { } }//package
Section 216
//Text_None_EXCLAMATION (Text_None_EXCLAMATION) package { import flash.display.*; public dynamic class Text_None_EXCLAMATION extends Sprite { } }//package
Section 217
//Text_None_F (Text_None_F) package { import flash.display.*; public dynamic class Text_None_F extends Sprite { } }//package
Section 218
//Text_None_FORWARDSLASH (Text_None_FORWARDSLASH) package { import flash.display.*; public dynamic class Text_None_FORWARDSLASH extends Sprite { } }//package
Section 219
//Text_None_G (Text_None_G) package { import flash.display.*; public dynamic class Text_None_G extends Sprite { } }//package
Section 220
//Text_None_H (Text_None_H) package { import flash.display.*; public dynamic class Text_None_H extends Sprite { } }//package
Section 221
//Text_None_HYPHEN (Text_None_HYPHEN) package { import flash.display.*; public dynamic class Text_None_HYPHEN extends Sprite { } }//package
Section 222
//Text_None_I (Text_None_I) package { import flash.display.*; public dynamic class Text_None_I extends Sprite { } }//package
Section 223
//Text_None_J (Text_None_J) package { import flash.display.*; public dynamic class Text_None_J extends Sprite { } }//package
Section 224
//Text_None_K (Text_None_K) package { import flash.display.*; public dynamic class Text_None_K extends Sprite { } }//package
Section 225
//Text_None_L (Text_None_L) package { import flash.display.*; public dynamic class Text_None_L extends Sprite { } }//package
Section 226
//Text_None_M (Text_None_M) package { import flash.display.*; public dynamic class Text_None_M extends Sprite { } }//package
Section 227
//Text_None_N (Text_None_N) package { import flash.display.*; public dynamic class Text_None_N extends Sprite { } }//package
Section 228
//Text_None_O (Text_None_O) package { import flash.display.*; public dynamic class Text_None_O extends Sprite { } }//package
Section 229
//Text_None_P (Text_None_P) package { import flash.display.*; public dynamic class Text_None_P extends Sprite { } }//package
Section 230
//Text_None_Q (Text_None_Q) package { import flash.display.*; public dynamic class Text_None_Q extends Sprite { } }//package
Section 231
//Text_None_QUESTION (Text_None_QUESTION) package { import flash.display.*; public dynamic class Text_None_QUESTION extends Sprite { } }//package
Section 232
//Text_None_R (Text_None_R) package { import flash.display.*; public dynamic class Text_None_R extends Sprite { } }//package
Section 233
//Text_None_S (Text_None_S) package { import flash.display.*; public dynamic class Text_None_S extends Sprite { } }//package
Section 234
//Text_None_SPACE (Text_None_SPACE) package { import flash.display.*; public dynamic class Text_None_SPACE extends MovieClip { } }//package
Section 235
//Text_None_STOP (Text_None_STOP) package { import flash.display.*; public dynamic class Text_None_STOP extends Sprite { } }//package
Section 236
//Text_None_T (Text_None_T) package { import flash.display.*; public dynamic class Text_None_T extends Sprite { } }//package
Section 237
//Text_None_U (Text_None_U) package { import flash.display.*; public dynamic class Text_None_U extends Sprite { } }//package
Section 238
//Text_None_V (Text_None_V) package { import flash.display.*; public dynamic class Text_None_V extends Sprite { } }//package
Section 239
//Text_None_W (Text_None_W) package { import flash.display.*; public dynamic class Text_None_W extends Sprite { } }//package
Section 240
//Text_None_X (Text_None_X) package { import flash.display.*; public dynamic class Text_None_X extends Sprite { } }//package
Section 241
//Text_None_Y (Text_None_Y) package { import flash.display.*; public dynamic class Text_None_Y extends Sprite { } }//package
Section 242
//Text_None_Z (Text_None_Z) package { import flash.display.*; public dynamic class Text_None_Z extends Sprite { } }//package
Section 243
//WoodTexture (WoodTexture) package { import flash.display.*; public dynamic class WoodTexture extends BitmapData { public function WoodTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package

Library Items

Symbol 1 BitmapUsed by:2
Symbol 2 GraphicUses:1Used by:3 4
Symbol 3 MovieClipUses:2Used by:4
Symbol 4 Button {com.nitrome.game.GatheringLink}Uses:3 2Used by:Timeline
Symbol 5 GraphicUsed by:Timeline
Symbol 6 GraphicUsed by:141
Symbol 7 BitmapUsed by:8
Symbol 8 GraphicUses:7Used by:9
Symbol 9 MovieClip {Text_None_0}Uses:8Used by:141
Symbol 10 BitmapUsed by:11
Symbol 11 GraphicUses:10Used by:12
Symbol 12 MovieClip {Text_None_1}Uses:11Used by:141
Symbol 13 BitmapUsed by:14
Symbol 14 GraphicUses:13Used by:15
Symbol 15 MovieClip {Text_None_2}Uses:14Used by:141
Symbol 16 BitmapUsed by:17
Symbol 17 GraphicUses:16Used by:18
Symbol 18 MovieClip {Text_None_3}Uses:17Used by:141
Symbol 19 BitmapUsed by:20
Symbol 20 GraphicUses:19Used by:21
Symbol 21 MovieClip {Text_None_4}Uses:20Used by:141
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:24
Symbol 24 MovieClip {Text_None_5}Uses:23Used by:141
Symbol 25 BitmapUsed by:26
Symbol 26 GraphicUses:25Used by:27
Symbol 27 MovieClip {Text_None_6}Uses:26Used by:141
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:30
Symbol 30 MovieClip {Text_None_7}Uses:29Used by:141
Symbol 31 BitmapUsed by:32
Symbol 32 GraphicUses:31Used by:33
Symbol 33 MovieClip {Text_None_8}Uses:32Used by:141
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:36
Symbol 36 MovieClip {Text_None_9}Uses:35Used by:141
Symbol 37 BitmapUsed by:38
Symbol 38 GraphicUses:37Used by:39
Symbol 39 MovieClip {Text_None_A}Uses:38Used by:141
Symbol 40 BitmapUsed by:41
Symbol 41 GraphicUses:40Used by:42
Symbol 42 MovieClip {Text_None_APOSTROPHE}Uses:41Used by:141
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:45
Symbol 45 MovieClip {Text_None_B}Uses:44Used by:141
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:48
Symbol 48 MovieClip {Text_None_C}Uses:47Used by:141
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:51
Symbol 51 MovieClip {Text_None_COLON}Uses:50Used by:141
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52Used by:54
Symbol 54 MovieClip {Text_None_COMMA}Uses:53Used by:141
Symbol 55 BitmapUsed by:56
Symbol 56 GraphicUses:55Used by:57
Symbol 57 MovieClip {Text_None_D}Uses:56Used by:141
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60
Symbol 60 MovieClip {Text_None_E}Uses:59Used by:141
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:63
Symbol 63 MovieClip {Text_None_EXCLAMATION}Uses:62Used by:141
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:66
Symbol 66 MovieClip {Text_None_F}Uses:65Used by:141
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:69
Symbol 69 MovieClip {Text_None_G}Uses:68Used by:141
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:72
Symbol 72 MovieClip {Text_None_H}Uses:71Used by:141
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:75
Symbol 75 MovieClip {Text_None_HYPHEN}Uses:74Used by:141
Symbol 76 BitmapUsed by:77
Symbol 77 GraphicUses:76Used by:78
Symbol 78 MovieClip {Text_None_I}Uses:77Used by:141
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:81
Symbol 81 MovieClip {Text_None_J}Uses:80Used by:141
Symbol 82 BitmapUsed by:83
Symbol 83 GraphicUses:82Used by:84
Symbol 84 MovieClip {Text_None_K}Uses:83Used by:141
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:87
Symbol 87 MovieClip {Text_None_L}Uses:86Used by:141
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:90
Symbol 90 MovieClip {Text_None_M}Uses:89Used by:141
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClip {Text_None_N}Uses:92Used by:141
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:96
Symbol 96 MovieClip {Text_None_O}Uses:95Used by:141
Symbol 97 BitmapUsed by:98
Symbol 98 GraphicUses:97Used by:99
Symbol 99 MovieClip {Text_None_P}Uses:98Used by:141
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:102
Symbol 102 MovieClip {Text_None_Q}Uses:101Used by:141
Symbol 103 BitmapUsed by:104
Symbol 104 GraphicUses:103Used by:105
Symbol 105 MovieClip {Text_None_QUESTION}Uses:104Used by:141
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:108
Symbol 108 MovieClip {Text_None_R}Uses:107Used by:141
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:111
Symbol 111 MovieClip {Text_None_S}Uses:110Used by:141
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:114
Symbol 114 MovieClip {Text_None_STOP}Uses:113Used by:141
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:117
Symbol 117 MovieClip {Text_None_T}Uses:116Used by:141
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:120
Symbol 120 MovieClip {Text_None_U}Uses:119Used by:141
Symbol 121 BitmapUsed by:122
Symbol 122 GraphicUses:121Used by:123
Symbol 123 MovieClip {Text_None_V}Uses:122Used by:141
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:126
Symbol 126 MovieClip {Text_None_W}Uses:125Used by:141
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:129
Symbol 129 MovieClip {Text_None_X}Uses:128Used by:141
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:132
Symbol 132 MovieClip {Text_None_Y}Uses:131Used by:141
Symbol 133 BitmapUsed by:134
Symbol 134 GraphicUses:133Used by:135
Symbol 135 MovieClip {Text_None_Z}Uses:134Used by:141
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClip {Text_None_SPACE}Uses:136Used by:141
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:140
Symbol 140 MovieClip {Text_None_FORWARDSLASH}Uses:139Used by:141
Symbol 141 MovieClip {NumbskullFont}Uses:6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 137 140Used by:144 702 704 706 711 713 715 717 719 720 721 722 728 729 755 756 757 758 759 777 923  Timeline
Symbol 142 FontUsed by:143 173 196 199 200 201 202 212 213 217 218 219 221 224 227 228 229 695 768 771 772 773 774 775 776 903 907 910 911 912 915
Symbol 143 EditableTextUses:142 913Used by:144
Symbol 144 MovieClip {com.nitrome.game.Preloader}Uses:141 143Used by:792  Timeline
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:155
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:155
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:155
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:155
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:155
Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap}Uses:146 148 150 152 154Used by:792
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:170
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:170
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:170
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:170
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:170
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:170
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168Used by:170
Symbol 170 MovieClip {com.nitrome.icebreaker.Splash}Uses:157 159 161 163 165 167 169Used by:792
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:233
Symbol 173 TextUses:142Used by:195
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174Used by:195 906
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:178
Symbol 178 MovieClipUses:177Used by:195 906
Symbol 179 ShapeTweeningUsed by:195
Symbol 180 GraphicUsed by:195
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:183
Symbol 183 MovieClipUses:182Used by:195 906
Symbol 184 ShapeTweeningUsed by:195
Symbol 185 ShapeTweeningUsed by:195
Symbol 186 GraphicUsed by:195 906
Symbol 187 BitmapUsed by:188
Symbol 188 GraphicUses:187Used by:195 906
Symbol 189 GraphicUsed by:195 344 731 753 783 906
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:192
Symbol 192 MovieClipUses:191Used by:195 906
Symbol 193 ShapeTweeningUsed by:195
Symbol 194 GraphicUsed by:195
Symbol 195 MovieClipUses:173 175 178 179 180 183 184 185 186 188 189 192 193 194Used by:233
Symbol 196 TextUses:142Used by:233
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:233
Symbol 199 TextUses:142Used by:233
Symbol 200 TextUses:142Used by:233
Symbol 201 TextUses:142Used by:233
Symbol 202 TextUses:142Used by:233
Symbol 203 BitmapUsed by:204
Symbol 204 GraphicUses:203Used by:205
Symbol 205 MovieClipUses:204Used by:233
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:233 373
Symbol 208 BitmapUsed by:211 610
Symbol 209 BitmapUsed by:211 456 610
Symbol 210 BitmapUsed by:211 220
Symbol 211 GraphicUses:208 209 210Used by:233
Symbol 212 TextUses:142Used by:233
Symbol 213 TextUses:142Used by:233
Symbol 214 BitmapUsed by:216
Symbol 215 BitmapUsed by:216 380 616
Symbol 216 GraphicUses:214 215Used by:233
Symbol 217 TextUses:142Used by:233
Symbol 218 TextUses:142Used by:233
Symbol 219 TextUses:142Used by:233
Symbol 220 GraphicUses:210Used by:233
Symbol 221 TextUses:142Used by:233
Symbol 222 BitmapUsed by:223
Symbol 223 GraphicUses:222Used by:233 331
Symbol 224 TextUses:142Used by:233
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:233
Symbol 227 TextUses:142Used by:233
Symbol 228 TextUses:142Used by:233
Symbol 229 TextUses:142Used by:233
Symbol 230 BitmapUsed by:231
Symbol 231 GraphicUses:230Used by:232 404
Symbol 232 MovieClipUses:231Used by:233
Symbol 233 MovieClip {com.nitrome.game.HintOverlay}Uses:172 195 196 198 199 200 201 202 205 207 211 212 213 216 217 218 219 220 221 223 224 226 227 228 229 232Used by:792
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:254
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:254
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:254
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:254
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:254
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:254
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:254
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:254
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:254
Symbol 252 BitmapUsed by:253
Symbol 253 GraphicUses:252Used by:254
Symbol 254 MovieClip {com.nitrome.icebreaker.IceFragment}Uses:235 237 239 241 243 245 247 249 251 253Used by:792
Symbol 255 BitmapUsed by:256
Symbol 256 GraphicUses:255Used by:257 621
Symbol 257 MovieClip {com.nitrome.icebreaker.HelpSign}Uses:256Used by:792
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:278
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:278
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:278
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:278
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:278
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:278
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:278
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:278
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:278
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:278
Symbol 278 MovieClip {ForceBlockForceMC}Uses:259 261 263 265 267 269 271 273 275 277Used by:792
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:331 621
Symbol 281 BitmapUsed by:282
Symbol 282 GraphicUses:281Used by:331
Symbol 283 BitmapUsed by:284
Symbol 284 GraphicUses:283Used by:331
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:331
Symbol 287 BitmapUsed by:288
Symbol 288 GraphicUses:287Used by:331
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:289Used by:331
Symbol 291 BitmapUsed by:292
Symbol 292 GraphicUses:291Used by:331
Symbol 293 BitmapUsed by:294
Symbol 294 GraphicUses:293Used by:331
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:331
Symbol 297 BitmapUsed by:298
Symbol 298 GraphicUses:297Used by:331
Symbol 299 BitmapUsed by:300
Symbol 300 GraphicUses:299Used by:331
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:331
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:331
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:305Used by:331
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:331
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:331
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:331
Symbol 313 BitmapUsed by:314
Symbol 314 GraphicUses:313Used by:331
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:331
Symbol 317 BitmapUsed by:318
Symbol 318 GraphicUses:317Used by:331
Symbol 319 BitmapUsed by:320
Symbol 320 GraphicUses:319Used by:331
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:331
Symbol 323 BitmapUsed by:324
Symbol 324 GraphicUses:323Used by:331
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:331
Symbol 327 BitmapUsed by:328
Symbol 328 GraphicUses:327Used by:331
Symbol 329 BitmapUsed by:330
Symbol 330 GraphicUses:329Used by:331
Symbol 331 MovieClip {com.nitrome.icebreaker.FatWoman}Uses:280 282 284 286 223 288 290 292 294 296 298 300 302 304 306 308 310 312 314 316 318 320 322 324 326 328 330Used by:792
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:343
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:336
Symbol 336 MovieClipUses:335Used by:343
Symbol 337 BitmapUsed by:338
Symbol 338 GraphicUses:337Used by:339
Symbol 339 MovieClipUses:338Used by:343
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:342
Symbol 342 MovieClipUses:341Used by:343
Symbol 343 MovieClip {com.nitrome.icebreaker.Background}Uses:333 336 339 342Used by:792 923  Timeline
Symbol 344 MovieClipUses:189Used by:347
Symbol 345 BitmapUsed by:346
Symbol 346 GraphicUses:345Used by:347
Symbol 347 MovieClip {com.nitrome.icebreaker.LinkMid}Uses:344 346Used by:792
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:360
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:360
Symbol 352 BitmapUsed by:353
Symbol 353 GraphicUses:352Used by:360
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:360
Symbol 356 BitmapUsed by:357
Symbol 357 GraphicUses:356Used by:360
Symbol 358 BitmapUsed by:359
Symbol 359 GraphicUses:358Used by:360
Symbol 360 MovieClip {HammerImpact}Uses:349 351 353 355 357 359Used by:792
Symbol 361 BitmapUsed by:362
Symbol 362 GraphicUses:361Used by:373
Symbol 363 BitmapUsed by:364
Symbol 364 GraphicUses:363Used by:373
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:365Used by:373
Symbol 367 BitmapUsed by:368
Symbol 368 GraphicUses:367Used by:373
Symbol 369 BitmapUsed by:370 609
Symbol 370 GraphicUses:369Used by:373
Symbol 371 BitmapUsed by:372
Symbol 372 GraphicUses:371Used by:373
Symbol 373 MovieClip {com.nitrome.icebreaker.Wolfrat}Uses:207 362 364 366 368 370 372Used by:792
Symbol 374 BitmapUsed by:375
Symbol 375 GraphicUses:374Used by:376
Symbol 376 MovieClip {ArrowCursor}Uses:375Used by:792
Symbol 377 BitmapUsed by:378 617 618 619 620
Symbol 378 GraphicUses:377Used by:379
Symbol 379 MovieClip {com.nitrome.icebreaker.TurningPinsConstraint}Uses:378Used by:792
Symbol 380 GraphicUses:215Used by:391
Symbol 381 BitmapUsed by:382
Symbol 382 GraphicUses:381Used by:391
Symbol 383 BitmapUsed by:384
Symbol 384 GraphicUses:383Used by:391
Symbol 385 BitmapUsed by:386
Symbol 386 GraphicUses:385Used by:391
Symbol 387 BitmapUsed by:388
Symbol 388 GraphicUses:387Used by:391
Symbol 389 BitmapUsed by:390
Symbol 390 GraphicUses:389Used by:391
Symbol 391 MovieClip {com.nitrome.icebreaker.Bird}Uses:380 382 384 386 388 390Used by:792
Symbol 392 GraphicUsed by:393
Symbol 393 MovieClip {com.nitrome.icebreaker.ProtectedArea128}Uses:392Used by:792
Symbol 394 BitmapUsed by:395
Symbol 395 GraphicUses:394Used by:404
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:404
Symbol 398 BitmapUsed by:399
Symbol 399 GraphicUses:398Used by:404
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:404
Symbol 402 BitmapUsed by:403
Symbol 403 GraphicUses:402Used by:404
Symbol 404 MovieClipUses:231 395 397 399 401 403Used by:405
Symbol 405 MovieClip {com.nitrome.icebreaker.ProtectedArea64}Uses:404Used by:792
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClip {com.nitrome.icebreaker.ProtectedArea32}Uses:406Used by:792
Symbol 408 BitmapUsed by:409
Symbol 409 GraphicUses:408Used by:410 621
Symbol 410 MovieClip {com.nitrome.icebreaker.Weight}Uses:409Used by:792
Symbol 411 BitmapUsed by:412
Symbol 412 GraphicUses:411Used by:455
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:455
Symbol 415 BitmapUsed by:416
Symbol 416 GraphicUses:415Used by:455
Symbol 417 BitmapUsed by:418
Symbol 418 GraphicUses:417Used by:455
Symbol 419 BitmapUsed by:420
Symbol 420 GraphicUses:419Used by:455
Symbol 421 BitmapUsed by:422
Symbol 422 GraphicUses:421Used by:455
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:455
Symbol 425 BitmapUsed by:426
Symbol 426 GraphicUses:425Used by:455
Symbol 427 BitmapUsed by:428
Symbol 428 GraphicUses:427Used by:455
Symbol 429 BitmapUsed by:430
Symbol 430 GraphicUses:429Used by:455
Symbol 431 BitmapUsed by:432
Symbol 432 GraphicUses:431Used by:455
Symbol 433 BitmapUsed by:434
Symbol 434 GraphicUses:433Used by:455
Symbol 435 BitmapUsed by:436
Symbol 436 GraphicUses:435Used by:455
Symbol 437 BitmapUsed by:438
Symbol 438 GraphicUses:437Used by:455
Symbol 439 BitmapUsed by:440
Symbol 440 GraphicUses:439Used by:455
Symbol 441 BitmapUsed by:442
Symbol 442 GraphicUses:441Used by:455
Symbol 443 BitmapUsed by:444
Symbol 444 GraphicUses:443Used by:455 920
Symbol 445 BitmapUsed by:446
Symbol 446 GraphicUses:445Used by:455 920
Symbol 447 BitmapUsed by:448
Symbol 448 GraphicUses:447Used by:455 920
Symbol 449 BitmapUsed by:450
Symbol 450 GraphicUses:449Used by:455 920
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:455 920
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:455 920
Symbol 455 MovieClip {com.nitrome.icebreaker.Captain}Uses:412 414 416 418 420 422 424 426 428 430 432 434 436 438 440 442 444 446 448 450 452 454Used by:792
Symbol 456 GraphicUses:209Used by:457 621 636
Symbol 457 MovieClip {com.nitrome.icebreaker.LinkEnd}Uses:456Used by:792
Symbol 458 BitmapUsed by:459 608
Symbol 459 GraphicUses:458Used by:460 922
Symbol 460 MovieClip {com.nitrome.icebreaker.Finish}Uses:459Used by:792
Symbol 461 BitmapUsed by:462
Symbol 462 GraphicUses:461Used by:523 663
Symbol 463 BitmapUsed by:464 607
Symbol 464 GraphicUses:463Used by:523 663
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:523 663
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:523 663
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:523 663
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:523 663
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:523 663
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:523 663
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:523 663
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:523 663
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:523
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:523
Symbol 485 BitmapUsed by:486
Symbol 486 GraphicUses:485Used by:523
Symbol 487 BitmapUsed by:488
Symbol 488 GraphicUses:487Used by:523
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:523
Symbol 491 BitmapUsed by:492
Symbol 492 GraphicUses:491Used by:523
Symbol 493 BitmapUsed by:494
Symbol 494 GraphicUses:493Used by:523
Symbol 495 BitmapUsed by:496
Symbol 496 GraphicUses:495Used by:523
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:523
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:523
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:523
Symbol 503 BitmapUsed by:504
Symbol 504 GraphicUses:503Used by:523
Symbol 505 BitmapUsed by:506
Symbol 506 GraphicUses:505Used by:523
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:523
Symbol 509 BitmapUsed by:510
Symbol 510 GraphicUses:509Used by:523
Symbol 511 BitmapUsed by:512
Symbol 512 GraphicUses:511Used by:523 663 921
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:523 663 921
Symbol 515 BitmapUsed by:516
Symbol 516 GraphicUses:515Used by:523 663 921
Symbol 517 BitmapUsed by:518
Symbol 518 GraphicUses:517Used by:523 663 921
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:523 663 921
Symbol 521 BitmapUsed by:522
Symbol 522 GraphicUses:521Used by:523 663 921
Symbol 523 MovieClip {com.nitrome.icebreaker.StandingGuy1}Uses:462 464 466 468 470 472 474 476 478 480 482 484 486 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522Used by:792
Symbol 524 GraphicUsed by:598
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:597
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:597
Symbol 529 BitmapUsed by:530
Symbol 530 GraphicUses:529Used by:597
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:597
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:597
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:597
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:597
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:597
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:597
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:597
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:597
Symbol 547 BitmapUsed by:548
Symbol 548 GraphicUses:547Used by:597
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:597
Symbol 551 BitmapUsed by:552
Symbol 552 GraphicUses:551Used by:597
Symbol 553 BitmapUsed by:554
Symbol 554 GraphicUses:553Used by:597
Symbol 555 BitmapUsed by:556
Symbol 556 GraphicUses:555Used by:597
Symbol 557 BitmapUsed by:558
Symbol 558 GraphicUses:557Used by:597
Symbol 559 BitmapUsed by:560
Symbol 560 GraphicUses:559Used by:597
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:597
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:597
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:597
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:597
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:597
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:597
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:597
Symbol 575 BitmapUsed by:576
Symbol 576 GraphicUses:575Used by:597
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:597
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:597
Symbol 581 BitmapUsed by:582
Symbol 582 GraphicUses:581Used by:597
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:597
Symbol 585 BitmapUsed by:586
Symbol 586 GraphicUses:585Used by:597
Symbol 587 BitmapUsed by:588
Symbol 588 GraphicUses:587Used by:597
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:597
Symbol 591 BitmapUsed by:592
Symbol 592 GraphicUses:591Used by:597
Symbol 593 BitmapUsed by:594
Symbol 594 GraphicUses:593Used by:597
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:597
Symbol 597 MovieClipUses:526 528 530 532 534 536 538 540 542 544 546 548 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596Used by:598
Symbol 598 MovieClip {com.nitrome.icebreaker.Sea}Uses:524 597Used by:792 923
Symbol 599 GraphicUsed by:621
Symbol 600 Bitmap {IceTexture}Used by:621 792
Symbol 601 Bitmap {RockTexture}Used by:621 792
Symbol 602 Bitmap {WoodTexture}Used by:621 792
Symbol 603 Bitmap {DeathBlockTexture}Used by:621 792
Symbol 604 Bitmap {ForceBlockTexture}Used by:621 792
Symbol 605 BitmapUsed by:606
Symbol 606 GraphicUses:605Used by:621 663
Symbol 607 GraphicUses:463Used by:621
Symbol 608 GraphicUses:458Used by:621
Symbol 609 GraphicUses:369Used by:621
Symbol 610 GraphicUses:209 208Used by:621
Symbol 611 GraphicUsed by:621
Symbol 612 FontUsed by:613 614 615 633 634
Symbol 613 TextUses:612Used by:621
Symbol 614 TextUses:612Used by:621
Symbol 615 TextUses:612Used by:621
Symbol 616 GraphicUses:215Used by:621
Symbol 617 GraphicUses:377Used by:621
Symbol 618 GraphicUses:377Used by:621
Symbol 619 GraphicUses:377Used by:621
Symbol 620 GraphicUses:377Used by:621
Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects}Uses:599 600 601 602 603 604 456 606 607 608 609 610 409 611 613 614 615 616 617 618 619 620 280 256Used by:792
Symbol 622 GraphicUsed by:635
Symbol 623 FontUsed by:624 626 629
Symbol 624 EditableTextUses:623Used by:635
Symbol 625 GraphicUsed by:628 630
Symbol 626 TextUses:623Used by:628
Symbol 627 GraphicUsed by:628 630
Symbol 628 ButtonUses:625 626 627Used by:635
Symbol 629 TextUses:623Used by:630
Symbol 630 ButtonUses:625 629 627Used by:635
Symbol 631 FontUsed by:632
Symbol 632 EditableTextUses:631Used by:635
Symbol 633 TextUses:612Used by:635
Symbol 634 TextUses:612Used by:635
Symbol 635 MovieClip {com.nitrome.icebreaker.EditorPanel}Uses:622 624 628 630 632 633 634Used by:792
Symbol 636 MovieClip {com.nitrome.icebreaker.PinConstraint}Uses:456Used by:792
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:663
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:663
Symbol 641 BitmapUsed by:642
Symbol 642 GraphicUses:641Used by:663
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:663
Symbol 645 BitmapUsed by:646
Symbol 646 GraphicUses:645Used by:663
Symbol 647 BitmapUsed by:648
Symbol 648 GraphicUses:647Used by:663
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:663
Symbol 651 BitmapUsed by:652
Symbol 652 GraphicUses:651Used by:663
Symbol 653 BitmapUsed by:654
Symbol 654 GraphicUses:653Used by:663
Symbol 655 BitmapUsed by:656
Symbol 656 GraphicUses:655Used by:663
Symbol 657 BitmapUsed by:658
Symbol 658 GraphicUses:657Used by:663
Symbol 659 BitmapUsed by:660
Symbol 660 GraphicUses:659Used by:663
Symbol 661 BitmapUsed by:662
Symbol 662 GraphicUses:661Used by:663
Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1}Uses:638 640 606 642 644 646 648 650 652 654 656 658 660 662 462 464 466 468 470 472 474 476 478 480 512 514 516 518 520 522Used by:792
Symbol 664 SoundUsed by:665
Symbol 665 MovieClip {Icebreaker_fla.nitrome_50}Uses:664Used by:694
Symbol 666 SoundUsed by:667
Symbol 667 MovieClip {Icebreaker_fla.ice3_51}Uses:666Used by:694
Symbol 668 SoundUsed by:669
Symbol 669 MovieClip {Icebreaker_fla.ice4_52}Uses:668Used by:694
Symbol 670 SoundUsed by:671
Symbol 671 MovieClip {Icebreaker_fla.deepthud_53}Uses:670Used by:694
Symbol 672 SoundUsed by:673
Symbol 673 MovieClip {Icebreaker_fla.splash_54}Uses:672Used by:694
Symbol 674 SoundUsed by:675
Symbol 675 MovieClip {Icebreaker_fla.iceSmash_55}Uses:674Used by:694
Symbol 676 SoundUsed by:677
Symbol 677 MovieClip {Icebreaker_fla.iceTooLarge_56}Uses:676Used by:694
Symbol 678 SoundUsed by:679
Symbol 679 MovieClip {Icebreaker_fla.noslice_57}Uses:678Used by:694
Symbol 680 SoundUsed by:681
Symbol 681 MovieClip {Icebreaker_fla.fatwoman_58}Uses:680Used by:694
Symbol 682 SoundUsed by:683
Symbol 683 MovieClip {Icebreaker_fla.ropeBreak_59}Uses:682Used by:694
Symbol 684 SoundUsed by:685
Symbol 685 MovieClip {Icebreaker_fla.death_60}Uses:684Used by:694
Symbol 686 SoundUsed by:687
Symbol 687 MovieClip {Icebreaker_fla.vikingAtEnd_61}Uses:686Used by:694
Symbol 688 SoundUsed by:689
Symbol 689 MovieClip {Icebreaker_fla.wolfratDying_62}Uses:688Used by:694
Symbol 690 SoundUsed by:691
Symbol 691 MovieClip {Icebreaker_fla.runeDeath_63}Uses:690Used by:694
Symbol 692 SoundUsed by:693
Symbol 693 MovieClip {Icebreaker_fla.ice3b_64}Uses:692Used by:694
Symbol 694 MovieClip {com.nitrome.game.SoundManager}Uses:665 667 669 671 673 675 677 679 681 683 685 687 689 691 693Used by:792  Timeline
Symbol 695 TextUses:142Used by:696
Symbol 696 MovieClipUses:695Used by:697
Symbol 697 MovieClip {com.nitrome.game.LoadIndicator}Uses:696Used by:792
Symbol 698 BitmapUsed by:701 703 705 712 714 716 718 754
Symbol 699 BitmapUsed by:701 703 705 714 716 718 754
Symbol 700 BitmapUsed by:701 703 705 712 714 716 718 754
Symbol 701 GraphicUses:698 699 700Used by:702
Symbol 702 MovieClip {com.nitrome.game.PlayButton}Uses:701 141Used by:792  Timeline
Symbol 703 GraphicUses:698 699 700Used by:704 728 729
Symbol 704 MovieClip {com.nitrome.game.BackToTitleButton}Uses:703 141Used by:792 923  Timeline
Symbol 705 GraphicUses:698 699 700Used by:706
Symbol 706 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton}Uses:705 141Used by:792
Symbol 707 BitmapUsed by:708
Symbol 708 GraphicUses:707Used by:711 721
Symbol 709 BitmapUsed by:710
Symbol 710 GraphicUses:709Used by:711
Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}Uses:708 141 710Used by:792  Timeline
Symbol 712 GraphicUses:698 700Used by:713
Symbol 713 MovieClip {com.nitrome.game.HelpButton}Uses:712 141Used by:792  Timeline
Symbol 714 GraphicUses:698 699 700Used by:715
Symbol 715 MovieClip {com.nitrome.game.ScoresButton}Uses:714 141Used by:792
Symbol 716 GraphicUses:698 699 700Used by:717
Symbol 717 MovieClip {com.nitrome.game.CreditsButton}Uses:716 141Used by:792  Timeline
Symbol 718 GraphicUses:698 699 700Used by:719 720
Symbol 719 MovieClip {SubmitButton}Uses:718 141Used by:722 792
Symbol 720 MovieClip {ClearButton}Uses:718 141Used by:722 792
Symbol 721 MovieClip {LetterButton}Uses:708 141Used by:722 792
Symbol 722 MovieClip {ScoreSubmitPanel}Uses:719 141 720 721Used by:792
Symbol 723 FontUsed by:724 725 726
Symbol 724 EditableTextUses:723Used by:727
Symbol 725 EditableTextUses:723Used by:727
Symbol 726 EditableTextUses:723Used by:727
Symbol 727 MovieClip {ScoreLine}Uses:724 725 726Used by:730 792
Symbol 728 MovieClip {NextArrow}Uses:703 141Used by:730 792
Symbol 729 MovieClip {PrevArrow}Uses:703 141Used by:730 792
Symbol 730 MovieClip {HighScoreBoard}Uses:727 728 729Used by:792
Symbol 731 MovieClipUses:189Used by:732
Symbol 732 MovieClip {com.nitrome.game.Transition}Uses:731Used by:792  Timeline
Symbol 733 BitmapUsed by:734
Symbol 734 GraphicUses:733Used by:738
Symbol 735 BitmapUsed by:737
Symbol 736 BitmapUsed by:737
Symbol 737 GraphicUses:735 736Used by:738
Symbol 738 MovieClip {com.nitrome.game.PauseButton}Uses:734 737Used by:792  Timeline
Symbol 739 BitmapUsed by:740
Symbol 740 GraphicUses:739Used by:746
Symbol 741 BitmapUsed by:743
Symbol 742 BitmapUsed by:743
Symbol 743 GraphicUses:741 742Used by:746
Symbol 744 BitmapUsed by:745
Symbol 745 GraphicUses:744Used by:746 752
Symbol 746 MovieClip {com.nitrome.game.MusicToggle}Uses:740 743 745Used by:792  Timeline
Symbol 747 BitmapUsed by:748
Symbol 748 GraphicUses:747Used by:752
Symbol 749 BitmapUsed by:751
Symbol 750 BitmapUsed by:751
Symbol 751 GraphicUses:749 750Used by:752
Symbol 752 MovieClip {com.nitrome.game.FxToggle}Uses:748 751 745Used by:792  Timeline
Symbol 753 Button {com.nitrome.game.NitromeLink}Uses:189Used by:792 893  Timeline
Symbol 754 GraphicUses:698 699 700Used by:755 756 757 758 759
Symbol 755 MovieClip {com.nitrome.game.ContinueGameButton}Uses:754 141Used by:777 792
Symbol 756 MovieClip {com.nitrome.game.EndGameButton}Uses:754 141Used by:777 792
Symbol 757 MovieClip {com.nitrome.game.NextLevelButton}Uses:754 141Used by:777 792
Symbol 758 MovieClip {com.nitrome.game.RestartLevelButton}Uses:754 141Used by:777 792
Symbol 759 MovieClip {com.nitrome.game.IngameSubmitScoreButton}Uses:754 141Used by:792
Symbol 760 GraphicUsed by:764
Symbol 761 FontUsed by:762
Symbol 762 TextUses:761Used by:764
Symbol 763 GraphicUsed by:764
Symbol 764 MovieClip {com.nitrome.game.ExitToLevelSelectButton}Uses:760 762 763Used by:792
Symbol 765 GraphicUsed by:777
Symbol 766 BitmapUsed by:767
Symbol 767 GraphicUses:766Used by:777
Symbol 768 TextUses:142Used by:777
Symbol 769 BitmapUsed by:770
Symbol 770 GraphicUses:769Used by:777
Symbol 771 TextUses:142Used by:777
Symbol 772 EditableTextUses:142 913Used by:777
Symbol 773 TextUses:142Used by:777
Symbol 774 EditableTextUses:142 913Used by:777
Symbol 775 TextUses:142Used by:777
Symbol 776 EditableTextUses:142 913Used by:777
Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95}Uses:765 767 768 755 756 141 770 757 771 772 773 774 758 775 776Used by:778
Symbol 778 MovieClip {com.nitrome.game.IngamePopup}Uses:777Used by:792
Symbol 779 FontUsed by:780
Symbol 780 TextUses:779Used by:783
Symbol 781 BitmapUsed by:782
Symbol 782 GraphicUses:781Used by:783
Symbol 783 MovieClip {com.nitrome.util.Lock}Uses:189 780 782Used by:792
Symbol 784 BitmapUsed by:785
Symbol 785 GraphicUses:784Used by:789
Symbol 786 BitmapUsed by:788
Symbol 787 BitmapUsed by:788
Symbol 788 GraphicUses:786 787Used by:789
Symbol 789 MovieClip {com.nitrome.game.ResetButton}Uses:785 788Used by:792  Timeline
Symbol 790 Sound {GameMusic}Used by:792
Symbol 791 Sound {MenuMusic}Used by:792
Symbol 792 MovieClip {Icebreaker_fla.instances_2}Uses:155 170 233 254 257 278 331 343 347 360 373 376 379 391 393 405 407 410 455 457 460 523 598 621 635 636 663 694 697 702 704 706 711 713 715 717 144 719 720 721 722 727 728 729 730 732 738 746 752 753 755 756 757 758 759 764 778 783 789 603 604 600 601 602 790 791Used by:Timeline
Symbol 793 BitmapUsed by:794
Symbol 794 GraphicUses:793Used by:890
Symbol 795 BitmapUsed by:796
Symbol 796 GraphicUses:795Used by:890
Symbol 797 BitmapUsed by:798
Symbol 798 GraphicUses:797Used by:805
Symbol 799 BitmapUsed by:800
Symbol 800 GraphicUses:799Used by:805
Symbol 801 BitmapUsed by:802
Symbol 802 GraphicUses:801Used by:805
Symbol 803 BitmapUsed by:804
Symbol 804 GraphicUses:803Used by:805
Symbol 805 MovieClipUses:798 800 802 804Used by:890
Symbol 806 BitmapUsed by:807
Symbol 807 GraphicUses:806Used by:818
Symbol 808 BitmapUsed by:809
Symbol 809 GraphicUses:808Used by:818
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:810Used by:818
Symbol 812 BitmapUsed by:813
Symbol 813 GraphicUses:812Used by:818
Symbol 814 BitmapUsed by:815
Symbol 815 GraphicUses:814Used by:818
Symbol 816 BitmapUsed by:817
Symbol 817 GraphicUses:816Used by:818
Symbol 818 MovieClipUses:807 809 811 813 815 817Used by:890
Symbol 819 BitmapUsed by:820
Symbol 820 GraphicUses:819Used by:831
Symbol 821 BitmapUsed by:822
Symbol 822 GraphicUses:821Used by:831
Symbol 823 BitmapUsed by:824
Symbol 824 GraphicUses:823Used by:831
Symbol 825 BitmapUsed by:826
Symbol 826 GraphicUses:825Used by:831
Symbol 827 BitmapUsed by:828
Symbol 828 GraphicUses:827Used by:831
Symbol 829 BitmapUsed by:830
Symbol 830 GraphicUses:829Used by:831
Symbol 831 MovieClipUses:820 822 824 826 828 830Used by:890
Symbol 832 BitmapUsed by:833
Symbol 833 GraphicUses:832Used by:890
Symbol 834 BitmapUsed by:835
Symbol 835 GraphicUses:834Used by:846
Symbol 836 BitmapUsed by:837
Symbol 837 GraphicUses:836Used by:846
Symbol 838 BitmapUsed by:839
Symbol 839 GraphicUses:838Used by:846
Symbol 840 BitmapUsed by:841
Symbol 841 GraphicUses:840Used by:846
Symbol 842 BitmapUsed by:843
Symbol 843 GraphicUses:842Used by:846
Symbol 844 BitmapUsed by:845
Symbol 845 GraphicUses:844Used by:846
Symbol 846 MovieClipUses:835 837 839 841 843 845Used by:890
Symbol 847 BitmapUsed by:848
Symbol 848 GraphicUses:847Used by:890
Symbol 849 BitmapUsed by:850
Symbol 850 GraphicUses:849Used by:890
Symbol 851 BitmapUsed by:852
Symbol 852 GraphicUses:851Used by:890
Symbol 853 BitmapUsed by:854
Symbol 854 GraphicUses:853Used by:890
Symbol 855 BitmapUsed by:856
Symbol 856 GraphicUses:855Used by:890
Symbol 857 BitmapUsed by:858
Symbol 858 GraphicUses:857Used by:890
Symbol 859 BitmapUsed by:860
Symbol 860 GraphicUses:859Used by:889
Symbol 861 BitmapUsed by:862
Symbol 862 GraphicUses:861Used by:889
Symbol 863 BitmapUsed by:864
Symbol 864 GraphicUses:863Used by:889
Symbol 865 BitmapUsed by:866
Symbol 866 GraphicUses:865Used by:889
Symbol 867 BitmapUsed by:868
Symbol 868 GraphicUses:867Used by:889
Symbol 869 BitmapUsed by:870
Symbol 870 GraphicUses:869Used by:889
Symbol 871 BitmapUsed by:872
Symbol 872 GraphicUses:871Used by:889
Symbol 873 BitmapUsed by:874
Symbol 874 GraphicUses:873Used by:889
Symbol 875 BitmapUsed by:876
Symbol 876 GraphicUses:875Used by:889
Symbol 877 BitmapUsed by:878
Symbol 878 GraphicUses:877Used by:889
Symbol 879 BitmapUsed by:880
Symbol 880 GraphicUses:879Used by:889
Symbol 881 BitmapUsed by:882
Symbol 882 GraphicUses:881Used by:889
Symbol 883 BitmapUsed by:884
Symbol 884 GraphicUses:883Used by:889
Symbol 885 BitmapUsed by:886
Symbol 886 GraphicUses:885Used by:889
Symbol 887 BitmapUsed by:888
Symbol 888 GraphicUses:887Used by:889
Symbol 889 MovieClipUses:860 862 864 866 868 870 872 874 876 878 880 882 884 886 888Used by:890
Symbol 890 MovieClip {Icebreaker_fla.nitromeintro_98}Uses:794 796 805 818 831 833 846 848 850 852 854 856 858 889Used by:Timeline
Symbol 891 BitmapUsed by:892
Symbol 892 GraphicUses:891Used by:893
Symbol 893 MovieClipUses:892 753Used by:Timeline
Symbol 894 GraphicUsed by:Timeline
Symbol 895 BitmapUsed by:896
Symbol 896 GraphicUses:895Used by:Timeline
Symbol 897 BitmapUsed by:898
Symbol 898 GraphicUses:897Used by:Timeline
Symbol 899 BitmapUsed by:900
Symbol 900 GraphicUses:899Used by:Timeline
Symbol 901 BitmapUsed by:902
Symbol 902 GraphicUses:901Used by:Timeline
Symbol 903 TextUses:142Used by:906
Symbol 904 ShapeTweeningUsed by:906
Symbol 905 ShapeTweeningUsed by:906
Symbol 906 MovieClipUses:903 175 178 183 904 905 186 188 189 192Used by:Timeline
Symbol 907 TextUses:142Used by:Timeline
Symbol 908 BitmapUsed by:909
Symbol 909 GraphicUses:908Used by:Timeline
Symbol 910 TextUses:142Used by:Timeline
Symbol 911 TextUses:142Used by:Timeline
Symbol 912 TextUses:142Used by:Timeline
Symbol 913 FontUsed by:143 772 774 776 914
Symbol 914 TextUses:913Used by:Timeline
Symbol 915 TextUses:142Used by:Timeline
Symbol 916 MovieClipUsed by:Timeline
Symbol 917 BitmapUsed by:919
Symbol 918 BitmapUsed by:919
Symbol 919 GraphicUses:917 918Used by:Timeline
Symbol 920 MovieClipUses:444 446 448 450 452 454Used by:923
Symbol 921 MovieClipUses:512 514 516 518 520 522Used by:923
Symbol 922 MovieClipUses:459Used by:923
Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109}Uses:343 920 921 922 598 704 141Used by:Timeline

Instance Names

"preloader"Frame 2Symbol 144 MovieClip {com.nitrome.game.Preloader}
"background"Frame 16Symbol 343 MovieClip {com.nitrome.icebreaker.Background}
"button3"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button2"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button1"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button4"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button5"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button11"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button10"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button9"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button12"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button13"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button19"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button18"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button17"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button20"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button21"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button27"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button26"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button25"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button28"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button29"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"__id16_"Frame 26Symbol 141 MovieClip {NumbskullFont}
"button6"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button7"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button8"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button14"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button15"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button16"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button22"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button23"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button24"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button30"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button31"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button32"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button35"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button34"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button33"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button36"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button37"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button38"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button39"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"button40"Frame 26Symbol 711 MovieClip {com.nitrome.game.LevelStartButton}
"__id17_"Frame 46Symbol 141 MovieClip {NumbskullFont}
"__id18_"Frame 46Symbol 141 MovieClip {NumbskullFont}
"__id19_"Frame 46Symbol 141 MovieClip {NumbskullFont}
"content"Frame 56Symbol 916 MovieClip
"moveCounter"Frame 56Symbol 141 MovieClip {NumbskullFont}
"characterCounter"Frame 56Symbol 141 MovieClip {NumbskullFont}
"mapHolder"Frame 56Symbol 916 MovieClip
"pauseGame"Frame 56Symbol 738 MovieClip {com.nitrome.game.PauseButton}
"popupHolder"Frame 56Symbol 916 MovieClip
"__id0_"Symbol 144 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 141 MovieClip {NumbskullFont}
"progress"Symbol 144 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 143 EditableText
"tl"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 146 MovieClip
"tr"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 146 MovieClip
"br"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 146 MovieClip
"bl"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 146 MovieClip
"l"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 148 MovieClip
"t"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 150 MovieClip
"b"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 152 MovieClip
"r"Symbol 155 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 154 MovieClip
"clouds"Symbol 343 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 336 MovieClip
"backMountains"Symbol 343 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 339 MovieClip
"foreMountains"Symbol 343 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 342 MovieClip
"ropeMask"Symbol 347 MovieClip {com.nitrome.icebreaker.LinkMid} Frame 1Symbol 344 MovieClip
"wave1"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave2"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave3"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave4"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave5"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave6"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave7"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave8"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave9"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave10"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave11"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave12"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"wave13"Symbol 598 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 597 MovieClip
"xmlData"Symbol 635 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 624 EditableText
"loadFile"Symbol 635 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 628 Button
"saveFile"Symbol 635 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 630 Button
"txtMoves"Symbol 635 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 632 EditableText
"nitrome"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 665 MovieClip {Icebreaker_fla.nitrome_50}
"ice3"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 667 MovieClip {Icebreaker_fla.ice3_51}
"ice4"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 669 MovieClip {Icebreaker_fla.ice4_52}
"deepthud"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 671 MovieClip {Icebreaker_fla.deepthud_53}
"splash"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 673 MovieClip {Icebreaker_fla.splash_54}
"iceSmash"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 675 MovieClip {Icebreaker_fla.iceSmash_55}
"iceTooLarge"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 677 MovieClip {Icebreaker_fla.iceTooLarge_56}
"noslice"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 679 MovieClip {Icebreaker_fla.noslice_57}
"fatwoman"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 681 MovieClip {Icebreaker_fla.fatwoman_58}
"ropeBreak"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 683 MovieClip {Icebreaker_fla.ropeBreak_59}
"death"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 685 MovieClip {Icebreaker_fla.death_60}
"vikingAtEnd"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 687 MovieClip {Icebreaker_fla.vikingAtEnd_61}
"wolfratDying"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 689 MovieClip {Icebreaker_fla.wolfratDying_62}
"runeDeath"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 691 MovieClip {Icebreaker_fla.runeDeath_63}
"ice3b"Symbol 694 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 693 MovieClip {Icebreaker_fla.ice3b_64}
"__id1_"Symbol 702 MovieClip {com.nitrome.game.PlayButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id2_"Symbol 704 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id3_"Symbol 706 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"numberField"Symbol 711 MovieClip {com.nitrome.game.LevelStartButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id4_"Symbol 713 MovieClip {com.nitrome.game.HelpButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id5_"Symbol 715 MovieClip {com.nitrome.game.ScoresButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id6_"Symbol 717 MovieClip {com.nitrome.game.CreditsButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id7_"Symbol 719 MovieClip {SubmitButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id8_"Symbol 720 MovieClip {ClearButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"_letter"Symbol 721 MovieClip {LetterButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"_submit_button"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 719 MovieClip {SubmitButton}
"_name_text"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 141 MovieClip {NumbskullFont}
"_score_text"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 141 MovieClip {NumbskullFont}
"_clear_button"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {ClearButton}
"A"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"B"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"C"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"D"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"E"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"F"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"G"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"H"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"I"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"J"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"K"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"L"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"M"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"N"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"O"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"P"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"Q"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"R"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"S"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"T"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"U"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"V"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"W"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"X"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"Y"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"Z"Symbol 722 MovieClip {ScoreSubmitPanel} Frame 1Symbol 721 MovieClip {LetterButton}
"_rank_text"Symbol 727 MovieClip {ScoreLine} Frame 1Symbol 724 EditableText
"_name_text"Symbol 727 MovieClip {ScoreLine} Frame 1Symbol 725 EditableText
"_score_text"Symbol 727 MovieClip {ScoreLine} Frame 1Symbol 726 EditableText
"__id9_"Symbol 728 MovieClip {NextArrow} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id10_"Symbol 729 MovieClip {PrevArrow} Frame 1Symbol 141 MovieClip {NumbskullFont}
"_score_line_1"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_2"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_3"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_4"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_5"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_6"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_7"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_8"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_9"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_score_line_10"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {ScoreLine}
"_next_arrow"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 728 MovieClip {NextArrow}
"_prev_arrow"Symbol 730 MovieClip {HighScoreBoard} Frame 1Symbol 729 MovieClip {PrevArrow}
"__id11_"Symbol 755 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id12_"Symbol 756 MovieClip {com.nitrome.game.EndGameButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id13_"Symbol 757 MovieClip {com.nitrome.game.NextLevelButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id14_"Symbol 758 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"__id15_"Symbol 759 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1Symbol 141 MovieClip {NumbskullFont}
"default_resume"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 1Symbol 755 MovieClip {com.nitrome.game.ContinueGameButton}
"title1"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 1Symbol 141 MovieClip {NumbskullFont}
"default_next"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 11Symbol 757 MovieClip {com.nitrome.game.NextLevelButton}
"levelScore"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 11Symbol 772 EditableText
"totalScore"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 11Symbol 774 EditableText
"title2"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 11Symbol 141 MovieClip {NumbskullFont}
"default_restart"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 21Symbol 758 MovieClip {com.nitrome.game.RestartLevelButton}
"totalScore"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 21Symbol 776 EditableText
"inner"Symbol 778 MovieClip {com.nitrome.game.IngamePopup} Frame 2Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95}
"bg"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 343 MovieClip {com.nitrome.icebreaker.Background}
"captain"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 920 MovieClip
"guy1"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 921 MovieClip
"guy2"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 921 MovieClip
"guy3"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 921 MovieClip
"sea"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 598 MovieClip {com.nitrome.icebreaker.Sea}
"__id20_"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 141 MovieClip {NumbskullFont}
"scoreField"Symbol 923 MovieClip {Icebreaker_fla.congratulationsclip_109} Frame 1Symbol 141 MovieClip {NumbskullFont}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.
Tag 0x0FF (255)Timeline Frame 11 bytes " "

Labels

"preloader"Frame 2
"nitrome"Frame 6
"title_screen"Frame 16
"level_select"Frame 26
"help"Frame 36
"credits"Frame 46
"game"Frame 56
"congrats"Frame 66
"cut"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 1
"stone"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 11
"deadly"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 21
"link"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 31
"birdwood"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 41
"woman"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 51
"force"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 61
"mist"Symbol 233 MovieClip {com.nitrome.game.HintOverlay} Frame 71
"finishFrame"Symbol 278 MovieClip {ForceBlockForceMC} Frame 11
"idle"Symbol 331 MovieClip {com.nitrome.icebreaker.FatWoman} Frame 1
"sliced"Symbol 331 MovieClip {com.nitrome.icebreaker.FatWoman} Frame 16
"standing"Symbol 373 MovieClip {com.nitrome.icebreaker.Wolfrat} Frame 1
"dead"Symbol 373 MovieClip {com.nitrome.icebreaker.Wolfrat} Frame 14
"standing"Symbol 455 MovieClip {com.nitrome.icebreaker.Captain} Frame 1
"walking"Symbol 455 MovieClip {com.nitrome.icebreaker.Captain} Frame 20
"smashing"Symbol 455 MovieClip {com.nitrome.icebreaker.Captain} Frame 29
"impactFrame"Symbol 455 MovieClip {com.nitrome.icebreaker.Captain} Frame 39
"smashFrame"Symbol 455 MovieClip {com.nitrome.icebreaker.Captain} Frame 41
"victory"Symbol 455 MovieClip {com.nitrome.icebreaker.Captain} Frame 42
"standing"Symbol 523 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 1
"walking"Symbol 523 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 26
"runeDeath"Symbol 523 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 39
"normalDeath"Symbol 523 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 64
"victory"Symbol 523 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 74
"anim1"Symbol 597 MovieClip Frame 1
"anim2"Symbol 597 MovieClip Frame 25
"anim3"Symbol 597 MovieClip Frame 49
"block_iceBlock"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 1
"block_normalBlock"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 2
"block_woodBlock"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 3
"block_deathBlock"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 4
"block_forceBlock"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 5
"pin"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 6
"char_frozenGuy"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 7
"char_standingGuy"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 8
"object_finish"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 9
"object_wolfrat"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 10
"link"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 11
"object_weight"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 12
"object_protectedArea32"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 13
"object_protectedArea64"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 14
"object_protectedArea128"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 15
"object_bird"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 16
"turningPins_left"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 17
"turningPins_leftSlow"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 18
"turningPins_rightSlow"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 19
"turningPins_right"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 20
"object_fatWoman"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 21
"object_sign"Symbol 621 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 22
"frozen"Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 1
"frozenBlink"Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 10
"frozenShine"Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 20
"standing"Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 42
"walking"Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 67
"victory"Symbol 663 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 80
"loop"Symbol 697 MovieClip {com.nitrome.game.LoadIndicator} Frame 4
"outAnimation"Symbol 697 MovieClip {com.nitrome.game.LoadIndicator} Frame 8
"_up"Symbol 702 MovieClip {com.nitrome.game.PlayButton} Frame 1
"_over"Symbol 702 MovieClip {com.nitrome.game.PlayButton} Frame 11
"_up"Symbol 704 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1
"_over"Symbol 704 MovieClip {com.nitrome.game.BackToTitleButton} Frame 11
"_up"Symbol 706 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1
"_over"Symbol 706 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 11
"up"Symbol 711 MovieClip {com.nitrome.game.LevelStartButton} Frame 1
"over"Symbol 711 MovieClip {com.nitrome.game.LevelStartButton} Frame 11
"locked"Symbol 711 MovieClip {com.nitrome.game.LevelStartButton} Frame 21
"_up"Symbol 713 MovieClip {com.nitrome.game.HelpButton} Frame 1
"_over"Symbol 713 MovieClip {com.nitrome.game.HelpButton} Frame 11
"_up"Symbol 715 MovieClip {com.nitrome.game.ScoresButton} Frame 1
"_over"Symbol 715 MovieClip {com.nitrome.game.ScoresButton} Frame 11
"_up"Symbol 717 MovieClip {com.nitrome.game.CreditsButton} Frame 1
"_over"Symbol 717 MovieClip {com.nitrome.game.CreditsButton} Frame 11
"_up"Symbol 719 MovieClip {SubmitButton} Frame 1
"_over"Symbol 719 MovieClip {SubmitButton} Frame 11
"_up"Symbol 720 MovieClip {ClearButton} Frame 1
"_over"Symbol 720 MovieClip {ClearButton} Frame 11
"_up"Symbol 721 MovieClip {LetterButton} Frame 1
"_over"Symbol 721 MovieClip {LetterButton} Frame 10
"_up"Symbol 728 MovieClip {NextArrow} Frame 1
"_over"Symbol 728 MovieClip {NextArrow} Frame 11
"_up"Symbol 729 MovieClip {PrevArrow} Frame 1
"_over"Symbol 729 MovieClip {PrevArrow} Frame 11
"_up"Symbol 738 MovieClip {com.nitrome.game.PauseButton} Frame 1
"_over"Symbol 738 MovieClip {com.nitrome.game.PauseButton} Frame 6
"_on_up"Symbol 746 MovieClip {com.nitrome.game.MusicToggle} Frame 1
"_on_over"Symbol 746 MovieClip {com.nitrome.game.MusicToggle} Frame 6
"_off_up"Symbol 746 MovieClip {com.nitrome.game.MusicToggle} Frame 11
"_off_over"Symbol 746 MovieClip {com.nitrome.game.MusicToggle} Frame 16
"_on_up"Symbol 752 MovieClip {com.nitrome.game.FxToggle} Frame 1
"_on_over"Symbol 752 MovieClip {com.nitrome.game.FxToggle} Frame 6
"_off_up"Symbol 752 MovieClip {com.nitrome.game.FxToggle} Frame 11
"_off_over"Symbol 752 MovieClip {com.nitrome.game.FxToggle} Frame 16
"_up"Symbol 755 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1
"_over"Symbol 755 MovieClip {com.nitrome.game.ContinueGameButton} Frame 11
"_up"Symbol 756 MovieClip {com.nitrome.game.EndGameButton} Frame 1
"_over"Symbol 756 MovieClip {com.nitrome.game.EndGameButton} Frame 11
"_up"Symbol 757 MovieClip {com.nitrome.game.NextLevelButton} Frame 1
"_over"Symbol 757 MovieClip {com.nitrome.game.NextLevelButton} Frame 11
"_up"Symbol 758 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1
"_over"Symbol 758 MovieClip {com.nitrome.game.RestartLevelButton} Frame 11
"_up"Symbol 759 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1
"_over"Symbol 759 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 11
"_up"Symbol 764 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 1
"_over"Symbol 764 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 11
"paused"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 1
"complete"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 11
"failed"Symbol 777 MovieClip {Icebreaker_fla.popupcontent_95} Frame 21
"_up"Symbol 789 MovieClip {com.nitrome.game.ResetButton} Frame 1
"_over"Symbol 789 MovieClip {com.nitrome.game.ResetButton} Frame 6




http://swfchan.com/21/100632/info.shtml
Created: 10/8 -2019 14:44:28 Last modified: 10/8 -2019 14:44:28 Server time: 22/12 -2024 19:40:02