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

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

1231582115322.swf

This is the info page for
Flash #44824

(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

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

Instance Names

"curves_clip"Frame 1Symbol 4 MovieClip
"preloader"Frame 2Symbol 143 MovieClip {com.nitrome.game.Preloader}
"background"Frame 16Symbol 342 MovieClip {com.nitrome.icebreaker.Background}
"button3"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button2"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button1"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button4"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button5"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button11"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button10"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button9"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button12"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button13"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button19"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button18"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button17"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button20"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button21"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button27"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button26"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button25"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button28"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button29"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"__id16_"Frame 26Symbol 140 MovieClip {NumbskullFont}
"button6"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button7"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button8"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button14"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button15"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button16"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button22"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button23"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button24"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button30"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button31"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button32"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button35"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button34"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button33"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button36"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button37"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button38"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button39"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"button40"Frame 26Symbol 710 MovieClip {com.nitrome.game.LevelStartButton}
"__id17_"Frame 56Symbol 140 MovieClip {NumbskullFont}
"__id18_"Frame 66Symbol 140 MovieClip {NumbskullFont}
"__id19_"Frame 66Symbol 140 MovieClip {NumbskullFont}
"__id20_"Frame 66Symbol 140 MovieClip {NumbskullFont}
"content"Frame 76Symbol 912 MovieClip
"moveCounter"Frame 76Symbol 140 MovieClip {NumbskullFont}
"characterCounter"Frame 76Symbol 140 MovieClip {NumbskullFont}
"mapHolder"Frame 76Symbol 912 MovieClip
"pauseGame"Frame 76Symbol 737 MovieClip {com.nitrome.game.PauseButton}
"popupHolder"Frame 76Symbol 912 MovieClip
"__id0_"Symbol 143 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 140 MovieClip {NumbskullFont}
"progress"Symbol 143 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 142 EditableText
"tl"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 145 MovieClip
"tr"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 145 MovieClip
"br"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 145 MovieClip
"bl"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 145 MovieClip
"l"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 147 MovieClip
"t"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 149 MovieClip
"b"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 151 MovieClip
"r"Symbol 154 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 153 MovieClip
"clouds"Symbol 342 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 335 MovieClip
"backMountains"Symbol 342 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 338 MovieClip
"foreMountains"Symbol 342 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 341 MovieClip
"ropeMask"Symbol 346 MovieClip {com.nitrome.icebreaker.LinkMid} Frame 1Symbol 343 MovieClip
"wave1"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave2"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave3"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave4"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave5"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave6"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave7"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave8"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave9"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave10"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave11"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave12"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"wave13"Symbol 597 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 596 MovieClip
"xmlData"Symbol 634 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 623 EditableText
"loadFile"Symbol 634 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 627 Button
"saveFile"Symbol 634 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 629 Button
"txtMoves"Symbol 634 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 631 EditableText
"nitrome"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 664 MovieClip {Icebreaker_fla.nitrome_51}
"ice3"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 666 MovieClip {Icebreaker_fla.ice3_52}
"ice4"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 668 MovieClip {Icebreaker_fla.ice4_53}
"deepthud"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 670 MovieClip {Icebreaker_fla.deepthud_54}
"splash"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 672 MovieClip {Icebreaker_fla.splash_55}
"iceSmash"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 674 MovieClip {Icebreaker_fla.iceSmash_56}
"iceTooLarge"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 676 MovieClip {Icebreaker_fla.iceTooLarge_57}
"noslice"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 678 MovieClip {Icebreaker_fla.noslice_58}
"fatwoman"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 680 MovieClip {Icebreaker_fla.fatwoman_59}
"ropeBreak"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 682 MovieClip {Icebreaker_fla.ropeBreak_60}
"death"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 684 MovieClip {Icebreaker_fla.death_61}
"vikingAtEnd"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 686 MovieClip {Icebreaker_fla.vikingAtEnd_62}
"wolfratDying"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 688 MovieClip {Icebreaker_fla.wolfratDying_63}
"runeDeath"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 690 MovieClip {Icebreaker_fla.runeDeath_64}
"ice3b"Symbol 693 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 692 MovieClip {Icebreaker_fla.ice3b_65}
"__id1_"Symbol 701 MovieClip {com.nitrome.game.PlayButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id2_"Symbol 703 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id3_"Symbol 705 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"numberField"Symbol 710 MovieClip {com.nitrome.game.LevelStartButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id4_"Symbol 712 MovieClip {com.nitrome.game.HelpButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id5_"Symbol 714 MovieClip {com.nitrome.game.ScoresButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id6_"Symbol 716 MovieClip {com.nitrome.game.CreditsButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id7_"Symbol 718 MovieClip {SubmitButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id8_"Symbol 719 MovieClip {ClearButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"_letter"Symbol 720 MovieClip {LetterButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"_submit_button"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 718 MovieClip {SubmitButton}
"_name_text"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 140 MovieClip {NumbskullFont}
"_score_text"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 140 MovieClip {NumbskullFont}
"_clear_button"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 719 MovieClip {ClearButton}
"A"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"B"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"C"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"D"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"E"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"F"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"G"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"H"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"I"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"J"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"K"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"L"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"M"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"N"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"O"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"P"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"Q"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"R"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"S"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"T"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"U"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"V"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"W"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"X"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"Y"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"Z"Symbol 721 MovieClip {ScoreSubmitPanel} Frame 1Symbol 720 MovieClip {LetterButton}
"_rank_text"Symbol 726 MovieClip {ScoreLine} Frame 1Symbol 723 EditableText
"_name_text"Symbol 726 MovieClip {ScoreLine} Frame 1Symbol 724 EditableText
"_score_text"Symbol 726 MovieClip {ScoreLine} Frame 1Symbol 725 EditableText
"__id9_"Symbol 727 MovieClip {NextArrow} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id10_"Symbol 728 MovieClip {PrevArrow} Frame 1Symbol 140 MovieClip {NumbskullFont}
"_score_line_1"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_2"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_3"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_4"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_5"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_6"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_7"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_8"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_9"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_score_line_10"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 726 MovieClip {ScoreLine}
"_next_arrow"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 727 MovieClip {NextArrow}
"_prev_arrow"Symbol 729 MovieClip {HighScoreBoard} Frame 1Symbol 728 MovieClip {PrevArrow}
"__id11_"Symbol 754 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id12_"Symbol 755 MovieClip {com.nitrome.game.EndGameButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id13_"Symbol 756 MovieClip {com.nitrome.game.NextLevelButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id14_"Symbol 757 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"__id15_"Symbol 758 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1Symbol 140 MovieClip {NumbskullFont}
"default_resume"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 1Symbol 754 MovieClip {com.nitrome.game.ContinueGameButton}
"title1"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 1Symbol 140 MovieClip {NumbskullFont}
"default_next"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 756 MovieClip {com.nitrome.game.NextLevelButton}
"levelScore"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 771 EditableText
"totalScore"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 773 EditableText
"title2"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 140 MovieClip {NumbskullFont}
"default_restart"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 21Symbol 757 MovieClip {com.nitrome.game.RestartLevelButton}
"totalScore"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 21Symbol 775 EditableText
"inner"Symbol 777 MovieClip {com.nitrome.game.IngamePopup} Frame 2Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96}
"bg"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 342 MovieClip {com.nitrome.icebreaker.Background}
"captain"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 916 MovieClip
"guy1"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 917 MovieClip
"guy2"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 917 MovieClip
"guy3"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 917 MovieClip
"sea"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 597 MovieClip {com.nitrome.icebreaker.Sea}
"__id21_"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 140 MovieClip {NumbskullFont}
"scoreField"Symbol 919 MovieClip {Icebreaker_fla.congratulationsclip_108} Frame 1Symbol 140 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
"view_scores"Frame 36
"submit_score"Frame 46
"help"Frame 56
"credits"Frame 66
"game"Frame 76
"congrats"Frame 86
"cut"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 1
"stone"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 11
"deadly"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 21
"link"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 31
"birdwood"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 41
"woman"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 51
"force"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 61
"mist"Symbol 232 MovieClip {com.nitrome.game.HintOverlay} Frame 71
"finishFrame"Symbol 277 MovieClip {ForceBlockForceMC} Frame 11
"idle"Symbol 330 MovieClip {com.nitrome.icebreaker.FatWoman} Frame 1
"sliced"Symbol 330 MovieClip {com.nitrome.icebreaker.FatWoman} Frame 16
"standing"Symbol 372 MovieClip {com.nitrome.icebreaker.Wolfrat} Frame 1
"dead"Symbol 372 MovieClip {com.nitrome.icebreaker.Wolfrat} Frame 14
"standing"Symbol 454 MovieClip {com.nitrome.icebreaker.Captain} Frame 1
"walking"Symbol 454 MovieClip {com.nitrome.icebreaker.Captain} Frame 20
"smashing"Symbol 454 MovieClip {com.nitrome.icebreaker.Captain} Frame 29
"impactFrame"Symbol 454 MovieClip {com.nitrome.icebreaker.Captain} Frame 39
"smashFrame"Symbol 454 MovieClip {com.nitrome.icebreaker.Captain} Frame 41
"victory"Symbol 454 MovieClip {com.nitrome.icebreaker.Captain} Frame 42
"standing"Symbol 522 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 1
"walking"Symbol 522 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 26
"runeDeath"Symbol 522 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 39
"normalDeath"Symbol 522 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 64
"victory"Symbol 522 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 74
"anim1"Symbol 596 MovieClip Frame 1
"anim2"Symbol 596 MovieClip Frame 25
"anim3"Symbol 596 MovieClip Frame 49
"block_iceBlock"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 1
"block_normalBlock"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 2
"block_woodBlock"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 3
"block_deathBlock"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 4
"block_forceBlock"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 5
"pin"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 6
"char_frozenGuy"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 7
"char_standingGuy"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 8
"object_finish"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 9
"object_wolfrat"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 10
"link"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 11
"object_weight"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 12
"object_protectedArea32"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 13
"object_protectedArea64"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 14
"object_protectedArea128"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 15
"object_bird"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 16
"turningPins_left"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 17
"turningPins_leftSlow"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 18
"turningPins_rightSlow"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 19
"turningPins_right"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 20
"object_fatWoman"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 21
"object_sign"Symbol 620 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 22
"frozen"Symbol 662 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 1
"frozenBlink"Symbol 662 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 10
"frozenShine"Symbol 662 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 20
"standing"Symbol 662 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 42
"walking"Symbol 662 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 67
"victory"Symbol 662 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 80
"loop"Symbol 696 MovieClip {com.nitrome.game.LoadIndicator} Frame 4
"outAnimation"Symbol 696 MovieClip {com.nitrome.game.LoadIndicator} Frame 8
"_up"Symbol 701 MovieClip {com.nitrome.game.PlayButton} Frame 1
"_over"Symbol 701 MovieClip {com.nitrome.game.PlayButton} Frame 11
"_up"Symbol 703 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1
"_over"Symbol 703 MovieClip {com.nitrome.game.BackToTitleButton} Frame 11
"_up"Symbol 705 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1
"_over"Symbol 705 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 11
"up"Symbol 710 MovieClip {com.nitrome.game.LevelStartButton} Frame 1
"over"Symbol 710 MovieClip {com.nitrome.game.LevelStartButton} Frame 11
"locked"Symbol 710 MovieClip {com.nitrome.game.LevelStartButton} Frame 21
"_up"Symbol 712 MovieClip {com.nitrome.game.HelpButton} Frame 1
"_over"Symbol 712 MovieClip {com.nitrome.game.HelpButton} Frame 11
"_up"Symbol 714 MovieClip {com.nitrome.game.ScoresButton} Frame 1
"_over"Symbol 714 MovieClip {com.nitrome.game.ScoresButton} Frame 11
"_up"Symbol 716 MovieClip {com.nitrome.game.CreditsButton} Frame 1
"_over"Symbol 716 MovieClip {com.nitrome.game.CreditsButton} Frame 11
"_up"Symbol 718 MovieClip {SubmitButton} Frame 1
"_over"Symbol 718 MovieClip {SubmitButton} Frame 11
"_up"Symbol 719 MovieClip {ClearButton} Frame 1
"_over"Symbol 719 MovieClip {ClearButton} Frame 11
"_up"Symbol 720 MovieClip {LetterButton} Frame 1
"_over"Symbol 720 MovieClip {LetterButton} Frame 10
"_up"Symbol 727 MovieClip {NextArrow} Frame 1
"_over"Symbol 727 MovieClip {NextArrow} Frame 11
"_up"Symbol 728 MovieClip {PrevArrow} Frame 1
"_over"Symbol 728 MovieClip {PrevArrow} Frame 11
"_up"Symbol 737 MovieClip {com.nitrome.game.PauseButton} Frame 1
"_over"Symbol 737 MovieClip {com.nitrome.game.PauseButton} Frame 6
"_on_up"Symbol 745 MovieClip {com.nitrome.game.MusicToggle} Frame 1
"_on_over"Symbol 745 MovieClip {com.nitrome.game.MusicToggle} Frame 6
"_off_up"Symbol 745 MovieClip {com.nitrome.game.MusicToggle} Frame 11
"_off_over"Symbol 745 MovieClip {com.nitrome.game.MusicToggle} Frame 16
"_on_up"Symbol 751 MovieClip {com.nitrome.game.FxToggle} Frame 1
"_on_over"Symbol 751 MovieClip {com.nitrome.game.FxToggle} Frame 6
"_off_up"Symbol 751 MovieClip {com.nitrome.game.FxToggle} Frame 11
"_off_over"Symbol 751 MovieClip {com.nitrome.game.FxToggle} Frame 16
"_up"Symbol 754 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1
"_over"Symbol 754 MovieClip {com.nitrome.game.ContinueGameButton} Frame 11
"_up"Symbol 755 MovieClip {com.nitrome.game.EndGameButton} Frame 1
"_over"Symbol 755 MovieClip {com.nitrome.game.EndGameButton} Frame 11
"_up"Symbol 756 MovieClip {com.nitrome.game.NextLevelButton} Frame 1
"_over"Symbol 756 MovieClip {com.nitrome.game.NextLevelButton} Frame 11
"_up"Symbol 757 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1
"_over"Symbol 757 MovieClip {com.nitrome.game.RestartLevelButton} Frame 11
"_up"Symbol 758 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1
"_over"Symbol 758 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 11
"_up"Symbol 763 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 1
"_over"Symbol 763 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 11
"paused"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 1
"complete"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11
"failed"Symbol 776 MovieClip {Icebreaker_fla.popupcontent_96} Frame 21
"_up"Symbol 788 MovieClip {com.nitrome.game.ResetButton} Frame 1
"_over"Symbol 788 MovieClip {com.nitrome.game.ResetButton} Frame 6




http://swfchan.com/9/44824/info.shtml
Created: 6/5 -2019 11:52:24 Last modified: 6/5 -2019 11:52:24 Server time: 29/04 -2024 14:01:55