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

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

Ice Breaker.swf

This is the info page for
Flash #130916

(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="center"><font face="Sylfaen_13pt_st" size="13" color="#000000" letterSpacing="0.000000" kerning="1">0%</font></p>

<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 __id1_: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 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 (){ 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 = "back"; __id1_.tracking = 0; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame2(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 1)) && ((int(__setPropDict[__id1_]) <= 10))))))){ __setPropDict[__id1_] = currentFrame; (); }; } 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 frame20(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 11)) && ((int(__setPropDict[__id1_]) <= 20))))))){ __setPropDict[__id1_] = currentFrame; (); }; } function frame8(){ 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 = 11977954; __id1_.id = "None"; __id1_.line_spacing = 18; __id1_.text = "back"; __id1_.tracking = 0; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } 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 __id2_: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 { __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 = "submit score"; __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  (){ 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 = "submit score"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } 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;  (); }; } function frame19(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } } }//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 __id5_: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[__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 frame15(){ 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 = "Credits"; __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 frame19(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame6(){ 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 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 frame1(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame16(){ 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 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 frame7(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __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 = 11977954; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Credits"; __id5_.tracking = 0; try { __id5_["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 __id3_:NumbskullFont; public function HelpButton(){ __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 { __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 = "Help"; __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 (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "top"; __id3_.color = 12043747; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "Help"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame7(){ 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 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 frame17(){ 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 frame16(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __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 frame15(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = 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.*; public class PlayButton extends SimpleButton { 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 __id6_:NumbskullFont; public var progress:TextField; 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 { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "top"; __id6_.color = 12043747; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Loading"; __id6_.tracking = 0; try { __id6_["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 __setPropDict:Dictionary; public var __id4_:NumbskullFont; public function ScoresButton(){ __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[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } 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 (){ 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 = "Scores"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } 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; (); }; } function frame6(){ 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 = 12043747; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Scores"; __id4_.tracking = 0; try { __id4_["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, , 40, frame41, 59,  ); } function frame19(){ gotoAndPlay("standing"); } function (){ 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, frame25, 37, frame38, 62,  , 69,  , 91,  ); } function  (){ stop(); } function frame25(){ 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.XGEN) == 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_113 (Icebreaker_fla.congratulationsclip_113) package Icebreaker_fla { import com.nitrome.icebreaker.*; import flash.display.*; import flash.events.*; import com.nitrome.game.*; public dynamic class congratulationsclip_113 extends MovieClip { public var __id20_:NumbskullFont; public var captain:MovieClip; public var bg:Background; public var guy3:MovieClip; public var guy2:MovieClip; public var sea:Sea; public var guy1:MovieClip; public var scoreField:NumbskullFont; public function congratulationsclip_113(){ addFrameScript(0, frame1); (); (); } function (){ try { __id20_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id20_.align = "center"; __id20_.align_vert = "center"; __id20_.color = 11977954; __id20_.id = "None"; __id20_.line_spacing = 18; __id20_.text = "Congratulations!"; __id20_.tracking = 0; try { __id20_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { scoreField["componentInspectorSetting"] = true; } catch(e:Error) { }; scoreField.align = "center"; scoreField.align_vert = "center"; scoreField.color = 15068151; scoreField.id = "None"; scoreField.line_spacing = 18; scoreField.text = "your final score is 0!"; scoreField.tracking = 0; try { scoreField["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ addEventListener(Event.ENTER_FRAME,  , false, 0, true); scoreField.text = ("Your final score is " + Score.value.toString()); bg.autoLevel = 0; guy1.gotoAndPlay(8); guy2.gotoAndPlay(3); guy3.gotoAndPlay(13); } public function  (_arg1:Event):void{ sea.scrollX = (sea.scrollX - 4); sea.advance(); } } }//package Icebreaker_fla
Section 158
//death_60 (Icebreaker_fla.death_60) package Icebreaker_fla { import flash.display.*; public dynamic class death_60 extends MovieClip { public function death_60(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 159
//deepthud_53 (Icebreaker_fla.deepthud_53) package Icebreaker_fla { import flash.display.*; public dynamic class deepthud_53 extends MovieClip { public function deepthud_53(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 160
//fatwoman_58 (Icebreaker_fla.fatwoman_58) package Icebreaker_fla { import flash.display.*; public dynamic class fatwoman_58 extends MovieClip { public function fatwoman_58(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 161
//helvianMC_107 (Icebreaker_fla.helvianMC_107) package Icebreaker_fla { import flash.display.*; public dynamic class helvianMC_107 extends MovieClip { public function helvianMC_107(){ addFrameScript(28, frame29); } function frame29(){ stop(); } } }//package Icebreaker_fla
Section 162
//ice3_51 (Icebreaker_fla.ice3_51) package Icebreaker_fla { import flash.display.*; public dynamic class ice3_51 extends MovieClip { public function ice3_51(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 163
//ice3b_64 (Icebreaker_fla.ice3b_64) package Icebreaker_fla { import flash.display.*; public dynamic class ice3b_64 extends MovieClip { public function ice3b_64(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 164
//ice4_52 (Icebreaker_fla.ice4_52) package Icebreaker_fla { import flash.display.*; public dynamic class ice4_52 extends MovieClip { public function ice4_52(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 165
//iceSmash_55 (Icebreaker_fla.iceSmash_55) package Icebreaker_fla { import flash.display.*; public dynamic class iceSmash_55 extends MovieClip { public function iceSmash_55(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 166
//iceTooLarge_56 (Icebreaker_fla.iceTooLarge_56) package Icebreaker_fla { import flash.display.*; public dynamic class iceTooLarge_56 extends MovieClip { public function iceTooLarge_56(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 167
//instances_2 (Icebreaker_fla.instances_2) package Icebreaker_fla { import flash.display.*; public dynamic class instances_2 extends MovieClip { public function instances_2(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 168
//MainTimeline (Icebreaker_fla.MainTimeline) package Icebreaker_fla { import com.nitrome.icebreaker.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.text.*; import com.nitrome.game.*; import flash.media.*; import flash.filters.*; import flash.utils.*; import flash.net.*; import flash.ui.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.printing.*; import flash.system.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var __id17_:NumbskullFont; public var mapHolder:MovieClip; public var __id18_:NumbskullFont; public var bl:BlurFilter; public var preloader_new:MovieClip; public var __setPropDict:Dictionary; public var __id19_:NumbskullFont; public var :Number; public var content:MovieClip; public var characterCounter:NumbskullFont; public var button10:LevelStartButton; public var button11:LevelStartButton; public var button12:LevelStartButton; public var button13:LevelStartButton; public var button14:LevelStartButton; public var button15:LevelStartButton; public var button16:LevelStartButton; public var button18:LevelStartButton; public var button19:LevelStartButton; public var button17:LevelStartButton; public var moveCounter:NumbskullFont; public var button21:LevelStartButton; public var button23:LevelStartButton; public var button25:LevelStartButton; public var button26:LevelStartButton; public var button27:LevelStartButton; public var button28:LevelStartButton; public var button24:LevelStartButton; public var button29:LevelStartButton; public var button22:LevelStartButton; public var pauseGame:PauseButton; public var button31:LevelStartButton; public var button33:LevelStartButton; public var button34:LevelStartButton; public var button35:LevelStartButton; public var button36:LevelStartButton; public var button38:LevelStartButton; public var button30:LevelStartButton; public var button32:LevelStartButton; public var button37:LevelStartButton; public var button20:LevelStartButton; public var background:Background; public var button39:LevelStartButton; public var button40:LevelStartButton; public var  :Number; 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 xgen_intro:MovieClip; public var button8:LevelStartButton; public var button2:LevelStartButton; public var popupHolder:MovieClip; public var  :Number; public var  :Number; public var __id16_:NumbskullFont; public function MainTimeline(){ __setPropDict = new Dictionary(true); super(); addFrameScript(1, frame2, 5, frame6, 14, frame15, 24, frame25, 64,  , 74,  , 54,  , 55, frame56, 56,  , 57,  , 58,  , 59,  , 60,  , 61,  , 62,  , 63,  , 34, , 35, , 36, , 37, frame38, 38,  , 39, frame40, 40, frame41, 41, , 42,  , 43, , 65,  , 66,  , 67,  , 68,  , 69,  , 70,  , 71,  , 72,  , 73,  , 44, , 45, , 46, , 47, , 48, , 49,  , 50,  , 51, , 52, , 53,  ); } public function (_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = loaderInfo.bytesLoaded; _local3 = loaderInfo.bytesTotal; _local4 = Math.round(((_local2 / _local3) * 100)); preloader_new.progress_text.text = String((_local4 + "%")); if (loaderInfo.bytesLoaded >= loaderInfo.bytesTotal){ removeEventListener(Event.ENTER_FRAME, ); gotoAndStop("xgen"); }; } function frame15(){ 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 frame6(){ xgen_intro.addEventListener(Event.COMPLETE, function (_arg1:Event){ xgen_intro.removeEventListener(Event.ENTER_FRAME, ); gotoAndStop("nitrome"); }); xgen_intro.cacheAsBitmap = true; xgen_intro.scaleX = (xgen_intro.scaleY = 0.0001); bl = new BlurFilter(); bl.quality = 1;   = 180;   = -10;   = 1;  = -171; xgen_intro.addEventListener(Event.ENTER_FRAME, ); stop(); } function frame25(){ NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function frame2(){ NitromeGame.init((root as MovieClip), "icebreaker", "nobodies", 40); stage.showDefaultContextMenu = false; addEventListener(Event.ENTER_FRAME, , false, 0, true); stop(); } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __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 = "markus heinel"; __id17_.tracking = 0; try { __id17_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame38(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame40(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame41(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 35)) && ((int(__setPropDict[__id16_]) <= 44))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } public function (_arg1:Event):void{   = (  +  ); if (  <= ){   =  ; }; if ((((  > 0)) && ((  > 0)))){   = (  * 1.8); xgen_intro.scaleX = (xgen_intro.scaleY = (Math.max(1, ((xgen_intro.scaleY * 100) - (  * 1.3))) / 100)); xgen_intro.XGenStudiosComMC.alpha = (xgen_intro.XGenStudiosComMC.alpha - 25); } else { xgen_intro.scaleX = (xgen_intro.scaleY = Math.min(1, ((xgen_intro.scaleY * 100) * 1.7))); }; bl.blurX =  ; bl.blurY =  ; xgen_intro.filters = [bl]; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function frame56(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; Controller.startGame(content); Controller.startLevel(Controller.selectedLevel); NitromeGame.sound_manager.playMusic(SoundManager.GAME); } function  (){ try { characterCounter["componentInspectorSetting"] = true; } catch(e:Error) { }; characterCounter.align = "right"; characterCounter.align_vert = "center"; characterCounter.color = 0xFFFFFF; characterCounter.id = "None"; characterCounter.line_spacing = 18; characterCounter.text = "0/1"; characterCounter.tracking = 0; try { characterCounter["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function  (){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 55)) && ((int(__setPropDict[__id19_]) <= 64))))))){ __setPropDict[__id19_] = currentFrame;  (); }; if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 55)) && ((int(__setPropDict[__id16_]) <= 64))))))){ __setPropDict[__id16_] = currentFrame;  (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 55)) && ((int(__setPropDict[__id17_]) <= 64))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 55)) && ((int(__setPropDict[__id18_]) <= 64))))))){ __setPropDict[__id18_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 45)) && ((int(__setPropDict[__id16_]) <= 54))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ if ((((__setPropDict[characterCounter] == undefined)) || (!((((int(__setPropDict[characterCounter]) >= 65)) && ((int(__setPropDict[characterCounter]) <= 74))))))){ __setPropDict[characterCounter] = currentFrame;  (); }; if ((((__setPropDict[moveCounter] == undefined)) || (!((((int(__setPropDict[moveCounter]) >= 65)) && ((int(__setPropDict[moveCounter]) <= 74))))))){ __setPropDict[moveCounter] = currentFrame; (); }; } function  (){ try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.align = "center"; __id18_.align_vert = "center"; __id18_.color = 11977954; __id18_.id = "None"; __id18_.line_spacing = 18; __id18_.text = "chris burt-brown"; __id18_.tracking = 0; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 11977954; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "select a level"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.align = "center"; __id19_.align_vert = "center"; __id19_.color = 11977954; __id19_.id = "None"; __id19_.line_spacing = 18; __id19_.text = "lee nicklen"; __id19_.tracking = 0; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 11977954; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "instructions"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 11977954; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "credits"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Icebreaker_fla
Section 169
//nitrome_50 (Icebreaker_fla.nitrome_50) package Icebreaker_fla { import flash.display.*; public dynamic class nitrome_50 extends MovieClip { public function nitrome_50(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 170
//nitromeintro_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 171
//noslice_57 (Icebreaker_fla.noslice_57) package Icebreaker_fla { import flash.display.*; public dynamic class noslice_57 extends MovieClip { public function noslice_57(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 172
//popupcontent_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, frame25, 25,  , 26, , 27, , 28, frame29, 29, ); } 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 (){ 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 (){ 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 frame25(){ 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 (){ 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  (){ if ((((__setPropDict[title2] == undefined)) || (!((((int(__setPropDict[title2]) >= 21)) && ((int(__setPropDict[title2]) <= 30))))))){ __setPropDict[title2] = currentFrame;  (); }; } function  (){ try { title2["componentInspectorSetting"] = true; } catch(e:Error) { }; title2.align = "center"; title2.align_vert = "center"; title2.color = 9085911; title2.id = "None"; title2.line_spacing = 18; title2.text = "level failed"; title2.tracking = 0; try { title2["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package Icebreaker_fla
Section 173
//preloader_new_1 (Icebreaker_fla.preloader_new_1) package Icebreaker_fla { import flash.display.*; import flash.text.*; public dynamic class preloader_new_1 extends MovieClip { public var __id0_:NumbskullFont; public var progress_text:TextField; public function preloader_new_1(){ (); } 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 Icebreaker_fla
Section 174
//ropeBreak_59 (Icebreaker_fla.ropeBreak_59) package Icebreaker_fla { import flash.display.*; public dynamic class ropeBreak_59 extends MovieClip { public function ropeBreak_59(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 175
//runeDeath_63 (Icebreaker_fla.runeDeath_63) package Icebreaker_fla { import flash.display.*; public dynamic class runeDeath_63 extends MovieClip { public function runeDeath_63(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 176
//splash_54 (Icebreaker_fla.splash_54) package Icebreaker_fla { import flash.display.*; public dynamic class splash_54 extends MovieClip { public function splash_54(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 177
//vikingAtEnd_61 (Icebreaker_fla.vikingAtEnd_61) package Icebreaker_fla { import flash.display.*; public dynamic class vikingAtEnd_61 extends MovieClip { public function vikingAtEnd_61(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 178
//wolfratDying_62 (Icebreaker_fla.wolfratDying_62) package Icebreaker_fla { import flash.display.*; public dynamic class wolfratDying_62 extends MovieClip { public function wolfratDying_62(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Icebreaker_fla
Section 179
//XGenStudiosComMC_109 (Icebreaker_fla.XGenStudiosComMC_109) package Icebreaker_fla { import flash.display.*; public dynamic class XGenStudiosComMC_109 extends MovieClip { public function XGenStudiosComMC_109(){ addFrameScript(136,  ); } function  (){ stop(); } } }//package Icebreaker_fla
Section 180
//XGSIntroMC_105 (Icebreaker_fla.XGSIntroMC_105) package Icebreaker_fla { import flash.display.*; import flash.events.*; public dynamic class XGSIntroMC_105 extends MovieClip { public var XGenStudiosComMC:MovieClip; public function XGSIntroMC_105(){ addFrameScript(176,  ); } function  (){ stop(); dispatchEvent(new Event(Event.COMPLETE)); } } }//package Icebreaker_fla
Section 181
//mp3 (sfx_14.mp3) package sfx_14 { import flash.media.*; public dynamic class mp3 extends Sound { } }//package sfx_14
Section 182
//mp3 (sfx_18.mp3) package sfx_18 { import flash.media.*; public dynamic class mp3 extends Sound { } }//package sfx_18
Section 183
//ArrowCursor (ArrowCursor) package { import flash.display.*; public dynamic class ArrowCursor extends MovieClip { } }//package
Section 184
//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 185
//DeathBlockTexture (DeathBlockTexture) package { import flash.display.*; public dynamic class DeathBlockTexture extends BitmapData { public function DeathBlockTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 186
//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 187
//ForceBlockTexture (ForceBlockTexture) package { import flash.display.*; public dynamic class ForceBlockTexture extends BitmapData { public function ForceBlockTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 188
//GameMusic (GameMusic) package { import flash.media.*; public dynamic class GameMusic extends Sound { } }//package
Section 189
//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 190
//HighScoreBoard (HighScoreBoard) package { import com.nitrome.highscore.*; public dynamic class HighScoreBoard extends HighScoreBoard { } }//package
Section 191
//IceTexture (IceTexture) package { import flash.display.*; public dynamic class IceTexture extends BitmapData { public function IceTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 192
//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 193
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 194
//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 195
//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", "xgenstudios.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"; public static const XGEN:uint = 3; private static const XGEN_URL:Array = new Array("http://www.xgenstudios.com", "http://xgenstudios.com"); 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; public static var global:Object = new Object(); private static var _url:String; 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; } else { if (_args[_local2] == XGEN){ _local3 = XGEN_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 get leading_zero():Boolean{ return (_leading_zero); } public static function set selected_level(_arg1:int):void{ _selected_level = _arg1; } 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 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 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 196
//NumbskullFont (NumbskullFont) package { import com.nitrome.game.*; public dynamic class NumbskullFont extends TemplateFont { } }//package
Section 197
//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 198
//RockTexture (RockTexture) package { import flash.display.*; public dynamic class RockTexture extends BitmapData { public function RockTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 199
//ScoreLine (ScoreLine) package { import com.nitrome.highscore.*; public dynamic class ScoreLine extends HighScoreLine { } }//package
Section 200
//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 201
//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 202
//Text_None_0 (Text_None_0) package { import flash.display.*; public dynamic class Text_None_0 extends Sprite { } }//package
Section 203
//Text_None_1 (Text_None_1) package { import flash.display.*; public dynamic class Text_None_1 extends Sprite { } }//package
Section 204
//Text_None_2 (Text_None_2) package { import flash.display.*; public dynamic class Text_None_2 extends Sprite { } }//package
Section 205
//Text_None_3 (Text_None_3) package { import flash.display.*; public dynamic class Text_None_3 extends Sprite { } }//package
Section 206
//Text_None_4 (Text_None_4) package { import flash.display.*; public dynamic class Text_None_4 extends Sprite { } }//package
Section 207
//Text_None_5 (Text_None_5) package { import flash.display.*; public dynamic class Text_None_5 extends Sprite { } }//package
Section 208
//Text_None_6 (Text_None_6) package { import flash.display.*; public dynamic class Text_None_6 extends Sprite { } }//package
Section 209
//Text_None_7 (Text_None_7) package { import flash.display.*; public dynamic class Text_None_7 extends Sprite { } }//package
Section 210
//Text_None_8 (Text_None_8) package { import flash.display.*; public dynamic class Text_None_8 extends Sprite { } }//package
Section 211
//Text_None_9 (Text_None_9) package { import flash.display.*; public dynamic class Text_None_9 extends Sprite { } }//package
Section 212
//Text_None_A (Text_None_A) package { import flash.display.*; public dynamic class Text_None_A extends Sprite { } }//package
Section 213
//Text_None_APOSTROPHE (Text_None_APOSTROPHE) package { import flash.display.*; public dynamic class Text_None_APOSTROPHE extends Sprite { } }//package
Section 214
//Text_None_B (Text_None_B) package { import flash.display.*; public dynamic class Text_None_B extends Sprite { } }//package
Section 215
//Text_None_C (Text_None_C) package { import flash.display.*; public dynamic class Text_None_C extends Sprite { } }//package
Section 216
//Text_None_COLON (Text_None_COLON) package { import flash.display.*; public dynamic class Text_None_COLON extends Sprite { } }//package
Section 217
//Text_None_COMMA (Text_None_COMMA) package { import flash.display.*; public dynamic class Text_None_COMMA extends Sprite { } }//package
Section 218
//Text_None_D (Text_None_D) package { import flash.display.*; public dynamic class Text_None_D extends Sprite { } }//package
Section 219
//Text_None_E (Text_None_E) package { import flash.display.*; public dynamic class Text_None_E extends Sprite { } }//package
Section 220
//Text_None_EXCLAMATION (Text_None_EXCLAMATION) package { import flash.display.*; public dynamic class Text_None_EXCLAMATION extends Sprite { } }//package
Section 221
//Text_None_F (Text_None_F) package { import flash.display.*; public dynamic class Text_None_F extends Sprite { } }//package
Section 222
//Text_None_FORWARDSLASH (Text_None_FORWARDSLASH) package { import flash.display.*; public dynamic class Text_None_FORWARDSLASH extends Sprite { } }//package
Section 223
//Text_None_G (Text_None_G) package { import flash.display.*; public dynamic class Text_None_G extends Sprite { } }//package
Section 224
//Text_None_H (Text_None_H) package { import flash.display.*; public dynamic class Text_None_H extends Sprite { } }//package
Section 225
//Text_None_HYPHEN (Text_None_HYPHEN) package { import flash.display.*; public dynamic class Text_None_HYPHEN extends Sprite { } }//package
Section 226
//Text_None_I (Text_None_I) package { import flash.display.*; public dynamic class Text_None_I extends Sprite { } }//package
Section 227
//Text_None_J (Text_None_J) package { import flash.display.*; public dynamic class Text_None_J extends Sprite { } }//package
Section 228
//Text_None_K (Text_None_K) package { import flash.display.*; public dynamic class Text_None_K extends Sprite { } }//package
Section 229
//Text_None_L (Text_None_L) package { import flash.display.*; public dynamic class Text_None_L extends Sprite { } }//package
Section 230
//Text_None_M (Text_None_M) package { import flash.display.*; public dynamic class Text_None_M extends Sprite { } }//package
Section 231
//Text_None_N (Text_None_N) package { import flash.display.*; public dynamic class Text_None_N extends Sprite { } }//package
Section 232
//Text_None_O (Text_None_O) package { import flash.display.*; public dynamic class Text_None_O extends Sprite { } }//package
Section 233
//Text_None_P (Text_None_P) package { import flash.display.*; public dynamic class Text_None_P extends Sprite { } }//package
Section 234
//Text_None_Q (Text_None_Q) package { import flash.display.*; public dynamic class Text_None_Q extends Sprite { } }//package
Section 235
//Text_None_QUESTION (Text_None_QUESTION) package { import flash.display.*; public dynamic class Text_None_QUESTION extends Sprite { } }//package
Section 236
//Text_None_R (Text_None_R) package { import flash.display.*; public dynamic class Text_None_R extends Sprite { } }//package
Section 237
//Text_None_S (Text_None_S) package { import flash.display.*; public dynamic class Text_None_S extends Sprite { } }//package
Section 238
//Text_None_SPACE (Text_None_SPACE) package { import flash.display.*; public dynamic class Text_None_SPACE extends MovieClip { } }//package
Section 239
//Text_None_STOP (Text_None_STOP) package { import flash.display.*; public dynamic class Text_None_STOP extends Sprite { } }//package
Section 240
//Text_None_T (Text_None_T) package { import flash.display.*; public dynamic class Text_None_T extends Sprite { } }//package
Section 241
//Text_None_U (Text_None_U) package { import flash.display.*; public dynamic class Text_None_U extends Sprite { } }//package
Section 242
//Text_None_V (Text_None_V) package { import flash.display.*; public dynamic class Text_None_V extends Sprite { } }//package
Section 243
//Text_None_W (Text_None_W) package { import flash.display.*; public dynamic class Text_None_W extends Sprite { } }//package
Section 244
//Text_None_X (Text_None_X) package { import flash.display.*; public dynamic class Text_None_X extends Sprite { } }//package
Section 245
//Text_None_Y (Text_None_Y) package { import flash.display.*; public dynamic class Text_None_Y extends Sprite { } }//package
Section 246
//Text_None_Z (Text_None_Z) package { import flash.display.*; public dynamic class Text_None_Z extends Sprite { } }//package
Section 247
//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 Sound {sfx_14.mp3}Used by:933
Symbol 2 Sound {sfx_18.mp3}Used by:933
Symbol 3 GraphicUsed by:Timeline
Symbol 4 GraphicUsed by:139
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:5Used by:7
Symbol 7 MovieClip {Text_None_0}Uses:6Used by:139
Symbol 8 BitmapUsed by:9
Symbol 9 GraphicUses:8Used by:10
Symbol 10 MovieClip {Text_None_1}Uses:9Used by:139
Symbol 11 BitmapUsed by:12
Symbol 12 GraphicUses:11Used by:13
Symbol 13 MovieClip {Text_None_2}Uses:12Used by:139
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:16
Symbol 16 MovieClip {Text_None_3}Uses:15Used by:139
Symbol 17 BitmapUsed by:18
Symbol 18 GraphicUses:17Used by:19
Symbol 19 MovieClip {Text_None_4}Uses:18Used by:139
Symbol 20 BitmapUsed by:21
Symbol 21 GraphicUses:20Used by:22
Symbol 22 MovieClip {Text_None_5}Uses:21Used by:139
Symbol 23 BitmapUsed by:24
Symbol 24 GraphicUses:23Used by:25
Symbol 25 MovieClip {Text_None_6}Uses:24Used by:139
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:28
Symbol 28 MovieClip {Text_None_7}Uses:27Used by:139
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:31
Symbol 31 MovieClip {Text_None_8}Uses:30Used by:139
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:34
Symbol 34 MovieClip {Text_None_9}Uses:33Used by:139
Symbol 35 BitmapUsed by:36
Symbol 36 GraphicUses:35Used by:37
Symbol 37 MovieClip {Text_None_A}Uses:36Used by:139
Symbol 38 BitmapUsed by:39
Symbol 39 GraphicUses:38Used by:40
Symbol 40 MovieClip {Text_None_APOSTROPHE}Uses:39Used by:139
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:43
Symbol 43 MovieClip {Text_None_B}Uses:42Used by:139
Symbol 44 BitmapUsed by:45
Symbol 45 GraphicUses:44Used by:46
Symbol 46 MovieClip {Text_None_C}Uses:45Used by:139
Symbol 47 BitmapUsed by:48
Symbol 48 GraphicUses:47Used by:49
Symbol 49 MovieClip {Text_None_COLON}Uses:48Used by:139
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:52
Symbol 52 MovieClip {Text_None_COMMA}Uses:51Used by:139
Symbol 53 BitmapUsed by:54
Symbol 54 GraphicUses:53Used by:55
Symbol 55 MovieClip {Text_None_D}Uses:54Used by:139
Symbol 56 BitmapUsed by:57
Symbol 57 GraphicUses:56Used by:58
Symbol 58 MovieClip {Text_None_E}Uses:57Used by:139
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:61
Symbol 61 MovieClip {Text_None_EXCLAMATION}Uses:60Used by:139
Symbol 62 BitmapUsed by:63
Symbol 63 GraphicUses:62Used by:64
Symbol 64 MovieClip {Text_None_F}Uses:63Used by:139
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:67
Symbol 67 MovieClip {Text_None_G}Uses:66Used by:139
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClip {Text_None_H}Uses:69Used by:139
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:73
Symbol 73 MovieClip {Text_None_HYPHEN}Uses:72Used by:139
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClip {Text_None_I}Uses:75Used by:139
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:79
Symbol 79 MovieClip {Text_None_J}Uses:78Used by:139
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:82
Symbol 82 MovieClip {Text_None_K}Uses:81Used by:139
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:85
Symbol 85 MovieClip {Text_None_L}Uses:84Used by:139
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:88
Symbol 88 MovieClip {Text_None_M}Uses:87Used by:139
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:91
Symbol 91 MovieClip {Text_None_N}Uses:90Used by:139
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:94
Symbol 94 MovieClip {Text_None_O}Uses:93Used by:139
Symbol 95 BitmapUsed by:96
Symbol 96 GraphicUses:95Used by:97
Symbol 97 MovieClip {Text_None_P}Uses:96Used by:139
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:100
Symbol 100 MovieClip {Text_None_Q}Uses:99Used by:139
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClip {Text_None_QUESTION}Uses:102Used by:139
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:106
Symbol 106 MovieClip {Text_None_R}Uses:105Used by:139
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:109
Symbol 109 MovieClip {Text_None_S}Uses:108Used by:139
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:112
Symbol 112 MovieClip {Text_None_STOP}Uses:111Used by:139
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:115
Symbol 115 MovieClip {Text_None_T}Uses:114Used by:139
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:118
Symbol 118 MovieClip {Text_None_U}Uses:117Used by:139
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClip {Text_None_V}Uses:120Used by:139
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:124
Symbol 124 MovieClip {Text_None_W}Uses:123Used by:139
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:127
Symbol 127 MovieClip {Text_None_X}Uses:126Used by:139
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:130
Symbol 130 MovieClip {Text_None_Y}Uses:129Used by:139
Symbol 131 BitmapUsed by:132
Symbol 132 GraphicUses:131Used by:133
Symbol 133 MovieClip {Text_None_Z}Uses:132Used by:139
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClip {Text_None_SPACE}Uses:134Used by:139
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:138
Symbol 138 MovieClip {Text_None_FORWARDSLASH}Uses:137Used by:139
Symbol 139 MovieClip {NumbskullFont}Uses:4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 135 138Used by:142 708 710 715 721 727 733 735 737 738 739 740 746 747 773 774 775 776 777 795 963  Timeline
Symbol 140 FontUsed by:141 171 194 197 198 199 200 210 211 215 216 217 219 222 225 226 227 693 734 786 789 790 791 792 793 794 944 948 951 952 953
Symbol 141 EditableTextUses:140 954Used by:142
Symbol 142 MovieClip {Icebreaker_fla.preloader_new_1}Uses:139 141Used by:Timeline
Symbol 143 GraphicUsed by:144
Symbol 144 MovieClipUses:143Used by:153
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:153
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:153
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:153
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:153
Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap}Uses:144 146 148 150 152Used by:908
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:168
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:168
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:168
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:168
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:168
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:168
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:168
Symbol 168 MovieClip {com.nitrome.icebreaker.Splash}Uses:155 157 159 161 163 165 167Used by:908
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:231
Symbol 171 TextUses:140Used by:193
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:193 947
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174Used by:176
Symbol 176 MovieClipUses:175Used by:193 947
Symbol 177 ShapeTweeningUsed by:193
Symbol 178 GraphicUsed by:193
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:181
Symbol 181 MovieClipUses:180Used by:193 947
Symbol 182 ShapeTweeningUsed by:193
Symbol 183 ShapeTweeningUsed by:193
Symbol 184 GraphicUsed by:193 947
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:193 947
Symbol 187 GraphicUsed by:193 342 749 771 801 909 947
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:190
Symbol 190 MovieClipUses:189Used by:193 947
Symbol 191 ShapeTweeningUsed by:193
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClipUses:171 173 176 177 178 181 182 183 184 186 187 190 191 192Used by:231
Symbol 194 TextUses:140Used by:231
Symbol 195 BitmapUsed by:196
Symbol 196 GraphicUses:195Used by:231
Symbol 197 TextUses:140Used by:231
Symbol 198 TextUses:140Used by:231
Symbol 199 TextUses:140Used by:231
Symbol 200 TextUses:140Used by:231
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:203
Symbol 203 MovieClipUses:202Used by:231
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:231 371
Symbol 206 BitmapUsed by:209 608
Symbol 207 BitmapUsed by:209 454 608
Symbol 208 BitmapUsed by:209 218
Symbol 209 GraphicUses:206 207 208Used by:231
Symbol 210 TextUses:140Used by:231
Symbol 211 TextUses:140Used by:231
Symbol 212 BitmapUsed by:214
Symbol 213 BitmapUsed by:214 378 614
Symbol 214 GraphicUses:212 213Used by:231
Symbol 215 TextUses:140Used by:231
Symbol 216 TextUses:140Used by:231
Symbol 217 TextUses:140Used by:231
Symbol 218 GraphicUses:208Used by:231
Symbol 219 TextUses:140Used by:231
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:231 329
Symbol 222 TextUses:140Used by:231
Symbol 223 BitmapUsed by:224
Symbol 224 GraphicUses:223Used by:231
Symbol 225 TextUses:140Used by:231
Symbol 226 TextUses:140Used by:231
Symbol 227 TextUses:140Used by:231
Symbol 228 BitmapUsed by:229
Symbol 229 GraphicUses:228Used by:230 402
Symbol 230 MovieClipUses:229Used by:231
Symbol 231 MovieClip {com.nitrome.game.HintOverlay}Uses:170 193 194 196 197 198 199 200 203 205 209 210 211 214 215 216 217 218 219 221 222 224 225 226 227 230Used by:908
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:252
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:252
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:252
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:252
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:252
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:252
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:252
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:252
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:252
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:252
Symbol 252 MovieClip {com.nitrome.icebreaker.IceFragment}Uses:233 235 237 239 241 243 245 247 249 251Used by:908
Symbol 253 BitmapUsed by:254
Symbol 254 GraphicUses:253Used by:255 619
Symbol 255 MovieClip {com.nitrome.icebreaker.HelpSign}Uses:254Used by:908
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:276
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:276
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:276
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:276
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:276
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:276
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:276
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:276
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:276
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:276
Symbol 276 MovieClip {ForceBlockForceMC}Uses:257 259 261 263 265 267 269 271 273 275Used by:908
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:329 619
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:329
Symbol 281 BitmapUsed by:282
Symbol 282 GraphicUses:281Used by:329
Symbol 283 BitmapUsed by:284
Symbol 284 GraphicUses:283Used by:329
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:329
Symbol 287 BitmapUsed by:288
Symbol 288 GraphicUses:287Used by:329
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:289Used by:329
Symbol 291 BitmapUsed by:292
Symbol 292 GraphicUses:291Used by:329
Symbol 293 BitmapUsed by:294
Symbol 294 GraphicUses:293Used by:329
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:329
Symbol 297 BitmapUsed by:298
Symbol 298 GraphicUses:297Used by:329
Symbol 299 BitmapUsed by:300
Symbol 300 GraphicUses:299Used by:329
Symbol 301 BitmapUsed by:302
Symbol 302 GraphicUses:301Used by:329
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:329
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:305Used by:329
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:329
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:329
Symbol 311 BitmapUsed by:312
Symbol 312 GraphicUses:311Used by:329
Symbol 313 BitmapUsed by:314
Symbol 314 GraphicUses:313Used by:329
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:329
Symbol 317 BitmapUsed by:318
Symbol 318 GraphicUses:317Used by:329
Symbol 319 BitmapUsed by:320
Symbol 320 GraphicUses:319Used by:329
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:329
Symbol 323 BitmapUsed by:324
Symbol 324 GraphicUses:323Used by:329
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:329
Symbol 327 BitmapUsed by:328
Symbol 328 GraphicUses:327Used by:329
Symbol 329 MovieClip {com.nitrome.icebreaker.FatWoman}Uses:278 280 282 284 221 286 288 290 292 294 296 298 300 302 304 306 308 310 312 314 316 318 320 322 324 326 328Used by:908
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:341
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:334
Symbol 334 MovieClipUses:333Used by:341
Symbol 335 BitmapUsed by:336
Symbol 336 GraphicUses:335Used by:337
Symbol 337 MovieClipUses:336Used by:341
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:340
Symbol 340 MovieClipUses:339Used by:341
Symbol 341 MovieClip {com.nitrome.icebreaker.Background}Uses:331 334 337 340Used by:908 963  Timeline
Symbol 342 MovieClipUses:187Used by:345
Symbol 343 BitmapUsed by:344
Symbol 344 GraphicUses:343Used by:345
Symbol 345 MovieClip {com.nitrome.icebreaker.LinkMid}Uses:342 344Used by:908
Symbol 346 BitmapUsed by:347
Symbol 347 GraphicUses:346Used by:358
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:358
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:358
Symbol 352 BitmapUsed by:353
Symbol 353 GraphicUses:352Used by:358
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:358
Symbol 356 BitmapUsed by:357
Symbol 357 GraphicUses:356Used by:358
Symbol 358 MovieClip {HammerImpact}Uses:347 349 351 353 355 357Used by:908
Symbol 359 BitmapUsed by:360
Symbol 360 GraphicUses:359Used by:371
Symbol 361 BitmapUsed by:362
Symbol 362 GraphicUses:361Used by:371
Symbol 363 BitmapUsed by:364
Symbol 364 GraphicUses:363Used by:371
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:365Used by:371
Symbol 367 BitmapUsed by:368 607
Symbol 368 GraphicUses:367Used by:371
Symbol 369 BitmapUsed by:370
Symbol 370 GraphicUses:369Used by:371
Symbol 371 MovieClip {com.nitrome.icebreaker.Wolfrat}Uses:205 360 362 364 366 368 370Used by:908
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:374
Symbol 374 MovieClip {ArrowCursor}Uses:373Used by:908
Symbol 375 BitmapUsed by:376 615 616 617 618
Symbol 376 GraphicUses:375Used by:377
Symbol 377 MovieClip {com.nitrome.icebreaker.TurningPinsConstraint}Uses:376Used by:908
Symbol 378 GraphicUses:213Used by:389
Symbol 379 BitmapUsed by:380
Symbol 380 GraphicUses:379Used by:389
Symbol 381 BitmapUsed by:382
Symbol 382 GraphicUses:381Used by:389
Symbol 383 BitmapUsed by:384
Symbol 384 GraphicUses:383Used by:389
Symbol 385 BitmapUsed by:386
Symbol 386 GraphicUses:385Used by:389
Symbol 387 BitmapUsed by:388
Symbol 388 GraphicUses:387Used by:389
Symbol 389 MovieClip {com.nitrome.icebreaker.Bird}Uses:378 380 382 384 386 388Used by:908
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClip {com.nitrome.icebreaker.ProtectedArea128}Uses:390Used by:908
Symbol 392 BitmapUsed by:393
Symbol 393 GraphicUses:392Used by:402
Symbol 394 BitmapUsed by:395
Symbol 395 GraphicUses:394Used by:402
Symbol 396 BitmapUsed by:397
Symbol 397 GraphicUses:396Used by:402
Symbol 398 BitmapUsed by:399
Symbol 399 GraphicUses:398Used by:402
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:402
Symbol 402 MovieClipUses:229 393 395 397 399 401Used by:403
Symbol 403 MovieClip {com.nitrome.icebreaker.ProtectedArea64}Uses:402Used by:908
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClip {com.nitrome.icebreaker.ProtectedArea32}Uses:404Used by:908
Symbol 406 BitmapUsed by:407
Symbol 407 GraphicUses:406Used by:408 619
Symbol 408 MovieClip {com.nitrome.icebreaker.Weight}Uses:407Used by:908
Symbol 409 BitmapUsed by:410
Symbol 410 GraphicUses:409Used by:453
Symbol 411 BitmapUsed by:412
Symbol 412 GraphicUses:411Used by:453
Symbol 413 BitmapUsed by:414
Symbol 414 GraphicUses:413Used by:453
Symbol 415 BitmapUsed by:416
Symbol 416 GraphicUses:415Used by:453
Symbol 417 BitmapUsed by:418
Symbol 418 GraphicUses:417Used by:453
Symbol 419 BitmapUsed by:420
Symbol 420 GraphicUses:419Used by:453
Symbol 421 BitmapUsed by:422
Symbol 422 GraphicUses:421Used by:453
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:453
Symbol 425 BitmapUsed by:426
Symbol 426 GraphicUses:425Used by:453
Symbol 427 BitmapUsed by:428
Symbol 428 GraphicUses:427Used by:453
Symbol 429 BitmapUsed by:430
Symbol 430 GraphicUses:429Used by:453
Symbol 431 BitmapUsed by:432
Symbol 432 GraphicUses:431Used by:453
Symbol 433 BitmapUsed by:434
Symbol 434 GraphicUses:433Used by:453
Symbol 435 BitmapUsed by:436
Symbol 436 GraphicUses:435Used by:453
Symbol 437 BitmapUsed by:438
Symbol 438 GraphicUses:437Used by:453
Symbol 439 BitmapUsed by:440
Symbol 440 GraphicUses:439Used by:453
Symbol 441 BitmapUsed by:442
Symbol 442 GraphicUses:441Used by:453 960
Symbol 443 BitmapUsed by:444
Symbol 444 GraphicUses:443Used by:453 960
Symbol 445 BitmapUsed by:446
Symbol 446 GraphicUses:445Used by:453 960
Symbol 447 BitmapUsed by:448
Symbol 448 GraphicUses:447Used by:453 960
Symbol 449 BitmapUsed by:450
Symbol 450 GraphicUses:449Used by:453 960
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:453 960
Symbol 453 MovieClip {com.nitrome.icebreaker.Captain}Uses:410 412 414 416 418 420 422 424 426 428 430 432 434 436 438 440 442 444 446 448 450 452Used by:908
Symbol 454 GraphicUses:207Used by:455 619 634
Symbol 455 MovieClip {com.nitrome.icebreaker.LinkEnd}Uses:454Used by:908
Symbol 456 BitmapUsed by:457 606
Symbol 457 GraphicUses:456Used by:458 962
Symbol 458 MovieClip {com.nitrome.icebreaker.Finish}Uses:457Used by:908
Symbol 459 BitmapUsed by:460
Symbol 460 GraphicUses:459Used by:521 661
Symbol 461 BitmapUsed by:462 605
Symbol 462 GraphicUses:461Used by:521 661
Symbol 463 BitmapUsed by:464
Symbol 464 GraphicUses:463Used by:521 661
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:521 661
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:521 661
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:521 661
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:521 661
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:521 661
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:521 661
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:521 661
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:521
Symbol 481 BitmapUsed by:482
Symbol 482 GraphicUses:481Used by:521
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:521
Symbol 485 BitmapUsed by:486
Symbol 486 GraphicUses:485Used by:521
Symbol 487 BitmapUsed by:488
Symbol 488 GraphicUses:487Used by:521
Symbol 489 BitmapUsed by:490
Symbol 490 GraphicUses:489Used by:521
Symbol 491 BitmapUsed by:492
Symbol 492 GraphicUses:491Used by:521
Symbol 493 BitmapUsed by:494
Symbol 494 GraphicUses:493Used by:521
Symbol 495 BitmapUsed by:496
Symbol 496 GraphicUses:495Used by:521
Symbol 497 BitmapUsed by:498
Symbol 498 GraphicUses:497Used by:521
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:521
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:521
Symbol 503 BitmapUsed by:504
Symbol 504 GraphicUses:503Used by:521
Symbol 505 BitmapUsed by:506
Symbol 506 GraphicUses:505Used by:521
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:521
Symbol 509 BitmapUsed by:510
Symbol 510 GraphicUses:509Used by:521 661 961
Symbol 511 BitmapUsed by:512
Symbol 512 GraphicUses:511Used by:521 661 961
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:521 661 961
Symbol 515 BitmapUsed by:516
Symbol 516 GraphicUses:515Used by:521 661 961
Symbol 517 BitmapUsed by:518
Symbol 518 GraphicUses:517Used by:521 661 961
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:521 661 961
Symbol 521 MovieClip {com.nitrome.icebreaker.StandingGuy1}Uses:460 462 464 466 468 470 472 474 476 478 480 482 484 486 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520Used by:908
Symbol 522 GraphicUsed by:596
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:595
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:595
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:595
Symbol 529 BitmapUsed by:530
Symbol 530 GraphicUses:529Used by:595
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:595
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:595
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:595
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:595
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:595
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:595
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:595
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:595
Symbol 547 BitmapUsed by:548
Symbol 548 GraphicUses:547Used by:595
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:595
Symbol 551 BitmapUsed by:552
Symbol 552 GraphicUses:551Used by:595
Symbol 553 BitmapUsed by:554
Symbol 554 GraphicUses:553Used by:595
Symbol 555 BitmapUsed by:556
Symbol 556 GraphicUses:555Used by:595
Symbol 557 BitmapUsed by:558
Symbol 558 GraphicUses:557Used by:595
Symbol 559 BitmapUsed by:560
Symbol 560 GraphicUses:559Used by:595
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:595
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:595
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:595
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:595
Symbol 569 BitmapUsed by:570
Symbol 570 GraphicUses:569Used by:595
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:595
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:595
Symbol 575 BitmapUsed by:576
Symbol 576 GraphicUses:575Used by:595
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:595
Symbol 579 BitmapUsed by:580
Symbol 580 GraphicUses:579Used by:595
Symbol 581 BitmapUsed by:582
Symbol 582 GraphicUses:581Used by:595
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:595
Symbol 585 BitmapUsed by:586
Symbol 586 GraphicUses:585Used by:595
Symbol 587 BitmapUsed by:588
Symbol 588 GraphicUses:587Used by:595
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:595
Symbol 591 BitmapUsed by:592
Symbol 592 GraphicUses:591Used by:595
Symbol 593 BitmapUsed by:594
Symbol 594 GraphicUses:593Used by:595
Symbol 595 MovieClipUses:524 526 528 530 532 534 536 538 540 542 544 546 548 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594Used by:596
Symbol 596 MovieClip {com.nitrome.icebreaker.Sea}Uses:522 595Used by:908 963
Symbol 597 GraphicUsed by:619
Symbol 598 Bitmap {IceTexture}Used by:619 908
Symbol 599 Bitmap {RockTexture}Used by:619 908
Symbol 600 Bitmap {WoodTexture}Used by:619 908
Symbol 601 Bitmap {DeathBlockTexture}Used by:619 908
Symbol 602 Bitmap {ForceBlockTexture}Used by:619 908
Symbol 603 BitmapUsed by:604
Symbol 604 GraphicUses:603Used by:619 661
Symbol 605 GraphicUses:461Used by:619
Symbol 606 GraphicUses:456Used by:619
Symbol 607 GraphicUses:367Used by:619
Symbol 608 GraphicUses:207 206Used by:619
Symbol 609 GraphicUsed by:619
Symbol 610 FontUsed by:611 612 613 631 632
Symbol 611 TextUses:610Used by:619
Symbol 612 TextUses:610Used by:619
Symbol 613 TextUses:610Used by:619
Symbol 614 GraphicUses:213Used by:619
Symbol 615 GraphicUses:375Used by:619
Symbol 616 GraphicUses:375Used by:619
Symbol 617 GraphicUses:375Used by:619
Symbol 618 GraphicUses:375Used by:619
Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects}Uses:597 598 599 600 601 602 454 604 605 606 607 608 407 609 611 612 613 614 615 616 617 618 278 254Used by:908
Symbol 620 GraphicUsed by:633
Symbol 621 FontUsed by:622 624 627
Symbol 622 EditableTextUses:621Used by:633
Symbol 623 GraphicUsed by:626 628
Symbol 624 TextUses:621Used by:626
Symbol 625 GraphicUsed by:626 628
Symbol 626 ButtonUses:623 624 625Used by:633
Symbol 627 TextUses:621Used by:628
Symbol 628 ButtonUses:623 627 625Used by:633
Symbol 629 FontUsed by:630
Symbol 630 EditableTextUses:629Used by:633
Symbol 631 TextUses:610Used by:633
Symbol 632 TextUses:610Used by:633
Symbol 633 MovieClip {com.nitrome.icebreaker.EditorPanel}Uses:620 622 626 628 630 631 632Used by:908
Symbol 634 MovieClip {com.nitrome.icebreaker.PinConstraint}Uses:454Used by:908
Symbol 635 BitmapUsed by:636
Symbol 636 GraphicUses:635Used by:661
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:661
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:661
Symbol 641 BitmapUsed by:642
Symbol 642 GraphicUses:641Used by:661
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:661
Symbol 645 BitmapUsed by:646
Symbol 646 GraphicUses:645Used by:661
Symbol 647 BitmapUsed by:648
Symbol 648 GraphicUses:647Used by:661
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:661
Symbol 651 BitmapUsed by:652
Symbol 652 GraphicUses:651Used by:661
Symbol 653 BitmapUsed by:654
Symbol 654 GraphicUses:653Used by:661
Symbol 655 BitmapUsed by:656
Symbol 656 GraphicUses:655Used by:661
Symbol 657 BitmapUsed by:658
Symbol 658 GraphicUses:657Used by:661
Symbol 659 BitmapUsed by:660
Symbol 660 GraphicUses:659Used by:661
Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1}Uses:636 638 604 640 642 644 646 648 650 652 654 656 658 660 460 462 464 466 468 470 472 474 476 478 510 512 514 516 518 520Used by:908
Symbol 662 SoundUsed by:663
Symbol 663 MovieClip {Icebreaker_fla.nitrome_50}Uses:662Used by:692
Symbol 664 SoundUsed by:665
Symbol 665 MovieClip {Icebreaker_fla.ice3_51}Uses:664Used by:692
Symbol 666 SoundUsed by:667
Symbol 667 MovieClip {Icebreaker_fla.ice4_52}Uses:666Used by:692
Symbol 668 SoundUsed by:669
Symbol 669 MovieClip {Icebreaker_fla.deepthud_53}Uses:668Used by:692
Symbol 670 SoundUsed by:671
Symbol 671 MovieClip {Icebreaker_fla.splash_54}Uses:670Used by:692
Symbol 672 SoundUsed by:673
Symbol 673 MovieClip {Icebreaker_fla.iceSmash_55}Uses:672Used by:692
Symbol 674 SoundUsed by:675
Symbol 675 MovieClip {Icebreaker_fla.iceTooLarge_56}Uses:674Used by:692
Symbol 676 SoundUsed by:677
Symbol 677 MovieClip {Icebreaker_fla.noslice_57}Uses:676Used by:692
Symbol 678 SoundUsed by:679
Symbol 679 MovieClip {Icebreaker_fla.fatwoman_58}Uses:678Used by:692
Symbol 680 SoundUsed by:681
Symbol 681 MovieClip {Icebreaker_fla.ropeBreak_59}Uses:680Used by:692
Symbol 682 SoundUsed by:683
Symbol 683 MovieClip {Icebreaker_fla.death_60}Uses:682Used by:692
Symbol 684 SoundUsed by:685
Symbol 685 MovieClip {Icebreaker_fla.vikingAtEnd_61}Uses:684Used by:692
Symbol 686 SoundUsed by:687
Symbol 687 MovieClip {Icebreaker_fla.wolfratDying_62}Uses:686Used by:692
Symbol 688 SoundUsed by:689
Symbol 689 MovieClip {Icebreaker_fla.runeDeath_63}Uses:688Used by:692
Symbol 690 SoundUsed by:691
Symbol 691 MovieClip {Icebreaker_fla.ice3b_64}Uses:690Used by:692
Symbol 692 MovieClip {com.nitrome.game.SoundManager}Uses:663 665 667 669 671 673 675 677 679 681 683 685 687 689 691Used by:908  Timeline
Symbol 693 TextUses:140Used by:694
Symbol 694 MovieClipUses:693Used by:695
Symbol 695 MovieClip {com.nitrome.game.LoadIndicator}Uses:694Used by:908
Symbol 696 BitmapUsed by:699 707 709 716 722 728 736 772
Symbol 697 BitmapUsed by:699 707 709 716 722 728 736 772
Symbol 698 BitmapUsed by:699 707 709 716 722 728 736 772
Symbol 699 GraphicUses:696 697 698Used by:706
Symbol 700 BitmapUsed by:702
Symbol 701 BitmapUsed by:702
Symbol 702 GraphicUses:700 701Used by:706
Symbol 703 BitmapUsed by:705
Symbol 704 BitmapUsed by:705
Symbol 705 GraphicUses:703 704Used by:706
Symbol 706 MovieClip {com.nitrome.game.PlayButton}Uses:699 702 705Used by:908  Timeline
Symbol 707 GraphicUses:696 697 698Used by:708 746 747
Symbol 708 MovieClip {com.nitrome.game.BackToTitleButton}Uses:707 139Used by:908 963  Timeline
Symbol 709 GraphicUses:696 697 698Used by:710
Symbol 710 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton}Uses:709 139Used by:908 963
Symbol 711 BitmapUsed by:712
Symbol 712 GraphicUses:711Used by:715 739
Symbol 713 BitmapUsed by:714
Symbol 714 GraphicUses:713Used by:715
Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}Uses:712 139 714Used by:908  Timeline
Symbol 716 GraphicUses:697 696 698Used by:721
Symbol 717 BitmapUsed by:718
Symbol 718 GraphicUses:717Used by:721
Symbol 719 BitmapUsed by:720
Symbol 720 GraphicUses:719Used by:721
Symbol 721 MovieClip {com.nitrome.game.HelpButton}Uses:716 139 718 720Used by:908  Timeline
Symbol 722 GraphicUses:696 697 698Used by:727
Symbol 723 BitmapUsed by:724
Symbol 724 GraphicUses:723Used by:727
Symbol 725 BitmapUsed by:726
Symbol 726 GraphicUses:725Used by:727
Symbol 727 MovieClip {com.nitrome.game.ScoresButton}Uses:722 139 724 726Used by:908
Symbol 728 GraphicUses:696 697 698Used by:733
Symbol 729 BitmapUsed by:730
Symbol 730 GraphicUses:729Used by:733
Symbol 731 BitmapUsed by:732
Symbol 732 GraphicUses:731Used by:733
Symbol 733 MovieClip {com.nitrome.game.CreditsButton}Uses:728 139 730 732Used by:908  Timeline
Symbol 734 EditableTextUses:140 954Used by:735
Symbol 735 MovieClip {com.nitrome.game.Preloader}Uses:139 734Used by:908
Symbol 736 GraphicUses:696 697 698Used by:737 738
Symbol 737 MovieClip {SubmitButton}Uses:736 139Used by:740 908
Symbol 738 MovieClip {ClearButton}Uses:736 139Used by:740 908
Symbol 739 MovieClip {LetterButton}Uses:712 139Used by:740 908
Symbol 740 MovieClip {ScoreSubmitPanel}Uses:737 139 738 739Used by:908
Symbol 741 FontUsed by:742 743 744
Symbol 742 EditableTextUses:741Used by:745
Symbol 743 EditableTextUses:741Used by:745
Symbol 744 EditableTextUses:741Used by:745
Symbol 745 MovieClip {ScoreLine}Uses:742 743 744Used by:748 908
Symbol 746 MovieClip {NextArrow}Uses:707 139Used by:748 908
Symbol 747 MovieClip {PrevArrow}Uses:707 139Used by:748 908
Symbol 748 MovieClip {HighScoreBoard}Uses:745 746 747Used by:908
Symbol 749 MovieClipUses:187Used by:750
Symbol 750 MovieClip {com.nitrome.game.Transition}Uses:749Used by:908  Timeline
Symbol 751 BitmapUsed by:752
Symbol 752 GraphicUses:751Used by:756
Symbol 753 BitmapUsed by:755
Symbol 754 BitmapUsed by:755
Symbol 755 GraphicUses:753 754Used by:756
Symbol 756 MovieClip {com.nitrome.game.PauseButton}Uses:752 755Used by:908  Timeline
Symbol 757 BitmapUsed by:758
Symbol 758 GraphicUses:757Used by:764
Symbol 759 BitmapUsed by:761
Symbol 760 BitmapUsed by:761
Symbol 761 GraphicUses:759 760Used by:764
Symbol 762 BitmapUsed by:763
Symbol 763 GraphicUses:762Used by:764 770
Symbol 764 MovieClip {com.nitrome.game.MusicToggle}Uses:758 761 763Used by:908  Timeline
Symbol 765 BitmapUsed by:766
Symbol 766 GraphicUses:765Used by:770
Symbol 767 BitmapUsed by:769
Symbol 768 BitmapUsed by:769
Symbol 769 GraphicUses:767 768Used by:770
Symbol 770 MovieClip {com.nitrome.game.FxToggle}Uses:766 769 763Used by:908  Timeline
Symbol 771 Button {com.nitrome.game.NitromeLink}Uses:187Used by:905 908 936  Timeline
Symbol 772 GraphicUses:696 697 698Used by:773 774 775 776 777
Symbol 773 MovieClip {com.nitrome.game.ContinueGameButton}Uses:772 139Used by:795 908
Symbol 774 MovieClip {com.nitrome.game.EndGameButton}Uses:772 139Used by:795 908
Symbol 775 MovieClip {com.nitrome.game.NextLevelButton}Uses:772 139Used by:795 908
Symbol 776 MovieClip {com.nitrome.game.RestartLevelButton}Uses:772 139Used by:795 908
Symbol 777 MovieClip {com.nitrome.game.IngameSubmitScoreButton}Uses:772 139Used by:908
Symbol 778 GraphicUsed by:782
Symbol 779 FontUsed by:780
Symbol 780 TextUses:779Used by:782
Symbol 781 GraphicUsed by:782
Symbol 782 MovieClip {com.nitrome.game.ExitToLevelSelectButton}Uses:778 780 781Used by:908
Symbol 783 GraphicUsed by:795
Symbol 784 BitmapUsed by:785
Symbol 785 GraphicUses:784Used by:795
Symbol 786 TextUses:140Used by:795
Symbol 787 BitmapUsed by:788
Symbol 788 GraphicUses:787Used by:795
Symbol 789 TextUses:140Used by:795
Symbol 790 EditableTextUses:140 954Used by:795
Symbol 791 TextUses:140Used by:795
Symbol 792 EditableTextUses:140 954Used by:795
Symbol 793 TextUses:140Used by:795
Symbol 794 EditableTextUses:140 954Used by:795
Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96}Uses:783 785 786 773 774 139 788 775 789 790 791 792 776 793 794Used by:796
Symbol 796 MovieClip {com.nitrome.game.IngamePopup}Uses:795Used by:908
Symbol 797 FontUsed by:798
Symbol 798 TextUses:797Used by:801
Symbol 799 BitmapUsed by:800
Symbol 800 GraphicUses:799Used by:801
Symbol 801 MovieClip {com.nitrome.util.Lock}Uses:187 798 800Used by:908
Symbol 802 BitmapUsed by:803
Symbol 803 GraphicUses:802Used by:807
Symbol 804 BitmapUsed by:806
Symbol 805 BitmapUsed by:806
Symbol 806 GraphicUses:804 805Used by:807
Symbol 807 MovieClip {com.nitrome.game.ResetButton}Uses:803 806Used by:908  Timeline
Symbol 808 BitmapUsed by:809
Symbol 809 GraphicUses:808Used by:905
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:810Used by:905
Symbol 812 BitmapUsed by:813
Symbol 813 GraphicUses:812Used by:820
Symbol 814 BitmapUsed by:815
Symbol 815 GraphicUses:814Used by:820
Symbol 816 BitmapUsed by:817
Symbol 817 GraphicUses:816Used by:820
Symbol 818 BitmapUsed by:819
Symbol 819 GraphicUses:818Used by:820
Symbol 820 MovieClipUses:813 815 817 819Used by:905
Symbol 821 BitmapUsed by:822
Symbol 822 GraphicUses:821Used by:833
Symbol 823 BitmapUsed by:824
Symbol 824 GraphicUses:823Used by:833
Symbol 825 BitmapUsed by:826
Symbol 826 GraphicUses:825Used by:833
Symbol 827 BitmapUsed by:828
Symbol 828 GraphicUses:827Used by:833
Symbol 829 BitmapUsed by:830
Symbol 830 GraphicUses:829Used by:833
Symbol 831 BitmapUsed by:832
Symbol 832 GraphicUses:831Used by:833
Symbol 833 MovieClipUses:822 824 826 828 830 832Used by:905
Symbol 834 BitmapUsed by:835
Symbol 835 GraphicUses:834Used by:846
Symbol 836 BitmapUsed by:837
Symbol 837 GraphicUses:836Used by:846
Symbol 838 BitmapUsed by:839
Symbol 839 GraphicUses:838Used by:846
Symbol 840 BitmapUsed by:841
Symbol 841 GraphicUses:840Used by:846
Symbol 842 BitmapUsed by:843
Symbol 843 GraphicUses:842Used by:846
Symbol 844 BitmapUsed by:845
Symbol 845 GraphicUses:844Used by:846
Symbol 846 MovieClipUses:835 837 839 841 843 845Used by:905
Symbol 847 BitmapUsed by:848
Symbol 848 GraphicUses:847Used by:905
Symbol 849 BitmapUsed by:850
Symbol 850 GraphicUses:849Used by:861
Symbol 851 BitmapUsed by:852
Symbol 852 GraphicUses:851Used by:861
Symbol 853 BitmapUsed by:854
Symbol 854 GraphicUses:853Used by:861
Symbol 855 BitmapUsed by:856
Symbol 856 GraphicUses:855Used by:861
Symbol 857 BitmapUsed by:858
Symbol 858 GraphicUses:857Used by:861
Symbol 859 BitmapUsed by:860
Symbol 860 GraphicUses:859Used by:861
Symbol 861 MovieClipUses:850 852 854 856 858 860Used by:905
Symbol 862 BitmapUsed by:863
Symbol 863 GraphicUses:862Used by:905
Symbol 864 BitmapUsed by:865
Symbol 865 GraphicUses:864Used by:905
Symbol 866 BitmapUsed by:867
Symbol 867 GraphicUses:866Used by:905
Symbol 868 BitmapUsed by:869
Symbol 869 GraphicUses:868Used by:905
Symbol 870 BitmapUsed by:871
Symbol 871 GraphicUses:870Used by:905
Symbol 872 BitmapUsed by:873
Symbol 873 GraphicUses:872Used by:905
Symbol 874 BitmapUsed by:875
Symbol 875 GraphicUses:874Used by:904
Symbol 876 BitmapUsed by:877
Symbol 877 GraphicUses:876Used by:904
Symbol 878 BitmapUsed by:879
Symbol 879 GraphicUses:878Used by:904
Symbol 880 BitmapUsed by:881
Symbol 881 GraphicUses:880Used by:904
Symbol 882 BitmapUsed by:883
Symbol 883 GraphicUses:882Used by:904
Symbol 884 BitmapUsed by:885
Symbol 885 GraphicUses:884Used by:904
Symbol 886 BitmapUsed by:887
Symbol 887 GraphicUses:886Used by:904
Symbol 888 BitmapUsed by:889
Symbol 889 GraphicUses:888Used by:904
Symbol 890 BitmapUsed by:891
Symbol 891 GraphicUses:890Used by:904
Symbol 892 BitmapUsed by:893
Symbol 893 GraphicUses:892Used by:904
Symbol 894 BitmapUsed by:895
Symbol 895 GraphicUses:894Used by:904
Symbol 896 BitmapUsed by:897
Symbol 897 GraphicUses:896Used by:904
Symbol 898 BitmapUsed by:899
Symbol 899 GraphicUses:898Used by:904
Symbol 900 BitmapUsed by:901
Symbol 901 GraphicUses:900Used by:904
Symbol 902 BitmapUsed by:903
Symbol 903 GraphicUses:902Used by:904
Symbol 904 MovieClipUses:875 877 879 881 883 885 887 889 891 893 895 897 899 901 903Used by:905
Symbol 905 MovieClip {Icebreaker_fla.nitromeintro_99}Uses:809 811 820 771 833 846 848 861 863 865 867 869 871 873 904Used by:908  Timeline
Symbol 906 Sound {GameMusic}Used by:908
Symbol 907 Sound {MenuMusic}Used by:908
Symbol 908 MovieClip {Icebreaker_fla.instances_2}Uses:153 168 231 252 255 276 329 341 345 358 371 374 377 389 391 403 405 408 453 455 458 521 596 619 633 634 661 692 695 706 708 710 715 721 727 733 735 737 738 739 740 745 746 747 748 750 756 764 770 771 773 774 775 776 777 782 796 801 807 601 602 598 599 600 905 906 907Used by:Timeline
Symbol 909 ButtonUses:187Used by:933
Symbol 910 GraphicUsed by:916
Symbol 911 GraphicUsed by:912
Symbol 912 MovieClipUses:911Used by:916
Symbol 913 GraphicUsed by:916
Symbol 914 GraphicUsed by:916
Symbol 915 GraphicUsed by:916
Symbol 916 MovieClip {Icebreaker_fla.helvianMC_107}Uses:910 912 913 914 915Used by:933
Symbol 917 GraphicUsed by:931
Symbol 918 GraphicUsed by:931
Symbol 919 GraphicUsed by:931
Symbol 920 GraphicUsed by:931
Symbol 921 GraphicUsed by:931
Symbol 922 GraphicUsed by:931
Symbol 923 GraphicUsed by:931
Symbol 924 GraphicUsed by:931
Symbol 925 GraphicUsed by:931
Symbol 926 GraphicUsed by:931
Symbol 927 GraphicUsed by:931
Symbol 928 GraphicUsed by:931
Symbol 929 GraphicUsed by:931
Symbol 930 GraphicUsed by:931
Symbol 931 MovieClip {Icebreaker_fla.XGenStudiosComMC_109}Uses:917 918 919 920 921 922 923 924 925 926 927 928 929 930Used by:933
Symbol 932 SoundUsed by:933
Symbol 933 MovieClip {Icebreaker_fla.XGSIntroMC_105}Uses:909 916 931 2 1 932Used by:Timeline
Symbol 934 BitmapUsed by:935
Symbol 935 GraphicUses:934Used by:936
Symbol 936 MovieClipUses:935 771Used by:Timeline
Symbol 937 GraphicUsed by:Timeline
Symbol 938 BitmapUsed by:939
Symbol 939 GraphicUses:938Used by:Timeline
Symbol 940 BitmapUsed by:941
Symbol 941 GraphicUses:940Used by:Timeline
Symbol 942 BitmapUsed by:943
Symbol 943 GraphicUses:942Used by:Timeline
Symbol 944 TextUses:140Used by:947
Symbol 945 ShapeTweeningUsed by:947
Symbol 946 ShapeTweeningUsed by:947
Symbol 947 MovieClipUses:944 173 176 181 945 946 184 186 187 190Used by:Timeline
Symbol 948 TextUses:140Used by:Timeline
Symbol 949 BitmapUsed by:950
Symbol 950 GraphicUses:949Used by:Timeline
Symbol 951 TextUses:140Used by:Timeline
Symbol 952 TextUses:140Used by:Timeline
Symbol 953 TextUses:140Used by:Timeline
Symbol 954 FontUsed by:141 734 790 792 794 955
Symbol 955 TextUses:954Used by:Timeline
Symbol 956 MovieClipUsed by:Timeline
Symbol 957 BitmapUsed by:959
Symbol 958 BitmapUsed by:959
Symbol 959 GraphicUses:957 958Used by:Timeline
Symbol 960 MovieClipUses:442 444 446 448 450 452Used by:963
Symbol 961 MovieClipUses:510 512 514 516 518 520Used by:963
Symbol 962 MovieClipUses:457Used by:963
Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113}Uses:341 960 961 962 596 708 710 139Used by:Timeline

Instance Names

"preloader_new"Frame 2Symbol 142 MovieClip {Icebreaker_fla.preloader_new_1}
"xgen_intro"Frame 6Symbol 933 MovieClip {Icebreaker_fla.XGSIntroMC_105}
"background"Frame 25Symbol 341 MovieClip {com.nitrome.icebreaker.Background}
"button3"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button2"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button1"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button4"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button5"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button11"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button10"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button9"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button12"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button13"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button19"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button18"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button17"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button20"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button21"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button27"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button26"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button25"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button28"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button29"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"__id16_"Frame 35Symbol 139 MovieClip {NumbskullFont}
"button6"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button7"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button8"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button14"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button15"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button16"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button22"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button23"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button24"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button30"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button31"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button32"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button35"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button34"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button33"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button36"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button37"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button38"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button39"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"button40"Frame 35Symbol 715 MovieClip {com.nitrome.game.LevelStartButton}
"__id17_"Frame 55Symbol 139 MovieClip {NumbskullFont}
"__id18_"Frame 55Symbol 139 MovieClip {NumbskullFont}
"__id19_"Frame 55Symbol 139 MovieClip {NumbskullFont}
"content"Frame 65Symbol 956 MovieClip
"moveCounter"Frame 65Symbol 139 MovieClip {NumbskullFont}
"characterCounter"Frame 65Symbol 139 MovieClip {NumbskullFont}
"mapHolder"Frame 65Symbol 956 MovieClip
"pauseGame"Frame 65Symbol 756 MovieClip {com.nitrome.game.PauseButton}
"popupHolder"Frame 65Symbol 956 MovieClip
"__id0_"Symbol 142 MovieClip {Icebreaker_fla.preloader_new_1} Frame 1Symbol 139 MovieClip {NumbskullFont}
"progress_text"Symbol 142 MovieClip {Icebreaker_fla.preloader_new_1} Frame 1Symbol 141 EditableText
"tl"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 144 MovieClip
"tr"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 144 MovieClip
"br"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 144 MovieClip
"bl"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 144 MovieClip
"l"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 146 MovieClip
"t"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 148 MovieClip
"b"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 150 MovieClip
"r"Symbol 153 MovieClip {com.nitrome.icebreaker.MiniMap} Frame 1Symbol 152 MovieClip
"clouds"Symbol 341 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 334 MovieClip
"backMountains"Symbol 341 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 337 MovieClip
"foreMountains"Symbol 341 MovieClip {com.nitrome.icebreaker.Background} Frame 1Symbol 340 MovieClip
"ropeMask"Symbol 345 MovieClip {com.nitrome.icebreaker.LinkMid} Frame 1Symbol 342 MovieClip
"wave1"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave2"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave3"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave4"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave5"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave6"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave7"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave8"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave9"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave10"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave11"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave12"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"wave13"Symbol 596 MovieClip {com.nitrome.icebreaker.Sea} Frame 1Symbol 595 MovieClip
"xmlData"Symbol 633 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 622 EditableText
"loadFile"Symbol 633 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 626 Button
"saveFile"Symbol 633 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 628 Button
"txtMoves"Symbol 633 MovieClip {com.nitrome.icebreaker.EditorPanel} Frame 1Symbol 630 EditableText
"nitrome"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 663 MovieClip {Icebreaker_fla.nitrome_50}
"ice3"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 665 MovieClip {Icebreaker_fla.ice3_51}
"ice4"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 667 MovieClip {Icebreaker_fla.ice4_52}
"deepthud"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 669 MovieClip {Icebreaker_fla.deepthud_53}
"splash"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 671 MovieClip {Icebreaker_fla.splash_54}
"iceSmash"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 673 MovieClip {Icebreaker_fla.iceSmash_55}
"iceTooLarge"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 675 MovieClip {Icebreaker_fla.iceTooLarge_56}
"noslice"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 677 MovieClip {Icebreaker_fla.noslice_57}
"fatwoman"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 679 MovieClip {Icebreaker_fla.fatwoman_58}
"ropeBreak"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 681 MovieClip {Icebreaker_fla.ropeBreak_59}
"death"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 683 MovieClip {Icebreaker_fla.death_60}
"vikingAtEnd"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 685 MovieClip {Icebreaker_fla.vikingAtEnd_61}
"wolfratDying"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 687 MovieClip {Icebreaker_fla.wolfratDying_62}
"runeDeath"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 689 MovieClip {Icebreaker_fla.runeDeath_63}
"ice3b"Symbol 692 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 691 MovieClip {Icebreaker_fla.ice3b_64}
"__id1_"Symbol 708 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id2_"Symbol 710 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"numberField"Symbol 715 MovieClip {com.nitrome.game.LevelStartButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id3_"Symbol 721 MovieClip {com.nitrome.game.HelpButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id4_"Symbol 727 MovieClip {com.nitrome.game.ScoresButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id5_"Symbol 733 MovieClip {com.nitrome.game.CreditsButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id6_"Symbol 735 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 139 MovieClip {NumbskullFont}
"progress"Symbol 735 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 734 EditableText
"__id7_"Symbol 737 MovieClip {SubmitButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id8_"Symbol 738 MovieClip {ClearButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"_letter"Symbol 739 MovieClip {LetterButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"_submit_button"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 737 MovieClip {SubmitButton}
"_name_text"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 139 MovieClip {NumbskullFont}
"_score_text"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 139 MovieClip {NumbskullFont}
"_clear_button"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 738 MovieClip {ClearButton}
"A"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"B"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"C"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"D"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"E"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"F"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"G"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"H"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"I"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"J"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"K"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"L"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"M"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"N"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"O"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"P"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"Q"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"R"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"S"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"T"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"U"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"V"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"W"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"X"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"Y"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"Z"Symbol 740 MovieClip {ScoreSubmitPanel} Frame 1Symbol 739 MovieClip {LetterButton}
"_rank_text"Symbol 745 MovieClip {ScoreLine} Frame 1Symbol 742 EditableText
"_name_text"Symbol 745 MovieClip {ScoreLine} Frame 1Symbol 743 EditableText
"_score_text"Symbol 745 MovieClip {ScoreLine} Frame 1Symbol 744 EditableText
"__id9_"Symbol 746 MovieClip {NextArrow} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id10_"Symbol 747 MovieClip {PrevArrow} Frame 1Symbol 139 MovieClip {NumbskullFont}
"_score_line_1"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_2"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_3"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_4"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_5"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_6"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_7"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_8"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_9"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_score_line_10"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 745 MovieClip {ScoreLine}
"_next_arrow"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 746 MovieClip {NextArrow}
"_prev_arrow"Symbol 748 MovieClip {HighScoreBoard} Frame 1Symbol 747 MovieClip {PrevArrow}
"__id11_"Symbol 773 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id12_"Symbol 774 MovieClip {com.nitrome.game.EndGameButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id13_"Symbol 775 MovieClip {com.nitrome.game.NextLevelButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id14_"Symbol 776 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"__id15_"Symbol 777 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1Symbol 139 MovieClip {NumbskullFont}
"default_resume"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 1Symbol 773 MovieClip {com.nitrome.game.ContinueGameButton}
"title1"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 1Symbol 139 MovieClip {NumbskullFont}
"default_next"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 775 MovieClip {com.nitrome.game.NextLevelButton}
"levelScore"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 790 EditableText
"totalScore"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 792 EditableText
"title2"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11Symbol 139 MovieClip {NumbskullFont}
"default_restart"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 21Symbol 776 MovieClip {com.nitrome.game.RestartLevelButton}
"totalScore"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 21Symbol 794 EditableText
"inner"Symbol 796 MovieClip {com.nitrome.game.IngamePopup} Frame 2Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96}
"XGenStudiosComMC"Symbol 933 MovieClip {Icebreaker_fla.XGSIntroMC_105} Frame 2Symbol 931 MovieClip {Icebreaker_fla.XGenStudiosComMC_109}
"bg"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 341 MovieClip {com.nitrome.icebreaker.Background}
"captain"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 960 MovieClip
"guy1"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 961 MovieClip
"guy2"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 961 MovieClip
"guy3"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 961 MovieClip
"sea"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 596 MovieClip {com.nitrome.icebreaker.Sea}
"__id20_"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 139 MovieClip {NumbskullFont}
"scoreField"Symbol 963 MovieClip {Icebreaker_fla.congratulationsclip_113} Frame 1Symbol 139 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
"xgen"Frame 6
"nitrome"Frame 15
"title_screen"Frame 25
"level_select"Frame 35
"help"Frame 45
"credits"Frame 55
"game"Frame 65
"congrats"Frame 75
"cut"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 1
"stone"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 11
"deadly"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 21
"link"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 31
"birdwood"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 41
"woman"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 51
"force"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 61
"mist"Symbol 231 MovieClip {com.nitrome.game.HintOverlay} Frame 71
"finishFrame"Symbol 276 MovieClip {ForceBlockForceMC} Frame 11
"idle"Symbol 329 MovieClip {com.nitrome.icebreaker.FatWoman} Frame 1
"sliced"Symbol 329 MovieClip {com.nitrome.icebreaker.FatWoman} Frame 16
"standing"Symbol 371 MovieClip {com.nitrome.icebreaker.Wolfrat} Frame 1
"dead"Symbol 371 MovieClip {com.nitrome.icebreaker.Wolfrat} Frame 14
"standing"Symbol 453 MovieClip {com.nitrome.icebreaker.Captain} Frame 1
"walking"Symbol 453 MovieClip {com.nitrome.icebreaker.Captain} Frame 20
"smashing"Symbol 453 MovieClip {com.nitrome.icebreaker.Captain} Frame 29
"impactFrame"Symbol 453 MovieClip {com.nitrome.icebreaker.Captain} Frame 39
"smashFrame"Symbol 453 MovieClip {com.nitrome.icebreaker.Captain} Frame 41
"victory"Symbol 453 MovieClip {com.nitrome.icebreaker.Captain} Frame 42
"standing"Symbol 521 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 1
"walking"Symbol 521 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 26
"runeDeath"Symbol 521 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 39
"normalDeath"Symbol 521 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 64
"victory"Symbol 521 MovieClip {com.nitrome.icebreaker.StandingGuy1} Frame 74
"anim1"Symbol 595 MovieClip Frame 1
"anim2"Symbol 595 MovieClip Frame 25
"anim3"Symbol 595 MovieClip Frame 49
"block_iceBlock"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 1
"block_normalBlock"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 2
"block_woodBlock"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 3
"block_deathBlock"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 4
"block_forceBlock"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 5
"pin"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 6
"char_frozenGuy"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 7
"char_standingGuy"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 8
"object_finish"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 9
"object_wolfrat"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 10
"link"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 11
"object_weight"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 12
"object_protectedArea32"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 13
"object_protectedArea64"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 14
"object_protectedArea128"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 15
"object_bird"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 16
"turningPins_left"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 17
"turningPins_leftSlow"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 18
"turningPins_rightSlow"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 19
"turningPins_right"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 20
"object_fatWoman"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 21
"object_sign"Symbol 619 MovieClip {com.nitrome.icebreaker.EditorDrawableObjects} Frame 22
"frozen"Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 1
"frozenBlink"Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 10
"frozenShine"Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 20
"standing"Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 42
"walking"Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 67
"victory"Symbol 661 MovieClip {com.nitrome.icebreaker.FrozenGuy1} Frame 80
"loop"Symbol 695 MovieClip {com.nitrome.game.LoadIndicator} Frame 4
"outAnimation"Symbol 695 MovieClip {com.nitrome.game.LoadIndicator} Frame 8
"_up"Symbol 706 MovieClip {com.nitrome.game.PlayButton} Frame 1
"_over"Symbol 706 MovieClip {com.nitrome.game.PlayButton} Frame 11
"_up"Symbol 708 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1
"_over"Symbol 708 MovieClip {com.nitrome.game.BackToTitleButton} Frame 11
"_up"Symbol 710 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1
"_over"Symbol 710 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 11
"up"Symbol 715 MovieClip {com.nitrome.game.LevelStartButton} Frame 1
"over"Symbol 715 MovieClip {com.nitrome.game.LevelStartButton} Frame 11
"locked"Symbol 715 MovieClip {com.nitrome.game.LevelStartButton} Frame 21
"_up"Symbol 721 MovieClip {com.nitrome.game.HelpButton} Frame 1
"_over"Symbol 721 MovieClip {com.nitrome.game.HelpButton} Frame 11
"_up"Symbol 727 MovieClip {com.nitrome.game.ScoresButton} Frame 1
"_over"Symbol 727 MovieClip {com.nitrome.game.ScoresButton} Frame 11
"_up"Symbol 733 MovieClip {com.nitrome.game.CreditsButton} Frame 1
"_over"Symbol 733 MovieClip {com.nitrome.game.CreditsButton} Frame 11
"_up"Symbol 737 MovieClip {SubmitButton} Frame 1
"_over"Symbol 737 MovieClip {SubmitButton} Frame 11
"_up"Symbol 738 MovieClip {ClearButton} Frame 1
"_over"Symbol 738 MovieClip {ClearButton} Frame 11
"_up"Symbol 739 MovieClip {LetterButton} Frame 1
"_over"Symbol 739 MovieClip {LetterButton} Frame 10
"_up"Symbol 746 MovieClip {NextArrow} Frame 1
"_over"Symbol 746 MovieClip {NextArrow} Frame 11
"_up"Symbol 747 MovieClip {PrevArrow} Frame 1
"_over"Symbol 747 MovieClip {PrevArrow} Frame 11
"_up"Symbol 756 MovieClip {com.nitrome.game.PauseButton} Frame 1
"_over"Symbol 756 MovieClip {com.nitrome.game.PauseButton} Frame 6
"_on_up"Symbol 764 MovieClip {com.nitrome.game.MusicToggle} Frame 1
"_on_over"Symbol 764 MovieClip {com.nitrome.game.MusicToggle} Frame 6
"_off_up"Symbol 764 MovieClip {com.nitrome.game.MusicToggle} Frame 11
"_off_over"Symbol 764 MovieClip {com.nitrome.game.MusicToggle} Frame 16
"_on_up"Symbol 770 MovieClip {com.nitrome.game.FxToggle} Frame 1
"_on_over"Symbol 770 MovieClip {com.nitrome.game.FxToggle} Frame 6
"_off_up"Symbol 770 MovieClip {com.nitrome.game.FxToggle} Frame 11
"_off_over"Symbol 770 MovieClip {com.nitrome.game.FxToggle} Frame 16
"_up"Symbol 773 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1
"_over"Symbol 773 MovieClip {com.nitrome.game.ContinueGameButton} Frame 11
"_up"Symbol 774 MovieClip {com.nitrome.game.EndGameButton} Frame 1
"_over"Symbol 774 MovieClip {com.nitrome.game.EndGameButton} Frame 11
"_up"Symbol 775 MovieClip {com.nitrome.game.NextLevelButton} Frame 1
"_over"Symbol 775 MovieClip {com.nitrome.game.NextLevelButton} Frame 11
"_up"Symbol 776 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1
"_over"Symbol 776 MovieClip {com.nitrome.game.RestartLevelButton} Frame 11
"_up"Symbol 777 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1
"_over"Symbol 777 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 11
"_up"Symbol 782 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 1
"_over"Symbol 782 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 11
"paused"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 1
"complete"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 11
"failed"Symbol 795 MovieClip {Icebreaker_fla.popupcontent_96} Frame 21
"_up"Symbol 807 MovieClip {com.nitrome.game.ResetButton} Frame 1
"_over"Symbol 807 MovieClip {com.nitrome.game.ResetButton} Frame 6




http://swfchan.com/27/130916/info.shtml
Created: 21/2 -2019 20:19:00 Last modified: 21/2 -2019 20:19:00 Server time: 22/12 -2024 20:06:46