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

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM46594536-26DC&rnd=46594536" width="1" height="1"></div>

armorgames pixel-toilet-13588.swf

This is the info page for
Flash #264027

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


Text
PiterGames c 2012

()

loading

loading.

loading..

loading...

00%

PIXEL

toilet

<p align="center"><font face="Charybdis" size="50" color="#000000" letterSpacing="-1.000000" kerning="0">$0000000</font></p>

Launch again!

$0000000

Buy it!

$0000000

BOUGHT!

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

$0000000

X

2

$0000000

$0000000

Aerodynamics:

Accelerators:

Wheels:

Flush:

Starters:

Max Power:

Money x2:

shop

Shoot!

Earned money:

Total money:

Launch again!

Upgrade shop

$0000000

$0000000

Length:

12356

Main menu

Like us!

Play More Games!

START!

START!

Credits

Clear progress

View intro

Code: A.Sobchenko

Art: D.Afanasjev

Design: K.Elgazin

Pitergames c 2012

()

www.pitergames.com

A.Brazhnik

Click hero to flush and accelerate!

?

Aim and click to get a powerfull shot!

NEW UPGRADE!

Enter shop!

Accelerate me!

Length:

000000

Money:

$000000

hi

Q

me

lo

Shrooms:

12/33

Main menu

Click here to enter shop!

You got flush refill! Click hero!

You got bonus acceleration! Click here!

Click here to accelerate!

Collect mushrooms

to complete the game!

Flush!

Return to Main Menu

Return to Main Menu

Congratulations!

1/4

Skip :(

Skip :(

NEXT

NEXT

PLAY!

PLAY!

2/4

3/4

4/4

ActionScript [AS3]

Section 1
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { b2internal var m_p:b2Vec2; public function b2CircleShape(_arg1:Number=0){ m_p = new b2Vec2(); super(); m_type = e_circleShape; m_radius = _arg1; } override public function Copy():b2Shape{ var _local1:b2Shape = new b2CircleShape(); _local1.Set(this); return (_local1); } override public function Set(_arg1:b2Shape):void{ var _local2:b2CircleShape; super.Set(_arg1); if ((_arg1 is b2CircleShape)){ _local2 = (_arg1 as b2CircleShape); m_p.SetV(_local2.m_p); }; } override public function TestPoint(_arg1:b2Transform, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_p.x) + (_local3.col2.x * m_p.y))); var _local5:Number = (_arg1.position.y + ((_local3.col1.y * m_p.x) + (_local3.col2.y * m_p.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } override public function RayCast(_arg1:b2RayCastOutput, _arg2:b2RayCastInput, _arg3:b2Transform):Boolean{ var _local8:Number; var _local4:b2Mat22 = _arg3.R; var _local5:Number = (_arg3.position.x + ((_local4.col1.x * m_p.x) + (_local4.col2.x * m_p.y))); var _local6:Number = (_arg3.position.y + ((_local4.col1.y * m_p.x) + (_local4.col2.y * m_p.y))); var _local7:Number = (_arg2.p1.x - _local5); _local8 = (_arg2.p1.y - _local6); var _local9:Number = (((_local7 * _local7) + (_local8 * _local8)) - (m_radius * m_radius)); var _local10:Number = (_arg2.p2.x - _arg2.p1.x); var _local11:Number = (_arg2.p2.y - _arg2.p1.y); var _local12:Number = ((_local7 * _local10) + (_local8 * _local11)); var _local13:Number = ((_local10 * _local10) + (_local11 * _local11)); var _local14:Number = ((_local12 * _local12) - (_local13 * _local9)); if ((((_local14 < 0)) || ((_local13 < Number.MIN_VALUE)))){ return (false); }; var _local15:Number = -((_local12 + Math.sqrt(_local14))); if ((((0 <= _local15)) && ((_local15 <= (_arg2.maxFraction * _local13))))){ _local15 = (_local15 / _local13); _arg1.fraction = _local15; _arg1.normal.x = (_local7 + (_local15 * _local10)); _arg1.normal.y = (_local8 + (_local15 * _local11)); _arg1.normal.Normalize(); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2Transform):void{ var _local3:b2Mat22 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_p.x) + (_local3.col2.x * m_p.y))); var _local5:Number = (_arg2.position.y + ((_local3.col1.y * m_p.x) + (_local3.col2.y * m_p.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } override public function ComputeMass(_arg1:b2MassData, _arg2:Number):void{ _arg1.mass = (((_arg2 * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_p); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_p.x * m_p.x) + (m_p.y * m_p.y)))); } override public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2Transform, _arg4:b2Vec2):Number{ var _local9:Number; var _local5:b2Vec2 = b2Math.MulX(_arg3, m_p); var _local6:Number = -((b2Math.Dot(_arg1, _local5) - _arg2)); if (_local6 < (-(m_radius) + Number.MIN_VALUE)){ return (0); }; if (_local6 > m_radius){ _arg4.SetV(_local5); return (((Math.PI * m_radius) * m_radius)); }; var _local7:Number = (m_radius * m_radius); var _local8:Number = (_local6 * _local6); _local9 = ((_local7 * (Math.asin((_local6 / m_radius)) + (Math.PI / 2))) + (_local6 * Math.sqrt((_local7 - _local8)))); var _local10:Number = (((-2 / 3) * Math.pow((_local7 - _local8), 1.5)) / _local9); _arg4.x = (_local5.x + (_arg1.x * _local10)); _arg4.y = (_local5.y + (_arg1.y * _local10)); return (_local9); } public function GetLocalPosition():b2Vec2{ return (m_p); } public function SetLocalPosition(_arg1:b2Vec2):void{ m_p.SetV(_arg1); } public function GetRadius():Number{ return (m_radius); } public function SetRadius(_arg1:Number):void{ m_radius = _arg1; } } }//package Box2D.Collision.Shapes
Section 2
//b2EdgeShape (Box2D.Collision.Shapes.b2EdgeShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2EdgeShape extends b2Shape { private var s_supportVec:b2Vec2; b2internal var m_v1:b2Vec2; b2internal var m_v2:b2Vec2; b2internal var m_coreV1:b2Vec2; b2internal var m_coreV2:b2Vec2; b2internal var m_length:Number; b2internal var m_normal:b2Vec2; b2internal var m_direction:b2Vec2; b2internal var m_cornerDir1:b2Vec2; b2internal var m_cornerDir2:b2Vec2; b2internal var m_cornerConvex1:Boolean; b2internal var m_cornerConvex2:Boolean; b2internal var m_nextEdge:b2EdgeShape; b2internal var m_prevEdge:b2EdgeShape; public function b2EdgeShape(_arg1:b2Vec2, _arg2:b2Vec2){ s_supportVec = new b2Vec2(); m_v1 = new b2Vec2(); m_v2 = new b2Vec2(); m_coreV1 = new b2Vec2(); m_coreV2 = new b2Vec2(); m_normal = new b2Vec2(); m_direction = new b2Vec2(); m_cornerDir1 = new b2Vec2(); m_cornerDir2 = new b2Vec2(); super(); m_type = e_edgeShape; m_prevEdge = null; m_nextEdge = null; m_v1 = _arg1; m_v2 = _arg2; m_direction.Set((m_v2.x - m_v1.x), (m_v2.y - m_v1.y)); m_length = m_direction.Normalize(); m_normal.Set(m_direction.y, -(m_direction.x)); m_coreV1.Set(((-(b2Settings.b2_toiSlop) * (m_normal.x - m_direction.x)) + m_v1.x), ((-(b2Settings.b2_toiSlop) * (m_normal.y - m_direction.y)) + m_v1.y)); m_coreV2.Set(((-(b2Settings.b2_toiSlop) * (m_normal.x + m_direction.x)) + m_v2.x), ((-(b2Settings.b2_toiSlop) * (m_normal.y + m_direction.y)) + m_v2.y)); m_cornerDir1 = m_normal; m_cornerDir2.Set(-(m_normal.x), -(m_normal.y)); } override public function TestPoint(_arg1:b2Transform, _arg2:b2Vec2):Boolean{ return (false); } override public function RayCast(_arg1:b2RayCastOutput, _arg2:b2RayCastInput, _arg3:b2Transform):Boolean{ var _local4:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local5:Number = (_arg2.p2.x - _arg2.p1.x); var _local6:Number = (_arg2.p2.y - _arg2.p1.y); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_v1.x) + (_local4.col2.x * m_v1.y))); var _local8:Number = (_arg3.position.y + ((_local4.col1.y * m_v1.x) + (_local4.col2.y * m_v1.y))); var _local9:Number = ((_arg3.position.y + ((_local4.col1.y * m_v2.x) + (_local4.col2.y * m_v2.y))) - _local8); var _local10:Number = -(((_arg3.position.x + ((_local4.col1.x * m_v2.x) + (_local4.col2.x * m_v2.y))) - _local7)); var _local11:Number = (100 * Number.MIN_VALUE); var _local12:Number = -(((_local5 * _local9) + (_local6 * _local10))); if (_local12 > _local11){ _local13 = (_arg2.p1.x - _local7); _local14 = (_arg2.p1.y - _local8); _local15 = ((_local13 * _local9) + (_local14 * _local10)); if ((((0 <= _local15)) && ((_local15 <= (_arg2.maxFraction * _local12))))){ _local16 = ((-(_local5) * _local14) + (_local6 * _local13)); if (((((-(_local11) * _local12) <= _local16)) && ((_local16 <= (_local12 * (1 + _local11)))))){ _local15 = (_local15 / _local12); _arg1.fraction = _local15; _local17 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _arg1.normal.x = (_local9 / _local17); _arg1.normal.y = (_local10 / _local17); return (true); }; }; }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2Transform):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local3:b2Mat22 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_v1.x) + (_local3.col2.x * m_v1.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_v1.x) + (_local3.col2.y * m_v1.y))); _local6 = (_arg2.position.x + ((_local3.col1.x * m_v2.x) + (_local3.col2.x * m_v2.y))); _local7 = (_arg2.position.y + ((_local3.col1.y * m_v2.x) + (_local3.col2.y * m_v2.y))); if (_local4 < _local6){ _arg1.lowerBound.x = _local4; _arg1.upperBound.x = _local6; } else { _arg1.lowerBound.x = _local6; _arg1.upperBound.x = _local4; }; if (_local5 < _local7){ _arg1.lowerBound.y = _local5; _arg1.upperBound.y = _local7; } else { _arg1.lowerBound.y = _local7; _arg1.upperBound.y = _local5; }; } override public function ComputeMass(_arg1:b2MassData, _arg2:Number):void{ _arg1.mass = 0; _arg1.center.SetV(m_v1); _arg1.I = 0; } override public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2Transform, _arg4:b2Vec2):Number{ var _local5:b2Vec2 = new b2Vec2((_arg1.x * _arg2), (_arg1.y * _arg2)); var _local6:b2Vec2 = b2Math.MulX(_arg3, m_v1); var _local7:b2Vec2 = b2Math.MulX(_arg3, m_v2); var _local8:Number = (b2Math.Dot(_arg1, _local6) - _arg2); var _local9:Number = (b2Math.Dot(_arg1, _local7) - _arg2); if (_local8 > 0){ if (_local9 > 0){ return (0); }; _local6.x = (((-(_local9) / (_local8 - _local9)) * _local6.x) + ((_local8 / (_local8 - _local9)) * _local7.x)); _local6.y = (((-(_local9) / (_local8 - _local9)) * _local6.y) + ((_local8 / (_local8 - _local9)) * _local7.y)); } else { if (_local9 > 0){ _local7.x = (((-(_local9) / (_local8 - _local9)) * _local6.x) + ((_local8 / (_local8 - _local9)) * _local7.x)); _local7.y = (((-(_local9) / (_local8 - _local9)) * _local6.y) + ((_local8 / (_local8 - _local9)) * _local7.y)); }; }; _arg4.x = (((_local5.x + _local6.x) + _local7.x) / 3); _arg4.y = (((_local5.y + _local6.y) + _local7.y) / 3); return ((0.5 * (((_local6.x - _local5.x) * (_local7.y - _local5.y)) - ((_local6.y - _local5.y) * (_local7.x - _local5.x))))); } public function GetLength():Number{ return (m_length); } public function GetVertex1():b2Vec2{ return (m_v1); } public function GetVertex2():b2Vec2{ return (m_v2); } public function GetCoreVertex1():b2Vec2{ return (m_coreV1); } public function GetCoreVertex2():b2Vec2{ return (m_coreV2); } public function GetNormalVector():b2Vec2{ return (m_normal); } public function GetDirectionVector():b2Vec2{ return (m_direction); } public function GetCorner1Vector():b2Vec2{ return (m_cornerDir1); } public function GetCorner2Vector():b2Vec2{ return (m_cornerDir2); } public function Corner1IsConvex():Boolean{ return (m_cornerConvex1); } public function Corner2IsConvex():Boolean{ return (m_cornerConvex2); } public function GetFirstVertex(_arg1:b2Transform):b2Vec2{ var _local2:b2Mat22 = _arg1.R; return (new b2Vec2((_arg1.position.x + ((_local2.col1.x * m_coreV1.x) + (_local2.col2.x * m_coreV1.y))), (_arg1.position.y + ((_local2.col1.y * m_coreV1.x) + (_local2.col2.y * m_coreV1.y))))); } public function GetNextEdge():b2EdgeShape{ return (m_nextEdge); } public function GetPrevEdge():b2EdgeShape{ return (m_prevEdge); } public function Support(_arg1:b2Transform, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg1.position.x + ((_local4.col1.x * m_coreV1.x) + (_local4.col2.x * m_coreV1.y))); var _local6:Number = (_arg1.position.y + ((_local4.col1.y * m_coreV1.x) + (_local4.col2.y * m_coreV1.y))); var _local7:Number = (_arg1.position.x + ((_local4.col1.x * m_coreV2.x) + (_local4.col2.x * m_coreV2.y))); var _local8:Number = (_arg1.position.y + ((_local4.col1.y * m_coreV2.x) + (_local4.col2.y * m_coreV2.y))); if (((_local5 * _arg2) + (_local6 * _arg3)) > ((_local7 * _arg2) + (_local8 * _arg3))){ s_supportVec.x = _local5; s_supportVec.y = _local6; } else { s_supportVec.x = _local7; s_supportVec.y = _local8; }; return (s_supportVec); } b2internal function SetPrevEdge(_arg1:b2EdgeShape, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:Boolean):void{ m_prevEdge = _arg1; m_coreV1 = _arg2; m_cornerDir1 = _arg3; m_cornerConvex1 = _arg4; } b2internal function SetNextEdge(_arg1:b2EdgeShape, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:Boolean):void{ m_nextEdge = _arg1; m_coreV2 = _arg2; m_cornerDir2 = _arg3; m_cornerConvex2 = _arg4; } } }//package Box2D.Collision.Shapes
Section 3
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package Box2D.Collision.Shapes
Section 4
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { b2internal var m_centroid:b2Vec2; b2internal var m_vertices:Array; b2internal var m_normals:Array; b2internal var m_vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonShape(){ m_type = e_polygonShape; m_centroid = new b2Vec2(); m_vertices = new Array(); m_normals = new Array(); } override public function Copy():b2Shape{ var _local1:b2PolygonShape = new b2PolygonShape(); _local1.Set(this); return (_local1); } override public function Set(_arg1:b2Shape):void{ var _local2:b2PolygonShape; var _local3:int; super.Set(_arg1); if ((_arg1 is b2PolygonShape)){ _local2 = (_arg1 as b2PolygonShape); m_centroid.SetV(_local2.m_centroid); m_vertexCount = _local2.m_vertexCount; Reserve(m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3].SetV(_local2.m_vertices[_local3]); m_normals[_local3].SetV(_local2.m_normals[_local3]); _local3++; }; }; } public function SetAsArray(_arg1:Array, _arg2:Number=0):void{ var _local4:b2Vec2; var _local3:Array = new Array(); for each (_local4 in _arg1) { _local3.push(_local4); }; SetAsVector(_local3, _arg2); } public function SetAsVector(_arg1:Array, _arg2:Number=0):void{ var _local3:int; var _local4:int; var _local5:int; var _local6:b2Vec2; if (_arg2 == 0){ _arg2 = _arg1.length; }; b2Settings.b2Assert((2 <= _arg2)); m_vertexCount = _arg2; Reserve(_arg2); _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3].SetV(_arg1[_local3]); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = b2Math.SubtractVV(m_vertices[_local5], m_vertices[_local4]); b2Settings.b2Assert((_local6.LengthSquared() > Number.MIN_VALUE)); m_normals[_local3].SetV(b2Math.CrossVF(_local6, 1)); m_normals[_local3].Normalize(); _local3++; }; m_centroid = ComputeCentroid(m_vertices, m_vertexCount); } public function SetAsBox(_arg1:Number, _arg2:Number):void{ m_vertexCount = 4; Reserve(4); m_vertices[0].Set(-(_arg1), -(_arg2)); m_vertices[1].Set(_arg1, -(_arg2)); m_vertices[2].Set(_arg1, _arg2); m_vertices[3].Set(-(_arg1), _arg2); m_normals[0].Set(0, -1); m_normals[1].Set(1, 0); m_normals[2].Set(0, 1); m_normals[3].Set(-1, 0); m_centroid.SetZero(); } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ m_vertexCount = 4; Reserve(4); m_vertices[0].Set(-(_arg1), -(_arg2)); m_vertices[1].Set(_arg1, -(_arg2)); m_vertices[2].Set(_arg1, _arg2); m_vertices[3].Set(-(_arg1), _arg2); m_normals[0].Set(0, -1); m_normals[1].Set(1, 0); m_normals[2].Set(0, 1); m_normals[3].Set(-1, 0); m_centroid = _arg3; var _local5:b2Transform = new b2Transform(); _local5.position = _arg3; _local5.R.Set(_arg4); var _local6:int; while (_local6 < m_vertexCount) { m_vertices[_local6] = b2Math.MulX(_local5, m_vertices[_local6]); m_normals[_local6] = b2Math.MulMV(_local5.R, m_normals[_local6]); _local6++; }; } public function SetAsEdge(_arg1:b2Vec2, _arg2:b2Vec2):void{ m_vertexCount = 2; Reserve(2); m_vertices[0].SetV(_arg1); m_vertices[1].SetV(_arg2); m_centroid.x = (0.5 * (_arg1.x + _arg2.x)); m_centroid.y = (0.5 * (_arg1.y + _arg2.y)); m_normals[0] = b2Math.CrossVF(b2Math.SubtractVV(_arg2, _arg1), 1); m_normals[0].Normalize(); m_normals[1].x = -(m_normals[0].x); m_normals[1].y = -(m_normals[0].y); } override public function TestPoint(_arg1:b2Transform, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } override public function RayCast(_arg1:b2RayCastOutput, _arg2:b2RayCastInput, _arg3:b2Transform):Boolean{ var _local6:Number; var _local7:Number; var _local8:b2Mat22; var _local9:b2Vec2; var _local18:Number; var _local19:Number; var _local4:Number = 0; var _local5:Number = _arg2.maxFraction; _local6 = (_arg2.p1.x - _arg3.position.x); _local7 = (_arg2.p1.y - _arg3.position.y); _local8 = _arg3.R; var _local10:Number = ((_local6 * _local8.col1.x) + (_local7 * _local8.col1.y)); var _local11:Number = ((_local6 * _local8.col2.x) + (_local7 * _local8.col2.y)); _local6 = (_arg2.p2.x - _arg3.position.x); _local7 = (_arg2.p2.y - _arg3.position.y); _local8 = _arg3.R; var _local12:Number = ((_local6 * _local8.col1.x) + (_local7 * _local8.col1.y)); var _local13:Number = ((_local6 * _local8.col2.x) + (_local7 * _local8.col2.y)); var _local14:Number = (_local12 - _local10); var _local15:Number = (_local13 - _local11); var _local16 = -1; var _local17:int; while (_local17 < m_vertexCount) { _local9 = m_vertices[_local17]; _local6 = (_local9.x - _local10); _local7 = (_local9.y - _local11); _local9 = m_normals[_local17]; _local18 = ((_local9.x * _local6) + (_local9.y * _local7)); _local19 = ((_local9.x * _local14) + (_local9.y * _local15)); if (_local19 == 0){ if (_local18 < 0){ return (false); }; } else { if ((((_local19 < 0)) && ((_local18 < (_local4 * _local19))))){ _local4 = (_local18 / _local19); _local16 = _local17; } else { if ((((_local19 > 0)) && ((_local18 < (_local5 * _local19))))){ _local5 = (_local18 / _local19); }; }; }; if (_local5 < (_local4 - Number.MIN_VALUE)){ return (false); }; _local17++; }; if (_local16 >= 0){ _arg1.fraction = _local4; _local8 = _arg3.R; _local9 = m_normals[_local16]; _arg1.normal.x = ((_local8.col1.x * _local9.x) + (_local8.col2.x * _local9.y)); _arg1.normal.y = ((_local8.col1.y * _local9.x) + (_local8.col2.y * _local9.y)); return (true); }; return (false); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2Transform):void{ var _local10:Number; var _local11:Number; var _local3:b2Mat22 = _arg2.R; var _local4:b2Vec2 = m_vertices[0]; var _local5:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local6:Number = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); var _local7:Number = _local5; var _local8:Number = _local6; var _local9 = 1; while (_local9 < m_vertexCount) { _local4 = m_vertices[_local9]; _local10 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local11 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _local5 = ((_local5 < _local10)) ? _local5 : _local10; _local6 = ((_local6 < _local11)) ? _local6 : _local11; _local7 = ((_local7 > _local10)) ? _local7 : _local10; _local8 = ((_local8 > _local11)) ? _local8 : _local11; _local9++; }; _arg1.lowerBound.x = (_local5 - m_radius); _arg1.lowerBound.y = (_local6 - m_radius); _arg1.upperBound.x = (_local7 + m_radius); _arg1.upperBound.y = (_local8 + m_radius); } override public function ComputeMass(_arg1:b2MassData, _arg2:Number):void{ var _local11:b2Vec2; var _local12:b2Vec2; 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; if (m_vertexCount == 2){ _arg1.center.x = (0.5 * (m_vertices[0].x + m_vertices[1].x)); _arg1.center.y = (0.5 * (m_vertices[0].y + m_vertices[1].y)); _arg1.mass = 0; _arg1.I = 0; return; }; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = 0; var _local9:Number = (1 / 3); var _local10:int; while (_local10 < m_vertexCount) { _local11 = m_vertices[_local10]; _local12 = (((_local10 + 1) < m_vertexCount)) ? m_vertices[int((_local10 + 1))] : m_vertices[0]; _local13 = (_local11.x - _local7); _local14 = (_local11.y - _local8); _local15 = (_local12.x - _local7); _local16 = (_local12.y - _local8); _local17 = ((_local13 * _local16) - (_local14 * _local15)); _local18 = (0.5 * _local17); _local5 = (_local5 + _local18); _local3 = (_local3 + ((_local18 * _local9) * ((_local7 + _local11.x) + _local12.x))); _local4 = (_local4 + ((_local18 * _local9) * ((_local8 + _local11.y) + _local12.y))); _local19 = _local7; _local20 = _local8; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = _local16; _local25 = ((_local9 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local26 = ((_local9 * ((0.25 * (((_local22 * _local22) + (_local24 * _local22)) + (_local24 * _local24))) + ((_local20 * _local22) + (_local20 * _local24)))) + ((0.5 * _local20) * _local20)); _local6 = (_local6 + (_local17 * (_local25 + _local26))); _local10++; }; _arg1.mass = (_arg2 * _local5); _local3 = (_local3 * (1 / _local5)); _local4 = (_local4 * (1 / _local5)); _arg1.center.Set(_local3, _local4); _arg1.I = (_arg2 * _local6); } override public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2Transform, _arg4:b2Vec2):Number{ var _local12:int; var _local22:b2Vec2; var _local23:Boolean; var _local24:b2MassData; var _local25:Number; var _local5:b2Vec2 = b2Math.MulTMV(_arg3.R, _arg1); var _local6:Number = (_arg2 - b2Math.Dot(_arg1, _arg3.position)); var _local7:Array = new Array(); var _local8:int; var _local9 = -1; var _local10 = -1; var _local11:Boolean; _local12 = 0; while (_local12 < m_vertexCount) { _local7[_local12] = (b2Math.Dot(_local5, m_vertices[_local12]) - _local6); _local23 = (_local7[_local12] < -(Number.MIN_VALUE)); if (_local12 > 0){ if (_local23){ if (!_local11){ _local9 = (_local12 - 1); _local8++; }; } else { if (_local11){ _local10 = (_local12 - 1); _local8++; }; }; }; _local11 = _local23; _local12++; }; switch (_local8){ case 0: if (_local11){ _local24 = new b2MassData(); ComputeMass(_local24, 1); _arg4.SetV(b2Math.MulX(_arg3, _local24.center)); return (_local24.mass); }; return (0); case 1: if (_local9 == -1){ _local9 = (m_vertexCount - 1); } else { _local10 = (m_vertexCount - 1); }; break; }; var _local13:int = ((_local9 + 1) % m_vertexCount); var _local14:int = ((_local10 + 1) % m_vertexCount); var _local15:Number = ((0 - _local7[_local9]) / (_local7[_local13] - _local7[_local9])); var _local16:Number = ((0 - _local7[_local10]) / (_local7[_local14] - _local7[_local10])); var _local17:b2Vec2 = new b2Vec2(((m_vertices[_local9].x * (1 - _local15)) + (m_vertices[_local13].x * _local15)), ((m_vertices[_local9].y * (1 - _local15)) + (m_vertices[_local13].y * _local15))); var _local18:b2Vec2 = new b2Vec2(((m_vertices[_local10].x * (1 - _local16)) + (m_vertices[_local14].x * _local16)), ((m_vertices[_local10].y * (1 - _local16)) + (m_vertices[_local14].y * _local16))); var _local19:Number = 0; var _local20:b2Vec2 = new b2Vec2(); var _local21:b2Vec2 = m_vertices[_local13]; _local12 = _local13; while (_local12 != _local14) { _local12 = ((_local12 + 1) % m_vertexCount); if (_local12 == _local14){ _local22 = _local18; } else { _local22 = m_vertices[_local12]; }; _local25 = (0.5 * (((_local21.x - _local17.x) * (_local22.y - _local17.y)) - ((_local21.y - _local17.y) * (_local22.x - _local17.x)))); _local19 = (_local19 + _local25); _local20.x = (_local20.x + ((_local25 * ((_local17.x + _local21.x) + _local22.x)) / 3)); _local20.y = (_local20.y + ((_local25 * ((_local17.y + _local21.y) + _local22.y)) / 3)); _local21 = _local22; }; _local20.Multiply((1 / _local19)); _arg4.SetV(b2Math.MulX(_arg3, _local20)); return (_local19); } public function GetVertexCount():int{ return (m_vertexCount); } public function GetVertices():Array{ return (m_vertices); } public function GetNormals():Array{ return (m_normals); } public function GetSupport(_arg1:b2Vec2):int{ var _local5:Number; var _local2:int; var _local3:Number = ((m_vertices[0].x * _arg1.x) + (m_vertices[0].y * _arg1.y)); var _local4 = 1; while (_local4 < m_vertexCount) { _local5 = ((m_vertices[_local4].x * _arg1.x) + (m_vertices[_local4].y * _arg1.y)); if (_local5 > _local3){ _local2 = _local4; _local3 = _local5; }; _local4++; }; return (_local2); } public function GetSupportVertex(_arg1:b2Vec2):b2Vec2{ var _local5:Number; var _local2:int; var _local3:Number = ((m_vertices[0].x * _arg1.x) + (m_vertices[0].y * _arg1.y)); var _local4 = 1; while (_local4 < m_vertexCount) { _local5 = ((m_vertices[_local4].x * _arg1.x) + (m_vertices[_local4].y * _arg1.y)); if (_local5 > _local3){ _local2 = _local4; _local3 = _local5; }; _local4++; }; return (m_vertices[_local2]); } private function Validate():Boolean{ return (false); } private function Reserve(_arg1:int):void{ var _local2:int = m_vertices.length; while (_local2 < _arg1) { m_vertices[_local2] = new b2Vec2(); m_normals[_local2] = new b2Vec2(); _local2++; }; } public static function AsArray(_arg1:Array, _arg2:Number):b2PolygonShape{ var _local3:b2PolygonShape = new (b2PolygonShape); _local3.SetAsArray(_arg1, _arg2); return (_local3); } public static function AsVector(_arg1:Array, _arg2:Number):b2PolygonShape{ var _local3:b2PolygonShape = new (b2PolygonShape); _local3.SetAsVector(_arg1, _arg2); return (_local3); } public static function AsBox(_arg1:Number, _arg2:Number):b2PolygonShape{ var _local3:b2PolygonShape = new (b2PolygonShape); _local3.SetAsBox(_arg1, _arg2); return (_local3); } public static function AsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):b2PolygonShape{ var _local5:b2PolygonShape = new (b2PolygonShape); _local5.SetAsOrientedBox(_arg1, _arg2, _arg3, _arg4); return (_local5); } public static function AsEdge(_arg1:b2Vec2, _arg2:b2Vec2):b2PolygonShape{ var _local3:b2PolygonShape = new (b2PolygonShape); _local3.SetAsEdge(_arg1, _arg2); return (_local3); } public static function ComputeCentroid(_arg1:Array, _arg2:uint):b2Vec2{ var _local3:b2Vec2; var _local7:Number; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } b2internal static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; var _local5:Array = new Array((_arg3 + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 5
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2Shape { b2internal var m_type:int; b2internal var m_radius:Number; b2internal static const e_unknownShape:int = -1; b2internal static const e_circleShape:int = 0; b2internal static const e_polygonShape:int = 1; b2internal static const e_edgeShape:int = 2; b2internal static const e_shapeTypeCount:int = 3; public static const e_hitCollide:int = 1; public static const e_missCollide:int = 0; public static const e_startsInsideCollide:int = -1; public function b2Shape(){ m_type = e_unknownShape; m_radius = b2Settings.b2_linearSlop; } public function Copy():b2Shape{ return (null); } public function Set(_arg1:b2Shape):void{ m_radius = _arg1.m_radius; } public function GetType():int{ return (m_type); } public function TestPoint(_arg1:b2Transform, _arg2:b2Vec2):Boolean{ return (false); } public function RayCast(_arg1:b2RayCastOutput, _arg2:b2RayCastInput, _arg3:b2Transform):Boolean{ return (false); } public function ComputeAABB(_arg1:b2AABB, _arg2:b2Transform):void{ } public function ComputeMass(_arg1:b2MassData, _arg2:Number):void{ } public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2Transform, _arg4:b2Vec2):Number{ return (0); } public static function TestOverlap(_arg1:b2Shape, _arg2:b2Transform, _arg3:b2Shape, _arg4:b2Transform):Boolean{ var _local5:b2DistanceInput = new b2DistanceInput(); _local5.proxyA = new b2DistanceProxy(); _local5.proxyA.Set(_arg1); _local5.proxyB = new b2DistanceProxy(); _local5.proxyB.Set(_arg3); _local5.transformA = _arg2; _local5.transformB = _arg4; _local5.useRadii = true; var _local6:b2SimplexCache = new b2SimplexCache(); _local6.count = 0; var _local7:b2DistanceOutput = new b2DistanceOutput(); b2Distance.Distance(_local7, _local6, _local5); return ((_local7.distance < (10 * Number.MIN_VALUE))); } } }//package Box2D.Collision.Shapes
Section 6
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var lowerBound:b2Vec2; public var upperBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } public function GetCenter():b2Vec2{ return (new b2Vec2(((lowerBound.x + upperBound.x) / 2), ((lowerBound.y + upperBound.y) / 2))); } public function GetExtents():b2Vec2{ return (new b2Vec2(((upperBound.x - lowerBound.x) / 2), ((upperBound.y - lowerBound.y) / 2))); } public function Contains(_arg1:b2AABB):Boolean{ var _local2:Boolean; _local2 = ((_local2) && ((lowerBound.x <= _arg1.lowerBound.x))); _local2 = ((_local2) && ((lowerBound.y <= _arg1.lowerBound.y))); _local2 = ((_local2) && ((_arg1.upperBound.x <= upperBound.x))); _local2 = ((_local2) && ((_arg1.upperBound.y <= upperBound.y))); return (_local2); } public function RayCast(_arg1:b2RayCastOutput, _arg2:b2RayCastInput):Boolean{ var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local3:Number = -(Number.MAX_VALUE); var _local4:Number = Number.MAX_VALUE; var _local5:Number = _arg2.p1.x; var _local6:Number = _arg2.p1.y; var _local7:Number = (_arg2.p2.x - _arg2.p1.x); var _local8:Number = (_arg2.p2.y - _arg2.p1.y); var _local9:Number = Math.abs(_local7); var _local10:Number = Math.abs(_local8); _local11 = _arg1.normal; if (_local9 < Number.MIN_VALUE){ if ((((_local5 < lowerBound.x)) || ((upperBound.x < _local5)))){ return (false); }; } else { _local12 = (1 / _local7); _local13 = ((lowerBound.x - _local5) * _local12); _local14 = ((upperBound.x - _local5) * _local12); _local16 = -1; if (_local13 > _local14){ _local15 = _local13; _local13 = _local14; _local14 = _local15; _local16 = 1; }; if (_local13 > _local3){ _local11.x = _local16; _local11.y = 0; _local3 = _local13; }; _local4 = Math.min(_local4, _local14); if (_local3 > _local4){ return (false); }; }; if (_local10 < Number.MIN_VALUE){ if ((((_local6 < lowerBound.y)) || ((upperBound.y < _local6)))){ return (false); }; } else { _local12 = (1 / _local8); _local13 = ((lowerBound.y - _local6) * _local12); _local14 = ((upperBound.y - _local6) * _local12); _local16 = -1; if (_local13 > _local14){ _local15 = _local13; _local13 = _local14; _local14 = _local15; _local16 = 1; }; if (_local13 > _local3){ _local11.y = _local16; _local11.x = 0; _local3 = _local13; }; _local4 = Math.min(_local4, _local14); if (_local3 > _local4){ return (false); }; }; _arg1.fraction = _local3; return (true); } public function TestOverlap(_arg1:b2AABB):Boolean{ var _local2:Number = (_arg1.lowerBound.x - upperBound.x); var _local3:Number = (_arg1.lowerBound.y - upperBound.y); var _local4:Number = (lowerBound.x - _arg1.upperBound.x); var _local5:Number = (lowerBound.y - _arg1.upperBound.y); if ((((_local2 > 0)) || ((_local3 > 0)))){ return (false); }; if ((((_local4 > 0)) || ((_local5 > 0)))){ return (false); }; return (true); } public function Combine(_arg1:b2AABB, _arg2:b2AABB):void{ lowerBound.x = Math.min(_arg1.lowerBound.x, _arg2.lowerBound.x); lowerBound.y = Math.min(_arg1.lowerBound.y, _arg2.lowerBound.y); upperBound.x = Math.max(_arg1.upperBound.x, _arg2.upperBound.x); upperBound.y = Math.max(_arg1.upperBound.y, _arg2.upperBound.y); } public static function Combine(_arg1:b2AABB, _arg2:b2AABB):b2AABB{ var _local3:b2AABB = new (b2AABB); _local3.Combine(_arg1, _arg2); return (_local3); } } }//package Box2D.Collision
Section 7
//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 s_incidentEdge:Array = MakeClipPointVector(); private static var s_clipPoints1:Array = MakeClipPointVector(); private static var s_clipPoints2:Array = MakeClipPointVector(); private static var s_edgeAO:Array = new Array(1); private static var s_edgeBO:Array = new Array(1); private static var s_localTangent:b2Vec2 = new b2Vec2(); private static var s_localNormal:b2Vec2 = new b2Vec2(); private static var s_planePoint:b2Vec2 = new b2Vec2(); private static var s_normal:b2Vec2 = new b2Vec2(); private static var s_tangent:b2Vec2 = new b2Vec2(); private static var s_tangent2:b2Vec2 = new b2Vec2(); private static var s_v11:b2Vec2 = new b2Vec2(); private static var s_v12:b2Vec2 = new b2Vec2(); private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local9:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; var _local8:b2Vec2 = _local5.v; _local9 = (((_arg3.x * _local7.x) + (_arg3.y * _local7.y)) - _arg4); var _local10:Number = (((_arg3.x * _local8.x) + (_arg3.y * _local8.y)) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); _arg1[_temp1].Set(_arg2[0]); }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _arg1[_temp2].Set(_arg2[1]); }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2Transform, _arg3:int, _arg4:b2PolygonShape, _arg5:b2Transform):Number{ var _local11:b2Mat22; var _local12:b2Vec2; var _local25:Number; var _local6:int = _arg1.m_vertexCount; var _local7:Array = _arg1.m_vertices; var _local8:Array = _arg1.m_normals; var _local9:int = _arg4.m_vertexCount; var _local10:Array = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); var _local24:Number = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2Transform, _arg4:b2PolygonShape, _arg5:b2Transform):Number{ var _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); 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 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2Transform, _arg4:int, _arg5:b2PolygonShape, _arg6:b2Transform):void{ var _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } private static function MakeClipPointVector():Array{ var _local1:Array = new Array(2); _local1[0] = new ClipVertex(); _local1[1] = new ClipVertex(); return (_local1); } public static function CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2Transform, _arg4:b2PolygonShape, _arg5:b2Transform):void{ var _local6:ClipVertex; var _local12:b2PolygonShape; var _local13:b2PolygonShape; var _local14:b2Transform; var _local15:b2Transform; var _local16:int; var _local17:uint; var _local20:b2Mat22; var _local25:b2Vec2; var _local39:int; var _local42:Number; var _local43:b2ManifoldPoint; var _local44:Number; var _local45:Number; _arg1.m_pointCount = 0; var _local7:Number = (_arg2.m_radius + _arg4.m_radius); var _local8:int; s_edgeAO[0] = _local8; var _local9:Number = FindMaxSeparation(s_edgeAO, _arg2, _arg3, _arg4, _arg5); _local8 = s_edgeAO[0]; if (_local9 > _local7){ return; }; var _local10:int; s_edgeBO[0] = _local10; var _local11:Number = FindMaxSeparation(s_edgeBO, _arg4, _arg5, _arg2, _arg3); _local10 = s_edgeBO[0]; if (_local11 > _local7){ return; }; var _local18:Number = 0.98; var _local19:Number = 0.001; if (_local11 > ((_local18 * _local9) + _local19)){ _local12 = _arg4; _local13 = _arg2; _local14 = _arg5; _local15 = _arg3; _local16 = _local10; _arg1.m_type = b2Manifold.e_faceB; _local17 = 1; } else { _local12 = _arg2; _local13 = _arg4; _local14 = _arg3; _local15 = _arg5; _local16 = _local8; _arg1.m_type = b2Manifold.e_faceA; _local17 = 0; }; var _local21:Array = s_incidentEdge; FindIncidentEdge(_local21, _local12, _local14, _local16, _local13, _local15); var _local22:int = _local12.m_vertexCount; var _local23:Array = _local12.m_vertices; var _local24:b2Vec2 = _local23[_local16]; if ((_local16 + 1) < _local22){ _local25 = _local23[int((_local16 + 1))]; } else { _local25 = _local23[0]; }; var _local26:b2Vec2 = s_localTangent; _local26.Set((_local25.x - _local24.x), (_local25.y - _local24.y)); _local26.Normalize(); var _local27:b2Vec2 = s_localNormal; _local27.x = _local26.y; _local27.y = -(_local26.x); var _local28:b2Vec2 = s_planePoint; _local28.Set((0.5 * (_local24.x + _local25.x)), (0.5 * (_local24.y + _local25.y))); var _local29:b2Vec2 = s_tangent; _local20 = _local14.R; _local29.x = ((_local20.col1.x * _local26.x) + (_local20.col2.x * _local26.y)); _local29.y = ((_local20.col1.y * _local26.x) + (_local20.col2.y * _local26.y)); var _local30:b2Vec2 = s_tangent2; _local30.x = -(_local29.x); _local30.y = -(_local29.y); var _local31:b2Vec2 = s_normal; _local31.x = _local29.y; _local31.y = -(_local29.x); var _local32:b2Vec2 = s_v11; var _local33:b2Vec2 = s_v12; _local32.x = (_local14.position.x + ((_local20.col1.x * _local24.x) + (_local20.col2.x * _local24.y))); _local32.y = (_local14.position.y + ((_local20.col1.y * _local24.x) + (_local20.col2.y * _local24.y))); _local33.x = (_local14.position.x + ((_local20.col1.x * _local25.x) + (_local20.col2.x * _local25.y))); _local33.y = (_local14.position.y + ((_local20.col1.y * _local25.x) + (_local20.col2.y * _local25.y))); var _local34:Number = ((_local31.x * _local32.x) + (_local31.y * _local32.y)); var _local35:Number = (((-(_local29.x) * _local32.x) - (_local29.y * _local32.y)) + _local7); var _local36:Number = (((_local29.x * _local33.x) + (_local29.y * _local33.y)) + _local7); var _local37:Array = s_clipPoints1; var _local38:Array = s_clipPoints2; _local39 = ClipSegmentToLine(_local37, _local21, _local30, _local35); if (_local39 < 2){ return; }; _local39 = ClipSegmentToLine(_local38, _local37, _local29, _local36); if (_local39 < 2){ return; }; _arg1.m_localPlaneNormal.SetV(_local27); _arg1.m_localPoint.SetV(_local28); var _local40:int; var _local41:int; while (_local41 < b2Settings.b2_maxManifoldPoints) { _local6 = _local38[_local41]; _local42 = (((_local31.x * _local6.v.x) + (_local31.y * _local6.v.y)) - _local34); if (_local42 <= _local7){ _local43 = _arg1.m_points[_local40]; _local20 = _local15.R; _local44 = (_local6.v.x - _local15.position.x); _local45 = (_local6.v.y - _local15.position.y); _local43.m_localPoint.x = ((_local44 * _local20.col1.x) + (_local45 * _local20.col1.y)); _local43.m_localPoint.y = ((_local44 * _local20.col2.x) + (_local45 * _local20.col2.y)); _local43.m_id.Set(_local6.id); _local43.m_id.features.flip = _local17; _local40++; }; _local41++; }; _arg1.m_pointCount = _local40; } public static function CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2Transform, _arg4:b2CircleShape, _arg5:b2Transform):void{ var _local6:b2Mat22; var _local7:b2Vec2; _arg1.m_pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_p; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_p; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = (_arg2.m_radius + _arg4.m_radius); if (_local14 > (_local15 * _local15)){ return; }; _arg1.m_type = b2Manifold.e_circles; _arg1.m_localPoint.SetV(_arg2.m_p); _arg1.m_localPlaneNormal.SetZero(); _arg1.m_pointCount = 1; _arg1.m_points[0].m_localPoint.SetV(_arg4.m_p); _arg1.m_points[0].m_id.key = 0; } public static function CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2Transform, _arg4:b2CircleShape, _arg5:b2Transform):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local17:Number; var _local31:Number; var _local32:Number; var _local33:Number; _arg1.m_pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_p; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = (_arg2.m_radius + _arg4.m_radius); var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local31 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local31 > _local20){ return; }; if (_local31 > _local19){ _local19 = _local31; _local18 = _local24; }; _local24++; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; var _local27:b2Vec2 = _local22[_local25]; var _local28:b2Vec2 = _local22[_local26]; if (_local19 < Number.MIN_VALUE){ _arg1.m_pointCount = 1; _arg1.m_type = b2Manifold.e_faceA; _arg1.m_localPlaneNormal.SetV(_local23[_local18]); _arg1.m_localPoint.x = (0.5 * (_local27.x + _local28.x)); _arg1.m_localPoint.y = (0.5 * (_local27.y + _local28.y)); _arg1.m_points[0].m_localPoint.SetV(_arg4.m_p); _arg1.m_points[0].m_id.key = 0; return; }; var _local29:Number = (((_local15 - _local27.x) * (_local28.x - _local27.x)) + ((_local16 - _local27.y) * (_local28.y - _local27.y))); var _local30:Number = (((_local15 - _local28.x) * (_local27.x - _local28.x)) + ((_local16 - _local28.y) * (_local27.y - _local28.y))); if (_local29 <= 0){ if ((((_local15 - _local27.x) * (_local15 - _local27.x)) + ((_local16 - _local27.y) * (_local16 - _local27.y))) > (_local20 * _local20)){ return; }; _arg1.m_pointCount = 1; _arg1.m_type = b2Manifold.e_faceA; _arg1.m_localPlaneNormal.x = (_local15 - _local27.x); _arg1.m_localPlaneNormal.y = (_local16 - _local27.y); _arg1.m_localPlaneNormal.Normalize(); _arg1.m_localPoint.SetV(_local27); _arg1.m_points[0].m_localPoint.SetV(_arg4.m_p); _arg1.m_points[0].m_id.key = 0; } else { if (_local30 <= 0){ if ((((_local15 - _local28.x) * (_local15 - _local28.x)) + ((_local16 - _local28.y) * (_local16 - _local28.y))) > (_local20 * _local20)){ return; }; _arg1.m_pointCount = 1; _arg1.m_type = b2Manifold.e_faceA; _arg1.m_localPlaneNormal.x = (_local15 - _local28.x); _arg1.m_localPlaneNormal.y = (_local16 - _local28.y); _arg1.m_localPlaneNormal.Normalize(); _arg1.m_localPoint.SetV(_local28); _arg1.m_points[0].m_localPoint.SetV(_arg4.m_p); _arg1.m_points[0].m_id.key = 0; } else { _local32 = (0.5 * (_local27.x + _local28.x)); _local33 = (0.5 * (_local27.y + _local28.y)); _local19 = (((_local15 - _local32) * _local23[_local25].x) + ((_local16 - _local33) * _local23[_local25].y)); if (_local19 > _local20){ return; }; _arg1.m_pointCount = 1; _arg1.m_type = b2Manifold.e_faceA; _arg1.m_localPlaneNormal.x = _local23[_local25].x; _arg1.m_localPlaneNormal.y = _local23[_local25].y; _arg1.m_localPlaneNormal.Normalize(); _arg1.m_localPoint.Set(_local32, _local33); _arg1.m_points[0].m_localPoint.SetV(_arg4.m_p); _arg1.m_points[0].m_id.key = 0; }; }; } public static function TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } } }//package Box2D.Collision
Section 8
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { import Box2D.Common.*; public class b2ContactID { public var features:Features; b2internal var _key:uint; public function b2ContactID(){ features = new Features(); super(); features._m_id = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; features._referenceEdge = (_key & 0xFF); features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF); features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF); features._flip = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 9
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var shape1:b2Shape; public var shape2:b2Shape; public var position:b2Vec2; public var velocity:b2Vec2; public var normal:b2Vec2; public var separation:Number; public var friction:Number; public var restitution:Number; public var id:b2ContactID; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 10
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var b2_gjkCalls:int; private static var b2_gjkIters:int; private static var b2_gjkMaxIters:int; private static var s_simplex:b2Simplex = new b2Simplex(); private static var s_saveA:Array = new Array(3); private static var s_saveB:Array = new Array(3); public static function Distance(_arg1:b2DistanceOutput, _arg2:b2SimplexCache, _arg3:b2DistanceInput):void{ var _local17:int; var _local18:b2Vec2; var _local20:b2Vec2; var _local21:b2SimplexVertex; var _local22:Boolean; var _local23:Number; var _local24:Number; var _local25:b2Vec2; b2_gjkCalls++; var _local4:b2DistanceProxy = _arg3.proxyA; var _local5:b2DistanceProxy = _arg3.proxyB; var _local6:b2Transform = _arg3.transformA; var _local7:b2Transform = _arg3.transformB; var _local8:b2Simplex = s_simplex; _local8.ReadCache(_arg2, _local4, _local6, _local5, _local7); var _local9:Array = _local8.m_vertices; var _local10 = 20; var _local11:Array = s_saveA; var _local12:Array = s_saveB; var _local13:int; var _local14:b2Vec2 = _local8.GetClosestPoint(); var _local15:Number = _local14.LengthSquared(); var _local16:Number = _local15; var _local19:int; while (_local19 < _local10) { _local13 = _local8.m_count; _local17 = 0; while (_local17 < _local13) { _local11[_local17] = _local9[_local17].indexA; _local12[_local17] = _local9[_local17].indexB; _local17++; }; switch (_local8.m_count){ case 1: break; case 2: _local8.Solve2(); break; case 3: _local8.Solve3(); break; default: b2Settings.b2Assert(false); }; if (_local8.m_count == 3){ break; }; _local18 = _local8.GetClosestPoint(); _local16 = _local18.LengthSquared(); if (_local16 > _local15){ }; _local15 = _local16; _local20 = _local8.GetSearchDirection(); if (_local20.LengthSquared() < (Number.MIN_VALUE * Number.MIN_VALUE)){ break; }; _local21 = _local9[_local8.m_count]; _local21.indexA = _local4.GetSupport(b2Math.MulTMV(_local6.R, _local20.GetNegative())); _local21.wA = b2Math.MulX(_local6, _local4.GetVertex(_local21.indexA)); _local21.indexB = _local5.GetSupport(b2Math.MulTMV(_local7.R, _local20)); _local21.wB = b2Math.MulX(_local7, _local5.GetVertex(_local21.indexB)); _local21.w = b2Math.SubtractVV(_local21.wB, _local21.wA); _local19++; b2_gjkIters++; _local22 = false; _local17 = 0; while (_local17 < _local13) { if ((((_local21.indexA == _local11[_local17])) && ((_local21.indexB == _local12[_local17])))){ _local22 = true; break; }; _local17++; }; if (_local22){ break; }; _local8.m_count++; }; b2_gjkMaxIters = b2Math.Max(b2_gjkMaxIters, _local19); _local8.GetWitnessPoints(_arg1.pointA, _arg1.pointB); _arg1.distance = b2Math.SubtractVV(_arg1.pointA, _arg1.pointB).Length(); _arg1.iterations = _local19; _local8.WriteCache(_arg2); if (_arg3.useRadii){ _local23 = _local4.m_radius; _local24 = _local5.m_radius; if ((((_arg1.distance > (_local23 + _local24))) && ((_arg1.distance > Number.MIN_VALUE)))){ _arg1.distance = (_arg1.distance - (_local23 + _local24)); _local25 = b2Math.SubtractVV(_arg1.pointB, _arg1.pointA); _local25.Normalize(); _arg1.pointA.x = (_arg1.pointA.x + (_local23 * _local25.x)); _arg1.pointA.y = (_arg1.pointA.y + (_local23 * _local25.y)); _arg1.pointB.x = (_arg1.pointB.x - (_local24 * _local25.x)); _arg1.pointB.y = (_arg1.pointB.y - (_local24 * _local25.y)); } else { _local18 = new b2Vec2(); _local18.x = (0.5 * (_arg1.pointA.x + _arg1.pointB.x)); _local18.y = (0.5 * (_arg1.pointA.y + _arg1.pointB.y)); _arg1.pointA.x = (_arg1.pointB.x = _local18.x); _arg1.pointA.y = (_arg1.pointB.y = _local18.y); _arg1.distance = 0; }; }; } } }//package Box2D.Collision
Section 11
//b2DistanceInput (Box2D.Collision.b2DistanceInput) package Box2D.Collision { import Box2D.Common.Math.*; public class b2DistanceInput { public var proxyA:b2DistanceProxy; public var proxyB:b2DistanceProxy; public var transformA:b2Transform; public var transformB:b2Transform; public var useRadii:Boolean; } }//package Box2D.Collision
Section 12
//b2DistanceOutput (Box2D.Collision.b2DistanceOutput) package Box2D.Collision { import Box2D.Common.Math.*; public class b2DistanceOutput { public var pointA:b2Vec2; public var pointB:b2Vec2; public var distance:Number; public var iterations:int; public function b2DistanceOutput(){ pointA = new b2Vec2(); pointB = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 13
//b2DistanceProxy (Box2D.Collision.b2DistanceProxy) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2DistanceProxy { public var m_vertices:Array; public var m_count:int; public var m_radius:Number; public function Set(_arg1:b2Shape):void{ var _local2:b2CircleShape; var _local3:b2PolygonShape; switch (_arg1.GetType()){ case b2Shape.e_circleShape: _local2 = (_arg1 as b2CircleShape); m_vertices = new Array(1, true); m_vertices[0] = _local2.m_p; m_count = 1; m_radius = _local2.m_radius; break; case b2Shape.e_polygonShape: _local3 = (_arg1 as b2PolygonShape); m_vertices = _local3.m_vertices; m_count = _local3.m_vertexCount; m_radius = _local3.m_radius; break; default: b2Settings.b2Assert(false); }; } public function GetSupport(_arg1:b2Vec2):Number{ var _local5:Number; var _local2:int; var _local3:Number = ((m_vertices[0].x * _arg1.x) + (m_vertices[0].y * _arg1.y)); var _local4 = 1; while (_local4 < m_count) { _local5 = ((m_vertices[_local4].x * _arg1.x) + (m_vertices[_local4].y * _arg1.y)); if (_local5 > _local3){ _local2 = _local4; _local3 = _local5; }; _local4++; }; return (_local2); } public function GetSupportVertex(_arg1:b2Vec2):b2Vec2{ var _local5:Number; var _local2:int; var _local3:Number = ((m_vertices[0].x * _arg1.x) + (m_vertices[0].y * _arg1.y)); var _local4 = 1; while (_local4 < m_count) { _local5 = ((m_vertices[_local4].x * _arg1.x) + (m_vertices[_local4].y * _arg1.y)); if (_local5 > _local3){ _local2 = _local4; _local3 = _local5; }; _local4++; }; return (m_vertices[_local2]); } public function GetVertexCount():int{ return (m_count); } public function GetVertex(_arg1:int):b2Vec2{ b2Settings.b2Assert((((0 <= _arg1)) && ((_arg1 < m_count)))); return (m_vertices[_arg1]); } } }//package Box2D.Collision
Section 14
//b2DynamicTree (Box2D.Collision.b2DynamicTree) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2DynamicTree { private var m_root:b2DynamicTreeNode; private var m_freeList:b2DynamicTreeNode; private var m_path:uint; private var m_insertionCount:int; public function b2DynamicTree(){ m_root = null; m_freeList = null; m_path = 0; m_insertionCount = 0; } public function CreateProxy(_arg1:b2AABB, _arg2):b2DynamicTreeNode{ var _local3:b2DynamicTreeNode; var _local4:Number; var _local5:Number; _local3 = AllocateNode(); _local4 = b2Settings.b2_aabbExtension; _local5 = b2Settings.b2_aabbExtension; _local3.aabb.lowerBound.x = (_arg1.lowerBound.x - _local4); _local3.aabb.lowerBound.y = (_arg1.lowerBound.y - _local5); _local3.aabb.upperBound.x = (_arg1.upperBound.x + _local4); _local3.aabb.upperBound.y = (_arg1.upperBound.y + _local5); _local3.userData = _arg2; InsertLeaf(_local3); return (_local3); } public function DestroyProxy(_arg1:b2DynamicTreeNode):void{ RemoveLeaf(_arg1); FreeNode(_arg1); } public function MoveProxy(_arg1:b2DynamicTreeNode, _arg2:b2AABB, _arg3:b2Vec2):Boolean{ var _local4:Number; var _local5:Number; b2Settings.b2Assert(_arg1.IsLeaf()); if (_arg1.aabb.Contains(_arg2)){ return (false); }; RemoveLeaf(_arg1); _local4 = (b2Settings.b2_aabbExtension + (b2Settings.b2_aabbMultiplier * ((_arg3.x > 0)) ? _arg3.x : -(_arg3.x))); _local5 = (b2Settings.b2_aabbExtension + (b2Settings.b2_aabbMultiplier * ((_arg3.y > 0)) ? _arg3.y : -(_arg3.y))); _arg1.aabb.lowerBound.x = (_arg2.lowerBound.x - _local4); _arg1.aabb.lowerBound.y = (_arg2.lowerBound.y - _local5); _arg1.aabb.upperBound.x = (_arg2.upperBound.x + _local4); _arg1.aabb.upperBound.y = (_arg2.upperBound.y + _local5); InsertLeaf(_arg1); return (true); } public function Rebalance(_arg1:int):void{ var _local3:b2DynamicTreeNode; var _local4:uint; if (m_root == null){ return; }; var _local2:int; while (_local2 < _arg1) { _local3 = m_root; _local4 = 0; while (_local3.IsLeaf() == false) { _local3 = (((m_path >> _local4) & 1)) ? _local3.child2 : _local3.child1; _local4 = ((_local4 + 1) & 31); }; m_path++; RemoveLeaf(_local3); InsertLeaf(_local3); _local2++; }; } public function GetFatAABB(_arg1:b2DynamicTreeNode):b2AABB{ return (_arg1.aabb); } public function GetUserData(_arg1:b2DynamicTreeNode){ return (_arg1.userData); } public function Query(_arg1:Function, _arg2:b2AABB):void{ var _local5:b2DynamicTreeNode; var _local6:Boolean; if (m_root == null){ return; }; var _local3:Array = new Array(); var _local4:int; var _temp1 = _local4; _local4 = (_local4 + 1); var _local7 = _temp1; _local3[_local7] = m_root; while (_local4 > 0) { --_local4; _local5 = _local3[_local4]; if (_local5.aabb.TestOverlap(_arg2)){ if (_local5.IsLeaf()){ _local6 = _arg1(_local5); if (!_local6){ return; }; } else { var _temp2 = _local4; _local4 = (_local4 + 1); var _local8 = _temp2; _local3[_local8] = _local5.child1; var _temp3 = _local4; _local4 = (_local4 + 1); var _local9 = _temp3; _local3[_local9] = _local5.child2; }; }; }; } public function RayCast(_arg1:Function, _arg2:b2RayCastInput):void{ var _local3:b2Vec2; var _local9:b2AABB; var _local10:Number; var _local11:Number; var _local14:b2DynamicTreeNode; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:Number; var _local18:b2RayCastInput; if (m_root == null){ return; }; _local3 = _arg2.p1; var _local4:b2Vec2 = _arg2.p2; var _local5:b2Vec2 = b2Math.SubtractVV(_local3, _local4); _local5.Normalize(); var _local6:b2Vec2 = b2Math.CrossFV(1, _local5); var _local7:b2Vec2 = b2Math.AbsV(_local6); var _local8:Number = _arg2.maxFraction; _local9 = new b2AABB(); _local10 = (_local3.x + (_local8 * (_local4.x - _local3.x))); _local11 = (_local3.y + (_local8 * (_local4.y - _local3.y))); _local9.lowerBound.x = Math.min(_local3.x, _local10); _local9.lowerBound.y = Math.min(_local3.y, _local11); _local9.upperBound.x = Math.max(_local3.x, _local10); _local9.upperBound.y = Math.max(_local3.y, _local11); var _local12:Array = new Array(); var _local13:int; var _temp1 = _local13; _local13 = (_local13 + 1); var _local19 = _temp1; _local12[_local19] = m_root; while (_local13 > 0) { --_local13; _local14 = _local12[_local13]; if (_local14.aabb.TestOverlap(_local9) == false){ } else { _local15 = _local14.aabb.GetCenter(); _local16 = _local14.aabb.GetExtents(); _local17 = ((Math.abs(((_local6.x * (_local3.x - _local15.x)) + (_local6.y * (_local3.y - _local15.y)))) - (_local7.x * _local16.x)) - (_local7.y * _local16.y)); if (_local17 > 0){ } else { if (_local14.IsLeaf()){ _local18 = new b2RayCastInput(); _local18.p1 = _arg2.p1; _local18.p2 = _arg2.p2; _local18.maxFraction = _arg2.maxFraction; _local8 = _arg1(_local18, _local14); if (_local8 == 0){ return; }; _local10 = (_local3.x + (_local8 * (_local4.x - _local3.x))); _local11 = (_local3.y + (_local8 * (_local4.y - _local3.y))); _local9.lowerBound.x = Math.min(_local3.x, _local10); _local9.lowerBound.y = Math.min(_local3.y, _local11); _local9.upperBound.x = Math.max(_local3.x, _local10); _local9.upperBound.y = Math.max(_local3.y, _local11); } else { var _temp2 = _local13; _local13 = (_local13 + 1); var _local20 = _temp2; _local12[_local20] = _local14.child1; var _temp3 = _local13; _local13 = (_local13 + 1); var _local21 = _temp3; _local12[_local21] = _local14.child2; }; }; }; }; } private function AllocateNode():b2DynamicTreeNode{ var _local1:b2DynamicTreeNode; if (m_freeList){ _local1 = m_freeList; m_freeList = _local1.parent; _local1.parent = null; _local1.child1 = null; _local1.child2 = null; return (_local1); }; return (new b2DynamicTreeNode()); } private function FreeNode(_arg1:b2DynamicTreeNode):void{ _arg1.parent = m_freeList; m_freeList = _arg1; } private function InsertLeaf(_arg1:b2DynamicTreeNode):void{ var _local6:b2DynamicTreeNode; var _local7:b2DynamicTreeNode; var _local8:Number; var _local9:Number; m_insertionCount++; if (m_root == null){ m_root = _arg1; m_root.parent = null; return; }; var _local2:b2Vec2 = _arg1.aabb.GetCenter(); var _local3:b2DynamicTreeNode = m_root; if (_local3.IsLeaf() == false){ do { _local6 = _local3.child1; _local7 = _local3.child2; _local8 = (Math.abs((((_local6.aabb.lowerBound.x + _local6.aabb.upperBound.x) / 2) - _local2.x)) + Math.abs((((_local6.aabb.lowerBound.y + _local6.aabb.upperBound.y) / 2) - _local2.y))); _local9 = (Math.abs((((_local7.aabb.lowerBound.x + _local7.aabb.upperBound.x) / 2) - _local2.x)) + Math.abs((((_local7.aabb.lowerBound.y + _local7.aabb.upperBound.y) / 2) - _local2.y))); if (_local8 < _local9){ _local3 = _local6; } else { _local3 = _local7; }; } while (_local3.IsLeaf() == false); }; var _local4:b2DynamicTreeNode = _local3.parent; var _local5:b2DynamicTreeNode = AllocateNode(); _local5.parent = _local4; _local5.userData = null; _local5.aabb.Combine(_arg1.aabb, _local3.aabb); if (_local4){ if (_local3.parent.child1 == _local3){ _local4.child1 = _local5; } else { _local4.child2 = _local5; }; _local5.child1 = _local3; _local5.child2 = _arg1; _local3.parent = _local5; _arg1.parent = _local5; do { } while (!(_local4.aabb.Contains(_local5.aabb))); } else { _local5.child1 = _local3; _local5.child2 = _arg1; _local3.parent = _local5; _arg1.parent = _local5; m_root = _local5; }; } private function RemoveLeaf(_arg1:b2DynamicTreeNode):void{ var _local4:b2DynamicTreeNode; var _local5:b2AABB; if (_arg1 == m_root){ m_root = null; return; }; var _local2:b2DynamicTreeNode = _arg1.parent; var _local3:b2DynamicTreeNode = _local2.parent; if (_local2.child1 == _arg1){ _local4 = _local2.child2; } else { _local4 = _local2.child1; }; if (_local3){ if (_local3.child1 == _local2){ _local3.child1 = _local4; } else { _local3.child2 = _local4; }; _local4.parent = _local3; FreeNode(_local2); while (_local3) { _local5 = _local3.aabb; _local3.aabb = b2AABB.Combine(_local3.child1.aabb, _local3.child2.aabb); if (_local5.Contains(_local3.aabb)){ break; }; _local3 = _local3.parent; }; } else { m_root = _local4; _local4.parent = null; FreeNode(_local2); }; } } }//package Box2D.Collision
Section 15
//b2DynamicTreeBroadPhase (Box2D.Collision.b2DynamicTreeBroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; public class b2DynamicTreeBroadPhase implements IBroadPhase { private var m_tree:b2DynamicTree; private var m_proxyCount:int; private var m_moveBuffer:Array; private var m_pairBuffer:Array; private var m_pairCount:int;// = 0 public function b2DynamicTreeBroadPhase(){ m_tree = new b2DynamicTree(); m_moveBuffer = new Array(); m_pairBuffer = new Array(); super(); } public function CreateProxy(_arg1:b2AABB, _arg2){ var _local3:b2DynamicTreeNode = m_tree.CreateProxy(_arg1, _arg2); m_proxyCount++; BufferMove(_local3); return (_local3); } public function DestroyProxy(_arg1):void{ UnBufferMove(_arg1); m_proxyCount--; m_tree.DestroyProxy(_arg1); } public function MoveProxy(_arg1, _arg2:b2AABB, _arg3:b2Vec2):void{ var _local4:Boolean = m_tree.MoveProxy(_arg1, _arg2, _arg3); if (_local4){ BufferMove(_arg1); }; } public function TestOverlap(_arg1, _arg2):Boolean{ var _local3:b2AABB = m_tree.GetFatAABB(_arg1); var _local4:b2AABB = m_tree.GetFatAABB(_arg2); return (_local3.TestOverlap(_local4)); } public function GetUserData(_arg1){ return (m_tree.GetUserData(_arg1)); } public function GetFatAABB(_arg1):b2AABB{ return (m_tree.GetFatAABB(_arg1)); } public function GetProxyCount():int{ return (m_proxyCount); } public function UpdatePairs(_arg1:Function):void{ var queryProxy:b2DynamicTreeNode; var i:int; var fatAABB:b2AABB; var primaryPair:b2DynamicTreePair; var userDataA:*; var userDataB:*; var pair:b2DynamicTreePair; var callback = _arg1; m_pairCount = 0; for each (queryProxy in m_moveBuffer) { var QueryCallback:Function = function (_arg1:b2DynamicTreeNode):Boolean{ if (_arg1 == queryProxy){ return (true); }; if (m_pairCount == m_pairBuffer.length){ m_pairBuffer[m_pairCount] = new b2DynamicTreePair(); }; var _local2:b2DynamicTreePair = m_pairBuffer[m_pairCount]; _local2.proxyA = ((_arg1 < queryProxy)) ? _arg1 : queryProxy; _local2.proxyB = ((_arg1 >= queryProxy)) ? _arg1 : queryProxy; m_pairCount++; return (true); }; fatAABB = m_tree.GetFatAABB(queryProxy); m_tree.Query(QueryCallback, fatAABB); }; m_moveBuffer.length = 0; i = 0; while (i < m_pairCount) { primaryPair = m_pairBuffer[i]; userDataA = m_tree.GetUserData(primaryPair.proxyA); userDataB = m_tree.GetUserData(primaryPair.proxyB); callback(userDataA, userDataB); i = (i + 1); while (i < m_pairCount) { pair = m_pairBuffer[i]; if (((!((pair.proxyA == primaryPair.proxyA))) || (!((pair.proxyB == primaryPair.proxyB))))){ break; }; i = (i + 1); }; }; } public function Query(_arg1:Function, _arg2:b2AABB):void{ m_tree.Query(_arg1, _arg2); } public function RayCast(_arg1:Function, _arg2:b2RayCastInput):void{ m_tree.RayCast(_arg1, _arg2); } public function Validate():void{ } public function Rebalance(_arg1:int):void{ m_tree.Rebalance(_arg1); } private function BufferMove(_arg1:b2DynamicTreeNode):void{ m_moveBuffer[m_moveBuffer.length] = _arg1; } private function UnBufferMove(_arg1:b2DynamicTreeNode):void{ var _local2:int = m_moveBuffer.indexOf(_arg1); m_moveBuffer.splice(_local2, 1); } private function ComparePairs(_arg1:b2DynamicTreePair, _arg2:b2DynamicTreePair):int{ return (0); } } }//package Box2D.Collision
Section 16
//b2DynamicTreeNode (Box2D.Collision.b2DynamicTreeNode) package Box2D.Collision { public class b2DynamicTreeNode { public var userData; public var aabb:b2AABB; public var parent:b2DynamicTreeNode; public var child1:b2DynamicTreeNode; public var child2:b2DynamicTreeNode; public function b2DynamicTreeNode(){ aabb = new b2AABB(); super(); } public function IsLeaf():Boolean{ return ((child1 == null)); } } }//package Box2D.Collision
Section 17
//b2DynamicTreePair (Box2D.Collision.b2DynamicTreePair) package Box2D.Collision { public class b2DynamicTreePair { public var proxyA:b2DynamicTreeNode; public var proxyB:b2DynamicTreeNode; } }//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var m_points:Array; public var m_localPlaneNormal:b2Vec2; public var m_localPoint:b2Vec2; public var m_type:int; public var m_pointCount:int;// = 0 public static const e_circles:int = 1; public static const e_faceA:int = 2; public static const e_faceB:int = 4; public function b2Manifold(){ m_points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { m_points[_local1] = new b2ManifoldPoint(); _local1++; }; m_localPlaneNormal = new b2Vec2(); m_localPoint = new b2Vec2(); } public function Reset():void{ var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { (m_points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; m_localPlaneNormal.SetZero(); m_localPoint.SetZero(); m_type = 0; m_pointCount = 0; } public function Set(_arg1:b2Manifold):void{ m_pointCount = _arg1.m_pointCount; var _local2:int; while (_local2 < b2Settings.b2_maxManifoldPoints) { (m_points[_local2] as b2ManifoldPoint).Set(_arg1.m_points[_local2]); _local2++; }; m_localPlaneNormal.SetV(_arg1.m_localPlaneNormal); m_localPoint.SetV(_arg1.m_localPoint); m_type = _arg1.m_type; } public function Copy():b2Manifold{ var _local1:b2Manifold = new b2Manifold(); _local1.Set(this); return (_local1); } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var m_localPoint:b2Vec2; public var m_normalImpulse:Number; public var m_tangentImpulse:Number; public var m_id:b2ContactID; public function b2ManifoldPoint(){ m_localPoint = new b2Vec2(); m_id = new b2ContactID(); super(); Reset(); } public function Reset():void{ m_localPoint.SetZero(); m_normalImpulse = 0; m_tangentImpulse = 0; m_id.key = 0; } public function Set(_arg1:b2ManifoldPoint):void{ m_localPoint.SetV(_arg1.m_localPoint); m_normalImpulse = _arg1.m_normalImpulse; m_tangentImpulse = _arg1.m_tangentImpulse; m_id.Set(_arg1.m_id); } } }//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
//b2RayCastInput (Box2D.Collision.b2RayCastInput) package Box2D.Collision { import Box2D.Common.Math.*; public class b2RayCastInput { public var p1:b2Vec2; public var p2:b2Vec2; public var maxFraction:Number; public function b2RayCastInput(_arg1:b2Vec2=null, _arg2:b2Vec2=null, _arg3:Number=1){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); if (_arg1){ this.p1.SetV(_arg1); }; if (_arg2){ this.p2.SetV(_arg2); }; this.maxFraction = _arg3; } } }//package Box2D.Collision
Section 22
//b2RayCastOutput (Box2D.Collision.b2RayCastOutput) package Box2D.Collision { import Box2D.Common.Math.*; public class b2RayCastOutput { public var normal:b2Vec2; public var fraction:Number; public function b2RayCastOutput(){ normal = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 23
//b2SeparationFunction (Box2D.Collision.b2SeparationFunction) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; class b2SeparationFunction { public var m_proxyA:b2DistanceProxy; public var m_proxyB:b2DistanceProxy; public var m_type:int; public var m_localPoint:b2Vec2; public var m_axis:b2Vec2; public static const e_points:int = 1; public static const e_faceA:int = 2; public static const e_faceB:int = 4; function b2SeparationFunction(){ m_localPoint = new b2Vec2(); m_axis = new b2Vec2(); super(); } public function Initialize(_arg1:b2SimplexCache, _arg2:b2DistanceProxy, _arg3:b2Transform, _arg4:b2DistanceProxy, _arg5:b2Transform):void{ var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2Mat22; var _local20:b2Vec2; var _local21:Number; var _local22:Number; var _local23:b2Vec2; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:b2Vec2; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; m_proxyA = _arg2; m_proxyB = _arg4; var _local6:int = _arg1.count; b2Settings.b2Assert((((0 < _local6)) && ((_local6 < 3)))); if (_local6 == 1){ m_type = e_points; _local7 = m_proxyA.GetVertex(_arg1.indexA[0]); _local10 = m_proxyB.GetVertex(_arg1.indexB[0]); _local20 = _local7; _local19 = _arg3.R; _local13 = (_arg3.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local14 = (_arg3.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local20 = _local10; _local19 = _arg5.R; _local15 = (_arg5.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local16 = (_arg5.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); m_axis.x = (_local15 - _local13); m_axis.y = (_local16 - _local14); m_axis.Normalize(); } else { if (_arg1.indexB[0] == _arg1.indexB[1]){ m_type = e_faceA; _local8 = m_proxyA.GetVertex(_arg1.indexA[0]); _local9 = m_proxyA.GetVertex(_arg1.indexA[1]); _local10 = m_proxyB.GetVertex(_arg1.indexB[0]); m_localPoint.x = (0.5 * (_local8.x + _local9.x)); m_localPoint.y = (0.5 * (_local8.y + _local9.y)); m_axis = b2Math.CrossVF(b2Math.SubtractVV(_local9, _local8), 1); m_axis.Normalize(); _local20 = m_axis; _local19 = _arg3.R; _local17 = ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y)); _local18 = ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y)); _local20 = m_localPoint; _local19 = _arg3.R; _local13 = (_arg3.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local14 = (_arg3.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local20 = _local10; _local19 = _arg5.R; _local15 = (_arg5.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local16 = (_arg5.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local21 = (((_local15 - _local13) * _local17) + ((_local16 - _local14) * _local18)); if (_local21 < 0){ m_axis.NegativeSelf(); }; } else { if (_arg1.indexA[0] == _arg1.indexA[0]){ m_type = e_faceB; _local11 = m_proxyB.GetVertex(_arg1.indexB[0]); _local12 = m_proxyB.GetVertex(_arg1.indexB[1]); _local7 = m_proxyA.GetVertex(_arg1.indexA[0]); m_localPoint.x = (0.5 * (_local11.x + _local12.x)); m_localPoint.y = (0.5 * (_local11.y + _local12.y)); m_axis = b2Math.CrossVF(b2Math.SubtractVV(_local12, _local11), 1); m_axis.Normalize(); _local20 = m_axis; _local19 = _arg5.R; _local17 = ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y)); _local18 = ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y)); _local20 = m_localPoint; _local19 = _arg5.R; _local15 = (_arg5.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local16 = (_arg5.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local20 = _local7; _local19 = _arg3.R; _local13 = (_arg3.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local14 = (_arg3.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local21 = (((_local13 - _local15) * _local17) + ((_local14 - _local16) * _local18)); if (_local21 < 0){ m_axis.NegativeSelf(); }; } else { _local8 = m_proxyA.GetVertex(_arg1.indexA[0]); _local9 = m_proxyA.GetVertex(_arg1.indexA[1]); _local11 = m_proxyB.GetVertex(_arg1.indexB[0]); _local12 = m_proxyB.GetVertex(_arg1.indexB[1]); _local23 = b2Math.MulX(_arg3, _local7); _local24 = b2Math.MulMV(_arg3.R, b2Math.SubtractVV(_local9, _local8)); _local25 = b2Math.MulX(_arg5, _local10); _local26 = b2Math.MulMV(_arg5.R, b2Math.SubtractVV(_local12, _local11)); _local27 = ((_local24.x * _local24.x) + (_local24.y * _local24.y)); _local28 = ((_local26.x * _local26.x) + (_local26.y * _local26.y)); _local29 = b2Math.SubtractVV(_local26, _local24); _local30 = ((_local24.x * _local29.x) + (_local24.y * _local29.y)); _local31 = ((_local26.x * _local29.x) + (_local26.y * _local29.y)); _local32 = ((_local24.x * _local26.x) + (_local24.y * _local26.y)); _local33 = ((_local27 * _local28) - (_local32 * _local32)); _local21 = 0; if (_local33 != 0){ _local21 = b2Math.Clamp((((_local32 * _local31) - (_local30 * _local28)) / _local33), 0, 1); }; _local34 = (((_local32 * _local21) + _local31) / _local28); if (_local34 < 0){ _local34 = 0; _local21 = b2Math.Clamp(((_local32 - _local30) / _local27), 0, 1); }; _local7 = new b2Vec2(); _local7.x = (_local8.x + (_local21 * (_local9.x - _local8.x))); _local7.y = (_local8.y + (_local21 * (_local9.y - _local8.y))); _local10 = new b2Vec2(); _local10.x = (_local11.x + (_local21 * (_local12.x - _local11.x))); _local10.y = (_local11.y + (_local21 * (_local12.y - _local11.y))); if ((((_local21 == 0)) || ((_local21 == 1)))){ m_type = e_faceB; m_axis = b2Math.CrossVF(b2Math.SubtractVV(_local12, _local11), 1); m_localPoint = _local10; _local20 = m_axis; _local19 = _arg5.R; _local17 = ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y)); _local18 = ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y)); _local20 = m_localPoint; _local19 = _arg5.R; _local15 = (_arg5.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local16 = (_arg5.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local20 = _local7; _local19 = _arg3.R; _local13 = (_arg3.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local14 = (_arg3.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local22 = (((_local13 - _local15) * _local17) + ((_local14 - _local16) * _local18)); if (_local21 < 0){ m_axis.NegativeSelf(); }; } else { m_type = e_faceA; m_axis = b2Math.CrossVF(b2Math.SubtractVV(_local9, _local8), 1); m_localPoint = _local7; _local20 = m_axis; _local19 = _arg3.R; _local17 = ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y)); _local18 = ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y)); _local20 = m_localPoint; _local19 = _arg3.R; _local13 = (_arg3.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local14 = (_arg3.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local20 = _local10; _local19 = _arg5.R; _local15 = (_arg5.position.x + ((_local19.col1.x * _local20.x) + (_local19.col2.x * _local20.y))); _local16 = (_arg5.position.y + ((_local19.col1.y * _local20.x) + (_local19.col2.y * _local20.y))); _local22 = (((_local15 - _local13) * _local17) + ((_local16 - _local14) * _local18)); if (_local21 < 0){ m_axis.NegativeSelf(); }; }; }; }; }; } public function Evaluate(_arg1:b2Transform, _arg2:b2Transform):Number{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:b2Vec2; switch (m_type){ case e_points: _local3 = b2Math.MulTMV(_arg1.R, m_axis); _local4 = b2Math.MulTMV(_arg2.R, m_axis.GetNegative()); _local5 = m_proxyA.GetSupportVertex(_local3); _local6 = m_proxyB.GetSupportVertex(_local4); _local7 = b2Math.MulX(_arg1, _local5); _local8 = b2Math.MulX(_arg2, _local6); _local9 = (((_local8.x - _local7.x) * m_axis.x) + ((_local8.y - _local7.y) * m_axis.y)); return (_local9); case e_faceA: _local10 = b2Math.MulMV(_arg1.R, m_axis); _local7 = b2Math.MulX(_arg1, m_localPoint); _local4 = b2Math.MulTMV(_arg2.R, _local10.GetNegative()); _local6 = m_proxyB.GetSupportVertex(_local4); _local8 = b2Math.MulX(_arg2, _local6); _local9 = (((_local8.x - _local7.x) * _local10.x) + ((_local8.y - _local7.y) * _local10.y)); return (_local9); case e_faceB: _local10 = b2Math.MulMV(_arg2.R, m_axis); _local8 = b2Math.MulX(_arg2, m_localPoint); _local3 = b2Math.MulTMV(_arg1.R, _local10.GetNegative()); _local5 = m_proxyA.GetSupportVertex(_local3); _local7 = b2Math.MulX(_arg1, _local5); _local9 = (((_local7.x - _local8.x) * _local10.x) + ((_local7.y - _local8.y) * _local10.y)); return (_local9); default: b2Settings.b2Assert(false); return (0); }; } } }//package Box2D.Collision
Section 24
//b2Simplex (Box2D.Collision.b2Simplex) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; class b2Simplex { public var m_v1:b2SimplexVertex; public var m_v2:b2SimplexVertex; public var m_v3:b2SimplexVertex; public var m_vertices:Array; public var m_count:int; function b2Simplex(){ m_v1 = new b2SimplexVertex(); m_v2 = new b2SimplexVertex(); m_v3 = new b2SimplexVertex(); m_vertices = new Array(3); super(); m_vertices[0] = m_v1; m_vertices[1] = m_v2; m_vertices[2] = m_v3; } public function ReadCache(_arg1:b2SimplexCache, _arg2:b2DistanceProxy, _arg3:b2Transform, _arg4:b2DistanceProxy, _arg5:b2Transform):void{ var _local6:b2Vec2; var _local7:b2Vec2; var _local10:b2SimplexVertex; var _local11:Number; var _local12:Number; b2Settings.b2Assert((((0 <= _arg1.count)) && ((_arg1.count <= 3)))); m_count = _arg1.count; var _local8:Array = m_vertices; var _local9:int; while (_local9 < m_count) { _local10 = _local8[_local9]; _local10.indexA = _arg1.indexA[_local9]; _local10.indexB = _arg1.indexB[_local9]; _local6 = _arg2.GetVertex(_local10.indexA); _local7 = _arg4.GetVertex(_local10.indexB); _local10.wA = b2Math.MulX(_arg3, _local6); _local10.wB = b2Math.MulX(_arg5, _local6); _local10.w = b2Math.SubtractVV(_local10.wB, _local10.wA); _local10.a = 0; _local9++; }; if (m_count > 1){ _local11 = _arg1.metric; _local12 = GetMetric(); if ((((((_local12 < (0.5 * _local11))) || (((2 * _local11) < _local12)))) || ((_local12 < Number.MIN_VALUE)))){ m_count = 0; }; }; if (m_count == 0){ _local10 = _local8[0]; _local10.indexA = 0; _local10.indexB = 0; _local6 = _arg2.GetVertex(0); _local7 = _arg4.GetVertex(0); _local10.wA = b2Math.MulX(_arg3, _local6); _local10.wB = b2Math.MulX(_arg5, _local7); _local10.w = b2Math.SubtractVV(_local10.wB, _local10.wA); m_count = 1; }; } public function WriteCache(_arg1:b2SimplexCache):void{ _arg1.metric = GetMetric(); _arg1.count = uint(m_count); var _local2:Array = m_vertices; var _local3:int; while (_local3 < m_count) { _arg1.indexA[_local3] = uint(_local2[_local3].indexA); _arg1.indexB[_local3] = uint(_local2[_local3].indexB); _local3++; }; } public function GetSearchDirection():b2Vec2{ var _local1:b2Vec2; var _local2:Number; switch (m_count){ case 1: return (m_v1.w.GetNegative()); case 2: _local1 = b2Math.SubtractVV(m_v2.w, m_v1.w); _local2 = b2Math.CrossVV(_local1, m_v1.w.GetNegative()); if (_local2 > 0){ return (b2Math.CrossFV(1, _local1)); }; return (b2Math.CrossVF(_local1, 1)); default: b2Settings.b2Assert(false); return (new b2Vec2()); }; } public function GetClosestPoint():b2Vec2{ switch (m_count){ case 0: b2Settings.b2Assert(false); return (new b2Vec2()); case 1: return (m_v1.w); case 2: return (new b2Vec2(((m_v1.a * m_v1.w.x) + (m_v2.a * m_v2.w.x)), ((m_v1.a * m_v1.w.y) + (m_v2.a * m_v2.w.y)))); default: b2Settings.b2Assert(false); return (new b2Vec2()); }; } public function GetWitnessPoints(_arg1:b2Vec2, _arg2:b2Vec2):void{ switch (m_count){ case 0: b2Settings.b2Assert(false); break; case 1: _arg1.SetV(m_v1.wA); _arg2.SetV(m_v1.wB); break; case 2: _arg1.x = ((m_v1.a * m_v1.wA.x) + (m_v2.a * m_v2.wA.x)); _arg1.y = ((m_v1.a * m_v1.wA.y) + (m_v2.a * m_v2.wA.y)); _arg2.x = ((m_v1.a * m_v1.wB.x) + (m_v2.a * m_v2.wB.x)); _arg2.y = ((m_v1.a * m_v1.wB.y) + (m_v2.a * m_v2.wB.y)); break; case 3: _arg2.x = (_arg1.x = (((m_v1.a * m_v1.wA.x) + (m_v2.a * m_v2.wA.x)) + (m_v3.a * m_v3.wA.x))); _arg2.y = (_arg1.y = (((m_v1.a * m_v1.wA.y) + (m_v2.a * m_v2.wA.y)) + (m_v3.a * m_v3.wA.y))); break; default: b2Settings.b2Assert(false); break; }; } public function GetMetric():Number{ switch (m_count){ case 0: b2Settings.b2Assert(false); return (0); case 1: return (0); case 2: return (b2Math.SubtractVV(m_v1.w, m_v2.w).Length()); case 3: return (b2Math.CrossVV(b2Math.SubtractVV(m_v2.w, m_v1.w), b2Math.SubtractVV(m_v3.w, m_v1.w))); default: b2Settings.b2Assert(false); return (0); }; } public function Solve2():void{ var _local1:b2Vec2 = m_v1.w; var _local2:b2Vec2 = m_v2.w; var _local3:b2Vec2 = b2Math.SubtractVV(_local2, _local1); var _local4:Number = -(((_local1.x * _local3.x) + (_local1.y * _local3.y))); if (_local4 <= 0){ m_v1.a = 1; m_count = 1; return; }; var _local5:Number = ((_local2.x * _local3.x) + (_local2.y * _local3.y)); if (_local5 <= 0){ m_v2.a = 1; m_count = 1; m_v1.Set(m_v2); return; }; var _local6:Number = (1 / (_local5 + _local4)); m_v1.a = (_local5 * _local6); m_v2.a = (_local4 * _local6); m_count = 2; } public function Solve3():void{ var _local24:Number; var _local25:Number; var _local26:Number; var _local1:b2Vec2 = m_v1.w; var _local2:b2Vec2 = m_v2.w; var _local3:b2Vec2 = m_v3.w; var _local4:b2Vec2 = b2Math.SubtractVV(_local2, _local1); var _local5:Number = b2Math.Dot(_local1, _local4); var _local6:Number = b2Math.Dot(_local2, _local4); var _local7:Number = _local6; var _local8:Number = -(_local5); var _local9:b2Vec2 = b2Math.SubtractVV(_local3, _local1); var _local10:Number = b2Math.Dot(_local1, _local9); var _local11:Number = b2Math.Dot(_local3, _local9); var _local12:Number = _local11; var _local13:Number = -(_local10); var _local14:b2Vec2 = b2Math.SubtractVV(_local3, _local2); var _local15:Number = b2Math.Dot(_local2, _local14); var _local16:Number = b2Math.Dot(_local3, _local14); var _local17:Number = _local16; var _local18:Number = -(_local15); var _local19:Number = b2Math.CrossVV(_local4, _local9); var _local20:Number = (_local19 * b2Math.CrossVV(_local2, _local3)); var _local21:Number = (_local19 * b2Math.CrossVV(_local3, _local1)); var _local22:Number = (_local19 * b2Math.CrossVV(_local1, _local2)); if ((((_local8 <= 0)) && ((_local13 <= 0)))){ m_v1.a = 1; m_count = 1; return; }; if ((((((_local7 > 0)) && ((_local8 > 0)))) && ((_local22 <= 0)))){ _local24 = (1 / (_local7 + _local8)); m_v1.a = (_local7 * _local24); m_v2.a = (_local8 * _local24); m_count = 2; return; }; if ((((((_local12 > 0)) && ((_local13 > 0)))) && ((_local21 <= 0)))){ _local25 = (1 / (_local12 + _local13)); m_v1.a = (_local12 * _local25); m_v3.a = (_local13 * _local25); m_count = 2; m_v2.Set(m_v3); return; }; if ((((_local7 <= 0)) && ((_local18 <= 0)))){ m_v2.a = 1; m_count = 1; m_v1.Set(m_v2); return; }; if ((((_local12 <= 0)) && ((_local17 <= 0)))){ m_v3.a = 1; m_count = 1; m_v1.Set(m_v3); return; }; if ((((((_local17 > 0)) && ((_local18 > 0)))) && ((_local20 <= 0)))){ _local26 = (1 / (_local17 + _local18)); m_v2.a = (_local17 * _local26); m_v3.a = (_local18 * _local26); m_count = 2; m_v1.Set(m_v3); return; }; var _local23:Number = (1 / ((_local20 + _local21) + _local22)); m_v1.a = (_local20 * _local23); m_v2.a = (_local21 * _local23); m_v3.a = (_local22 * _local23); m_count = 3; } } }//package Box2D.Collision
Section 25
//b2SimplexCache (Box2D.Collision.b2SimplexCache) package Box2D.Collision { public class b2SimplexCache { public var metric:Number; public var count:uint; public var indexA:Array; public var indexB:Array; public function b2SimplexCache(){ indexA = new Array(3); indexB = new Array(3); super(); } } }//package Box2D.Collision
Section 26
//b2SimplexVertex (Box2D.Collision.b2SimplexVertex) package Box2D.Collision { import Box2D.Common.Math.*; class b2SimplexVertex { public var wA:b2Vec2; public var wB:b2Vec2; public var w:b2Vec2; public var a:Number; public var indexA:int; public var indexB:int; public function Set(_arg1:b2SimplexVertex):void{ wA.SetV(_arg1.wA); wB.SetV(_arg1.wB); w.SetV(_arg1.w); a = _arg1.a; indexA = _arg1.indexA; indexB = _arg1.indexB; } } }//package Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2TimeOfImpact { private static var b2_toiCalls:int = 0; private static var b2_toiIters:int = 0; private static var b2_toiMaxIters:int = 0; private static var b2_toiRootIters:int = 0; private static var b2_toiMaxRootIters:int = 0; private static var s_cache:b2SimplexCache = new b2SimplexCache(); private static var s_distanceInput:b2DistanceInput = new b2DistanceInput(); private static var s_xfA:b2Transform = new b2Transform(); private static var s_xfB:b2Transform = new b2Transform(); private static var s_fcn:b2SeparationFunction = new b2SeparationFunction(); private static var s_distanceOutput:b2DistanceOutput = new b2DistanceOutput(); public static function TimeOfImpact(_arg1:b2TOIInput):Number{ var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; b2_toiCalls++; var _local2:b2DistanceProxy = _arg1.proxyA; var _local3:b2DistanceProxy = _arg1.proxyB; var _local4:b2Sweep = _arg1.sweepA; var _local5:b2Sweep = _arg1.sweepB; b2Settings.b2Assert((_local4.t0 == _local5.t0)); b2Settings.b2Assert(((1 - _local4.t0) > Number.MIN_VALUE)); var _local6:Number = (_local2.m_radius + _local3.m_radius); var _local7:Number = _arg1.tolerance; var _local8:Number = 0; var _local9 = 1000; var _local10:int; var _local11:Number = 0; s_cache.count = 0; s_distanceInput.useRadii = false; while (true) { _local4.GetTransform(s_xfA, _local8); _local5.GetTransform(s_xfB, _local8); s_distanceInput.proxyA = _local2; s_distanceInput.proxyB = _local3; s_distanceInput.transformA = s_xfA; s_distanceInput.transformB = s_xfB; b2Distance.Distance(s_distanceOutput, s_cache, s_distanceInput); if (s_distanceOutput.distance <= 0){ _local8 = 1; break; }; s_fcn.Initialize(s_cache, _local2, s_xfA, _local3, s_xfB); _local12 = s_fcn.Evaluate(s_xfA, s_xfB); if (_local12 <= 0){ _local8 = 1; break; }; if (_local10 == 0){ if (_local12 > _local6){ _local11 = b2Math.Max((_local6 - _local7), (0.75 * _local6)); } else { _local11 = b2Math.Max((_local12 - _local7), (0.02 * _local6)); }; }; if ((_local12 - _local11) < (0.5 * _local7)){ if (_local10 == 0){ _local8 = 1; break; }; break; }; _local13 = _local8; _local14 = _local8; _local15 = 1; _local16 = _local12; _local4.GetTransform(s_xfA, _local15); _local5.GetTransform(s_xfB, _local15); _local17 = s_fcn.Evaluate(s_xfA, s_xfB); if (_local17 >= _local11){ _local8 = 1; break; }; _local18 = 0; while (true) { if ((_local18 & 1)){ _local19 = (_local14 + (((_local11 - _local16) * (_local15 - _local14)) / (_local17 - _local16))); } else { _local19 = (0.5 * (_local14 + _local15)); }; _local4.GetTransform(s_xfA, _local19); _local5.GetTransform(s_xfB, _local19); _local20 = s_fcn.Evaluate(s_xfA, s_xfB); if (b2Math.Abs((_local20 - _local11)) < (0.025 * _local7)){ _local13 = _local19; break; }; if (_local20 > _local11){ _local14 = _local19; _local16 = _local20; } else { _local15 = _local19; _local17 = _local20; }; _local18++; b2_toiRootIters++; if (_local18 == 50){ break; }; }; b2_toiMaxRootIters = b2Math.Max(b2_toiMaxRootIters, _local18); if (_local13 < ((1 + (100 * Number.MIN_VALUE)) * _local8)){ break; }; _local8 = _local13; _local10++; b2_toiIters++; if (_local10 == _local9){ break; }; }; b2_toiMaxIters = b2Math.Max(b2_toiMaxIters, _local10); return (_local8); } } }//package Box2D.Collision
Section 28
//b2TOIInput (Box2D.Collision.b2TOIInput) package Box2D.Collision { import Box2D.Common.Math.*; public class b2TOIInput { public var proxyA:b2DistanceProxy; public var proxyB:b2DistanceProxy; public var sweepA:b2Sweep; public var sweepB:b2Sweep; public var tolerance:Number; public function b2TOIInput(){ proxyA = new b2DistanceProxy(); proxyB = new b2DistanceProxy(); sweepA = new b2Sweep(); sweepB = new b2Sweep(); super(); } } }//package Box2D.Collision
Section 29
//b2WorldManifold (Box2D.Collision.b2WorldManifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2WorldManifold { public var m_normal:b2Vec2; public var m_points:Array; public function b2WorldManifold(){ m_normal = new b2Vec2(); super(); m_points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { m_points[_local1] = new b2Vec2(); _local1++; }; } public function Initialize(_arg1:b2Manifold, _arg2:b2Transform, _arg3:Number, _arg4:b2Transform, _arg5:Number):void{ var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; 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; if (_arg1.m_pointCount == 0){ return; }; switch (_arg1.m_type){ case b2Manifold.e_circles: _local8 = _arg2.R; _local7 = _arg1.m_localPoint; _local15 = ((_arg2.position.x + (_local8.col1.x * _local7.x)) + (_local8.col2.x * _local7.y)); _local16 = ((_arg2.position.y + (_local8.col1.y * _local7.x)) + (_local8.col2.y * _local7.y)); _local8 = _arg4.R; _local7 = _arg1.m_points[0].m_localPoint; _local17 = ((_arg4.position.x + (_local8.col1.x * _local7.x)) + (_local8.col2.x * _local7.y)); _local18 = ((_arg4.position.y + (_local8.col1.y * _local7.x)) + (_local8.col2.y * _local7.y)); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local21 = ((_local19 * _local19) + (_local20 * _local20)); if (_local21 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local26 = Math.sqrt(_local21); m_normal.x = (_local19 / _local26); m_normal.y = (_local20 / _local26); } else { m_normal.x = 1; m_normal.y = 0; }; _local22 = (_local15 + (_arg3 * m_normal.x)); _local23 = (_local16 + (_arg3 * m_normal.y)); _local24 = (_local17 - (_arg5 * m_normal.x)); _local25 = (_local18 - (_arg5 * m_normal.y)); m_points[0].x = (0.5 * (_local22 + _local24)); m_points[0].y = (0.5 * (_local23 + _local25)); break; case b2Manifold.e_faceA: _local8 = _arg2.R; _local7 = _arg1.m_localPlaneNormal; _local9 = ((_local8.col1.x * _local7.x) + (_local8.col2.x * _local7.y)); _local10 = ((_local8.col1.y * _local7.x) + (_local8.col2.y * _local7.y)); _local8 = _arg2.R; _local7 = _arg1.m_localPoint; _local11 = ((_arg2.position.x + (_local8.col1.x * _local7.x)) + (_local8.col2.x * _local7.y)); _local12 = ((_arg2.position.y + (_local8.col1.y * _local7.x)) + (_local8.col2.y * _local7.y)); m_normal.x = _local9; m_normal.y = _local10; _local6 = 0; while (_local6 < _arg1.m_pointCount) { _local8 = _arg4.R; _local7 = _arg1.m_points[_local6].m_localPoint; _local13 = ((_arg4.position.x + (_local8.col1.x * _local7.x)) + (_local8.col2.x * _local7.y)); _local14 = ((_arg4.position.y + (_local8.col1.y * _local7.x)) + (_local8.col2.y * _local7.y)); m_points[_local6].x = (_local13 + ((0.5 * (((_arg3 - ((_local13 - _local11) * _local9)) - ((_local14 - _local12) * _local10)) - _arg5)) * _local9)); m_points[_local6].y = (_local14 + ((0.5 * (((_arg3 - ((_local13 - _local11) * _local9)) - ((_local14 - _local12) * _local10)) - _arg5)) * _local10)); _local6++; }; break; case b2Manifold.e_faceB: _local8 = _arg4.R; _local7 = _arg1.m_localPlaneNormal; _local9 = ((_local8.col1.x * _local7.x) + (_local8.col2.x * _local7.y)); _local10 = ((_local8.col1.y * _local7.x) + (_local8.col2.y * _local7.y)); _local8 = _arg4.R; _local7 = _arg1.m_localPoint; _local11 = ((_arg4.position.x + (_local8.col1.x * _local7.x)) + (_local8.col2.x * _local7.y)); _local12 = ((_arg4.position.y + (_local8.col1.y * _local7.x)) + (_local8.col2.y * _local7.y)); m_normal.x = -(_local9); m_normal.y = -(_local10); _local6 = 0; while (_local6 < _arg1.m_pointCount) { _local8 = _arg2.R; _local7 = _arg1.m_points[_local6].m_localPoint; _local13 = ((_arg2.position.x + (_local8.col1.x * _local7.x)) + (_local8.col2.x * _local7.y)); _local14 = ((_arg2.position.y + (_local8.col1.y * _local7.x)) + (_local8.col2.y * _local7.y)); m_points[_local6].x = (_local13 + ((0.5 * (((_arg5 - ((_local13 - _local11) * _local9)) - ((_local14 - _local12) * _local10)) - _arg3)) * _local9)); m_points[_local6].y = (_local14 + ((0.5 * (((_arg5 - ((_local13 - _local11) * _local9)) - ((_local14 - _local12) * _local10)) - _arg3)) * _local10)); _local6++; }; break; }; } } }//package Box2D.Collision
Section 30
//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(); } public function Set(_arg1:ClipVertex):void{ v.SetV(_arg1.v); id.Set(_arg1.id); } } }//package Box2D.Collision
Section 31
//Features (Box2D.Collision.Features) package Box2D.Collision { import Box2D.Common.*; public class Features { b2internal var _referenceEdge:int; b2internal var _incidentEdge:int; b2internal var _incidentVertex:int; b2internal var _flip:int; b2internal var _m_id:b2ContactID; public function get referenceEdge():int{ return (_referenceEdge); } public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function get incidentEdge():int{ return (_incidentEdge); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set incidentVertex(_arg1:int):void{ _incidentVertex = _arg1; _m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000)); } public function get flip():int{ return (_flip); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } } }//package Box2D.Collision
Section 32
//IBroadPhase (Box2D.Collision.IBroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; public interface IBroadPhase { function CreateProxy(_arg1:b2AABB, _arg2); function DestroyProxy(_arg1):void; function MoveProxy(_arg1, _arg2:b2AABB, _arg3:b2Vec2):void; function TestOverlap(_arg1, _arg2):Boolean; function GetUserData(_arg1); function GetFatAABB(_arg1):b2AABB; function GetProxyCount():int; function UpdatePairs(_arg1:Function):void; function Query(_arg1:Function, _arg2:b2AABB):void; function RayCast(_arg1:Function, _arg2:b2RayCastInput):void; function Validate():void; function Rebalance(_arg1:int):void; } }//package Box2D.Collision
Section 33
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(){ col1 = new b2Vec2(); col2 = new b2Vec2(); super(); col1.x = (col2.y = 1); } public function Set(_arg1:Number):void{ var _local2:Number; _local2 = Math.cos(_arg1); var _local3:Number = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function Copy():b2Mat22{ var _local1:b2Mat22 = new b2Mat22(); _local1.SetM(this); return (_local1); } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function GetInverse(_arg1:b2Mat22):b2Mat22{ var _local3:Number; var _local6:Number; var _local2:Number = col1.x; _local3 = col2.x; var _local4:Number = col1.y; var _local5:Number = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); if (_local6 != 0){ _local6 = (1 / _local6); }; _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number = col1.x; var _local5:Number = col2.x; var _local6:Number = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); if (_local8 != 0){ _local8 = (1 / _local8); }; _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } public function Abs():void{ col1.Abs(); col2.Abs(); } public static function FromAngle(_arg1:Number):b2Mat22{ var _local2:b2Mat22 = new (b2Mat22); _local2.Set(_arg1); return (_local2); } public static function FromVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Mat22{ var _local3:b2Mat22 = new (b2Mat22); _local3.SetVV(_arg1, _arg2); return (_local3); } } }//package Box2D.Common.Math
Section 34
//b2Mat33 (Box2D.Common.Math.b2Mat33) package Box2D.Common.Math { public class b2Mat33 { public var col1:b2Vec3; public var col2:b2Vec3; public var col3:b2Vec3; public function b2Mat33(_arg1:b2Vec3=null, _arg2:b2Vec3=null, _arg3:b2Vec3=null){ col1 = new b2Vec3(); col2 = new b2Vec3(); col3 = new b2Vec3(); super(); if (((((!(_arg1)) && (!(_arg2)))) && (!(_arg3)))){ col1.SetZero(); col2.SetZero(); col3.SetZero(); } else { col1.SetV(_arg1); col2.SetV(_arg2); col3.SetV(_arg3); }; } public function SetVVV(_arg1:b2Vec3, _arg2:b2Vec3, _arg3:b2Vec3):void{ col1.SetV(_arg1); col2.SetV(_arg2); col3.SetV(_arg3); } public function Copy():b2Mat33{ return (new b2Mat33(col1, col2, col3)); } public function SetM(_arg1:b2Mat33):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); col3.SetV(_arg1.col3); } public function AddM(_arg1:b2Mat33):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col1.z = (col1.z + _arg1.col1.z); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); col2.z = (col2.z + _arg1.col2.z); col3.x = (col3.x + _arg1.col3.x); col3.y = (col3.y + _arg1.col3.y); col3.z = (col3.z + _arg1.col3.z); } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col3.x = 0; col1.y = 0; col2.y = 1; col3.y = 0; col1.z = 0; col2.z = 0; col3.z = 1; } public function SetZero():void{ col1.x = 0; col2.x = 0; col3.x = 0; col1.y = 0; col2.y = 0; col3.y = 0; col1.z = 0; col2.z = 0; col3.z = 0; } public function Solve22(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local6:Number; _local4 = col1.x; var _local5:Number = col2.x; _local6 = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); if (_local8 != 0){ _local8 = (1 / _local8); }; _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } public function Solve33(_arg1:b2Vec3, _arg2:Number, _arg3:Number, _arg4:Number):b2Vec3{ var _local5:Number = col1.x; var _local6:Number = col1.y; var _local7:Number = col1.z; var _local8:Number = col2.x; var _local9:Number = col2.y; var _local10:Number = col2.z; var _local11:Number = col3.x; var _local12:Number = col3.y; var _local13:Number = col3.z; var _local14:Number = (((_local5 * ((_local9 * _local13) - (_local10 * _local12))) + (_local6 * ((_local10 * _local11) - (_local8 * _local13)))) + (_local7 * ((_local8 * _local12) - (_local9 * _local11)))); if (_local14 != 0){ _local14 = (1 / _local14); }; _arg1.x = (_local14 * (((_arg2 * ((_local9 * _local13) - (_local10 * _local12))) + (_arg3 * ((_local10 * _local11) - (_local8 * _local13)))) + (_arg4 * ((_local8 * _local12) - (_local9 * _local11))))); _arg1.y = (_local14 * (((_local5 * ((_arg3 * _local13) - (_arg4 * _local12))) + (_local6 * ((_arg4 * _local11) - (_arg2 * _local13)))) + (_local7 * ((_arg2 * _local12) - (_arg3 * _local11))))); _arg1.z = (_local14 * (((_local5 * ((_local9 * _arg4) - (_local10 * _arg3))) + (_local6 * ((_local10 * _arg2) - (_local8 * _arg4)))) + (_local7 * ((_local8 * _arg3) - (_local9 * _arg2))))); return (_arg1); } } }//package Box2D.Common.Math
Section 35
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static const b2Mat22_identity:b2Mat22 = b2Mat22.FromVV(new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2Transform_identity:b2Transform = new b2Transform(b2Vec2_zero, b2Mat22_identity); public static function IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } public static function MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(Dot(_arg2, _arg1.col1), Dot(_arg2, _arg1.col2)); return (_local3); } public static function MulX(_arg1:b2Transform, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function MulXT(_arg1:b2Transform, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = b2Mat22.FromVV(AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = b2Mat22.FromVV(MulMV(_arg1, _arg2.col1), MulMV(_arg1, _arg2.col2)); return (_local3); } public static function MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(Dot(_arg1.col1, _arg2.col1), Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(Dot(_arg1.col1, _arg2.col2), Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = b2Mat22.FromVV(_local3, _local4); return (_local5); } public static function Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2 = new b2Vec2(Abs(_arg1.x), Abs(_arg1.y)); return (_local2); } public static function AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = b2Mat22.FromVV(AbsV(_arg1.col1), AbsV(_arg1.col2)); return (_local2); } public static function Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(Min(_arg1.x, _arg2.x), Min(_arg1.y, _arg2.y)); return (_local3); } public static function Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(Max(_arg1.x, _arg2.x), Max(_arg1.y, _arg2.y)); return (_local3); } public static function Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (((_arg1 < _arg2)) ? _arg2 : ((_arg1 > _arg3)) ? _arg3 : _arg1); } public static function ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (MaxV(_arg2, MinV(_arg1, _arg3))); } public static function Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function Random():Number{ return (((Math.random() * 2) - 1)); } public static function RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function NextPowerOfTwo(_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 IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } } }//package Box2D.Common.Math
Section 36
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c0:b2Vec2; public var c:b2Vec2; public var a0:Number; public var a:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Set(_arg1:b2Sweep):void{ localCenter.SetV(_arg1.localCenter); c0.SetV(_arg1.c0); c.SetV(_arg1.c); a0 = _arg1.a0; a = _arg1.a; t0 = _arg1.t0; } public function Copy():b2Sweep{ var _local1:b2Sweep = new b2Sweep(); _local1.localCenter.SetV(localCenter); _local1.c0.SetV(c0); _local1.c.SetV(c); _local1.a0 = a0; _local1.a = a; _local1.t0 = t0; return (_local1); } public function GetTransform(_arg1:b2Transform, _arg2:Number):void{ _arg1.position.x = (((1 - _arg2) * c0.x) + (_arg2 * c.x)); _arg1.position.y = (((1 - _arg2) * c0.y) + (_arg2 * c.y)); var _local3:Number = (((1 - _arg2) * a0) + (_arg2 * a)); _arg1.R.Set(_local3); var _local4:b2Mat22 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local4.col1.x * localCenter.x) + (_local4.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local4.col1.y * localCenter.x) + (_local4.col2.y * localCenter.y))); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } } }//package Box2D.Common.Math
Section 37
//b2Transform (Box2D.Common.Math.b2Transform) package Box2D.Common.Math { public class b2Transform { public var position:b2Vec2; public var R:b2Mat22; public function b2Transform(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } public function Set(_arg1:b2Transform):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function GetAngle():Number{ return (Math.atan2(R.col1.y, R.col1.x)); } } }//package Box2D.Common.Math
Section 38
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetZero():void{ x = 0; y = 0; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function GetNegative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function NegativeSelf():void{ x = -(x); y = -(y); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function MulM(_arg1:b2Mat22):void{ var _local2:Number = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = b2Math.Dot(this, _arg1.col1); y = b2Math.Dot(this, _arg1.col2); x = _local2; } public function CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function Normalize():Number{ var _local1:Number = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; var _local2:Number = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function IsValid():Boolean{ return (((b2Math.IsValid(x)) && (b2Math.IsValid(y)))); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 39
//b2Vec3 (Box2D.Common.Math.b2Vec3) package Box2D.Common.Math { public class b2Vec3 { public var x:Number; public var y:Number; public var z:Number; public function b2Vec3(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ this.x = _arg1; this.y = _arg2; this.z = _arg3; } public function SetZero():void{ x = (y = (z = 0)); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ this.x = _arg1; this.y = _arg2; this.z = _arg3; } public function SetV(_arg1:b2Vec3):void{ x = _arg1.x; y = _arg1.y; z = _arg1.z; } public function GetNegative():b2Vec3{ return (new b2Vec3(-(x), -(y), -(z))); } public function NegativeSelf():void{ x = -(x); y = -(y); z = -(z); } public function Copy():b2Vec3{ return (new b2Vec3(x, y, z)); } public function Add(_arg1:b2Vec3):void{ x = (x + _arg1.x); y = (y + _arg1.y); z = (z + _arg1.z); } public function Subtract(_arg1:b2Vec3):void{ x = (x - _arg1.x); y = (y - _arg1.y); z = (z - _arg1.z); } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); z = (z * _arg1); } } }//package Box2D.Common.Math
Section 40
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = uint((0xFF * b2Math.Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.Clamp(_arg3, 0, 1))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.Clamp(_arg1, 0, 1))); } public function get color():uint{ return ((((_r << 16) | (_g << 8)) | _b)); } } }//package Box2D.Common
Section 41
//b2internal (Box2D.Common.b2internal) package Box2D.Common { public namespace b2internal = "http://www.box2d.org/ns/b2internal"; }//package Box2D.Common
Section 42
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { public class b2Settings { public static const VERSION:String = "2.1alpha"; public static const USHRT_MAX:int = 0xFFFF; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxManifoldPoints:int = 2; public static const b2_aabbExtension:Number = 0.1; public static const b2_aabbMultiplier:Number = 2; public static const b2_polygonRadius:Number = (2 * b2_linearSlop); public static const b2_linearSlop:Number = 0.005; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_toiSlop:Number = 0.04; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_maxTOIJointsPerIsland:int = 32; public static const b2_velocityThreshold:Number = 1; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const b2_maxTranslation:Number = 3; public static const b2_maxTranslationSquared:Number = 9; public static const b2_maxRotation:Number = 1.5707963267949; public static const b2_maxRotationSquared:Number = 2.46740110027234; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_timeToSleep:Number = 0.5; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSleepTolerance:Number = 0.0349065850398866; public static function b2MixFriction(_arg1:Number, _arg2:Number):Number{ return (Math.sqrt((_arg1 * _arg2))); } public static function b2MixRestitution(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2Assert(_arg1:Boolean):void{ if (!_arg1){ throw ("Assertion Failed"); }; } } }//package Box2D.Common
Section 43
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2CircleContact extends b2Contact { public function Reset(_arg1:b2Fixture, _arg2:b2Fixture):void{ super.Reset(_arg1, _arg2); } override b2internal function Evaluate():void{ var _local1:b2Body = m_fixtureA.GetBody(); var _local2:b2Body = m_fixtureB.GetBody(); b2Collision.CollideCircles(m_manifold, (m_fixtureA.GetShape() as b2CircleShape), _local1.m_xf, (m_fixtureB.GetShape() as b2CircleShape), _local2.m_xf); } public static function Create(_arg1):b2Contact{ return (new (b2CircleContact)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 44
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Contact { b2internal var m_flags:uint; b2internal var m_prev:b2Contact; b2internal var m_next:b2Contact; b2internal var m_nodeA:b2ContactEdge; b2internal var m_nodeB:b2ContactEdge; b2internal var m_fixtureA:b2Fixture; b2internal var m_fixtureB:b2Fixture; b2internal var m_manifold:b2Manifold; b2internal var m_oldManifold:b2Manifold; b2internal var m_toi:Number; b2internal static var e_sensorFlag:uint = 1; b2internal static var e_continuousFlag:uint = 2; b2internal static var e_islandFlag:uint = 4; b2internal static var e_toiFlag:uint = 8; b2internal static var e_touchingFlag:uint = 16; b2internal static var e_enabledFlag:uint = 32; b2internal static var e_filterFlag:uint = 64; private static var s_input:b2TOIInput = new b2TOIInput(); public function b2Contact(){ m_nodeA = new b2ContactEdge(); m_nodeB = new b2ContactEdge(); m_manifold = new b2Manifold(); m_oldManifold = new b2Manifold(); super(); } public function GetManifold():b2Manifold{ return (m_manifold); } public function GetWorldManifold(_arg1:b2WorldManifold):void{ var _local2:b2Body = m_fixtureA.GetBody(); var _local3:b2Body = m_fixtureB.GetBody(); var _local4:b2Shape = m_fixtureA.GetShape(); var _local5:b2Shape = m_fixtureB.GetShape(); _arg1.Initialize(m_manifold, _local2.GetTransform(), _local4.m_radius, _local3.GetTransform(), _local5.m_radius); } public function IsTouching():Boolean{ return (((m_flags & e_touchingFlag) == e_touchingFlag)); } public function IsContinuous():Boolean{ return (((m_flags & e_continuousFlag) == e_continuousFlag)); } public function SetSensor(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_sensorFlag); } else { m_flags = (m_flags & ~(e_sensorFlag)); }; } public function IsSensor():Boolean{ return (((m_flags & e_sensorFlag) == e_sensorFlag)); } public function SetEnabled(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_enabledFlag); } else { m_flags = (m_flags & ~(e_enabledFlag)); }; } public function IsEnabled():Boolean{ return (((m_flags & e_enabledFlag) == e_enabledFlag)); } public function GetNext():b2Contact{ return (m_next); } public function GetFixtureA():b2Fixture{ return (m_fixtureA); } public function GetFixtureB():b2Fixture{ return (m_fixtureB); } public function FlagForFiltering():void{ m_flags = (m_flags | e_filterFlag); } b2internal function Reset(_arg1:b2Fixture=null, _arg2:b2Fixture=null):void{ m_flags = e_enabledFlag; if (((!(_arg1)) || (!(_arg2)))){ m_fixtureA = null; m_fixtureB = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_sensorFlag); }; var _local3:b2Body = _arg1.GetBody(); var _local4:b2Body = _arg2.GetBody(); if (((((((!((_local3.GetType() == b2Body.b2_dynamicBody))) || (_local3.IsBullet()))) || (!((_local4.GetType() == b2Body.b2_dynamicBody))))) || (_local4.IsBullet()))){ m_flags = (m_flags | e_continuousFlag); }; m_fixtureA = _arg1; m_fixtureB = _arg2; m_manifold.m_pointCount = 0; m_prev = null; m_next = null; m_nodeA.contact = null; m_nodeA.prev = null; m_nodeA.next = null; m_nodeA.other = null; m_nodeB.contact = null; m_nodeB.prev = null; m_nodeB.next = null; m_nodeB.other = null; } b2internal function Update(_arg1:b2ContactListener):void{ var _local8:b2Shape; var _local9:b2Shape; var _local10:b2Transform; var _local11:b2Transform; var _local12:int; var _local13:b2ManifoldPoint; var _local14:b2ContactID; var _local15:int; var _local16:b2ManifoldPoint; var _local2:b2Manifold = m_oldManifold; m_oldManifold = m_manifold; m_manifold = _local2; m_flags = (m_flags | e_enabledFlag); var _local3:Boolean; var _local4 = ((m_flags & e_touchingFlag) == e_touchingFlag); var _local5:b2Body = m_fixtureA.m_body; var _local6:b2Body = m_fixtureB.m_body; var _local7:Boolean = m_fixtureA.m_aabb.TestOverlap(m_fixtureB.m_aabb); if ((m_flags & e_sensorFlag)){ if (_local7){ _local8 = m_fixtureA.GetShape(); _local9 = m_fixtureB.GetShape(); _local10 = _local5.GetTransform(); _local11 = _local6.GetTransform(); _local3 = b2Shape.TestOverlap(_local8, _local10, _local9, _local11); }; m_manifold.m_pointCount = 0; } else { if (((((((!((_local5.GetType() == b2Body.b2_dynamicBody))) || (_local5.IsBullet()))) || (!((_local6.GetType() == b2Body.b2_dynamicBody))))) || (_local6.IsBullet()))){ m_flags = (m_flags | e_continuousFlag); } else { m_flags = (m_flags & ~(e_continuousFlag)); }; if (_local7){ Evaluate(); _local3 = (m_manifold.m_pointCount > 0); _local12 = 0; while (_local12 < m_manifold.m_pointCount) { _local13 = m_manifold.m_points[_local12]; _local13.m_normalImpulse = 0; _local13.m_tangentImpulse = 0; _local14 = _local13.m_id; _local15 = 0; while (_local15 < m_oldManifold.m_pointCount) { _local16 = m_oldManifold.m_points[_local15]; if (_local16.m_id.key == _local14.key){ _local13.m_normalImpulse = _local16.m_normalImpulse; _local13.m_tangentImpulse = _local16.m_tangentImpulse; break; }; _local15++; }; _local12++; }; } else { m_manifold.m_pointCount = 0; }; if (_local3 != _local4){ _local5.SetAwake(true); _local6.SetAwake(true); }; }; if (_local3){ m_flags = (m_flags | e_touchingFlag); } else { m_flags = (m_flags & ~(e_touchingFlag)); }; if ((((_local4 == false)) && ((_local3 == true)))){ _arg1.BeginContact(this); }; if ((((_local4 == true)) && ((_local3 == false)))){ _arg1.EndContact(this); }; if ((m_flags & e_sensorFlag) == 0){ _arg1.PreSolve(this, m_oldManifold); }; } b2internal function Evaluate():void{ } b2internal function ComputeTOI(_arg1:b2Sweep, _arg2:b2Sweep):Number{ s_input.proxyA.Set(m_fixtureA.GetShape()); s_input.proxyB.Set(m_fixtureB.GetShape()); s_input.sweepA = _arg1; s_input.sweepB = _arg2; s_input.tolerance = b2Settings.b2_linearSlop; return (b2TimeOfImpact.TimeOfImpact(s_input)); } } }//package Box2D.Dynamics.Contacts
Section 45
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var localPlaneNormal:b2Vec2; public var localPoint:b2Vec2; public var normal:b2Vec2; public var normalMass:b2Mat22; public var K:b2Mat22; public var bodyA:b2Body; public var bodyB:b2Body; public var type:int; public var radius:Number; public var friction:Number; public var restitution:Number; public var pointCount:int; public var manifold:b2Manifold; public function b2ContactConstraint(){ localPlaneNormal = new b2Vec2(); localPoint = new b2Vec2(); normal = new b2Vec2(); normalMass = new b2Mat22(); K = new b2Mat22(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 46
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var localPoint:b2Vec2; public var rA:b2Vec2; public var rB:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var normalMass:Number; public var tangentMass:Number; public var equalizedMass:Number; public var velocityBias:Number; public function b2ContactConstraintPoint(){ localPoint = new b2Vec2(); rA = new b2Vec2(); rB = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; public var next:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 48
//b2ContactFactory (Box2D.Dynamics.Contacts.b2ContactFactory) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2ContactFactory { private var m_registers:Array; private var m_allocator; public function b2ContactFactory(_arg1){ m_allocator = _arg1; InitializeRegisters(); } b2internal function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ m_registers[_arg3][_arg4].createFcn = _arg1; m_registers[_arg3][_arg4].destroyFcn = _arg2; m_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ m_registers[_arg4][_arg3].createFcn = _arg1; m_registers[_arg4][_arg3].destroyFcn = _arg2; m_registers[_arg4][_arg3].primary = false; }; } b2internal function InitializeRegisters():void{ var _local2:int; m_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; while (_local1 < b2Shape.e_shapeTypeCount) { m_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { m_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); AddType(b2EdgeAndCircleContact.Create, b2EdgeAndCircleContact.Destroy, b2Shape.e_edgeShape, b2Shape.e_circleShape); AddType(b2PolyAndEdgeContact.Create, b2PolyAndEdgeContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_edgeShape); } public function Create(_arg1:b2Fixture, _arg2:b2Fixture):b2Contact{ var _local6:b2Contact; var _local3:int = _arg1.GetType(); var _local4:int = _arg2.GetType(); var _local5:b2ContactRegister = m_registers[_local3][_local4]; if (_local5.pool){ _local6 = _local5.pool; _local5.pool = _local6.m_next; _local5.poolCount--; _local6.Reset(_arg1, _arg2); return (_local6); }; var _local7:Function = _local5.createFcn; if (_local7 != null){ if (_local5.primary){ _local6 = _local7(m_allocator); _local6.Reset(_arg1, _arg2); return (_local6); }; _local6 = _local7(m_allocator); _local6.Reset(_arg2, _arg1); return (_local6); //unresolved jump }; return (null); } public function Destroy(_arg1:b2Contact):void{ if (_arg1.m_manifold.m_pointCount > 0){ _arg1.m_fixtureA.m_body.SetAwake(true); _arg1.m_fixtureB.m_body.SetAwake(true); }; var _local2:int = _arg1.m_fixtureA.GetType(); var _local3:int = _arg1.m_fixtureB.GetType(); var _local4:b2ContactRegister = m_registers[_local2][_local3]; _local4.poolCount++; _arg1.m_next = _local4.pool; _local4.pool = _arg1; var _local5:Function = _local4.destroyFcn; _local5(_arg1, m_allocator); } } }//package Box2D.Dynamics.Contacts
Section 49
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var createFcn:Function; public var destroyFcn:Function; public var primary:Boolean; public var pool:b2Contact; public var poolCount:int; } }//package Box2D.Dynamics.Contacts
Section 50
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2ContactSolver { private var m_step:b2TimeStep; private var m_allocator; b2internal var m_constraints:Array; private var m_constraintCount:int; private static var s_worldManifold:b2WorldManifold = new b2WorldManifold(); private static var s_psm:b2PositionSolverManifold = new b2PositionSolverManifold(); public function b2ContactSolver(){ m_step = new b2TimeStep(); m_constraints = new Array(); super(); } public function Initialize(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4):void{ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:b2Fixture; var _local10:b2Fixture; var _local11:b2Shape; var _local12:b2Shape; var _local13:Number; var _local14:Number; var _local15:b2Body; var _local16:b2Body; var _local17:b2Manifold; 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:b2ContactConstraint; var _local29:uint; var _local30:b2ManifoldPoint; var _local31:b2ContactConstraintPoint; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; var _local48:b2ContactConstraintPoint; var _local49:b2ContactConstraintPoint; var _local50:Number; var _local51:Number; var _local52:Number; var _local53:Number; var _local54:Number; var _local55:Number; var _local56:Number; var _local57:Number; var _local58:Number; var _local59:Number; var _local60:Number; var _local61:Number; m_step.Set(_arg1); m_allocator = _arg4; m_constraintCount = _arg3; while (m_constraints.length < m_constraintCount) { m_constraints[m_constraints.length] = new b2ContactConstraint(); }; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local9 = _local5.m_fixtureA; _local10 = _local5.m_fixtureB; _local11 = _local9.m_shape; _local12 = _local10.m_shape; _local13 = _local11.m_radius; _local14 = _local12.m_radius; _local15 = _local9.m_body; _local16 = _local10.m_body; _local17 = _local5.GetManifold(); _local18 = b2Settings.b2MixFriction(_local9.GetFriction(), _local10.GetFriction()); _local19 = b2Settings.b2MixRestitution(_local9.GetRestitution(), _local10.GetRestitution()); _local20 = _local15.m_linearVelocity.x; _local21 = _local15.m_linearVelocity.y; _local22 = _local16.m_linearVelocity.x; _local23 = _local16.m_linearVelocity.y; _local24 = _local15.m_angularVelocity; _local25 = _local16.m_angularVelocity; b2Settings.b2Assert((_local17.m_pointCount > 0)); s_worldManifold.Initialize(_local17, _local15.m_xf, _local13, _local16.m_xf, _local14); _local26 = s_worldManifold.m_normal.x; _local27 = s_worldManifold.m_normal.y; _local28 = m_constraints[_local6]; _local28.bodyA = _local15; _local28.bodyB = _local16; _local28.manifold = _local17; _local28.normal.x = _local26; _local28.normal.y = _local27; _local28.pointCount = _local17.m_pointCount; _local28.friction = _local18; _local28.restitution = _local19; _local28.localPlaneNormal.x = _local17.m_localPlaneNormal.x; _local28.localPlaneNormal.y = _local17.m_localPlaneNormal.y; _local28.localPoint.x = _local17.m_localPoint.x; _local28.localPoint.y = _local17.m_localPoint.y; _local28.radius = (_local13 + _local14); _local28.type = _local17.m_type; _local29 = 0; while (_local29 < _local28.pointCount) { _local30 = _local17.m_points[_local29]; _local31 = _local28.points[_local29]; _local31.normalImpulse = _local30.m_normalImpulse; _local31.tangentImpulse = _local30.m_tangentImpulse; _local31.localPoint.SetV(_local30.m_localPoint); _local32 = (_local31.rA.x = (s_worldManifold.m_points[_local29].x - _local15.m_sweep.c.x)); _local33 = (_local31.rA.y = (s_worldManifold.m_points[_local29].y - _local15.m_sweep.c.y)); _local34 = (_local31.rB.x = (s_worldManifold.m_points[_local29].x - _local16.m_sweep.c.x)); _local35 = (_local31.rB.y = (s_worldManifold.m_points[_local29].y - _local16.m_sweep.c.y)); _local36 = ((_local32 * _local27) - (_local33 * _local26)); _local37 = ((_local34 * _local27) - (_local35 * _local26)); _local36 = (_local36 * _local36); _local37 = (_local37 * _local37); _local38 = (((_local15.m_invMass + _local16.m_invMass) + (_local15.m_invI * _local36)) + (_local16.m_invI * _local37)); _local31.normalMass = (1 / _local38); _local39 = ((_local15.m_mass * _local15.m_invMass) + (_local16.m_mass * _local16.m_invMass)); _local39 = (_local39 + (((_local15.m_mass * _local15.m_invI) * _local36) + ((_local16.m_mass * _local16.m_invI) * _local37))); _local31.equalizedMass = (1 / _local39); _local40 = _local27; _local41 = -(_local26); _local42 = ((_local32 * _local41) - (_local33 * _local40)); _local43 = ((_local34 * _local41) - (_local35 * _local40)); _local42 = (_local42 * _local42); _local43 = (_local43 * _local43); _local44 = (((_local15.m_invMass + _local16.m_invMass) + (_local15.m_invI * _local42)) + (_local16.m_invI * _local43)); _local31.tangentMass = (1 / _local44); _local31.velocityBias = 0; _local45 = (((_local22 + (-(_local25) * _local35)) - _local20) - (-(_local24) * _local33)); _local46 = (((_local23 + (_local25 * _local34)) - _local21) - (_local24 * _local32)); _local47 = ((_local28.normal.x * _local45) + (_local28.normal.y * _local46)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local31.velocityBias = (_local31.velocityBias + (-(_local28.restitution) * _local47)); }; _local29++; }; if (_local28.pointCount == 2){ _local48 = _local28.points[0]; _local49 = _local28.points[1]; _local50 = _local15.m_invMass; _local51 = _local15.m_invI; _local52 = _local16.m_invMass; _local53 = _local16.m_invI; _local54 = ((_local48.rA.x * _local27) - (_local48.rA.y * _local26)); _local55 = ((_local48.rB.x * _local27) - (_local48.rB.y * _local26)); _local56 = ((_local49.rA.x * _local27) - (_local49.rA.y * _local26)); _local57 = ((_local49.rB.x * _local27) - (_local49.rB.y * _local26)); _local58 = (((_local50 + _local52) + ((_local51 * _local54) * _local54)) + ((_local53 * _local55) * _local55)); _local59 = (((_local50 + _local52) + ((_local51 * _local56) * _local56)) + ((_local53 * _local57) * _local57)); _local60 = (((_local50 + _local52) + ((_local51 * _local54) * _local56)) + ((_local53 * _local55) * _local57)); _local61 = 100; if ((_local58 * _local58) < (_local61 * ((_local58 * _local59) - (_local60 * _local60)))){ _local28.K.col1.Set(_local58, _local60); _local28.K.col2.Set(_local60, _local59); _local28.K.GetInverse(_local28.normalMass); } else { _local28.pointCount = 1; }; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.bodyA; _local8 = _local6.bodyB; _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.rA.x * _local22) - (_local20.rA.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.rB.x * _local22) - (_local20.rB.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:b2Mat22; var _local23:b2Vec2; var _local25:b2ContactConstraint; var _local26:b2Body; var _local27:b2Body; var _local28:Number; var _local29:Number; var _local30:b2Vec2; var _local31:b2Vec2; 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:int; var _local43:b2ContactConstraintPoint; var _local44:b2ContactConstraintPoint; var _local45:Number; var _local46:Number; var _local47:Number; var _local48:Number; var _local49:Number; var _local50:Number; var _local51:Number; var _local52:Number; var _local53:Number; var _local54:Number; var _local55:Number; var _local56:Number; var _local57:Number; var _local24:int; while (_local24 < m_constraintCount) { _local25 = m_constraints[_local24]; _local26 = _local25.bodyA; _local27 = _local25.bodyB; _local28 = _local26.m_angularVelocity; _local29 = _local27.m_angularVelocity; _local30 = _local26.m_linearVelocity; _local31 = _local27.m_linearVelocity; _local32 = _local26.m_invMass; _local33 = _local26.m_invI; _local34 = _local27.m_invMass; _local35 = _local27.m_invI; _local36 = _local25.normal.x; _local37 = _local25.normal.y; _local38 = _local37; _local39 = -(_local36); _local40 = _local25.friction; _local1 = 0; while (_local1 < _local25.pointCount) { _local2 = _local25.points[_local1]; _local7 = (((_local31.x - (_local29 * _local2.rB.y)) - _local30.x) + (_local28 * _local2.rA.y)); _local8 = (((_local31.y + (_local29 * _local2.rB.x)) - _local30.y) - (_local28 * _local2.rA.x)); _local10 = ((_local7 * _local38) + (_local8 * _local39)); _local11 = (_local2.tangentMass * -(_local10)); _local12 = (_local40 * _local2.normalImpulse); _local13 = b2Math.Clamp((_local2.tangentImpulse + _local11), -(_local12), _local12); _local11 = (_local13 - _local2.tangentImpulse); _local14 = (_local11 * _local38); _local15 = (_local11 * _local39); _local30.x = (_local30.x - (_local32 * _local14)); _local30.y = (_local30.y - (_local32 * _local15)); _local28 = (_local28 - (_local33 * ((_local2.rA.x * _local15) - (_local2.rA.y * _local14)))); _local31.x = (_local31.x + (_local34 * _local14)); _local31.y = (_local31.y + (_local34 * _local15)); _local29 = (_local29 + (_local35 * ((_local2.rB.x * _local15) - (_local2.rB.y * _local14)))); _local2.tangentImpulse = _local13; _local1++; }; _local42 = _local25.pointCount; if (_local25.pointCount == 1){ _local2 = _local25.points[0]; _local7 = (((_local31.x + (-(_local29) * _local2.rB.y)) - _local30.x) - (-(_local28) * _local2.rA.y)); _local8 = (((_local31.y + (_local29 * _local2.rB.x)) - _local30.y) - (_local28 * _local2.rA.x)); _local9 = ((_local7 * _local36) + (_local8 * _local37)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local13 = (_local2.normalImpulse + _local11); _local13 = ((_local13 > 0)) ? _local13 : 0; _local11 = (_local13 - _local2.normalImpulse); _local14 = (_local11 * _local36); _local15 = (_local11 * _local37); _local30.x = (_local30.x - (_local32 * _local14)); _local30.y = (_local30.y - (_local32 * _local15)); _local28 = (_local28 - (_local33 * ((_local2.rA.x * _local15) - (_local2.rA.y * _local14)))); _local31.x = (_local31.x + (_local34 * _local14)); _local31.y = (_local31.y + (_local34 * _local15)); _local29 = (_local29 + (_local35 * ((_local2.rB.x * _local15) - (_local2.rB.y * _local14)))); _local2.normalImpulse = _local13; } else { _local43 = _local25.points[0]; _local44 = _local25.points[1]; _local45 = _local43.normalImpulse; _local46 = _local44.normalImpulse; _local47 = (((_local31.x - (_local29 * _local43.rB.y)) - _local30.x) + (_local28 * _local43.rA.y)); _local48 = (((_local31.y + (_local29 * _local43.rB.x)) - _local30.y) - (_local28 * _local43.rA.x)); _local49 = (((_local31.x - (_local29 * _local44.rB.y)) - _local30.x) + (_local28 * _local44.rA.y)); _local50 = (((_local31.y + (_local29 * _local44.rB.x)) - _local30.y) - (_local28 * _local44.rA.x)); _local51 = ((_local47 * _local36) + (_local48 * _local37)); _local52 = ((_local49 * _local36) + (_local50 * _local37)); _local53 = (_local51 - _local43.velocityBias); _local54 = (_local52 - _local44.velocityBias); _local22 = _local25.K; _local53 = (_local53 - ((_local22.col1.x * _local45) + (_local22.col2.x * _local46))); _local54 = (_local54 - ((_local22.col1.y * _local45) + (_local22.col2.y * _local46))); _local55 = 0.001; while (true) { _local22 = _local25.normalMass; _local56 = -(((_local22.col1.x * _local53) + (_local22.col2.x * _local54))); _local57 = -(((_local22.col1.y * _local53) + (_local22.col2.y * _local54))); if ((((_local56 >= 0)) && ((_local57 >= 0)))){ _local16 = (_local56 - _local45); _local17 = (_local57 - _local46); _local18 = (_local16 * _local36); _local19 = (_local16 * _local37); _local20 = (_local17 * _local36); _local21 = (_local17 * _local37); _local30.x = (_local30.x - (_local32 * (_local18 + _local20))); _local30.y = (_local30.y - (_local32 * (_local19 + _local21))); _local28 = (_local28 - (_local33 * ((((_local43.rA.x * _local19) - (_local43.rA.y * _local18)) + (_local44.rA.x * _local21)) - (_local44.rA.y * _local20)))); _local31.x = (_local31.x + (_local34 * (_local18 + _local20))); _local31.y = (_local31.y + (_local34 * (_local19 + _local21))); _local29 = (_local29 + (_local35 * ((((_local43.rB.x * _local19) - (_local43.rB.y * _local18)) + (_local44.rB.x * _local21)) - (_local44.rB.y * _local20)))); _local43.normalImpulse = _local56; _local44.normalImpulse = _local57; break; }; _local56 = (-(_local43.normalMass) * _local53); _local57 = 0; _local51 = 0; _local52 = ((_local25.K.col1.y * _local56) + _local54); if ((((_local56 >= 0)) && ((_local52 >= 0)))){ _local16 = (_local56 - _local45); _local17 = (_local57 - _local46); _local18 = (_local16 * _local36); _local19 = (_local16 * _local37); _local20 = (_local17 * _local36); _local21 = (_local17 * _local37); _local30.x = (_local30.x - (_local32 * (_local18 + _local20))); _local30.y = (_local30.y - (_local32 * (_local19 + _local21))); _local28 = (_local28 - (_local33 * ((((_local43.rA.x * _local19) - (_local43.rA.y * _local18)) + (_local44.rA.x * _local21)) - (_local44.rA.y * _local20)))); _local31.x = (_local31.x + (_local34 * (_local18 + _local20))); _local31.y = (_local31.y + (_local34 * (_local19 + _local21))); _local29 = (_local29 + (_local35 * ((((_local43.rB.x * _local19) - (_local43.rB.y * _local18)) + (_local44.rB.x * _local21)) - (_local44.rB.y * _local20)))); _local43.normalImpulse = _local56; _local44.normalImpulse = _local57; break; }; _local56 = 0; _local57 = (-(_local44.normalMass) * _local54); _local51 = ((_local25.K.col2.x * _local57) + _local53); _local52 = 0; if ((((_local57 >= 0)) && ((_local51 >= 0)))){ _local16 = (_local56 - _local45); _local17 = (_local57 - _local46); _local18 = (_local16 * _local36); _local19 = (_local16 * _local37); _local20 = (_local17 * _local36); _local21 = (_local17 * _local37); _local30.x = (_local30.x - (_local32 * (_local18 + _local20))); _local30.y = (_local30.y - (_local32 * (_local19 + _local21))); _local28 = (_local28 - (_local33 * ((((_local43.rA.x * _local19) - (_local43.rA.y * _local18)) + (_local44.rA.x * _local21)) - (_local44.rA.y * _local20)))); _local31.x = (_local31.x + (_local34 * (_local18 + _local20))); _local31.y = (_local31.y + (_local34 * (_local19 + _local21))); _local29 = (_local29 + (_local35 * ((((_local43.rB.x * _local19) - (_local43.rB.y * _local18)) + (_local44.rB.x * _local21)) - (_local44.rB.y * _local20)))); _local43.normalImpulse = _local56; _local44.normalImpulse = _local57; break; }; _local56 = 0; _local57 = 0; _local51 = _local53; _local52 = _local54; if ((((_local51 >= 0)) && ((_local52 >= 0)))){ _local16 = (_local56 - _local45); _local17 = (_local57 - _local46); _local18 = (_local16 * _local36); _local19 = (_local16 * _local37); _local20 = (_local17 * _local36); _local21 = (_local17 * _local37); _local30.x = (_local30.x - (_local32 * (_local18 + _local20))); _local30.y = (_local30.y - (_local32 * (_local19 + _local21))); _local28 = (_local28 - (_local33 * ((((_local43.rA.x * _local19) - (_local43.rA.y * _local18)) + (_local44.rA.x * _local21)) - (_local44.rA.y * _local20)))); _local31.x = (_local31.x + (_local34 * (_local18 + _local20))); _local31.y = (_local31.y + (_local34 * (_local19 + _local21))); _local29 = (_local29 + (_local35 * ((((_local43.rB.x * _local19) - (_local43.rB.y * _local18)) + (_local44.rB.x * _local21)) - (_local44.rB.y * _local20)))); _local43.normalImpulse = _local56; _local44.normalImpulse = _local57; break; }; break; }; }; _local26.m_angularVelocity = _local28; _local27.m_angularVelocity = _local29; _local24++; }; } public function FinalizeVelocityConstraints():void{ var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.m_points[_local4]; _local6 = _local2.points[_local4]; _local5.m_normalImpulse = _local6.normalImpulse; _local5.m_tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local4:b2ContactConstraint; var _local5:b2Body; var _local6:b2Body; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:int; var _local13:b2ContactConstraintPoint; 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 _local2:Number = 0; var _local3:int; while (_local3 < m_constraintCount) { _local4 = m_constraints[_local3]; _local5 = _local4.bodyA; _local6 = _local4.bodyB; _local7 = (_local5.m_mass * _local5.m_invMass); _local8 = (_local5.m_mass * _local5.m_invI); _local9 = (_local6.m_mass * _local6.m_invMass); _local10 = (_local6.m_mass * _local6.m_invI); s_psm.Initialize(_local4); _local11 = s_psm.m_normal; _local12 = 0; while (_local12 < _local4.pointCount) { _local13 = _local4.points[_local12]; _local14 = s_psm.m_points[_local12]; _local15 = s_psm.m_separations[_local12]; _local16 = (_local14.x - _local5.m_sweep.c.x); _local17 = (_local14.y - _local5.m_sweep.c.y); _local18 = (_local14.x - _local6.m_sweep.c.x); _local19 = (_local14.y - _local6.m_sweep.c.y); _local2 = ((_local2 < _local15)) ? _local2 : _local15; _local20 = b2Math.Clamp((_arg1 * (_local15 + b2Settings.b2_linearSlop)), -(b2Settings.b2_maxLinearCorrection), 0); _local21 = (-(_local13.equalizedMass) * _local20); _local22 = (_local21 * _local11.x); _local23 = (_local21 * _local11.y); _local5.m_sweep.c.x = (_local5.m_sweep.c.x - (_local7 * _local22)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y - (_local7 * _local23)); _local5.m_sweep.a = (_local5.m_sweep.a - (_local8 * ((_local16 * _local23) - (_local17 * _local22)))); _local5.SynchronizeTransform(); _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_local9 * _local22)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_local9 * _local23)); _local6.m_sweep.a = (_local6.m_sweep.a + (_local10 * ((_local18 * _local23) - (_local19 * _local22)))); _local6.SynchronizeTransform(); _local12++; }; _local3++; }; return ((_local2 > (-1.5 * b2Settings.b2_linearSlop))); } } }//package Box2D.Dynamics.Contacts
Section 51
//b2EdgeAndCircleContact (Box2D.Dynamics.Contacts.b2EdgeAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2EdgeAndCircleContact extends b2Contact { public function Reset(_arg1:b2Fixture, _arg2:b2Fixture):void{ super.Reset(_arg1, _arg2); } override b2internal function Evaluate():void{ var _local1:b2Body = m_fixtureA.GetBody(); var _local2:b2Body = m_fixtureB.GetBody(); b2CollideEdgeAndCircle(m_manifold, (m_fixtureA.GetShape() as b2EdgeShape), _local1.m_xf, (m_fixtureB.GetShape() as b2CircleShape), _local2.m_xf); } private function b2CollideEdgeAndCircle(_arg1:b2Manifold, _arg2:b2EdgeShape, _arg3:b2Transform, _arg4:b2CircleShape, _arg5:b2Transform):void{ } public static function Create(_arg1):b2Contact{ return (new (b2EdgeAndCircleContact)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 52
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { public function Reset(_arg1:b2Fixture, _arg2:b2Fixture):void{ super.Reset(_arg1, _arg2); b2Settings.b2Assert((_arg1.GetType() == b2Shape.e_polygonShape)); b2Settings.b2Assert((_arg2.GetType() == b2Shape.e_circleShape)); } override b2internal function Evaluate():void{ var _local1:b2Body = m_fixtureA.m_body; var _local2:b2Body = m_fixtureB.m_body; b2Collision.CollidePolygonAndCircle(m_manifold, (m_fixtureA.GetShape() as b2PolygonShape), _local1.m_xf, (m_fixtureB.GetShape() as b2CircleShape), _local2.m_xf); } public static function Create(_arg1):b2Contact{ return (new (b2PolyAndCircleContact)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 53
//b2PolyAndEdgeContact (Box2D.Dynamics.Contacts.b2PolyAndEdgeContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndEdgeContact extends b2Contact { public function Reset(_arg1:b2Fixture, _arg2:b2Fixture):void{ super.Reset(_arg1, _arg2); b2Settings.b2Assert((_arg1.GetType() == b2Shape.e_polygonShape)); b2Settings.b2Assert((_arg2.GetType() == b2Shape.e_edgeShape)); } override b2internal function Evaluate():void{ var _local1:b2Body = m_fixtureA.GetBody(); var _local2:b2Body = m_fixtureB.GetBody(); b2CollidePolyAndEdge(m_manifold, (m_fixtureA.GetShape() as b2PolygonShape), _local1.m_xf, (m_fixtureB.GetShape() as b2EdgeShape), _local2.m_xf); } private function b2CollidePolyAndEdge(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2Transform, _arg4:b2EdgeShape, _arg5:b2Transform):void{ } public static function Create(_arg1):b2Contact{ return (new (b2PolyAndEdgeContact)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 54
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolygonContact extends b2Contact { public function Reset(_arg1:b2Fixture, _arg2:b2Fixture):void{ super.Reset(_arg1, _arg2); } override b2internal function Evaluate():void{ var _local1:b2Body = m_fixtureA.GetBody(); var _local2:b2Body = m_fixtureB.GetBody(); b2Collision.CollidePolygons(m_manifold, (m_fixtureA.GetShape() as b2PolygonShape), _local1.m_xf, (m_fixtureB.GetShape() as b2PolygonShape), _local2.m_xf); } public static function Create(_arg1):b2Contact{ return (new (b2PolygonContact)); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } } }//package Box2D.Dynamics.Contacts
Section 55
//b2PositionSolverManifold (Box2D.Dynamics.Contacts.b2PositionSolverManifold) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; class b2PositionSolverManifold { public var m_normal:b2Vec2; public var m_points:Array; public var m_separations:Array; private static var circlePointA:b2Vec2 = new b2Vec2(); private static var circlePointB:b2Vec2 = new b2Vec2(); function b2PositionSolverManifold(){ m_normal = new b2Vec2(); m_separations = new Array(b2Settings.b2_maxManifoldPoints); m_points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { m_points[_local1] = new b2Vec2(); _local1++; }; } public function Initialize(_arg1:b2ContactConstraint):void{ var _local2:int; var _local3:Number; var _local4:Number; var _local5:b2Mat22; var _local6:b2Vec2; 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; b2Settings.b2Assert((_arg1.pointCount > 0)); switch (_arg1.type){ case b2Manifold.e_circles: _local5 = _arg1.bodyA.m_xf.R; _local6 = _arg1.localPoint; _local9 = (_arg1.bodyA.m_xf.position.x + ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y))); _local10 = (_arg1.bodyA.m_xf.position.y + ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y))); _local5 = _arg1.bodyB.m_xf.R; _local6 = _arg1.points[0].localPoint; _local11 = (_arg1.bodyB.m_xf.position.x + ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y))); _local12 = (_arg1.bodyB.m_xf.position.y + ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local16 = Math.sqrt(_local15); m_normal.x = (_local13 / _local16); m_normal.y = (_local14 / _local16); } else { m_normal.x = 1; m_normal.y = 0; }; m_points[0].x = (0.5 * (_local9 + _local11)); m_points[0].y = (0.5 * (_local10 + _local12)); m_separations[0] = (((_local13 * m_normal.x) + (_local14 * m_normal.y)) - _arg1.radius); break; case b2Manifold.e_faceA: _local5 = _arg1.bodyA.m_xf.R; _local6 = _arg1.localPlaneNormal; m_normal.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_normal.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); _local5 = _arg1.bodyA.m_xf.R; _local6 = _arg1.localPoint; _local7 = (_arg1.bodyA.m_xf.position.x + ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y))); _local8 = (_arg1.bodyA.m_xf.position.y + ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y))); _local5 = _arg1.bodyB.m_xf.R; _local2 = 0; while (_local2 < _arg1.pointCount) { _local6 = _arg1.points[_local2].localPoint; _local3 = (_arg1.bodyB.m_xf.position.x + ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y))); _local4 = (_arg1.bodyB.m_xf.position.y + ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y))); m_separations[_local2] = ((((_local3 - _local7) * m_normal.x) + ((_local4 - _local8) * m_normal.y)) - _arg1.radius); m_points[_local2].x = _local3; m_points[_local2].y = _local4; _local2++; }; break; case b2Manifold.e_faceB: _local5 = _arg1.bodyB.m_xf.R; _local6 = _arg1.localPlaneNormal; m_normal.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_normal.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); _local5 = _arg1.bodyB.m_xf.R; _local6 = _arg1.localPoint; _local7 = (_arg1.bodyB.m_xf.position.x + ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y))); _local8 = (_arg1.bodyB.m_xf.position.y + ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y))); _local5 = _arg1.bodyA.m_xf.R; _local2 = 0; while (_local2 < _arg1.pointCount) { _local6 = _arg1.points[_local2].localPoint; _local3 = (_arg1.bodyA.m_xf.position.x + ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y))); _local4 = (_arg1.bodyA.m_xf.position.y + ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y))); m_separations[_local2] = ((((_local3 - _local7) * m_normal.x) + ((_local4 - _local8) * m_normal.y)) - _arg1.radius); m_points[_local2].Set(_local3, _local4); _local2++; }; m_normal.x = (m_normal.x * -1); m_normal.y = (m_normal.y * -1); break; }; } } }//package Box2D.Dynamics.Contacts
Section 56
//b2Controller (Box2D.Dynamics.Controllers.b2Controller) package Box2D.Dynamics.Controllers { import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Controller { b2internal var m_next:b2Controller; b2internal var m_prev:b2Controller; protected var m_bodyList:b2ControllerEdge; protected var m_bodyCount:int; b2internal var m_world:b2World; public function Step(_arg1:b2TimeStep):void{ } public function Draw(_arg1:b2DebugDraw):void{ } public function AddBody(_arg1:b2Body):void{ var _local2:b2ControllerEdge = new b2ControllerEdge(); _local2.controller = this; _local2.body = _arg1; _local2.nextBody = m_bodyList; _local2.prevBody = null; m_bodyList = _local2; if (_local2.nextBody){ _local2.nextBody.prevBody = _local2; }; m_bodyCount++; _local2.nextController = _arg1.m_controllerList; _local2.prevController = null; _arg1.m_controllerList = _local2; if (_local2.nextController){ _local2.nextController.prevController = _local2; }; _arg1.m_controllerCount++; } public function RemoveBody(_arg1:b2Body):void{ var _local2:b2ControllerEdge = _arg1.m_controllerList; while (((_local2) && (!((_local2.controller == this))))) { _local2 = _local2.nextController; }; if (_local2.prevBody){ _local2.prevBody.nextBody = _local2.nextBody; }; if (_local2.nextBody){ _local2.nextBody.prevBody = _local2.prevBody; }; if (_local2.nextController){ _local2.nextController.prevController = _local2.prevController; }; if (_local2.prevController){ _local2.prevController.nextController = _local2.nextController; }; if (m_bodyList == _local2){ m_bodyList = _local2.nextBody; }; if (_arg1.m_controllerList == _local2){ _arg1.m_controllerList = _local2.nextController; }; _arg1.m_controllerCount--; m_bodyCount--; } public function Clear():void{ while (m_bodyList) { RemoveBody(m_bodyList.body); }; } public function GetNext():b2Controller{ return (m_next); } public function GetWorld():b2World{ return (m_world); } public function GetBodyList():b2ControllerEdge{ return (m_bodyList); } } }//package Box2D.Dynamics.Controllers
Section 57
//b2ControllerEdge (Box2D.Dynamics.Controllers.b2ControllerEdge) package Box2D.Dynamics.Controllers { import Box2D.Dynamics.*; public class b2ControllerEdge { public var controller:b2Controller; public var body:b2Body; public var prevBody:b2ControllerEdge; public var nextBody:b2ControllerEdge; public var prevController:b2ControllerEdge; public var nextController:b2ControllerEdge; } }//package Box2D.Dynamics.Controllers
Section 58
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { private var m_localAnchor1:b2Vec2; private var m_localAnchor2:b2Vec2; private var m_u:b2Vec2; private var m_frequencyHz:Number; private var m_dampingRatio:Number; private var m_gamma:Number; private var m_bias:Number; private var m_impulse:Number; private var m_mass:Number; private var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchorA); m_localAnchor2.SetV(_arg1.localAnchorB); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchor1)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2(((_arg1 * m_impulse) * m_u.x), ((_arg1 * m_impulse) * m_u.y))); } override public function GetReactionTorque(_arg1:Number):Number{ return (0); } public function GetLength():Number{ return (m_length); } public function SetLength(_arg1:Number):void{ m_length = _arg1; } public function GetFrequency():Number{ return (m_frequencyHz); } public function SetFrequency(_arg1:Number):void{ m_frequencyHz = _arg1; } public function GetDampingRatio():Number{ return (m_dampingRatio); } public function SetDampingRatio(_arg1:Number):void{ m_dampingRatio = _arg1; } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local7:Number; var _local9:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local4 = m_bodyA; _local5 = m_bodyB; _local2 = _local4.m_xf.R; var _local6:Number = (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; var _local8:Number = (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; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); var _local10:Number = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = ((_local13)!=0) ? (1 / _local13) : 0; if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (_arg1.dt * (_local16 + (_arg1.dt * _local17))); m_gamma = ((m_gamma)!=0) ? (1 / m_gamma) : 0; m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (_local13 + m_gamma); m_mass = ((m_mass)!=0) ? (1 / m_mass) : 0; }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_bodyA; var _local4:b2Body = m_bodyB; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local3:b2Body = m_bodyA; var _local4:b2Body = m_bodyB; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; var _local10:Number = (((_local4.m_sweep.c.x + _local8) - _local3.m_sweep.c.x) - _local5); var _local11:Number = (((_local4.m_sweep.c.y + _local9) - _local3.m_sweep.c.y) - _local6); var _local12:Number = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local12); _local11 = (_local11 / _local12); var _local13:Number = (_local12 - m_length); _local13 = b2Math.Clamp(_local13, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local14:Number = (-(m_mass) * _local13); m_u.Set(_local10, _local11); var _local15:Number = (_local14 * m_u.x); var _local16:Number = (_local14 * m_u.y); _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local15)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local16)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local5 * _local16) - (_local6 * _local15)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local15)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local16)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); return ((b2Math.Abs(_local13) < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 59
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var length:Number; public var frequencyHz:Number; public var dampingRatio:Number; public function b2DistanceJointDef(){ localAnchorA = new b2Vec2(); localAnchorB = 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{ bodyA = _arg1; bodyB = _arg2; localAnchorA.SetV(bodyA.GetLocalPoint(_arg3)); localAnchorB.SetV(bodyB.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 60
//b2FrictionJoint (Box2D.Dynamics.Joints.b2FrictionJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2FrictionJoint extends b2Joint { private var m_localAnchorA:b2Vec2; private var m_localAnchorB:b2Vec2; public var m_linearMass:b2Mat22; public var m_angularMass:Number; private var m_linearImpulse:b2Vec2; private var m_angularImpulse:Number; private var m_maxForce:Number; private var m_maxTorque:Number; public function b2FrictionJoint(_arg1:b2FrictionJointDef){ m_localAnchorA = new b2Vec2(); m_localAnchorB = new b2Vec2(); m_linearMass = new b2Mat22(); m_linearImpulse = new b2Vec2(); super(_arg1); m_localAnchorA.SetV(_arg1.localAnchorA); m_localAnchorB.SetV(_arg1.localAnchorB); m_linearMass.SetZero(); m_angularMass = 0; m_linearImpulse.SetZero(); m_angularImpulse = 0; m_maxForce = _arg1.maxForce; m_maxTorque = _arg1.maxTorque; } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchorA)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchorB)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2((_arg1 * m_linearImpulse.x), (_arg1 * m_linearImpulse.y))); } override public function GetReactionTorque(_arg1:Number):Number{ return ((_arg1 * m_angularImpulse)); } public function SetMaxForce(_arg1:Number):void{ m_maxForce = _arg1; } public function GetMaxForce():Number{ return (m_maxForce); } public function SetMaxTorque(_arg1:Number):void{ m_maxTorque = _arg1; } public function GetMaxTorque():Number{ return (m_maxTorque); } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8:Number; var _local10:Number; var _local12:Number; var _local13:Number; var _local14:b2Mat22; var _local15:b2Vec2; _local4 = m_bodyA; _local5 = m_bodyB; _local2 = _local4.m_xf.R; _local6 = (m_localAnchorA.x - _local4.m_sweep.localCenter.x); var _local7:Number = (m_localAnchorA.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_localAnchorB.x - _local5.m_sweep.localCenter.x); var _local9:Number = (m_localAnchorB.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; _local10 = _local4.m_invMass; var _local11:Number = _local5.m_invMass; _local12 = _local4.m_invI; _local13 = _local5.m_invI; _local14 = new b2Mat22(); _local14.col1.x = (_local10 + _local11); _local14.col2.x = 0; _local14.col1.y = 0; _local14.col2.y = (_local10 + _local11); _local14.col1.x = (_local14.col1.x + ((_local12 * _local7) * _local7)); _local14.col2.x = (_local14.col2.x + ((-(_local12) * _local6) * _local7)); _local14.col1.y = (_local14.col1.y + ((-(_local12) * _local6) * _local7)); _local14.col2.y = (_local14.col2.y + ((_local12 * _local6) * _local6)); _local14.col1.x = (_local14.col1.x + ((_local13 * _local9) * _local9)); _local14.col2.x = (_local14.col2.x + ((-(_local13) * _local8) * _local9)); _local14.col1.y = (_local14.col1.y + ((-(_local13) * _local8) * _local9)); _local14.col2.y = (_local14.col2.y + ((_local13 * _local8) * _local8)); _local14.GetInverse(m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > 0){ m_angularMass = (1 / m_angularMass); }; if (_arg1.warmStarting){ m_linearImpulse.x = (m_linearImpulse.x * _arg1.dtRatio); m_linearImpulse.y = (m_linearImpulse.y * _arg1.dtRatio); m_angularImpulse = (m_angularImpulse * _arg1.dtRatio); _local15 = m_linearImpulse; _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local10 * _local15.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local10 * _local15.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local12 * (((_local6 * _local15.y) - (_local7 * _local15.x)) + m_angularImpulse))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local11 * _local15.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local11 * _local15.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local13 * (((_local8 * _local15.y) - (_local9 * _local15.x)) + m_angularImpulse))); } else { m_linearImpulse.SetZero(); m_angularImpulse = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local18:Number; var _local4:b2Body = m_bodyA; var _local5:b2Body = m_bodyB; var _local6:b2Vec2 = _local4.m_linearVelocity; var _local7:Number = _local4.m_angularVelocity; var _local8:b2Vec2 = _local5.m_linearVelocity; var _local9:Number = _local5.m_angularVelocity; var _local10:Number = _local4.m_invMass; var _local11:Number = _local5.m_invMass; var _local12:Number = _local4.m_invI; var _local13:Number = _local5.m_invI; _local2 = _local4.m_xf.R; var _local14:Number = (m_localAnchorA.x - _local4.m_sweep.localCenter.x); var _local15:Number = (m_localAnchorA.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local14) + (_local2.col2.x * _local15)); _local15 = ((_local2.col1.y * _local14) + (_local2.col2.y * _local15)); _local14 = _local3; _local2 = _local5.m_xf.R; var _local16:Number = (m_localAnchorB.x - _local5.m_sweep.localCenter.x); var _local17:Number = (m_localAnchorB.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local16) + (_local2.col2.x * _local17)); _local17 = ((_local2.col1.y * _local16) + (_local2.col2.y * _local17)); _local16 = _local3; var _local19:Number = (_local9 - _local7); var _local20:Number = (-(m_angularMass) * _local19); var _local21:Number = m_angularImpulse; _local18 = (_arg1.dt * m_maxTorque); m_angularImpulse = b2Math.Clamp((m_angularImpulse + _local20), -(_local18), _local18); _local20 = (m_angularImpulse - _local21); _local7 = (_local7 - (_local12 * _local20)); _local9 = (_local9 + (_local13 * _local20)); var _local22:Number = (((_local8.x - (_local9 * _local17)) - _local6.x) + (_local7 * _local15)); var _local23:Number = (((_local8.y + (_local9 * _local16)) - _local6.y) - (_local7 * _local14)); var _local24:b2Vec2 = b2Math.MulMV(m_linearMass, new b2Vec2(-(_local22), -(_local23))); var _local25:b2Vec2 = m_linearImpulse.Copy(); m_linearImpulse.Add(_local24); _local18 = (_arg1.dt * m_maxForce); if (m_linearImpulse.LengthSquared() > (_local18 * _local18)){ m_linearImpulse.Normalize(); m_linearImpulse.Multiply(_local18); }; _local24 = b2Math.SubtractVV(m_linearImpulse, _local25); _local6.x = (_local6.x - (_local10 * _local24.x)); _local6.y = (_local6.y - (_local10 * _local24.y)); _local7 = (_local7 - (_local12 * ((_local14 * _local24.y) - (_local15 * _local24.x)))); _local8.x = (_local8.x + (_local11 * _local24.x)); _local8.y = (_local8.y + (_local11 * _local24.y)); _local9 = (_local9 + (_local13 * ((_local16 * _local24.y) - (_local17 * _local24.x)))); _local4.m_angularVelocity = _local7; _local5.m_angularVelocity = _local9; } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ return (true); } } }//package Box2D.Dynamics.Joints
Section 61
//b2FrictionJointDef (Box2D.Dynamics.Joints.b2FrictionJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2FrictionJointDef extends b2JointDef { public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var maxForce:Number; public var maxTorque:Number; public function b2FrictionJointDef(){ localAnchorA = new b2Vec2(); localAnchorB = new b2Vec2(); super(); type = b2Joint.e_frictionJoint; maxForce = 0; maxTorque = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ bodyA = _arg1; bodyB = _arg2; localAnchorA.SetV(bodyA.GetLocalPoint(_arg3)); localAnchorB.SetV(bodyB.GetLocalPoint(_arg3)); } } }//package Box2D.Dynamics.Joints
Section 62
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { private var m_ground1:b2Body; private var m_ground2:b2Body; private var m_revolute1:b2RevoluteJoint; private var m_prismatic1:b2PrismaticJoint; private var m_revolute2:b2RevoluteJoint; private var m_prismatic2:b2PrismaticJoint; private var m_groundAnchor1:b2Vec2; private var m_groundAnchor2:b2Vec2; private var m_localAnchor1:b2Vec2; private var m_localAnchor2:b2Vec2; private var m_J:b2Jacobian; private var m_constant:Number; private var m_ratio:Number; private var m_mass:Number; private var m_impulse:Number; public function b2GearJoint(_arg1:b2GearJointDef){ var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); var _local2:int = _arg1.joint1.m_type; var _local3:int = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.GetBodyA(); m_bodyA = _arg1.joint1.GetBodyB(); if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.GetBodyA(); m_bodyB = _arg1.joint2.GetBodyB(); if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_impulse = 0; } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchor1)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2(((_arg1 * m_impulse) * m_J.linearB.x), ((_arg1 * m_impulse) * m_J.linearB.y))); } override public function GetReactionTorque(_arg1:Number):Number{ var _local2:b2Mat22 = m_bodyB.m_xf.R; var _local3:Number = (m_localAnchor1.x - m_bodyB.m_sweep.localCenter.x); var _local4:Number = (m_localAnchor1.y - m_bodyB.m_sweep.localCenter.y); var _local5:Number = ((_local2.col1.x * _local3) + (_local2.col2.x * _local4)); _local4 = ((_local2.col1.y * _local3) + (_local2.col2.y * _local4)); _local3 = _local5; var _local6:Number = (m_impulse * m_J.linearB.x); var _local7:Number = (m_impulse * m_J.linearB.y); return ((_arg1 * (((m_impulse * m_J.angularB) - (_local3 * _local7)) + (_local4 * _local6)))); } public function GetRatio():Number{ return (m_ratio); } public function SetRatio(_arg1:Number):void{ m_ratio = _arg1; } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4: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 _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; _local4 = m_bodyA; var _local5:b2Body = m_bodyB; var _local14:Number = 0; m_J.SetZero(); if (m_revolute1){ m_J.angularA = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linearA.Set(-(_local6), -(_local7)); m_J.angularA = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angularB = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linearB.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angularB = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = ((_local14 > 0)) ? (1 / _local14) : 0; if (_arg1.warmStarting){ _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * m_impulse) * m_J.linearA.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * m_impulse) * m_J.linearA.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * m_impulse) * m_J.angularA)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * m_impulse) * m_J.linearB.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * m_impulse) * m_J.linearB.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * m_impulse) * m_J.angularB)); } else { m_impulse = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = (-(m_mass) * _local4); m_impulse = (m_impulse + _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local5) * m_J.linearA.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local5) * m_J.linearA.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local5) * m_J.angularA)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local5) * m_J.linearB.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local5) * m_J.linearB.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local5) * m_J.angularB)); } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local5:Number; var _local6:Number; var _local2:Number = 0; var _local3:b2Body = m_bodyA; var _local4:b2Body = m_bodyB; if (m_revolute1){ _local5 = m_revolute1.GetJointAngle(); } else { _local5 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local6 = m_revolute2.GetJointAngle(); } else { _local6 = m_prismatic2.GetJointTranslation(); }; var _local7:Number = (m_constant - (_local5 + (m_ratio * _local6))); var _local8:Number = (-(m_mass) * _local7); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local8) * m_J.linearA.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local8) * m_J.linearA.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local8) * m_J.angularA)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local4.m_invMass * _local8) * m_J.linearB.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local4.m_invMass * _local8) * m_J.linearB.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local4.m_invI * _local8) * m_J.angularB)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); return ((_local2 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 63
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var joint1:b2Joint; public var joint2:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 64
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linearA:b2Vec2; public var angularA:Number; public var linearB:b2Vec2; public var angularB:Number; public function b2Jacobian(){ linearA = new b2Vec2(); linearB = new b2Vec2(); super(); } public function SetZero():void{ linearA.SetZero(); angularA = 0; linearB.SetZero(); angularB = 0; } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linearA.SetV(_arg1); angularA = _arg2; linearB.SetV(_arg3); angularB = _arg4; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linearA.x * _arg1.x) + (linearA.y * _arg1.y)) + (angularA * _arg2)) + ((linearB.x * _arg3.x) + (linearB.y * _arg3.y))) + (angularB * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 65
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Joint { b2internal var m_type:int; b2internal var m_prev:b2Joint; b2internal var m_next:b2Joint; b2internal var m_edgeA:b2JointEdge; b2internal var m_edgeB:b2JointEdge; b2internal var m_bodyA:b2Body; b2internal var m_bodyB:b2Body; b2internal var m_islandFlag:Boolean; b2internal var m_collideConnected:Boolean; private var m_userData; b2internal var m_localCenterA:b2Vec2; b2internal var m_localCenterB:b2Vec2; b2internal var m_invMassA:Number; b2internal var m_invMassB:Number; b2internal var m_invIA:Number; b2internal var m_invIB:Number; b2internal static const e_unknownJoint:int = 0; b2internal static const e_revoluteJoint:int = 1; b2internal static const e_prismaticJoint:int = 2; b2internal static const e_distanceJoint:int = 3; b2internal static const e_pulleyJoint:int = 4; b2internal static const e_mouseJoint:int = 5; b2internal static const e_gearJoint:int = 6; b2internal static const e_lineJoint:int = 7; b2internal static const e_weldJoint:int = 8; b2internal static const e_frictionJoint:int = 9; b2internal static const e_inactiveLimit:int = 0; b2internal static const e_atLowerLimit:int = 1; b2internal static const e_atUpperLimit:int = 2; b2internal static const e_equalLimits:int = 3; public function b2Joint(_arg1:b2JointDef){ m_edgeA = new b2JointEdge(); m_edgeB = new b2JointEdge(); m_localCenterA = new b2Vec2(); m_localCenterB = new b2Vec2(); super(); b2Settings.b2Assert(!((_arg1.bodyA == _arg1.bodyB))); m_type = _arg1.type; m_prev = null; m_next = null; m_bodyA = _arg1.bodyA; m_bodyB = _arg1.bodyB; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetType():int{ return (m_type); } public function GetAnchorA():b2Vec2{ return (null); } public function GetAnchorB():b2Vec2{ return (null); } public function GetReactionForce(_arg1:Number):b2Vec2{ return (null); } public function GetReactionTorque(_arg1:Number):Number{ return (0); } public function GetBodyA():b2Body{ return (m_bodyA); } public function GetBodyB():b2Body{ return (m_bodyB); } public function GetNext():b2Joint{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function IsActive():Boolean{ return (((m_bodyA.IsActive()) && (m_bodyB.IsActive()))); } b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ } b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } b2internal function FinalizeVelocityConstraints():void{ } b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ return (false); } b2internal static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; case e_lineJoint: _local3 = new b2LineJoint((_arg1 as b2LineJointDef)); break; case e_weldJoint: _local3 = new b2WeldJoint((_arg1 as b2WeldJointDef)); break; case e_frictionJoint: _local3 = new b2FrictionJoint((_arg1 as b2FrictionJointDef)); break; default: break; }; return (_local3); } b2internal static function Destroy(_arg1:b2Joint, _arg2):void{ } } }//package Box2D.Dynamics.Joints
Section 66
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var type:int; public var userData; public var bodyA:b2Body; public var bodyB:b2Body; public var collideConnected:Boolean; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; bodyA = null; bodyB = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 67
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var joint:b2Joint; public var prev:b2JointEdge; public var next:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 68
//b2LineJoint (Box2D.Dynamics.Joints.b2LineJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2LineJoint extends b2Joint { b2internal var m_localAnchor1:b2Vec2; b2internal var m_localAnchor2:b2Vec2; b2internal var m_localXAxis1:b2Vec2; private var m_localYAxis1:b2Vec2; private var m_axis:b2Vec2; private var m_perp:b2Vec2; private var m_s1:Number; private var m_s2:Number; private var m_a1:Number; private var m_a2:Number; private var m_K:b2Mat22; private var m_impulse:b2Vec2; private var m_motorMass:Number; private var m_motorImpulse:Number; private var m_lowerTranslation:Number; private var m_upperTranslation:Number; private var m_maxMotorForce:Number; private var m_motorSpeed:Number; private var m_enableLimit:Boolean; private var m_enableMotor:Boolean; private var m_limitState:int; public function b2LineJoint(_arg1:b2LineJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_axis = new b2Vec2(); m_perp = new b2Vec2(); m_K = new b2Mat22(); m_impulse = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchorA); m_localAnchor2.SetV(_arg1.localAnchorB); m_localXAxis1.SetV(_arg1.localAxisA); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_impulse.SetZero(); m_motorMass = 0; m_motorImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; m_limitState = e_inactiveLimit; m_axis.SetZero(); m_perp.SetZero(); } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchor1)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2((_arg1 * ((m_impulse.x * m_perp.x) + ((m_motorImpulse + m_impulse.y) * m_axis.x))), (_arg1 * ((m_impulse.x * m_perp.y) + ((m_motorImpulse + m_impulse.y) * m_axis.y))))); } override public function GetReactionTorque(_arg1:Number):Number{ return ((_arg1 * m_impulse.y)); } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_bodyA; var _local2:b2Body = m_bodyB; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_bodyA; var _local2:b2Body = m_bodyB; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorForce(_arg1:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_maxMotorForce = _arg1; } public function GetMaxMotorForce():Number{ return (m_maxMotorForce); } public function GetMotorForce():Number{ return (m_motorImpulse); } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; m_localCenterA.SetV(_local2.GetLocalCenter()); m_localCenterB.SetV(_local3.GetLocalCenter()); var _local6:b2Transform = _local2.GetTransform(); var _local7:b2Transform = _local3.GetTransform(); _local4 = _local2.m_xf.R; var _local8:Number = (m_localAnchor1.x - m_localCenterA.x); var _local9:Number = (m_localAnchor1.y - m_localCenterA.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local4 = _local3.m_xf.R; var _local10:Number = (m_localAnchor2.x - m_localCenterB.x); var _local11:Number = (m_localAnchor2.y - m_localCenterB.y); _local5 = ((_local4.col1.x * _local10) + (_local4.col2.x * _local11)); _local11 = ((_local4.col1.y * _local10) + (_local4.col2.y * _local11)); _local10 = _local5; var _local12:Number = (((_local3.m_sweep.c.x + _local10) - _local2.m_sweep.c.x) - _local8); var _local13:Number = (((_local3.m_sweep.c.y + _local11) - _local2.m_sweep.c.y) - _local9); m_invMassA = _local2.m_invMass; m_invMassB = _local3.m_invMass; m_invIA = _local2.m_invI; m_invIB = _local3.m_invI; m_axis.SetV(b2Math.MulMV(_local6.R, m_localXAxis1)); m_a1 = (((_local12 + _local8) * m_axis.y) - ((_local13 + _local9) * m_axis.x)); m_a2 = ((_local10 * m_axis.y) - (_local11 * m_axis.x)); m_motorMass = (((m_invMassA + m_invMassB) + ((m_invIA * m_a1) * m_a1)) + ((m_invIB * m_a2) * m_a2)); m_motorMass = ((m_motorMass > Number.MIN_VALUE)) ? (1 / m_motorMass) : 0; m_perp.SetV(b2Math.MulMV(_local6.R, m_localYAxis1)); m_s1 = (((_local12 + _local8) * m_perp.y) - ((_local13 + _local9) * m_perp.x)); m_s2 = ((_local10 * m_perp.y) - (_local11 * m_perp.x)); var _local14:Number = m_invMassA; var _local15:Number = m_invMassB; var _local16:Number = m_invIA; var _local17:Number = m_invIB; m_K.col1.x = (((_local14 + _local15) + ((_local16 * m_s1) * m_s1)) + ((_local17 * m_s2) * m_s2)); m_K.col1.y = (((_local16 * m_s1) * m_a1) + ((_local17 * m_s2) * m_a2)); m_K.col2.x = m_K.col1.y; m_K.col2.y = (((_local14 + _local15) + ((_local16 * m_a1) * m_a1)) + ((_local17 * m_a2) * m_a2)); if (m_enableLimit){ _local18 = ((m_axis.x * _local12) + (m_axis.y * _local13)); if (b2Math.Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local18 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitState = e_atLowerLimit; m_impulse.y = 0; }; } else { if (_local18 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitState = e_atUpperLimit; m_impulse.y = 0; }; } else { m_limitState = e_inactiveLimit; m_impulse.y = 0; }; }; }; } else { m_limitState = e_inactiveLimit; }; if (m_enableMotor == false){ m_motorImpulse = 0; }; if (_arg1.warmStarting){ m_impulse.x = (m_impulse.x * _arg1.dtRatio); m_impulse.y = (m_impulse.y * _arg1.dtRatio); m_motorImpulse = (m_motorImpulse * _arg1.dtRatio); _local19 = ((m_impulse.x * m_perp.x) + ((m_motorImpulse + m_impulse.y) * m_axis.x)); _local20 = ((m_impulse.x * m_perp.y) + ((m_motorImpulse + m_impulse.y) * m_axis.y)); _local21 = ((m_impulse.x * m_s1) + ((m_motorImpulse + m_impulse.y) * m_a1)); _local22 = ((m_impulse.x * m_s2) + ((m_motorImpulse + m_impulse.y) * m_a2)); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (m_invMassA * _local19)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (m_invMassA * _local20)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (m_invIA * _local21)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (m_invMassB * _local19)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (m_invMassB * _local20)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (m_invIB * _local22)); } else { m_impulse.SetZero(); m_motorImpulse = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:b2Vec2; var _local19:b2Vec2; var _local20:Number; var _local21:Number; var _local22:Number; var _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; var _local4:b2Vec2 = _local2.m_linearVelocity; var _local5:Number = _local2.m_angularVelocity; var _local6:b2Vec2 = _local3.m_linearVelocity; var _local7:Number = _local3.m_angularVelocity; if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local13 = ((((m_axis.x * (_local6.x - _local4.x)) + (m_axis.y * (_local6.y - _local4.y))) + (m_a2 * _local7)) - (m_a1 * _local5)); _local14 = (m_motorMass * (m_motorSpeed - _local13)); _local15 = m_motorImpulse; _local16 = (_arg1.dt * m_maxMotorForce); m_motorImpulse = b2Math.Clamp((m_motorImpulse + _local14), -(_local16), _local16); _local14 = (m_motorImpulse - _local15); _local8 = (_local14 * m_axis.x); _local9 = (_local14 * m_axis.y); _local10 = (_local14 * m_a1); _local11 = (_local14 * m_a2); _local4.x = (_local4.x - (m_invMassA * _local8)); _local4.y = (_local4.y - (m_invMassA * _local9)); _local5 = (_local5 - (m_invIA * _local10)); _local6.x = (_local6.x + (m_invMassB * _local8)); _local6.y = (_local6.y + (m_invMassB * _local9)); _local7 = (_local7 + (m_invIB * _local11)); }; var _local12:Number = ((((m_perp.x * (_local6.x - _local4.x)) + (m_perp.y * (_local6.y - _local4.y))) + (m_s2 * _local7)) - (m_s1 * _local5)); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local17 = ((((m_axis.x * (_local6.x - _local4.x)) + (m_axis.y * (_local6.y - _local4.y))) + (m_a2 * _local7)) - (m_a1 * _local5)); _local18 = m_impulse.Copy(); _local19 = m_K.Solve(new b2Vec2(), -(_local12), -(_local17)); m_impulse.Add(_local19); if (m_limitState == e_atLowerLimit){ m_impulse.y = b2Math.Max(m_impulse.y, 0); } else { if (m_limitState == e_atUpperLimit){ m_impulse.y = b2Math.Min(m_impulse.y, 0); }; }; _local20 = (-(_local12) - ((m_impulse.y - _local18.y) * m_K.col2.x)); if (m_K.col1.x != 0){ _local21 = ((_local20 / m_K.col1.x) + _local18.x); } else { _local21 = _local18.x; }; m_impulse.x = _local21; _local19.x = (m_impulse.x - _local18.x); _local19.y = (m_impulse.y - _local18.y); _local8 = ((_local19.x * m_perp.x) + (_local19.y * m_axis.x)); _local9 = ((_local19.x * m_perp.y) + (_local19.y * m_axis.y)); _local10 = ((_local19.x * m_s1) + (_local19.y * m_a1)); _local11 = ((_local19.x * m_s2) + (_local19.y * m_a2)); _local4.x = (_local4.x - (m_invMassA * _local8)); _local4.y = (_local4.y - (m_invMassA * _local9)); _local5 = (_local5 - (m_invIA * _local10)); _local6.x = (_local6.x + (m_invMassB * _local8)); _local6.y = (_local6.y + (m_invMassB * _local9)); _local7 = (_local7 + (m_invIB * _local11)); } else { if (m_K.col1.x != 0){ _local22 = (-(_local12) / m_K.col1.x); } else { _local22 = 0; }; m_impulse.x = (m_impulse.x + _local22); _local8 = (_local22 * m_perp.x); _local9 = (_local22 * m_perp.y); _local10 = (_local22 * m_s1); _local11 = (_local22 * m_s2); _local4.x = (_local4.x - (m_invMassA * _local8)); _local4.y = (_local4.y - (m_invMassA * _local9)); _local5 = (_local5 - (m_invIA * _local10)); _local6.x = (_local6.x + (m_invMassB * _local8)); _local6.y = (_local6.y + (m_invMassB * _local9)); _local7 = (_local7 + (m_invIB * _local11)); }; _local2.m_linearVelocity.SetV(_local4); _local2.m_angularVelocity = _local5; _local3.m_linearVelocity.SetV(_local6); _local3.m_angularVelocity = _local7; } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:Number; var _local10:b2Mat22; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local4:b2Body = m_bodyA; var _local5:b2Body = m_bodyB; var _local6:b2Vec2 = _local4.m_sweep.c; var _local7:Number = _local4.m_sweep.a; var _local8:b2Vec2 = _local5.m_sweep.c; var _local9:Number = _local5.m_sweep.a; var _local16:Number = 0; var _local17:Number = 0; var _local18:Boolean; var _local19:Number = 0; var _local20:b2Mat22 = b2Mat22.FromAngle(_local7); var _local21:b2Mat22 = b2Mat22.FromAngle(_local9); _local10 = _local20; var _local22:Number = (m_localAnchor1.x - m_localCenterA.x); var _local23:Number = (m_localAnchor1.y - m_localCenterA.y); _local11 = ((_local10.col1.x * _local22) + (_local10.col2.x * _local23)); _local23 = ((_local10.col1.y * _local22) + (_local10.col2.y * _local23)); _local22 = _local11; _local10 = _local21; var _local24:Number = (m_localAnchor2.x - m_localCenterB.x); var _local25:Number = (m_localAnchor2.y - m_localCenterB.y); _local11 = ((_local10.col1.x * _local24) + (_local10.col2.x * _local25)); _local25 = ((_local10.col1.y * _local24) + (_local10.col2.y * _local25)); _local24 = _local11; var _local26:Number = (((_local8.x + _local24) - _local6.x) - _local22); var _local27:Number = (((_local8.y + _local25) - _local6.y) - _local23); if (m_enableLimit){ m_axis = b2Math.MulMV(_local20, m_localXAxis1); m_a1 = (((_local26 + _local22) * m_axis.y) - ((_local27 + _local23) * m_axis.x)); m_a2 = ((_local24 * m_axis.y) - (_local25 * m_axis.x)); _local34 = ((m_axis.x * _local26) + (m_axis.y * _local27)); if (b2Math.Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ _local19 = b2Math.Clamp(_local34, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local16 = b2Math.Abs(_local34); _local18 = true; } else { if (_local34 <= m_lowerTranslation){ _local19 = b2Math.Clamp(((_local34 - m_lowerTranslation) + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local16 = (m_lowerTranslation - _local34); _local18 = true; } else { if (_local34 >= m_upperTranslation){ _local19 = b2Math.Clamp(((_local34 - m_upperTranslation) + b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local16 = (_local34 - m_upperTranslation); _local18 = true; }; }; }; }; m_perp = b2Math.MulMV(_local20, m_localYAxis1); m_s1 = (((_local26 + _local22) * m_perp.y) - ((_local27 + _local23) * m_perp.x)); m_s2 = ((_local24 * m_perp.y) - (_local25 * m_perp.x)); var _local28:b2Vec2 = new b2Vec2(); var _local29:Number = ((m_perp.x * _local26) + (m_perp.y * _local27)); _local16 = b2Math.Max(_local16, b2Math.Abs(_local29)); _local17 = 0; if (_local18){ _local12 = m_invMassA; _local13 = m_invMassB; _local14 = m_invIA; _local15 = m_invIB; m_K.col1.x = (((_local12 + _local13) + ((_local14 * m_s1) * m_s1)) + ((_local15 * m_s2) * m_s2)); m_K.col1.y = (((_local14 * m_s1) * m_a1) + ((_local15 * m_s2) * m_a2)); m_K.col2.x = m_K.col1.y; m_K.col2.y = (((_local12 + _local13) + ((_local14 * m_a1) * m_a1)) + ((_local15 * m_a2) * m_a2)); m_K.Solve(_local28, -(_local29), -(_local19)); } else { _local12 = m_invMassA; _local13 = m_invMassB; _local14 = m_invIA; _local15 = m_invIB; _local35 = (((_local12 + _local13) + ((_local14 * m_s1) * m_s1)) + ((_local15 * m_s2) * m_s2)); if (_local35 != 0){ _local36 = (-(_local29) / _local35); } else { _local36 = 0; }; _local28.x = _local36; _local28.y = 0; }; var _local30:Number = ((_local28.x * m_perp.x) + (_local28.y * m_axis.x)); var _local31:Number = ((_local28.x * m_perp.y) + (_local28.y * m_axis.y)); var _local32:Number = ((_local28.x * m_s1) + (_local28.y * m_a1)); var _local33:Number = ((_local28.x * m_s2) + (_local28.y * m_a2)); _local6.x = (_local6.x - (m_invMassA * _local30)); _local6.y = (_local6.y - (m_invMassA * _local31)); _local7 = (_local7 - (m_invIA * _local32)); _local8.x = (_local8.x + (m_invMassB * _local30)); _local8.y = (_local8.y + (m_invMassB * _local31)); _local9 = (_local9 + (m_invIB * _local33)); _local4.m_sweep.a = _local7; _local5.m_sweep.a = _local9; _local4.SynchronizeTransform(); _local5.SynchronizeTransform(); return ((((_local16 <= b2Settings.b2_linearSlop)) && ((_local17 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 69
//b2LineJointDef (Box2D.Dynamics.Joints.b2LineJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2LineJointDef extends b2JointDef { public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var localAxisA:b2Vec2; public var enableLimit:Boolean; public var lowerTranslation:Number; public var upperTranslation:Number; public var enableMotor:Boolean; public var maxMotorForce:Number; public var motorSpeed:Number; public function b2LineJointDef(){ localAnchorA = new b2Vec2(); localAnchorB = new b2Vec2(); localAxisA = new b2Vec2(); super(); type = b2Joint.e_lineJoint; localAxisA.Set(1, 0); enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ bodyA = _arg1; bodyB = _arg2; localAnchorA = bodyA.GetLocalPoint(_arg3); localAnchorB = bodyB.GetLocalPoint(_arg3); localAxisA = bodyA.GetLocalVector(_arg4); } } }//package Box2D.Dynamics.Joints
Section 70
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; private var m_localAnchor:b2Vec2; private var m_target:b2Vec2; private var m_impulse:b2Vec2; private var m_mass:b2Mat22; private var m_C:b2Vec2; private var m_maxForce:Number; private var m_frequencyHz:Number; private var m_dampingRatio:Number; private var m_beta:Number; private var m_gamma:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local4:b2Mat22; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); _local2 = (m_target.x - m_bodyB.m_xf.position.x); var _local3:Number = (m_target.y - m_bodyB.m_xf.position.y); _local4 = m_bodyB.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_beta = 0; m_gamma = 0; } override public function GetAnchorA():b2Vec2{ return (m_target); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2((_arg1 * m_impulse.x), (_arg1 * m_impulse.y))); } override public function GetReactionTorque(_arg1:Number):Number{ return (0); } public function GetTarget():b2Vec2{ return (m_target); } public function SetTarget(_arg1:b2Vec2):void{ if (m_bodyB.IsAwake() == false){ m_bodyB.SetAwake(true); }; m_target = _arg1; } public function GetMaxForce():Number{ return (m_maxForce); } public function SetMaxForce(_arg1:Number):void{ m_maxForce = _arg1; } public function GetFrequency():Number{ return (m_frequencyHz); } public function SetFrequency(_arg1:Number):void{ m_frequencyHz = _arg1; } public function GetDampingRatio():Number{ return (m_dampingRatio); } public function SetDampingRatio(_arg1:Number):void{ m_dampingRatio = _arg1; } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local7:b2Mat22; var _local11:Number; var _local12:Number; var _local2:b2Body = m_bodyB; var _local3:Number = _local2.GetMass(); var _local4:Number = ((2 * Math.PI) * m_frequencyHz); var _local5:Number = (((2 * _local3) * m_dampingRatio) * _local4); var _local6:Number = ((_local3 * _local4) * _local4); m_gamma = (_arg1.dt * (_local5 + (_arg1.dt * _local6))); m_gamma = ((m_gamma)!=0) ? (1 / m_gamma) : 0; m_beta = ((_arg1.dt * _local6) * m_gamma); _local7 = _local2.m_xf.R; var _local8:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y); var _local10:Number = ((_local7.col1.x * _local8) + (_local7.col2.x * _local9)); _local9 = ((_local7.col1.y * _local8) + (_local7.col2.y * _local9)); _local8 = _local10; _local11 = _local2.m_invMass; _local12 = _local2.m_invI; K1.col1.x = _local11; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local11; K2.col1.x = ((_local12 * _local9) * _local9); K2.col2.x = ((-(_local12) * _local8) * _local9); K2.col1.y = ((-(_local12) * _local8) * _local9); K2.col2.y = ((_local12 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.GetInverse(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local8) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local9) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); m_impulse.x = (m_impulse.x * _arg1.dtRatio); m_impulse.y = (m_impulse.y * _arg1.dtRatio); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local11 * m_impulse.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local11 * m_impulse.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * ((_local8 * m_impulse.y) - (_local9 * m_impulse.x)))); } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_bodyB; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + (m_beta * m_C.x)) + (m_gamma * m_impulse.x)); _local5 = ((_local9 + (m_beta * m_C.y)) + (m_gamma * m_impulse.y)); var _local10:Number = -(((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = -(((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = (_arg1.dt * m_maxForce); if (m_impulse.LengthSquared() > (_local14 * _local14)){ m_impulse.Multiply((_local14 / m_impulse.Length())); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local10)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local11)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local11) - (_local7 * _local10)))); } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ return (true); } } }//package Box2D.Dynamics.Joints
Section 71
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var target:b2Vec2; public var maxForce:Number; public var frequencyHz:Number; public var dampingRatio:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; } } }//package Box2D.Dynamics.Joints
Section 72
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { b2internal var m_localAnchor1:b2Vec2; b2internal var m_localAnchor2:b2Vec2; b2internal var m_localXAxis1:b2Vec2; private var m_localYAxis1:b2Vec2; private var m_refAngle:Number; private var m_axis:b2Vec2; private var m_perp:b2Vec2; private var m_s1:Number; private var m_s2:Number; private var m_a1:Number; private var m_a2:Number; private var m_K:b2Mat33; private var m_impulse:b2Vec3; private var m_motorMass:Number; private var m_motorImpulse:Number; private var m_lowerTranslation:Number; private var m_upperTranslation:Number; private var m_maxMotorForce:Number; private var m_motorSpeed:Number; private var m_enableLimit:Boolean; private var m_enableMotor:Boolean; private var m_limitState:int; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_axis = new b2Vec2(); m_perp = new b2Vec2(); m_K = new b2Mat33(); m_impulse = new b2Vec3(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchorA); m_localAnchor2.SetV(_arg1.localAnchorB); m_localXAxis1.SetV(_arg1.localAxisA); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_impulse.SetZero(); m_motorMass = 0; m_motorImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; m_limitState = e_inactiveLimit; m_axis.SetZero(); m_perp.SetZero(); } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchor1)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2((_arg1 * ((m_impulse.x * m_perp.x) + ((m_motorImpulse + m_impulse.z) * m_axis.x))), (_arg1 * ((m_impulse.x * m_perp.y) + ((m_motorImpulse + m_impulse.z) * m_axis.y))))); } override public function GetReactionTorque(_arg1:Number):Number{ return ((_arg1 * m_impulse.y)); } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_bodyA; var _local2:b2Body = m_bodyB; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_bodyA; var _local2:b2Body = m_bodyB; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorForce(_arg1:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_maxMotorForce = _arg1; } public function GetMotorForce():Number{ return (m_motorImpulse); } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; m_localCenterA.SetV(_local2.GetLocalCenter()); m_localCenterB.SetV(_local3.GetLocalCenter()); var _local6:b2Transform = _local2.GetTransform(); var _local7:b2Transform = _local3.GetTransform(); _local4 = _local2.m_xf.R; var _local8:Number = (m_localAnchor1.x - m_localCenterA.x); var _local9:Number = (m_localAnchor1.y - m_localCenterA.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local4 = _local3.m_xf.R; var _local10:Number = (m_localAnchor2.x - m_localCenterB.x); var _local11:Number = (m_localAnchor2.y - m_localCenterB.y); _local5 = ((_local4.col1.x * _local10) + (_local4.col2.x * _local11)); _local11 = ((_local4.col1.y * _local10) + (_local4.col2.y * _local11)); _local10 = _local5; var _local12:Number = (((_local3.m_sweep.c.x + _local10) - _local2.m_sweep.c.x) - _local8); var _local13:Number = (((_local3.m_sweep.c.y + _local11) - _local2.m_sweep.c.y) - _local9); m_invMassA = _local2.m_invMass; m_invMassB = _local3.m_invMass; m_invIA = _local2.m_invI; m_invIB = _local3.m_invI; m_axis.SetV(b2Math.MulMV(_local6.R, m_localXAxis1)); m_a1 = (((_local12 + _local8) * m_axis.y) - ((_local13 + _local9) * m_axis.x)); m_a2 = ((_local10 * m_axis.y) - (_local11 * m_axis.x)); m_motorMass = (((m_invMassA + m_invMassB) + ((m_invIA * m_a1) * m_a1)) + ((m_invIB * m_a2) * m_a2)); if (m_motorMass > Number.MIN_VALUE){ m_motorMass = (1 / m_motorMass); }; m_perp.SetV(b2Math.MulMV(_local6.R, m_localYAxis1)); m_s1 = (((_local12 + _local8) * m_perp.y) - ((_local13 + _local9) * m_perp.x)); m_s2 = ((_local10 * m_perp.y) - (_local11 * m_perp.x)); var _local14:Number = m_invMassA; var _local15:Number = m_invMassB; var _local16:Number = m_invIA; var _local17:Number = m_invIB; m_K.col1.x = (((_local14 + _local15) + ((_local16 * m_s1) * m_s1)) + ((_local17 * m_s2) * m_s2)); m_K.col1.y = ((_local16 * m_s1) + (_local17 * m_s2)); m_K.col1.z = (((_local16 * m_s1) * m_a1) + ((_local17 * m_s2) * m_a2)); m_K.col2.x = m_K.col1.y; m_K.col2.y = (_local16 + _local17); m_K.col2.z = ((_local16 * m_a1) + (_local17 * m_a2)); m_K.col3.x = m_K.col1.z; m_K.col3.y = m_K.col2.z; m_K.col3.z = (((_local14 + _local15) + ((_local16 * m_a1) * m_a1)) + ((_local17 * m_a2) * m_a2)); if (m_enableLimit){ _local18 = ((m_axis.x * _local12) + (m_axis.y * _local13)); if (b2Math.Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local18 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitState = e_atLowerLimit; m_impulse.z = 0; }; } else { if (_local18 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitState = e_atUpperLimit; m_impulse.z = 0; }; } else { m_limitState = e_inactiveLimit; m_impulse.z = 0; }; }; }; } else { m_limitState = e_inactiveLimit; }; if (m_enableMotor == false){ m_motorImpulse = 0; }; if (_arg1.warmStarting){ m_impulse.x = (m_impulse.x * _arg1.dtRatio); m_impulse.y = (m_impulse.y * _arg1.dtRatio); m_motorImpulse = (m_motorImpulse * _arg1.dtRatio); _local19 = ((m_impulse.x * m_perp.x) + ((m_motorImpulse + m_impulse.z) * m_axis.x)); _local20 = ((m_impulse.x * m_perp.y) + ((m_motorImpulse + m_impulse.z) * m_axis.y)); _local21 = (((m_impulse.x * m_s1) + m_impulse.y) + ((m_motorImpulse + m_impulse.z) * m_a1)); _local22 = (((m_impulse.x * m_s2) + m_impulse.y) + ((m_motorImpulse + m_impulse.z) * m_a2)); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (m_invMassA * _local19)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (m_invMassA * _local20)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (m_invIA * _local21)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (m_invMassB * _local19)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (m_invMassB * _local20)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (m_invIB * _local22)); } else { m_impulse.SetZero(); m_motorImpulse = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2Vec3; var _local20:b2Vec3; var _local21:Number; var _local22:Number; var _local23:b2Vec2; var _local24:b2Vec2; var _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; var _local4:b2Vec2 = _local2.m_linearVelocity; var _local5:Number = _local2.m_angularVelocity; var _local6:b2Vec2 = _local3.m_linearVelocity; var _local7:Number = _local3.m_angularVelocity; if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local14 = ((((m_axis.x * (_local6.x - _local4.x)) + (m_axis.y * (_local6.y - _local4.y))) + (m_a2 * _local7)) - (m_a1 * _local5)); _local15 = (m_motorMass * (m_motorSpeed - _local14)); _local16 = m_motorImpulse; _local17 = (_arg1.dt * m_maxMotorForce); m_motorImpulse = b2Math.Clamp((m_motorImpulse + _local15), -(_local17), _local17); _local15 = (m_motorImpulse - _local16); _local8 = (_local15 * m_axis.x); _local9 = (_local15 * m_axis.y); _local10 = (_local15 * m_a1); _local11 = (_local15 * m_a2); _local4.x = (_local4.x - (m_invMassA * _local8)); _local4.y = (_local4.y - (m_invMassA * _local9)); _local5 = (_local5 - (m_invIA * _local10)); _local6.x = (_local6.x + (m_invMassB * _local8)); _local6.y = (_local6.y + (m_invMassB * _local9)); _local7 = (_local7 + (m_invIB * _local11)); }; var _local12:Number = ((((m_perp.x * (_local6.x - _local4.x)) + (m_perp.y * (_local6.y - _local4.y))) + (m_s2 * _local7)) - (m_s1 * _local5)); var _local13:Number = (_local7 - _local5); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = ((((m_axis.x * (_local6.x - _local4.x)) + (m_axis.y * (_local6.y - _local4.y))) + (m_a2 * _local7)) - (m_a1 * _local5)); _local19 = m_impulse.Copy(); _local20 = m_K.Solve33(new b2Vec3(), -(_local12), -(_local13), -(_local18)); m_impulse.Add(_local20); if (m_limitState == e_atLowerLimit){ m_impulse.z = b2Math.Max(m_impulse.z, 0); } else { if (m_limitState == e_atUpperLimit){ m_impulse.z = b2Math.Min(m_impulse.z, 0); }; }; _local21 = (-(_local12) - ((m_impulse.z - _local19.z) * m_K.col3.x)); _local22 = (-(_local13) - ((m_impulse.z - _local19.z) * m_K.col3.y)); _local23 = m_K.Solve22(new b2Vec2(), _local21, _local22); m_K.Solve22(new b2Vec2(), _local21, _local22).x = (_local23.x + _local19.x); _local23.y = (_local23.y + _local19.y); m_impulse.x = _local23.x; m_impulse.y = _local23.y; _local20.x = (m_impulse.x - _local19.x); _local20.y = (m_impulse.y - _local19.y); _local20.z = (m_impulse.z - _local19.z); _local8 = ((_local20.x * m_perp.x) + (_local20.z * m_axis.x)); _local9 = ((_local20.x * m_perp.y) + (_local20.z * m_axis.y)); _local10 = (((_local20.x * m_s1) + _local20.y) + (_local20.z * m_a1)); _local11 = (((_local20.x * m_s2) + _local20.y) + (_local20.z * m_a2)); _local4.x = (_local4.x - (m_invMassA * _local8)); _local4.y = (_local4.y - (m_invMassA * _local9)); _local5 = (_local5 - (m_invIA * _local10)); _local6.x = (_local6.x + (m_invMassB * _local8)); _local6.y = (_local6.y + (m_invMassB * _local9)); _local7 = (_local7 + (m_invIB * _local11)); } else { _local24 = m_K.Solve22(new b2Vec2(), -(_local12), -(_local13)); m_impulse.x = (m_impulse.x + _local24.x); m_impulse.y = (m_impulse.y + _local24.y); _local8 = (_local24.x * m_perp.x); _local9 = (_local24.x * m_perp.y); _local10 = ((_local24.x * m_s1) + _local24.y); _local11 = ((_local24.x * m_s2) + _local24.y); _local4.x = (_local4.x - (m_invMassA * _local8)); _local4.y = (_local4.y - (m_invMassA * _local9)); _local5 = (_local5 - (m_invIA * _local10)); _local6.x = (_local6.x + (m_invMassB * _local8)); _local6.y = (_local6.y + (m_invMassB * _local9)); _local7 = (_local7 + (m_invIB * _local11)); }; _local2.m_linearVelocity.SetV(_local4); _local2.m_angularVelocity = _local5; _local3.m_linearVelocity.SetV(_local6); _local3.m_angularVelocity = _local7; } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:Number; var _local10:b2Mat22; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:b2Vec2; var _local4:b2Body = m_bodyA; var _local5:b2Body = m_bodyB; var _local6:b2Vec2 = _local4.m_sweep.c; var _local7:Number = _local4.m_sweep.a; var _local8:b2Vec2 = _local5.m_sweep.c; var _local9:Number = _local5.m_sweep.a; var _local16:Number = 0; var _local17:Number = 0; var _local18:Boolean; var _local19:Number = 0; var _local20:b2Mat22 = b2Mat22.FromAngle(_local7); var _local21:b2Mat22 = b2Mat22.FromAngle(_local9); _local10 = _local20; var _local22:Number = (m_localAnchor1.x - m_localCenterA.x); var _local23:Number = (m_localAnchor1.y - m_localCenterA.y); _local11 = ((_local10.col1.x * _local22) + (_local10.col2.x * _local23)); _local23 = ((_local10.col1.y * _local22) + (_local10.col2.y * _local23)); _local22 = _local11; _local10 = _local21; var _local24:Number = (m_localAnchor2.x - m_localCenterB.x); var _local25:Number = (m_localAnchor2.y - m_localCenterB.y); _local11 = ((_local10.col1.x * _local24) + (_local10.col2.x * _local25)); _local25 = ((_local10.col1.y * _local24) + (_local10.col2.y * _local25)); _local24 = _local11; var _local26:Number = (((_local8.x + _local24) - _local6.x) - _local22); var _local27:Number = (((_local8.y + _local25) - _local6.y) - _local23); if (m_enableLimit){ m_axis = b2Math.MulMV(_local20, m_localXAxis1); m_a1 = (((_local26 + _local22) * m_axis.y) - ((_local27 + _local23) * m_axis.x)); m_a2 = ((_local24 * m_axis.y) - (_local25 * m_axis.x)); _local35 = ((m_axis.x * _local26) + (m_axis.y * _local27)); if (b2Math.Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ _local19 = b2Math.Clamp(_local35, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local16 = b2Math.Abs(_local35); _local18 = true; } else { if (_local35 <= m_lowerTranslation){ _local19 = b2Math.Clamp(((_local35 - m_lowerTranslation) + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local16 = (m_lowerTranslation - _local35); _local18 = true; } else { if (_local35 >= m_upperTranslation){ _local19 = b2Math.Clamp(((_local35 - m_upperTranslation) + b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local16 = (_local35 - m_upperTranslation); _local18 = true; }; }; }; }; m_perp = b2Math.MulMV(_local20, m_localYAxis1); m_s1 = (((_local26 + _local22) * m_perp.y) - ((_local27 + _local23) * m_perp.x)); m_s2 = ((_local24 * m_perp.y) - (_local25 * m_perp.x)); var _local28:b2Vec3 = new b2Vec3(); var _local29:Number = ((m_perp.x * _local26) + (m_perp.y * _local27)); var _local30:Number = ((_local9 - _local7) - m_refAngle); _local16 = b2Math.Max(_local16, b2Math.Abs(_local29)); _local17 = b2Math.Abs(_local30); if (_local18){ _local12 = m_invMassA; _local13 = m_invMassB; _local14 = m_invIA; _local15 = m_invIB; m_K.col1.x = (((_local12 + _local13) + ((_local14 * m_s1) * m_s1)) + ((_local15 * m_s2) * m_s2)); m_K.col1.y = ((_local14 * m_s1) + (_local15 * m_s2)); m_K.col1.z = (((_local14 * m_s1) * m_a1) + ((_local15 * m_s2) * m_a2)); m_K.col2.x = m_K.col1.y; m_K.col2.y = (_local14 + _local15); m_K.col2.z = ((_local14 * m_a1) + (_local15 * m_a2)); m_K.col3.x = m_K.col1.z; m_K.col3.y = m_K.col2.z; m_K.col3.z = (((_local12 + _local13) + ((_local14 * m_a1) * m_a1)) + ((_local15 * m_a2) * m_a2)); m_K.Solve33(_local28, -(_local29), -(_local30), -(_local19)); } else { _local12 = m_invMassA; _local13 = m_invMassB; _local14 = m_invIA; _local15 = m_invIB; _local36 = (((_local12 + _local13) + ((_local14 * m_s1) * m_s1)) + ((_local15 * m_s2) * m_s2)); _local37 = ((_local14 * m_s1) + (_local15 * m_s2)); _local38 = (_local14 + _local15); m_K.col1.Set(_local36, _local37, 0); m_K.col2.Set(_local37, _local38, 0); _local39 = m_K.Solve22(new b2Vec2(), -(_local29), -(_local30)); _local28.x = _local39.x; _local28.y = _local39.y; _local28.z = 0; }; var _local31:Number = ((_local28.x * m_perp.x) + (_local28.z * m_axis.x)); var _local32:Number = ((_local28.x * m_perp.y) + (_local28.z * m_axis.y)); var _local33:Number = (((_local28.x * m_s1) + _local28.y) + (_local28.z * m_a1)); var _local34:Number = (((_local28.x * m_s2) + _local28.y) + (_local28.z * m_a2)); _local6.x = (_local6.x - (m_invMassA * _local31)); _local6.y = (_local6.y - (m_invMassA * _local32)); _local7 = (_local7 - (m_invIA * _local33)); _local8.x = (_local8.x + (m_invMassB * _local31)); _local8.y = (_local8.y + (m_invMassB * _local32)); _local9 = (_local9 + (m_invIB * _local34)); _local4.m_sweep.a = _local7; _local5.m_sweep.a = _local9; _local4.SynchronizeTransform(); _local5.SynchronizeTransform(); return ((((_local16 <= b2Settings.b2_linearSlop)) && ((_local17 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 73
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var localAxisA:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerTranslation:Number; public var upperTranslation:Number; public var enableMotor:Boolean; public var maxMotorForce:Number; public var motorSpeed:Number; public function b2PrismaticJointDef(){ localAnchorA = new b2Vec2(); localAnchorB = new b2Vec2(); localAxisA = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxisA.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ bodyA = _arg1; bodyB = _arg2; localAnchorA = bodyA.GetLocalPoint(_arg3); localAnchorB = bodyB.GetLocalPoint(_arg3); localAxisA = bodyA.GetLocalVector(_arg4); referenceAngle = (bodyB.GetAngle() - bodyA.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 74
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { private var m_ground:b2Body; private var m_groundAnchor1:b2Vec2; private var m_groundAnchor2:b2Vec2; private var m_localAnchor1:b2Vec2; private var m_localAnchor2:b2Vec2; private var m_u1:b2Vec2; private var m_u2:b2Vec2; private var m_constant:Number; private var m_ratio:Number; private var m_maxLength1:Number; private var m_maxLength2:Number; private var m_pulleyMass:Number; private var m_limitMass1:Number; private var m_limitMass2:Number; private var m_impulse:Number; private var m_limitImpulse1:Number; private var m_limitImpulse2:Number; private var m_state:int; private var m_limitState1:int; private var m_limitState2:int; b2internal static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_bodyA.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchorA.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchorA.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchorB.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchorB.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchorA); m_localAnchor2.SetV(_arg1.localAnchorB); m_ratio = _arg1.ratio; m_constant = (_arg1.lengthA + (m_ratio * _arg1.lengthB)); m_maxLength1 = b2Math.Min(_arg1.maxLengthA, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.Min(_arg1.maxLengthB, ((m_constant - b2_minPulleyLength) / m_ratio)); m_impulse = 0; m_limitImpulse1 = 0; m_limitImpulse2 = 0; } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchor1)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2(((_arg1 * m_impulse) * m_u2.x), ((_arg1 * m_impulse) * m_u2.y))); } override public function GetReactionTorque(_arg1:Number):Number{ return (0); } public function GetGroundAnchorA():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } public function GetGroundAnchorB():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } public function GetLength1():Number{ var _local1:b2Vec2 = m_bodyA.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_bodyB.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetRatio():Number{ return (m_ratio); } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local6:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_bodyA; _local3 = m_bodyB; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; var _local20:Number = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_impulse = 0; } else { m_state = e_atUpperLimit; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitImpulse1 = 0; } else { m_limitState1 = e_atUpperLimit; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitImpulse2 = 0; } else { m_limitState2 = e_atUpperLimit; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); m_limitImpulse1 = (m_limitImpulse1 * _arg1.dtRatio); m_limitImpulse2 = (m_limitImpulse2 * _arg1.dtRatio); _local23 = ((-(m_impulse) - m_limitImpulse1) * m_u1.x); _local24 = ((-(m_impulse) - m_limitImpulse1) * m_u1.y); _local25 = (((-(m_ratio) * m_impulse) - m_limitImpulse2) * m_u2.x); _local26 = (((-(m_ratio) * m_impulse) - m_limitImpulse2) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_impulse = 0; m_limitImpulse1 = 0; m_limitImpulse2 = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = (m_pulleyMass * -(_local18)); _local20 = m_impulse; m_impulse = b2Math.Max(0, (m_impulse + _local19)); _local19 = (m_impulse - _local20); _local14 = (-(_local19) * m_u1.x); _local15 = (-(_local19) * m_u1.y); _local16 = ((-(m_ratio) * _local19) * m_u2.x); _local17 = ((-(m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = (-(m_limitMass1) * _local18); _local20 = m_limitImpulse1; m_limitImpulse1 = b2Math.Max(0, (m_limitImpulse1 + _local19)); _local19 = (m_limitImpulse1 - _local20); _local14 = (-(_local19) * m_u1.x); _local15 = (-(_local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = (-(m_limitMass2) * _local18); _local20 = m_limitImpulse2; m_limitImpulse2 = b2Math.Max(0, (m_limitImpulse2 + _local19)); _local19 = (m_limitImpulse2 - _local20); _local16 = (-(_local19) * m_u2.x); _local17 = (-(_local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local4:b2Mat22; 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 _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; var _local5:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local6:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local7:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local8:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local24:Number = 0; if (m_state == e_atUpperLimit){ _local4 = _local2.m_xf.R; _local9 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local10 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local23 = ((_local4.col1.x * _local9) + (_local4.col2.x * _local10)); _local10 = ((_local4.col1.y * _local9) + (_local4.col2.y * _local10)); _local9 = _local23; _local4 = _local3.m_xf.R; _local11 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local23 = ((_local4.col1.x * _local11) + (_local4.col2.x * _local12)); _local12 = ((_local4.col1.y * _local11) + (_local4.col2.y * _local12)); _local11 = _local23; _local13 = (_local2.m_sweep.c.x + _local9); _local14 = (_local2.m_sweep.c.y + _local10); _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); m_u1.Set((_local13 - _local5), (_local14 - _local6)); m_u2.Set((_local15 - _local7), (_local16 - _local8)); _local17 = m_u1.Length(); _local18 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local17)); } else { m_u1.SetZero(); }; if (_local18 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local18)); } else { m_u2.SetZero(); }; _local19 = ((m_constant - _local17) - (m_ratio * _local18)); _local24 = b2Math.Max(_local24, -(_local19)); _local19 = b2Math.Clamp((_local19 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local20 = (-(m_pulleyMass) * _local19); _local13 = (-(_local20) * m_u1.x); _local14 = (-(_local20) * m_u1.y); _local15 = ((-(m_ratio) * _local20) * m_u2.x); _local16 = ((-(m_ratio) * _local20) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local13)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local14)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local9 * _local14) - (_local10 * _local13)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local15)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local16)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local11 * _local16) - (_local12 * _local15)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local4 = _local2.m_xf.R; _local9 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local10 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local23 = ((_local4.col1.x * _local9) + (_local4.col2.x * _local10)); _local10 = ((_local4.col1.y * _local9) + (_local4.col2.y * _local10)); _local9 = _local23; _local13 = (_local2.m_sweep.c.x + _local9); _local14 = (_local2.m_sweep.c.y + _local10); m_u1.Set((_local13 - _local5), (_local14 - _local6)); _local17 = m_u1.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local17)); m_u1.y = (m_u1.y * (1 / _local17)); } else { m_u1.SetZero(); }; _local19 = (m_maxLength1 - _local17); _local24 = b2Math.Max(_local24, -(_local19)); _local19 = b2Math.Clamp((_local19 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local20 = (-(m_limitMass1) * _local19); _local13 = (-(_local20) * m_u1.x); _local14 = (-(_local20) * m_u1.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local13)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local14)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local9 * _local14) - (_local10 * _local13)))); _local2.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local4 = _local3.m_xf.R; _local11 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local23 = ((_local4.col1.x * _local11) + (_local4.col2.x * _local12)); _local12 = ((_local4.col1.y * _local11) + (_local4.col2.y * _local12)); _local11 = _local23; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); m_u2.Set((_local15 - _local7), (_local16 - _local8)); _local18 = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local18)); m_u2.y = (m_u2.y * (1 / _local18)); } else { m_u2.SetZero(); }; _local19 = (m_maxLength2 - _local18); _local24 = b2Math.Max(_local24, -(_local19)); _local19 = b2Math.Clamp((_local19 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local20 = (-(m_limitMass2) * _local19); _local15 = (-(_local20) * m_u2.x); _local16 = (-(_local20) * m_u2.y); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local15)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local16)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local11 * _local16) - (_local12 * _local15)))); _local3.SynchronizeTransform(); }; return ((_local24 < b2Settings.b2_linearSlop)); } } }//package Box2D.Dynamics.Joints
Section 75
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var groundAnchorA:b2Vec2; public var groundAnchorB:b2Vec2; public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var lengthA:Number; public var maxLengthA:Number; public var lengthB:Number; public var maxLengthB:Number; public var ratio:Number; public function b2PulleyJointDef(){ groundAnchorA = new b2Vec2(); groundAnchorB = new b2Vec2(); localAnchorA = new b2Vec2(); localAnchorB = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchorA.Set(-1, 1); groundAnchorB.Set(1, 1); localAnchorA.Set(-1, 0); localAnchorB.Set(1, 0); lengthA = 0; maxLengthA = 0; lengthB = 0; maxLengthB = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ bodyA = _arg1; bodyB = _arg2; groundAnchorA.SetV(_arg3); groundAnchorB.SetV(_arg4); localAnchorA = bodyA.GetLocalPoint(_arg5); localAnchorB = bodyB.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); lengthA = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); lengthB = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (lengthA + (ratio * lengthB)); maxLengthA = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLengthB = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 76
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { private var K:b2Mat22; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; private var impulse3:b2Vec3; private var impulse2:b2Vec2; private var reduced:b2Vec2; b2internal var m_localAnchor1:b2Vec2; b2internal var m_localAnchor2:b2Vec2; private var m_impulse:b2Vec3; private var m_motorImpulse:Number; private var m_mass:b2Mat33; private var m_motorMass:Number; private var m_enableMotor:Boolean; private var m_maxMotorTorque:Number; private var m_motorSpeed:Number; private var m_enableLimit:Boolean; private var m_referenceAngle:Number; private var m_lowerAngle:Number; private var m_upperAngle:Number; private var m_limitState:int; private static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); impulse3 = new b2Vec3(); impulse2 = new b2Vec2(); reduced = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_impulse = new b2Vec3(); m_mass = new b2Mat33(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchorA); m_localAnchor2.SetV(_arg1.localAnchorB); m_referenceAngle = _arg1.referenceAngle; m_impulse.SetZero(); m_motorImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; m_limitState = e_inactiveLimit; } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchor1)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2((_arg1 * m_impulse.x), (_arg1 * m_impulse.y))); } override public function GetReactionTorque(_arg1:Number):Number{ return ((_arg1 * m_impulse.z)); } public function GetJointAngle():Number{ return (((m_bodyB.m_sweep.a - m_bodyA.m_sweep.a) - m_referenceAngle)); } public function GetJointSpeed():Number{ return ((m_bodyB.m_angularVelocity - m_bodyA.m_angularVelocity)); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } public function IsMotorEnabled():Boolean{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); return (m_enableMotor); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function SetMotorSpeed(_arg1:Number):void{ m_bodyA.SetAwake(true); m_bodyB.SetAwake(true); m_motorSpeed = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetMotorTorque():Number{ return (m_maxMotorTorque); } override b2internal function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_bodyA; _local3 = m_bodyB; if (((m_enableMotor) || (m_enableLimit))){ }; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; m_mass.col1.x = (((_local10 + _local11) + ((_local7 * _local7) * _local12)) + ((_local9 * _local9) * _local13)); m_mass.col2.x = (((-(_local7) * _local6) * _local12) - ((_local9 * _local8) * _local13)); m_mass.col3.x = ((-(_local7) * _local12) - (_local9 * _local13)); m_mass.col1.y = m_mass.col2.x; m_mass.col2.y = (((_local10 + _local11) + ((_local6 * _local6) * _local12)) + ((_local8 * _local8) * _local13)); m_mass.col3.y = ((_local6 * _local12) + (_local8 * _local13)); m_mass.col1.z = m_mass.col3.x; m_mass.col2.z = m_mass.col3.y; m_mass.col3.z = (_local12 + _local13); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorImpulse = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_impulse.z = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_impulse.z = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_impulse.z = 0; }; }; }; } else { m_limitState = e_inactiveLimit; }; if (_arg1.warmStarting){ m_impulse.x = (m_impulse.x * _arg1.dtRatio); m_impulse.y = (m_impulse.y * _arg1.dtRatio); m_motorImpulse = (m_motorImpulse * _arg1.dtRatio); _local15 = m_impulse.x; _local16 = m_impulse.y; _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local10 * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local10 * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local12 * ((((_local6 * _local16) - (_local7 * _local15)) + m_motorImpulse) + m_impulse.z))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * ((((_local8 * _local16) - (_local9 * _local15)) + m_motorImpulse) + m_impulse.z))); } else { m_impulse.SetZero(); m_motorImpulse = 0; }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10: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 _local2:b2Body = m_bodyA; var _local3:b2Body = m_bodyB; var _local11:b2Vec2 = _local2.m_linearVelocity; var _local12:Number = _local2.m_angularVelocity; var _local13:b2Vec2 = _local3.m_linearVelocity; var _local14:Number = _local3.m_angularVelocity; var _local15:Number = _local2.m_invMass; var _local16:Number = _local3.m_invMass; var _local17:Number = _local2.m_invI; var _local18:Number = _local3.m_invI; if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local19 = ((_local14 - _local12) - m_motorSpeed); _local20 = (m_motorMass * -(_local19)); _local21 = m_motorImpulse; _local22 = (_arg1.dt * m_maxMotorTorque); m_motorImpulse = b2Math.Clamp((m_motorImpulse + _local20), -(_local22), _local22); _local20 = (m_motorImpulse - _local21); _local12 = (_local12 - (_local17 * _local20)); _local14 = (_local14 + (_local18 * _local20)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local4 = _local2.m_xf.R; _local7 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local7) + (_local4.col2.x * _local8)); _local8 = ((_local4.col1.y * _local7) + (_local4.col2.y * _local8)); _local7 = _local5; _local4 = _local3.m_xf.R; _local9 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local10 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local9) + (_local4.col2.x * _local10)); _local10 = ((_local4.col1.y * _local9) + (_local4.col2.y * _local10)); _local9 = _local5; _local23 = (((_local13.x + (-(_local14) * _local10)) - _local11.x) - (-(_local12) * _local8)); _local24 = (((_local13.y + (_local14 * _local9)) - _local11.y) - (_local12 * _local7)); _local25 = (_local14 - _local12); m_mass.Solve33(impulse3, -(_local23), -(_local24), -(_local25)); if (m_limitState == e_equalLimits){ m_impulse.Add(impulse3); } else { if (m_limitState == e_atLowerLimit){ _local6 = (m_impulse.z + impulse3.z); if (_local6 < 0){ m_mass.Solve22(reduced, -(_local23), -(_local24)); impulse3.x = reduced.x; impulse3.y = reduced.y; impulse3.z = -(m_impulse.z); m_impulse.x = (m_impulse.x + reduced.x); m_impulse.y = (m_impulse.y + reduced.y); m_impulse.z = 0; }; } else { if (m_limitState == e_atUpperLimit){ _local6 = (m_impulse.z + impulse3.z); if (_local6 > 0){ m_mass.Solve22(reduced, -(_local23), -(_local24)); impulse3.x = reduced.x; impulse3.y = reduced.y; impulse3.z = -(m_impulse.z); m_impulse.x = (m_impulse.x + reduced.x); m_impulse.y = (m_impulse.y + reduced.y); m_impulse.z = 0; }; }; }; }; _local11.x = (_local11.x - (_local15 * impulse3.x)); _local11.y = (_local11.y - (_local15 * impulse3.y)); _local12 = (_local12 - (_local17 * (((_local7 * impulse3.y) - (_local8 * impulse3.x)) + impulse3.z))); _local13.x = (_local13.x + (_local16 * impulse3.x)); _local13.y = (_local13.y + (_local16 * impulse3.y)); _local14 = (_local14 + (_local18 * (((_local9 * impulse3.y) - (_local10 * impulse3.x)) + impulse3.z))); } else { _local4 = _local2.m_xf.R; _local7 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local7) + (_local4.col2.x * _local8)); _local8 = ((_local4.col1.y * _local7) + (_local4.col2.y * _local8)); _local7 = _local5; _local4 = _local3.m_xf.R; _local9 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local10 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local9) + (_local4.col2.x * _local10)); _local10 = ((_local4.col1.y * _local9) + (_local4.col2.y * _local10)); _local9 = _local5; _local26 = (((_local13.x + (-(_local14) * _local10)) - _local11.x) - (-(_local12) * _local8)); _local27 = (((_local13.y + (_local14 * _local9)) - _local11.y) - (_local12 * _local7)); m_mass.Solve22(impulse2, -(_local26), -(_local27)); m_impulse.x = (m_impulse.x + impulse2.x); m_impulse.y = (m_impulse.y + impulse2.y); _local11.x = (_local11.x - (_local15 * impulse2.x)); _local11.y = (_local11.y - (_local15 * impulse2.y)); _local12 = (_local12 - (_local17 * ((_local7 * impulse2.y) - (_local8 * impulse2.x)))); _local13.x = (_local13.x + (_local16 * impulse2.x)); _local13.y = (_local13.y + (_local16 * impulse2.y)); _local14 = (_local14 + (_local18 * ((_local9 * impulse2.y) - (_local10 * impulse2.x)))); }; _local2.m_linearVelocity.SetV(_local11); _local2.m_angularVelocity = _local12; _local3.m_linearVelocity.SetV(_local13); _local3.m_angularVelocity = _local14; } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local9:Number; var _local10:Number; var _local11:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local5:b2Body = m_bodyA; var _local6:b2Body = m_bodyB; var _local7:Number = 0; var _local8:Number = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local6.m_sweep.a - _local5.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local3 = b2Math.Clamp((_local25 - m_lowerAngle), -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local3); _local7 = b2Math.Abs(_local3); } else { if (m_limitState == e_atLowerLimit){ _local3 = (_local25 - m_lowerAngle); _local7 = -(_local3); _local3 = b2Math.Clamp((_local3 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local3); } else { if (m_limitState == e_atUpperLimit){ _local3 = (_local25 - m_upperAngle); _local7 = _local3; _local3 = b2Math.Clamp((_local3 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local3); }; }; }; _local5.m_sweep.a = (_local5.m_sweep.a - (_local5.m_invI * _local26)); _local6.m_sweep.a = (_local6.m_sweep.a + (_local6.m_invI * _local26)); _local5.SynchronizeTransform(); _local6.SynchronizeTransform(); }; _local4 = _local5.m_xf.R; var _local12:Number = (m_localAnchor1.x - _local5.m_sweep.localCenter.x); var _local13:Number = (m_localAnchor1.y - _local5.m_sweep.localCenter.y); _local9 = ((_local4.col1.x * _local12) + (_local4.col2.x * _local13)); _local13 = ((_local4.col1.y * _local12) + (_local4.col2.y * _local13)); _local12 = _local9; _local4 = _local6.m_xf.R; var _local14:Number = (m_localAnchor2.x - _local6.m_sweep.localCenter.x); var _local15:Number = (m_localAnchor2.y - _local6.m_sweep.localCenter.y); _local9 = ((_local4.col1.x * _local14) + (_local4.col2.x * _local15)); _local15 = ((_local4.col1.y * _local14) + (_local4.col2.y * _local15)); _local14 = _local9; var _local16:Number = (((_local6.m_sweep.c.x + _local14) - _local5.m_sweep.c.x) - _local12); var _local17:Number = (((_local6.m_sweep.c.y + _local15) - _local5.m_sweep.c.y) - _local13); var _local18:Number = ((_local16 * _local16) + (_local17 * _local17)); var _local19:Number = Math.sqrt(_local18); _local8 = _local19; var _local20:Number = _local5.m_invMass; var _local21:Number = _local6.m_invMass; var _local22:Number = _local5.m_invI; var _local23:Number = _local6.m_invI; var _local24:Number = (10 * b2Settings.b2_linearSlop); if (_local18 > (_local24 * _local24)){ _local27 = (_local16 / _local19); _local28 = (_local17 / _local19); _local29 = (_local20 + _local21); _local30 = (1 / _local29); _local10 = (_local30 * -(_local16)); _local11 = (_local30 * -(_local17)); _local31 = 0.5; _local5.m_sweep.c.x = (_local5.m_sweep.c.x - ((_local31 * _local20) * _local10)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y - ((_local31 * _local20) * _local11)); _local6.m_sweep.c.x = (_local6.m_sweep.c.x + ((_local31 * _local21) * _local10)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + ((_local31 * _local21) * _local11)); _local16 = (((_local6.m_sweep.c.x + _local14) - _local5.m_sweep.c.x) - _local12); _local17 = (((_local6.m_sweep.c.y + _local15) - _local5.m_sweep.c.y) - _local13); }; K1.col1.x = (_local20 + _local21); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local20 + _local21); K2.col1.x = ((_local22 * _local13) * _local13); K2.col2.x = ((-(_local22) * _local12) * _local13); K2.col1.y = ((-(_local22) * _local12) * _local13); K2.col2.y = ((_local22 * _local12) * _local12); K3.col1.x = ((_local23 * _local15) * _local15); K3.col2.x = ((-(_local23) * _local14) * _local15); K3.col1.y = ((-(_local23) * _local14) * _local15); K3.col2.y = ((_local23 * _local14) * _local14); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); _local10 = tImpulse.x; _local11 = tImpulse.y; _local5.m_sweep.c.x = (_local5.m_sweep.c.x - (_local5.m_invMass * _local10)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y - (_local5.m_invMass * _local11)); _local5.m_sweep.a = (_local5.m_sweep.a - (_local5.m_invI * ((_local12 * _local11) - (_local13 * _local10)))); _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_local6.m_invMass * _local10)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_local6.m_invMass * _local11)); _local6.m_sweep.a = (_local6.m_sweep.a + (_local6.m_invI * ((_local14 * _local11) - (_local15 * _local10)))); _local5.SynchronizeTransform(); _local6.SynchronizeTransform(); return ((((_local8 <= b2Settings.b2_linearSlop)) && ((_local7 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 77
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var referenceAngle:Number; public var enableLimit:Boolean; public var lowerAngle:Number; public var upperAngle:Number; public var enableMotor:Boolean; public var motorSpeed:Number; public var maxMotorTorque:Number; public function b2RevoluteJointDef(){ localAnchorA = new b2Vec2(); localAnchorB = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchorA.Set(0, 0); localAnchorB.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ bodyA = _arg1; bodyB = _arg2; localAnchorA = bodyA.GetLocalPoint(_arg3); localAnchorB = bodyB.GetLocalPoint(_arg3); referenceAngle = (bodyB.GetAngle() - bodyA.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 78
//b2WeldJoint (Box2D.Dynamics.Joints.b2WeldJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2WeldJoint extends b2Joint { private var m_localAnchorA:b2Vec2; private var m_localAnchorB:b2Vec2; private var m_referenceAngle:Number; private var m_impulse:b2Vec3; private var m_mass:b2Mat33; public function b2WeldJoint(_arg1:b2WeldJointDef){ m_localAnchorA = new b2Vec2(); m_localAnchorB = new b2Vec2(); m_impulse = new b2Vec3(); m_mass = new b2Mat33(); super(_arg1); m_localAnchorA.SetV(_arg1.localAnchorA); m_localAnchorB.SetV(_arg1.localAnchorB); m_referenceAngle = _arg1.referenceAngle; m_impulse.SetZero(); m_mass = new b2Mat33(); } override public function GetAnchorA():b2Vec2{ return (m_bodyA.GetWorldPoint(m_localAnchorA)); } override public function GetAnchorB():b2Vec2{ return (m_bodyB.GetWorldPoint(m_localAnchorB)); } override public function GetReactionForce(_arg1:Number):b2Vec2{ return (new b2Vec2((_arg1 * m_impulse.x), (_arg1 * m_impulse.y))); } override public function GetReactionTorque(_arg1:Number):Number{ return ((_arg1 * m_impulse.z)); } override b2internal 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; _local4 = m_bodyA; _local5 = m_bodyB; _local2 = _local4.m_xf.R; _local6 = (m_localAnchorA.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchorA.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_localAnchorB.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchorB.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; _local10 = _local4.m_invMass; _local11 = _local5.m_invMass; _local12 = _local4.m_invI; _local13 = _local5.m_invI; m_mass.col1.x = (((_local10 + _local11) + ((_local7 * _local7) * _local12)) + ((_local9 * _local9) * _local13)); m_mass.col2.x = (((-(_local7) * _local6) * _local12) - ((_local9 * _local8) * _local13)); m_mass.col3.x = ((-(_local7) * _local12) - (_local9 * _local13)); m_mass.col1.y = m_mass.col2.x; m_mass.col2.y = (((_local10 + _local11) + ((_local6 * _local6) * _local12)) + ((_local8 * _local8) * _local13)); m_mass.col3.y = ((_local6 * _local12) + (_local8 * _local13)); m_mass.col1.z = m_mass.col3.x; m_mass.col2.z = m_mass.col3.y; m_mass.col3.z = (_local12 + _local13); if (_arg1.warmStarting){ m_impulse.x = (m_impulse.x * _arg1.dtRatio); m_impulse.y = (m_impulse.y * _arg1.dtRatio); m_impulse.z = (m_impulse.z * _arg1.dtRatio); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local10 * m_impulse.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local10 * m_impulse.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local12 * (((_local6 * m_impulse.y) - (_local7 * m_impulse.x)) + m_impulse.z))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local11 * m_impulse.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local11 * m_impulse.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local13 * (((_local8 * m_impulse.y) - (_local9 * m_impulse.x)) + m_impulse.z))); } else { m_impulse.SetZero(); }; } override b2internal function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body = m_bodyA; var _local5:b2Body = m_bodyB; var _local6:b2Vec2 = _local4.m_linearVelocity; var _local7:Number = _local4.m_angularVelocity; var _local8:b2Vec2 = _local5.m_linearVelocity; var _local9:Number = _local5.m_angularVelocity; var _local10:Number = _local4.m_invMass; var _local11:Number = _local5.m_invMass; var _local12:Number = _local4.m_invI; var _local13:Number = _local5.m_invI; _local2 = _local4.m_xf.R; var _local14:Number = (m_localAnchorA.x - _local4.m_sweep.localCenter.x); var _local15:Number = (m_localAnchorA.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local14) + (_local2.col2.x * _local15)); _local15 = ((_local2.col1.y * _local14) + (_local2.col2.y * _local15)); _local14 = _local3; _local2 = _local5.m_xf.R; var _local16:Number = (m_localAnchorB.x - _local5.m_sweep.localCenter.x); var _local17:Number = (m_localAnchorB.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local16) + (_local2.col2.x * _local17)); _local17 = ((_local2.col1.y * _local16) + (_local2.col2.y * _local17)); _local16 = _local3; var _local18:Number = (((_local8.x - (_local9 * _local17)) - _local6.x) + (_local7 * _local15)); var _local19:Number = (((_local8.y + (_local9 * _local16)) - _local6.y) - (_local7 * _local14)); var _local20:Number = (_local9 - _local7); var _local21:b2Vec3 = new b2Vec3(); m_mass.Solve33(_local21, -(_local18), -(_local19), -(_local20)); m_impulse.Add(_local21); _local6.x = (_local6.x - (_local10 * _local21.x)); _local6.y = (_local6.y - (_local10 * _local21.y)); _local7 = (_local7 - (_local12 * (((_local14 * _local21.y) - (_local15 * _local21.x)) + _local21.z))); _local8.x = (_local8.x + (_local11 * _local21.x)); _local8.y = (_local8.y + (_local11 * _local21.y)); _local9 = (_local9 + (_local13 * (((_local16 * _local21.y) - (_local17 * _local21.x)) + _local21.z))); _local4.m_angularVelocity = _local7; _local5.m_angularVelocity = _local9; } override b2internal function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body = m_bodyA; var _local5:b2Body = m_bodyB; _local2 = _local4.m_xf.R; var _local6:Number = (m_localAnchorA.x - _local4.m_sweep.localCenter.x); var _local7:Number = (m_localAnchorA.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; var _local8:Number = (m_localAnchorB.x - _local5.m_sweep.localCenter.x); var _local9:Number = (m_localAnchorB.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; var _local10:Number = _local4.m_invMass; var _local11:Number = _local5.m_invMass; var _local12:Number = _local4.m_invI; var _local13:Number = _local5.m_invI; var _local14:Number = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); var _local15:Number = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); var _local16:Number = ((_local5.m_sweep.a - _local4.m_sweep.a) - m_referenceAngle); var _local17:Number = (10 * b2Settings.b2_linearSlop); var _local18:Number = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); var _local19:Number = b2Math.Abs(_local16); if (_local18 > _local17){ _local12 = (_local12 * 1); _local13 = (_local13 * 1); }; m_mass.col1.x = (((_local10 + _local11) + ((_local7 * _local7) * _local12)) + ((_local9 * _local9) * _local13)); m_mass.col2.x = (((-(_local7) * _local6) * _local12) - ((_local9 * _local8) * _local13)); m_mass.col3.x = ((-(_local7) * _local12) - (_local9 * _local13)); m_mass.col1.y = m_mass.col2.x; m_mass.col2.y = (((_local10 + _local11) + ((_local6 * _local6) * _local12)) + ((_local8 * _local8) * _local13)); m_mass.col3.y = ((_local6 * _local12) + (_local8 * _local13)); m_mass.col1.z = m_mass.col3.x; m_mass.col2.z = m_mass.col3.y; m_mass.col3.z = (_local12 + _local13); var _local20:b2Vec3 = new b2Vec3(); m_mass.Solve33(_local20, -(_local14), -(_local15), -(_local16)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x - (_local10 * _local20.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y - (_local10 * _local20.y)); _local4.m_sweep.a = (_local4.m_sweep.a - (_local12 * (((_local6 * _local20.y) - (_local7 * _local20.x)) + _local20.z))); _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_local11 * _local20.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_local11 * _local20.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_local13 * (((_local8 * _local20.y) - (_local9 * _local20.x)) + _local20.z))); _local4.SynchronizeTransform(); _local5.SynchronizeTransform(); return ((((_local18 <= b2Settings.b2_linearSlop)) && ((_local19 <= b2Settings.b2_angularSlop)))); } } }//package Box2D.Dynamics.Joints
Section 79
//b2WeldJointDef (Box2D.Dynamics.Joints.b2WeldJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2WeldJointDef extends b2JointDef { public var localAnchorA:b2Vec2; public var localAnchorB:b2Vec2; public var referenceAngle:Number; public function b2WeldJointDef(){ localAnchorA = new b2Vec2(); localAnchorB = new b2Vec2(); super(); type = b2Joint.e_weldJoint; referenceAngle = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ bodyA = _arg1; bodyB = _arg2; localAnchorA.SetV(bodyA.GetLocalPoint(_arg3)); localAnchorB.SetV(bodyB.GetLocalPoint(_arg3)); referenceAngle = (bodyB.GetAngle() - bodyA.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 80
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Controllers.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2Body { b2internal var m_flags:uint; b2internal var m_type:int; b2internal var m_islandIndex:int; b2internal var m_xf:b2Transform; b2internal var m_sweep:b2Sweep; b2internal var m_linearVelocity:b2Vec2; b2internal var m_angularVelocity:Number; b2internal var m_force:b2Vec2; b2internal var m_torque:Number; b2internal var m_world:b2World; b2internal var m_prev:b2Body; b2internal var m_next:b2Body; b2internal var m_fixtureList:b2Fixture; b2internal var m_fixtureCount:int; b2internal var m_controllerList:b2ControllerEdge; b2internal var m_controllerCount:int; b2internal var m_jointList:b2JointEdge; b2internal var m_contactList:b2ContactEdge; b2internal var m_mass:Number; b2internal var m_invMass:Number; b2internal var m_I:Number; b2internal var m_invI:Number; b2internal var m_inertiaScale:Number; b2internal var m_linearDamping:Number; b2internal var m_angularDamping:Number; b2internal var m_sleepTime:Number; private var m_userData; private static var s_xf1:b2Transform = new b2Transform(); b2internal static var e_islandFlag:uint = 1; b2internal static var e_awakeFlag:uint = 2; b2internal static var e_allowSleepFlag:uint = 4; b2internal static var e_bulletFlag:uint = 8; b2internal static var e_fixedRotationFlag:uint = 16; b2internal static var e_activeFlag:uint = 32; public static var b2_staticBody:uint = 0; public static var b2_kinematicBody:uint = 1; public static var b2_dynamicBody:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ m_xf = new b2Transform(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.bullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.awake){ m_flags = (m_flags | e_awakeFlag); }; if (_arg1.active){ m_flags = (m_flags | e_activeFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetZero(); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_controllerList = null; m_contactList = null; m_controllerCount = 0; m_prev = null; m_next = null; m_linearVelocity.SetV(_arg1.linearVelocity); m_angularVelocity = _arg1.angularVelocity; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_sleepTime = 0; m_type = _arg1.type; if (m_type == b2_dynamicBody){ m_mass = 1; m_invMass = 1; } else { m_mass = 0; m_invMass = 0; }; m_I = 0; m_invI = 0; m_inertiaScale = _arg1.inertiaScale; m_userData = _arg1.userData; m_fixtureList = null; m_fixtureCount = 0; } private function connectEdges(_arg1:b2EdgeShape, _arg2:b2EdgeShape, _arg3:Number):Number{ var _local4:Number = Math.atan2(_arg2.GetDirectionVector().y, _arg2.GetDirectionVector().x); var _local5:Number = Math.tan(((_local4 - _arg3) * 0.5)); var _local6:b2Vec2 = b2Math.MulFV(_local5, _arg2.GetDirectionVector()); _local6 = b2Math.SubtractVV(_local6, _arg2.GetNormalVector()); _local6 = b2Math.MulFV(b2Settings.b2_toiSlop, _local6); _local6 = b2Math.AddVV(_local6, _arg2.GetVertex1()); var _local7:b2Vec2 = b2Math.AddVV(_arg1.GetDirectionVector(), _arg2.GetDirectionVector()); _local7.Normalize(); var _local8 = (b2Math.Dot(_arg1.GetDirectionVector(), _arg2.GetNormalVector()) > 0); _arg1.SetNextEdge(_arg2, _local6, _local7, _local8); _arg2.SetPrevEdge(_arg1, _local6, _local7, _local8); return (_local4); } public function CreateFixture(_arg1:b2FixtureDef):b2Fixture{ var _local3:IBroadPhase; if (m_world.IsLocked() == true){ return (null); }; var _local2:b2Fixture = new b2Fixture(); _local2.Create(this, m_xf, _arg1); if ((m_flags & e_activeFlag)){ _local3 = m_world.m_contactManager.m_broadPhase; _local2.CreateProxy(_local3, m_xf); }; _local2.m_next = m_fixtureList; m_fixtureList = _local2; m_fixtureCount++; _local2.m_body = this; if (_local2.m_density > 0){ ResetMassData(); }; m_world.m_flags = (m_world.m_flags | b2World.e_newFixture); return (_local2); } public function CreateFixture2(_arg1:b2Shape, _arg2:Number=0):b2Fixture{ var _local3:b2FixtureDef = new b2FixtureDef(); _local3.shape = _arg1; _local3.density = _arg2; return (CreateFixture(_local3)); } public function DestroyFixture(_arg1:b2Fixture):void{ var _local6:b2Contact; var _local7:b2Fixture; var _local8:b2Fixture; var _local9:IBroadPhase; if (m_world.IsLocked() == true){ return; }; var _local2:b2Fixture = m_fixtureList; var _local3:b2Fixture; var _local4:Boolean; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_fixtureList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; var _local5:b2ContactEdge = m_contactList; while (_local5) { _local6 = _local5.contact; _local5 = _local5.next; _local7 = _local6.GetFixtureA(); _local8 = _local6.GetFixtureB(); if ((((_arg1 == _local7)) || ((_arg1 == _local8)))){ m_world.m_contactManager.Destroy(_local6); }; }; if ((m_flags & e_activeFlag)){ _local9 = m_world.m_contactManager.m_broadPhase; _arg1.DestroyProxy(_local9); }; _arg1.Destroy(); _arg1.m_body = null; _arg1.m_next = null; m_fixtureCount--; ResetMassData(); } public function SetPositionAndAngle(_arg1:b2Vec2, _arg2:Number):void{ var _local3:b2Fixture; if (m_world.IsLocked() == true){ return; }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); var _local6:IBroadPhase = m_world.m_contactManager.m_broadPhase; _local3 = m_fixtureList; while (_local3) { _local3.Synchronize(_local6, m_xf, m_xf); _local3 = _local3.m_next; }; m_world.m_contactManager.FindNewContacts(); } public function SetTransform(_arg1:b2Transform):void{ SetPositionAndAngle(_arg1.position, _arg1.GetAngle()); } public function GetTransform():b2Transform{ return (m_xf); } public function GetPosition():b2Vec2{ return (m_xf.position); } public function SetPosition(_arg1:b2Vec2):void{ SetPositionAndAngle(_arg1, GetAngle()); } public function GetAngle():Number{ return (m_sweep.a); } public function SetAngle(_arg1:Number):void{ SetPositionAndAngle(GetPosition(), _arg1); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function SetLinearVelocity(_arg1:b2Vec2):void{ if (m_type == b2_staticBody){ return; }; m_linearVelocity.SetV(_arg1); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SetAngularVelocity(_arg1:Number):void{ if (m_type == b2_staticBody){ return; }; m_angularVelocity = _arg1; } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function GetDefinition():b2BodyDef{ var _local1:b2BodyDef = new b2BodyDef(); _local1.type = GetType(); _local1.allowSleep = ((m_flags & e_allowSleepFlag) == e_allowSleepFlag); _local1.angle = GetAngle(); _local1.angularDamping = m_angularDamping; _local1.angularVelocity = m_angularVelocity; _local1.fixedRotation = ((m_flags & e_fixedRotationFlag) == e_fixedRotationFlag); _local1.bullet = ((m_flags & e_bulletFlag) == e_bulletFlag); _local1.awake = ((m_flags & e_awakeFlag) == e_awakeFlag); _local1.linearDamping = m_linearDamping; _local1.linearVelocity.SetV(GetLinearVelocity()); _local1.position = GetPosition(); _local1.userData = GetUserData(); return (_local1); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (m_type != b2_dynamicBody){ return; }; if (IsAwake() == false){ SetAwake(true); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function ApplyTorque(_arg1:Number):void{ if (m_type != b2_dynamicBody){ return; }; if (IsAwake() == false){ SetAwake(true); }; m_torque = (m_torque + _arg1); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (m_type != b2_dynamicBody){ return; }; if (IsAwake() == false){ SetAwake(true); }; 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 Split(_arg1:Function):b2Body{ var _local7:b2Fixture; var _local13:b2Fixture; var _local2:b2Vec2 = GetLinearVelocity().Copy(); var _local3:Number = GetAngularVelocity(); var _local4:b2Vec2 = GetWorldCenter(); var _local5:b2Body = this; var _local6:b2Body = m_world.CreateBody(GetDefinition()); var _local8:b2Fixture = _local5.m_fixtureList; while (_local8) { if (_arg1(_local8)){ _local13 = _local8.m_next; if (_local7){ _local7.m_next = _local13; } else { _local5.m_fixtureList = _local13; }; _local5.m_fixtureCount--; _local8.m_next = _local6.m_fixtureList; _local6.m_fixtureList = _local8; _local6.m_fixtureCount++; _local8.m_body = _local6; _local8 = _local13; } else { _local7 = _local8; _local8 = _local8.m_next; }; }; _local5.ResetMassData(); _local6.ResetMassData(); var _local9:b2Vec2 = _local5.GetWorldCenter(); var _local10:b2Vec2 = _local6.GetWorldCenter(); var _local11:b2Vec2 = b2Math.AddVV(_local2, b2Math.CrossFV(_local3, b2Math.SubtractVV(_local9, _local4))); var _local12:b2Vec2 = b2Math.AddVV(_local2, b2Math.CrossFV(_local3, b2Math.SubtractVV(_local10, _local4))); _local5.SetLinearVelocity(_local11); _local6.SetLinearVelocity(_local12); _local5.SetAngularVelocity(_local3); _local6.SetAngularVelocity(_local3); _local5.SynchronizeFixtures(); _local6.SynchronizeFixtures(); return (_local6); } public function Merge(_arg1:b2Body):void{ var _local2:b2Fixture; var _local3:b2Body; var _local4:b2Body; var _local11:b2Fixture; _local2 = _arg1.m_fixtureList; while (_local2) { _local11 = _local2.m_next; _arg1.m_fixtureCount--; _local2.m_next = m_fixtureList; m_fixtureList = _local2; m_fixtureCount++; _local2.m_body = _local4; _local2 = _local11; }; _local3.m_fixtureCount = 0; _local3 = this; _local4 = _arg1; var _local5:b2Vec2 = _local3.GetWorldCenter(); var _local6:b2Vec2 = _local4.GetWorldCenter(); var _local7:b2Vec2 = _local3.GetLinearVelocity().Copy(); var _local8:b2Vec2 = _local4.GetLinearVelocity().Copy(); var _local9:Number = _local3.GetAngularVelocity(); var _local10:Number = _local4.GetAngularVelocity(); _local3.ResetMassData(); SynchronizeFixtures(); } public function GetMass():Number{ return (m_mass); } public function GetInertia():Number{ return (m_I); } public function GetMassData(_arg1:b2MassData):void{ _arg1.mass = m_mass; _arg1.I = m_I; _arg1.center.SetV(m_sweep.localCenter); } public function SetMassData(_arg1:b2MassData):void{ b2Settings.b2Assert((m_world.IsLocked() == false)); if (m_world.IsLocked() == true){ return; }; if (m_type != b2_dynamicBody){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass <= 0){ m_mass = 1; }; m_invMass = (1 / m_mass); if ((((_arg1.I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (_arg1.I - (m_mass * ((_arg1.center.x * _arg1.center.x) + (_arg1.center.y * _arg1.center.y)))); m_invI = (1 / m_I); }; var _local2:b2Vec2 = m_sweep.c.Copy(); m_sweep.localCenter.SetV(_arg1.center); m_sweep.c0.SetV(b2Math.MulX(m_xf, m_sweep.localCenter)); m_sweep.c.SetV(m_sweep.c0); m_linearVelocity.x = (m_linearVelocity.x + (m_angularVelocity * -((m_sweep.c.y - _local2.y)))); m_linearVelocity.y = (m_linearVelocity.y + (m_angularVelocity * (m_sweep.c.x - _local2.x))); } public function ResetMassData():void{ var _local4:b2MassData; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_sweep.localCenter.SetZero(); if ((((m_type == b2_staticBody)) || ((m_type == b2_kinematicBody)))){ return; }; var _local1:b2Vec2 = b2Vec2.Make(0, 0); var _local2:b2Fixture = m_fixtureList; while (_local2) { if (_local2.m_density == 0){ } else { _local4 = _local2.GetMassData(); m_mass = (m_mass + _local4.mass); _local1.x = (_local1.x + (_local4.center.x * _local4.mass)); _local1.y = (_local1.y + (_local4.center.y * _local4.mass)); m_I = (m_I + _local4.I); }; _local2 = _local2.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local1.x = (_local1.x * m_invMass); _local1.y = (_local1.y * m_invMass); } else { m_mass = 1; m_invMass = 1; }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local1.x * _local1.x) + (_local1.y * _local1.y)))); m_I = (m_I * m_inertiaScale); b2Settings.b2Assert((m_I > 0)); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; var _local3:b2Vec2 = m_sweep.c.Copy(); m_sweep.localCenter.SetV(_local1); m_sweep.c0.SetV(b2Math.MulX(m_xf, m_sweep.localCenter)); m_sweep.c.SetV(m_sweep.c0); m_linearVelocity.x = (m_linearVelocity.x + (m_angularVelocity * -((m_sweep.c.y - _local3.y)))); m_linearVelocity.y = (m_linearVelocity.y + (m_angularVelocity * (m_sweep.c.x - _local3.x))); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.MulMV(m_xf.R, _arg1)); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.MulXT(m_xf, _arg1)); } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.MulTMV(m_xf.R, _arg1)); } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetLinearDamping():Number{ return (m_linearDamping); } public function SetLinearDamping(_arg1:Number):void{ m_linearDamping = _arg1; } public function GetAngularDamping():Number{ return (m_angularDamping); } public function SetAngularDamping(_arg1:Number):void{ m_angularDamping = _arg1; } public function SetType(_arg1:uint):void{ if (m_type == _arg1){ return; }; m_type = _arg1; ResetMassData(); if (m_type == b2_staticBody){ m_linearVelocity.SetZero(); m_angularVelocity = 0; }; SetAwake(true); m_force.SetZero(); m_torque = 0; var _local2:b2ContactEdge = m_contactList; while (_local2) { _local2.contact.FlagForFiltering(); _local2 = _local2.next; }; } public function GetType():uint{ return (m_type); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function SetSleepingAllowed(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); SetAwake(true); }; } public function SetAwake(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_awakeFlag); m_sleepTime = 0; } else { m_flags = (m_flags & ~(e_awakeFlag)); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; }; } public function IsAwake():Boolean{ return (((m_flags & e_awakeFlag) == e_awakeFlag)); } public function SetFixedRotation(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_fixedRotationFlag); } else { m_flags = (m_flags & ~(e_fixedRotationFlag)); }; ResetMassData(); } public function IsFixedRotation():Boolean{ return (((m_flags & e_fixedRotationFlag) == e_fixedRotationFlag)); } public function SetActive(_arg1:Boolean):void{ var _local2:IBroadPhase; var _local3:b2Fixture; var _local4:b2ContactEdge; var _local5:b2ContactEdge; if (_arg1 == IsActive()){ return; }; if (_arg1){ m_flags = (m_flags | e_activeFlag); _local2 = m_world.m_contactManager.m_broadPhase; _local3 = m_fixtureList; while (_local3) { _local3.CreateProxy(_local2, m_xf); _local3 = _local3.m_next; }; } else { m_flags = (m_flags & ~(e_activeFlag)); _local2 = m_world.m_contactManager.m_broadPhase; _local3 = m_fixtureList; while (_local3) { _local3.DestroyProxy(_local2); _local3 = _local3.m_next; }; _local4 = m_contactList; while (_local4) { _local5 = _local4; _local4 = _local4.next; m_world.m_contactManager.Destroy(_local5.contact); }; m_contactList = null; }; } public function IsActive():Boolean{ return (((m_flags & e_activeFlag) == e_activeFlag)); } public function IsSleepingAllowed():Boolean{ return (((m_flags & e_allowSleepFlag) == e_allowSleepFlag)); } public function GetFixtureList():b2Fixture{ return (m_fixtureList); } public function GetJointList():b2JointEdge{ return (m_jointList); } public function GetControllerList():b2ControllerEdge{ return (m_controllerList); } public function GetContactList():b2ContactEdge{ return (m_contactList); } public function GetNext():b2Body{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetWorld():b2World{ return (m_world); } b2internal function SynchronizeFixtures():void{ var _local4:b2Fixture; var _local1:b2Transform = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); var _local5:IBroadPhase = m_world.m_contactManager.m_broadPhase; _local4 = m_fixtureList; while (_local4) { _local4.Synchronize(_local5, _local1, m_xf); _local4 = _local4.m_next; }; } b2internal function SynchronizeTransform():void{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } b2internal function ShouldCollide(_arg1:b2Body):Boolean{ if (((!((m_type == b2_dynamicBody))) && (!((_arg1.m_type == b2_dynamicBody))))){ return (false); }; var _local2:b2JointEdge = m_jointList; while (_local2) { if (_local2.other == _arg1){ if (_local2.joint.m_collideConnected == false){ return (false); }; }; _local2 = _local2.next; }; return (true); } b2internal function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } } }//package Box2D.Dynamics
Section 81
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; public class b2BodyDef { public var type:uint; public var position:b2Vec2; public var angle:Number; public var linearVelocity:b2Vec2; public var angularVelocity:Number; public var linearDamping:Number; public var angularDamping:Number; public var allowSleep:Boolean; public var awake:Boolean; public var fixedRotation:Boolean; public var bullet:Boolean; public var active:Boolean; public var userData; public var inertiaScale:Number; public function b2BodyDef(){ position = new b2Vec2(); linearVelocity = new b2Vec2(); super(); userData = null; position.Set(0, 0); angle = 0; linearVelocity.Set(0, 0); angularVelocity = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; awake = true; fixedRotation = false; bullet = false; type = b2Body.b2_staticBody; active = true; inertiaScale = 1; } } }//package Box2D.Dynamics
Section 82
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Common.*; public class b2ContactFilter { b2internal static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Fixture, _arg2:b2Fixture):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } public function RayCollide(_arg1, _arg2:b2Fixture):Boolean{ if (!_arg1){ return (true); }; return (ShouldCollide((_arg1 as b2Fixture), _arg2)); } } }//package Box2D.Dynamics
Section 83
//b2ContactImpulse (Box2D.Dynamics.b2ContactImpulse) package Box2D.Dynamics { import Box2D.Common.*; public class b2ContactImpulse { public var normalImpulses:Array; public var tangentImpulses:Array; public function b2ContactImpulse(){ normalImpulses = new Array(b2Settings.b2_maxManifoldPoints); tangentImpulses = new Array(b2Settings.b2_maxManifoldPoints); super(); } } }//package Box2D.Dynamics
Section 84
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2ContactListener { b2internal static var b2_defaultListener:b2ContactListener = new (b2ContactListener); ; public function BeginContact(_arg1:b2Contact):void{ } public function EndContact(_arg1:b2Contact):void{ } public function PreSolve(_arg1:b2Contact, _arg2:b2Manifold):void{ } public function PostSolve(_arg1:b2Contact, _arg2:b2ContactImpulse):void{ } } }//package Box2D.Dynamics
Section 85
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2ContactManager { b2internal var m_world:b2World; b2internal var m_broadPhase:IBroadPhase; b2internal var m_contactList:b2Contact; b2internal var m_contactCount:int; b2internal var m_contactFilter:b2ContactFilter; b2internal var m_contactListener:b2ContactListener; b2internal var m_contactFactory:b2ContactFactory; b2internal var m_allocator; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_world = null; m_contactCount = 0; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = b2ContactListener.b2_defaultListener; m_contactFactory = new b2ContactFactory(m_allocator); m_broadPhase = new b2DynamicTreeBroadPhase(); } public function AddPair(_arg1, _arg2):void{ var _local9:b2Fixture; var _local10:b2Fixture; var _local3:b2Fixture = (_arg1 as b2Fixture); var _local4:b2Fixture = (_arg2 as b2Fixture); var _local5:b2Body = _local3.GetBody(); var _local6:b2Body = _local4.GetBody(); if (_local5 == _local6){ return; }; var _local7:b2ContactEdge = _local6.GetContactList(); while (_local7) { if (_local7.other == _local5){ _local9 = _local7.contact.GetFixtureA(); _local10 = _local7.contact.GetFixtureB(); if ((((_local9 == _local3)) && ((_local10 == _local4)))){ return; }; if ((((_local9 == _local4)) && ((_local10 == _local3)))){ return; }; }; _local7 = _local7.next; }; if (_local6.ShouldCollide(_local5) == false){ return; }; if (m_contactFilter.ShouldCollide(_local3, _local4) == false){ return; }; var _local8:b2Contact = m_contactFactory.Create(_local3, _local4); _local3 = _local8.GetFixtureA(); _local4 = _local8.GetFixtureB(); _local5 = _local3.m_body; _local6 = _local4.m_body; _local8.m_prev = null; _local8.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local8; }; m_world.m_contactList = _local8; _local8.m_nodeA.contact = _local8; _local8.m_nodeA.other = _local6; _local8.m_nodeA.prev = null; _local8.m_nodeA.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local8.m_nodeA; }; _local5.m_contactList = _local8.m_nodeA; _local8.m_nodeB.contact = _local8; _local8.m_nodeB.other = _local5; _local8.m_nodeB.prev = null; _local8.m_nodeB.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local8.m_nodeB; }; _local6.m_contactList = _local8.m_nodeB; m_world.m_contactCount++; } public function FindNewContacts():void{ m_broadPhase.UpdatePairs(AddPair); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Fixture = _arg1.GetFixtureA(); var _local3:b2Fixture = _arg1.GetFixtureB(); var _local4:b2Body = _local2.GetBody(); var _local5:b2Body = _local3.GetBody(); if (_arg1.m_manifold.m_pointCount > 0){ m_contactListener.EndContact(_arg1); }; 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; }; if (_arg1.m_nodeA.prev){ _arg1.m_nodeA.prev.next = _arg1.m_nodeA.next; }; if (_arg1.m_nodeA.next){ _arg1.m_nodeA.next.prev = _arg1.m_nodeA.prev; }; if (_arg1.m_nodeA == _local4.m_contactList){ _local4.m_contactList = _arg1.m_nodeA.next; }; if (_arg1.m_nodeB.prev){ _arg1.m_nodeB.prev.next = _arg1.m_nodeB.next; }; if (_arg1.m_nodeB.next){ _arg1.m_nodeB.next.prev = _arg1.m_nodeB.prev; }; if (_arg1.m_nodeB == _local5.m_contactList){ _local5.m_contactList = _arg1.m_nodeB.next; }; m_contactFactory.Destroy(_arg1); m_contactCount--; } public function Collide():void{ var _local2:b2Fixture; var _local3:b2Fixture; var _local4:b2Body; var _local5:b2Body; var _local6:*; var _local7:*; var _local8:Boolean; var _local9:b2Contact; var _local1:b2Contact = m_world.m_contactList; while (_local1) { _local2 = _local1.GetFixtureA(); _local3 = _local1.GetFixtureB(); _local4 = _local2.GetBody(); _local5 = _local3.GetBody(); if ((((_local4.IsAwake() == false)) && ((_local5.IsAwake() == false)))){ _local1 = _local1.GetNext(); } else { if ((_local1.m_flags & b2Contact.e_filterFlag)){ if (_local5.ShouldCollide(_local4) == false){ _local9 = _local1; _local1 = _local9.GetNext(); Destroy(_local9); continue; }; if (m_contactFilter.ShouldCollide(_local2, _local3) == false){ _local9 = _local1; _local1 = _local9.GetNext(); Destroy(_local9); continue; }; _local1.m_flags = (_local1.m_flags & ~(b2Contact.e_filterFlag)); }; _local6 = _local2.m_proxy; _local7 = _local3.m_proxy; _local8 = m_broadPhase.TestOverlap(_local6, _local7); if (_local8 == false){ _local9 = _local1; _local1 = _local9.GetNext(); Destroy(_local9); } else { _local1.Update(m_contactListener); _local1 = _local1.GetNext(); }; }; }; } } }//package Box2D.Dynamics
Section 86
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; import flash.display.*; public class b2DebugDraw { private var m_drawFlags:uint; b2internal var m_sprite:Sprite; private var m_drawScale:Number;// = 1 private var m_lineThickness:Number;// = 1 private var m_alpha:Number;// = 1 private var m_fillAlpha:Number;// = 1 private var m_xformScale:Number;// = 1 public static var e_shapeBit:uint = 1; public static var e_jointBit:uint = 2; public static var e_aabbBit:uint = 4; public static var e_pairBit:uint = 8; public static var e_centerOfMassBit:uint = 16; public static var e_controllerBit:uint = 32; public function b2DebugDraw(){ m_drawFlags = 0; } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function GetFlags():uint{ return (m_drawFlags); } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function SetSprite(_arg1:Sprite):void{ m_sprite = _arg1; } public function GetSprite():Sprite{ return (m_sprite); } public function SetDrawScale(_arg1:Number):void{ m_drawScale = _arg1; } public function GetDrawScale():Number{ return (m_drawScale); } public function SetLineThickness(_arg1:Number):void{ m_lineThickness = _arg1; } public function GetLineThickness():Number{ return (m_lineThickness); } public function SetAlpha(_arg1:Number):void{ m_alpha = _arg1; } public function GetAlpha():Number{ return (m_alpha); } public function SetFillAlpha(_arg1:Number):void{ m_fillAlpha = _arg1; } public function GetFillAlpha():Number{ return (m_fillAlpha); } public function SetXFormScale(_arg1:Number):void{ m_xformScale = _arg1; } public function GetXFormScale():Number{ return (m_xformScale); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); var _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); var _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function DrawTransform(_arg1:b2Transform):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } } }//package Box2D.Dynamics
Section 87
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeFixture(_arg1:b2Fixture):void{ } } }//package Box2D.Dynamics
Section 88
//b2FilterData (Box2D.Dynamics.b2FilterData) package Box2D.Dynamics { public class b2FilterData { public var categoryBits:uint;// = 1 public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Dynamics
Section 89
//b2Fixture (Box2D.Dynamics.b2Fixture) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2Fixture { private var m_massData:b2MassData; b2internal var m_aabb:b2AABB; b2internal var m_density:Number; b2internal var m_next:b2Fixture; b2internal var m_body:b2Body; b2internal var m_shape:b2Shape; b2internal var m_friction:Number; b2internal var m_restitution:Number; b2internal var m_proxy; b2internal var m_filter:b2FilterData; b2internal var m_isSensor:Boolean; b2internal var m_userData; public function b2Fixture(){ m_filter = new b2FilterData(); super(); m_aabb = new b2AABB(); m_userData = null; m_body = null; m_next = null; m_shape = null; m_density = 0; m_friction = 0; m_restitution = 0; } public function GetType():int{ return (m_shape.GetType()); } public function GetShape():b2Shape{ return (m_shape); } public function SetSensor(_arg1:Boolean):void{ var _local3:b2Contact; var _local4:b2Fixture; var _local5:b2Fixture; if (m_isSensor == _arg1){ return; }; m_isSensor = _arg1; if (m_body == null){ return; }; var _local2:b2ContactEdge = m_body.GetContactList(); while (_local2) { _local3 = _local2.contact; _local4 = _local3.GetFixtureA(); _local5 = _local3.GetFixtureB(); if ((((_local4 == this)) || ((_local5 == this)))){ _local3.SetSensor(((_local4.IsSensor()) || (_local5.IsSensor()))); }; _local2 = _local2.next; }; } public function IsSensor():Boolean{ return (m_isSensor); } public function SetFilterData(_arg1:b2FilterData):void{ var _local3:b2Contact; var _local4:b2Fixture; var _local5:b2Fixture; m_filter = _arg1.Copy(); if (m_body){ return; }; var _local2:b2ContactEdge = m_body.GetContactList(); while (_local2) { _local3 = _local2.contact; _local4 = _local3.GetFixtureA(); _local5 = _local3.GetFixtureB(); if ((((_local4 == this)) || ((_local5 == this)))){ _local3.FlagForFiltering(); }; _local2 = _local2.next; }; } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function GetBody():b2Body{ return (m_body); } public function GetNext():b2Fixture{ return (m_next); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function TestPoint(_arg1:b2Vec2):Boolean{ return (m_shape.TestPoint(m_body.GetTransform(), _arg1)); } public function RayCast(_arg1:b2RayCastOutput, _arg2:b2RayCastInput):Boolean{ return (m_shape.RayCast(_arg1, _arg2, m_body.GetTransform())); } public function GetMassData(_arg1:b2MassData=null):b2MassData{ if (_arg1 == null){ _arg1 = new b2MassData(); }; m_shape.ComputeMass(_arg1, m_density); return (_arg1); } public function SetDensity(_arg1:Number):void{ m_density = _arg1; } public function GetDensity():Number{ return (m_density); } public function GetFriction():Number{ return (m_friction); } public function SetFriction(_arg1:Number):void{ m_friction = _arg1; } public function GetRestitution():Number{ return (m_restitution); } public function SetRestitution(_arg1:Number):void{ m_restitution = _arg1; } public function GetAABB():b2AABB{ return (m_aabb); } b2internal function Create(_arg1:b2Body, _arg2:b2Transform, _arg3:b2FixtureDef):void{ m_userData = _arg3.userData; m_friction = _arg3.friction; m_restitution = _arg3.restitution; m_body = _arg1; m_next = null; m_filter = _arg3.filter.Copy(); m_isSensor = _arg3.isSensor; m_shape = _arg3.shape.Copy(); m_density = _arg3.density; } b2internal function Destroy():void{ m_shape = null; } b2internal function CreateProxy(_arg1:IBroadPhase, _arg2:b2Transform):void{ m_shape.ComputeAABB(m_aabb, _arg2); m_proxy = _arg1.CreateProxy(m_aabb, this); } b2internal function DestroyProxy(_arg1:IBroadPhase):void{ if (m_proxy == null){ return; }; _arg1.DestroyProxy(m_proxy); m_proxy = null; } b2internal function Synchronize(_arg1:IBroadPhase, _arg2:b2Transform, _arg3:b2Transform):void{ if (!m_proxy){ return; }; var _local4:b2AABB = new b2AABB(); var _local5:b2AABB = new b2AABB(); m_shape.ComputeAABB(_local4, _arg2); m_shape.ComputeAABB(_local5, _arg3); m_aabb.Combine(_local4, _local5); var _local6:b2Vec2 = b2Math.SubtractVV(_arg3.position, _arg2.position); _arg1.MoveProxy(m_proxy, m_aabb, _local6); } } }//package Box2D.Dynamics
Section 90
//b2FixtureDef (Box2D.Dynamics.b2FixtureDef) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2FixtureDef { public var shape:b2Shape; public var userData; public var friction:Number; public var restitution:Number; public var density:Number; public var isSensor:Boolean; public var filter:b2FilterData; public function b2FixtureDef(){ filter = new b2FilterData(); super(); shape = null; userData = null; friction = 0.2; restitution = 0; density = 0; filter.categoryBits = 1; filter.maskBits = 0xFFFF; filter.groupIndex = 0; isSensor = false; } } }//package Box2D.Dynamics
Section 91
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2Island { private var m_allocator; private var m_listener:b2ContactListener; private var m_contactSolver:b2ContactSolver; b2internal var m_bodies:Array; b2internal var m_contacts:Array; b2internal var m_joints:Array; b2internal var m_bodyCount:int; b2internal var m_jointCount:int; b2internal var m_contactCount:int; private var m_bodyCapacity:int; b2internal var m_contactCapacity:int; b2internal var m_jointCapacity:int; private static var s_impulse:b2ContactImpulse = new b2ContactImpulse(); public function b2Island(){ m_bodies = new Array(); m_contacts = new Array(); m_joints = new Array(); } public function Initialize(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener, _arg6:b2ContactSolver):void{ var _local7:int; m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_contactSolver = _arg6; _local7 = m_bodies.length; while (_local7 < _arg1) { m_bodies[_local7] = null; _local7++; }; _local7 = m_contacts.length; while (_local7 < _arg2) { m_contacts[_local7] = null; _local7++; }; _local7 = m_joints.length; while (_local7 < _arg3) { m_joints[_local7] = null; _local7++; }; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean):void{ var _local4:int; var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Boolean; var _local13:Boolean; var _local14:Boolean; var _local15:Number; var _local16:Number; var _local17:Number; _local4 = 0; while (_local4 < m_bodyCount) { _local6 = m_bodies[_local4]; if (_local6.GetType() != b2Body.b2_dynamicBody){ } 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_linearVelocity.Multiply(b2Math.Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); }; _local4++; }; m_contactSolver.Initialize(_arg1, m_contacts, m_contactCount, m_allocator); var _local8:b2ContactSolver = m_contactSolver; _local8.InitVelocityConstraints(_arg1); _local4 = 0; while (_local4 < m_jointCount) { _local7 = m_joints[_local4]; _local7.InitVelocityConstraints(_arg1); _local4++; }; _local4 = 0; while (_local4 < _arg1.velocityIterations) { _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.SolveVelocityConstraints(_arg1); _local5++; }; _local8.SolveVelocityConstraints(); _local4++; }; _local4 = 0; while (_local4 < m_jointCount) { _local7 = m_joints[_local4]; _local7.FinalizeVelocityConstraints(); _local4++; }; _local8.FinalizeVelocityConstraints(); _local4 = 0; while (_local4 < m_bodyCount) { _local6 = m_bodies[_local4]; if (_local6.GetType() == b2Body.b2_staticBody){ } else { _local9 = (_arg1.dt * _local6.m_linearVelocity.x); _local10 = (_arg1.dt * _local6.m_linearVelocity.y); if (((_local9 * _local9) + (_local10 * _local10)) > b2Settings.b2_maxTranslationSquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * (b2Settings.b2_maxTranslation * _arg1.inv_dt)); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * (b2Settings.b2_maxTranslation * _arg1.inv_dt)); }; _local11 = (_arg1.dt * _local6.m_angularVelocity); if (((_arg1.dt * _local6.m_angularVelocity) * _local11) > b2Settings.b2_maxRotationSquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = (-(b2Settings.b2_maxRotation) * _arg1.inv_dt); } else { _local6.m_angularVelocity = (b2Settings.b2_maxRotation * _arg1.inv_dt); }; }; _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(); }; _local4++; }; _local4 = 0; while (_local4 < _arg1.positionIterations) { _local12 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local13 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local14 = _local7.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local13 = ((_local13) && (_local14)); _local5++; }; if (((_local12) && (_local13))){ break; }; _local4++; }; Report(_local8.m_constraints); if (_arg3){ _local15 = Number.MAX_VALUE; _local16 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local17 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local4 = 0; while (_local4 < m_bodyCount) { _local6 = m_bodies[_local4]; if (_local6.GetType() == b2Body.b2_staticBody){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local15 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local17)))) || ((b2Math.Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local16)))){ _local6.m_sleepTime = 0; _local15 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local15 = b2Math.Min(_local15, _local6.m_sleepTime); }; }; _local4++; }; if (_local15 >= b2Settings.b2_timeToSleep){ _local4 = 0; while (_local4 < m_bodyCount) { _local6 = m_bodies[_local4]; _local6.SetAwake(false); _local4++; }; }; }; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:int; var _local6:b2Body; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; m_contactSolver.Initialize(_arg1, m_contacts, m_contactCount, m_allocator); var _local4:b2ContactSolver = m_contactSolver; _local2 = 0; while (_local2 < m_jointCount) { m_joints[_local2].InitVelocityConstraints(_arg1); _local2++; }; _local2 = 0; while (_local2 < _arg1.velocityIterations) { _local4.SolveVelocityConstraints(); _local3 = 0; while (_local3 < m_jointCount) { m_joints[_local3].SolveVelocityConstraints(_arg1); _local3++; }; _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local6 = m_bodies[_local2]; if (_local6.GetType() == b2Body.b2_staticBody){ } else { _local7 = (_arg1.dt * _local6.m_linearVelocity.x); _local8 = (_arg1.dt * _local6.m_linearVelocity.y); if (((_local7 * _local7) + (_local8 * _local8)) > b2Settings.b2_maxTranslationSquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * (b2Settings.b2_maxTranslation * _arg1.inv_dt)); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * (b2Settings.b2_maxTranslation * _arg1.inv_dt)); }; _local9 = (_arg1.dt * _local6.m_angularVelocity); if (((_arg1.dt * _local6.m_angularVelocity) * _local9) > b2Settings.b2_maxRotationSquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = (-(b2Settings.b2_maxRotation) * _arg1.inv_dt); } else { _local6.m_angularVelocity = (b2Settings.b2_maxRotation * _arg1.inv_dt); }; }; _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(); }; _local2++; }; var _local5:Number = 0.75; _local2 = 0; while (_local2 < _arg1.positionIterations) { _local10 = _local4.SolvePositionConstraints(_local5); _local11 = true; _local3 = 0; while (_local3 < m_jointCount) { _local12 = m_joints[_local3].SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = ((_local11) && (_local12)); _local3++; }; if (((_local10) && (_local11))){ break; }; _local2++; }; Report(_local4.m_constraints); } public function Report(_arg1:Array):void{ var _local3:b2Contact; var _local4:b2ContactConstraint; var _local5:int; if (m_listener == null){ return; }; var _local2:int; while (_local2 < m_contactCount) { _local3 = m_contacts[_local2]; _local4 = _arg1[_local2]; _local5 = 0; while (_local5 < _local4.pointCount) { s_impulse.normalImpulses[_local5] = _local4.points[_local5].normalImpulse; s_impulse.tangentImpulses[_local5] = _local4.points[_local5].tangentImpulse; _local5++; }; m_listener.PostSolve(_local3, s_impulse); _local2++; }; } public function AddBody(_arg1:b2Body):void{ _arg1.m_islandIndex = m_bodyCount; var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } } }//package Box2D.Dynamics
Section 92
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var dt:Number; public var inv_dt:Number; public var dtRatio:Number; public var velocityIterations:int; public var positionIterations:int; public var warmStarting:Boolean; public function Set(_arg1:b2TimeStep):void{ dt = _arg1.dt; inv_dt = _arg1.inv_dt; positionIterations = _arg1.positionIterations; velocityIterations = _arg1.velocityIterations; warmStarting = _arg1.warmStarting; } } }//package Box2D.Dynamics
Section 93
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Controllers.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2World { private var s_stack:Array; b2internal var m_flags:int; b2internal var m_contactManager:b2ContactManager; private var m_contactSolver:b2ContactSolver; private var m_island:b2Island; b2internal var m_bodyList:b2Body; private var m_jointList:b2Joint; b2internal var m_contactList:b2Contact; private var m_bodyCount:int; b2internal var m_contactCount:int; private var m_jointCount:int; private var m_controllerList:b2Controller; private var m_controllerCount:int; private var m_gravity:b2Vec2; private var m_allowSleep:Boolean; b2internal var m_groundBody:b2Body; private var m_destructionListener:b2DestructionListener; private var m_debugDraw:b2DebugDraw; private var m_inv_dt0:Number; public static const e_newFixture:int = 1; public static const e_locked:int = 2; private static var s_timestep2:b2TimeStep = new b2TimeStep(); private static var s_xf:b2Transform = new b2Transform(); private static var s_backupA:b2Sweep = new b2Sweep(); private static var s_backupB:b2Sweep = new b2Sweep(); private static var s_timestep:b2TimeStep = new b2TimeStep(); private static var s_queue:Array = new Array(); private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); private static var m_warmStarting:Boolean; private static var m_continuousPhysics:Boolean; public function b2World(_arg1:b2Vec2, _arg2:Boolean){ s_stack = new Array(); m_contactManager = new b2ContactManager(); m_contactSolver = new b2ContactSolver(); m_island = new b2Island(); super(); m_destructionListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_controllerList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_controllerCount = 0; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg2; m_gravity = _arg1; m_inv_dt0 = 0; m_contactManager.m_world = this; var _local3:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local3); } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactManager.m_contactFilter = _arg1; } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactManager.m_contactListener = _arg1; } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function SetBroadPhase(_arg1:IBroadPhase):void{ var _local4:b2Fixture; var _local2:IBroadPhase = m_contactManager.m_broadPhase; m_contactManager.m_broadPhase = _arg1; var _local3:b2Body = m_bodyList; while (_local3) { _local4 = _local3.m_fixtureList; while (_local4) { _local4.m_proxy = _arg1.CreateProxy(_local2.GetFatAABB(_local4.m_proxy), _local4); _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; } public function Validate():void{ m_contactManager.m_broadPhase.Validate(); } public function GetProxyCount():int{ return (m_contactManager.m_broadPhase.GetProxyCount()); } public function CreateBody(_arg1:b2BodyDef):b2Body{ if (IsLocked() == true){ return (null); }; var _local2:b2Body = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function DestroyBody(_arg1:b2Body):void{ var _local6:b2JointEdge; var _local7:b2ControllerEdge; var _local8:b2ContactEdge; var _local9:b2Fixture; if (IsLocked() == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local6 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local6.joint); }; DestroyJoint(_local6.joint); }; var _local3:b2ControllerEdge = _arg1.m_controllerList; while (_local3) { _local7 = _local3; _local3 = _local3.nextController; _local7.controller.RemoveBody(_arg1); }; var _local4:b2ContactEdge = _arg1.m_contactList; while (_local4) { _local8 = _local4; _local4 = _local4.next; m_contactManager.Destroy(_local8.contact); }; _arg1.m_contactList = null; var _local5:b2Fixture = _arg1.m_fixtureList; while (_local5) { _local9 = _local5; _local5 = _local5.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeFixture(_local9); }; _local9.DestroyProxy(m_contactManager.m_broadPhase); _local9.Destroy(); }; _arg1.m_fixtureList = null; _arg1.m_fixtureCount = 0; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local5:b2ContactEdge; var _local2:b2Joint = b2Joint.Create(_arg1, null); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_edgeA.joint = _local2; _local2.m_edgeA.other = _local2.m_bodyB; _local2.m_edgeA.prev = null; _local2.m_edgeA.next = _local2.m_bodyA.m_jointList; if (_local2.m_bodyA.m_jointList){ _local2.m_bodyA.m_jointList.prev = _local2.m_edgeA; }; _local2.m_bodyA.m_jointList = _local2.m_edgeA; _local2.m_edgeB.joint = _local2; _local2.m_edgeB.other = _local2.m_bodyA; _local2.m_edgeB.prev = null; _local2.m_edgeB.next = _local2.m_bodyB.m_jointList; if (_local2.m_bodyB.m_jointList){ _local2.m_bodyB.m_jointList.prev = _local2.m_edgeB; }; _local2.m_bodyB.m_jointList = _local2.m_edgeB; var _local3:b2Body = _arg1.bodyA; var _local4:b2Body = _arg1.bodyB; if (_arg1.collideConnected == false){ _local5 = _local4.GetContactList(); while (_local5) { if (_local5.other == _local3){ _local5.contact.FlagForFiltering(); }; _local5 = _local5.next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local5:b2ContactEdge; var _local2:Boolean = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; var _local3:b2Body = _arg1.m_bodyA; var _local4:b2Body = _arg1.m_bodyB; _local3.SetAwake(true); _local4.SetAwake(true); if (_arg1.m_edgeA.prev){ _arg1.m_edgeA.prev.next = _arg1.m_edgeA.next; }; if (_arg1.m_edgeA.next){ _arg1.m_edgeA.next.prev = _arg1.m_edgeA.prev; }; if (_arg1.m_edgeA == _local3.m_jointList){ _local3.m_jointList = _arg1.m_edgeA.next; }; _arg1.m_edgeA.prev = null; _arg1.m_edgeA.next = null; if (_arg1.m_edgeB.prev){ _arg1.m_edgeB.prev.next = _arg1.m_edgeB.next; }; if (_arg1.m_edgeB.next){ _arg1.m_edgeB.next.prev = _arg1.m_edgeB.prev; }; if (_arg1.m_edgeB == _local4.m_jointList){ _local4.m_jointList = _arg1.m_edgeB.next; }; _arg1.m_edgeB.prev = null; _arg1.m_edgeB.next = null; b2Joint.Destroy(_arg1, null); m_jointCount--; if (_local2 == false){ _local5 = _local4.GetContactList(); while (_local5) { if (_local5.other == _local3){ _local5.contact.FlagForFiltering(); }; _local5 = _local5.next; }; }; } public function AddController(_arg1:b2Controller):b2Controller{ _arg1.m_next = m_controllerList; _arg1.m_prev = null; m_controllerList = _arg1; _arg1.m_world = this; m_controllerCount++; return (_arg1); } public function RemoveController(_arg1:b2Controller):void{ 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 (m_controllerList == _arg1){ m_controllerList = _arg1.m_next; }; m_controllerCount--; } public function CreateController(_arg1:b2Controller):b2Controller{ if (_arg1.m_world != this){ throw (new Error("Controller can only be a member of one world")); }; _arg1.m_next = m_controllerList; _arg1.m_prev = null; if (m_controllerList){ m_controllerList.m_prev = _arg1; }; m_controllerList = _arg1; m_controllerCount++; _arg1.m_world = this; return (_arg1); } public function DestroyController(_arg1:b2Controller):void{ _arg1.Clear(); if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1 == m_controllerList){ m_controllerList = _arg1.m_next; }; m_controllerCount--; } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } public function GetContactCount():int{ return (m_contactCount); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function GetGravity():b2Vec2{ return (m_gravity); } public function GetGroundBody():b2Body{ return (m_groundBody); } public function Step(_arg1:Number, _arg2:int, _arg3:int):void{ if ((m_flags & e_newFixture)){ m_contactManager.FindNewContacts(); m_flags = (m_flags & ~(e_newFixture)); }; m_flags = (m_flags | e_locked); var _local4:b2TimeStep = s_timestep2; _local4.dt = _arg1; _local4.velocityIterations = _arg2; _local4.positionIterations = _arg3; if (_arg1 > 0){ _local4.inv_dt = (1 / _arg1); } else { _local4.inv_dt = 0; }; _local4.dtRatio = (m_inv_dt0 * _arg1); _local4.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local4.dt > 0){ Solve(_local4); }; if (((m_continuousPhysics) && ((_local4.dt > 0)))){ SolveTOI(_local4); }; if (_local4.dt > 0){ m_inv_dt0 = _local4.inv_dt; }; m_flags = (m_flags & ~(e_locked)); } public function ClearForces():void{ var _local1:b2Body = m_bodyList; while (_local1) { _local1.m_force.SetZero(); _local1.m_torque = 0; _local1 = _local1.m_next; }; } public function DrawDebugData():void{ var _local2:int; var _local3:b2Body; var _local4:b2Fixture; var _local5:b2Shape; var _local6:b2Joint; var _local7:IBroadPhase; var _local11:b2Transform; var _local16:b2Controller; var _local17:b2Contact; var _local18:b2Fixture; var _local19:b2Fixture; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2AABB; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); var _local1:uint = m_debugDraw.GetFlags(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Vec2 = new b2Vec2(); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; var _local15:b2Color = new b2Color(0, 0, 0); if ((_local1 & b2DebugDraw.e_shapeBit)){ _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetFixtureList(); while (_local4) { _local5 = _local4.GetShape(); if (_local3.IsActive() == false){ _local15.Set(0.5, 0.5, 0.3); DrawShape(_local5, _local11, _local15); } else { if (_local3.GetType() == b2Body.b2_staticBody){ _local15.Set(0.5, 0.9, 0.5); DrawShape(_local5, _local11, _local15); } else { if (_local3.GetType() == b2Body.b2_kinematicBody){ _local15.Set(0.5, 0.5, 0.9); DrawShape(_local5, _local11, _local15); } else { if (_local3.IsAwake() == false){ _local15.Set(0.6, 0.6, 0.6); DrawShape(_local5, _local11, _local15); } else { _local15.Set(0.9, 0.7, 0.7); DrawShape(_local5, _local11, _local15); }; }; }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local6 = m_jointList; while (_local6) { DrawJoint(_local6); _local6 = _local6.m_next; }; }; if ((_local1 & b2DebugDraw.e_controllerBit)){ _local16 = m_controllerList; while (_local16) { _local16.Draw(m_debugDraw); _local16 = _local16.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local15.Set(0.3, 0.9, 0.9); _local17 = m_contactManager.m_contactList; while (_local17) { _local18 = _local17.GetFixtureA(); _local19 = _local17.GetFixtureB(); _local20 = _local18.GetAABB().GetCenter(); _local21 = _local19.GetAABB().GetCenter(); m_debugDraw.DrawSegment(_local20, _local21, _local15); _local17 = _local17.GetNext(); }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local7 = m_contactManager.m_broadPhase; _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; _local3 = m_bodyList; while (_local3) { if (_local3.IsActive() == false){ } else { _local4 = _local3.GetFixtureList(); while (_local4) { _local22 = _local7.GetFatAABB(_local4.m_proxy); _local14[0].Set(_local22.lowerBound.x, _local22.lowerBound.y); _local14[1].Set(_local22.upperBound.x, _local22.lowerBound.y); _local14[2].Set(_local22.upperBound.x, _local22.upperBound.y); _local14[3].Set(_local22.lowerBound.x, _local22.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local15); _local4 = _local4.GetNext(); }; }; _local3 = _local3.GetNext(); }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawTransform(_local11); _local3 = _local3.m_next; }; }; } public function QueryAABB(_arg1:Function, _arg2:b2AABB):void{ var broadPhase:IBroadPhase; var WorldQueryWrapper:Function; var callback = _arg1; var aabb = _arg2; WorldQueryWrapper = function (_arg1):Boolean{ return (callback(broadPhase.GetUserData(_arg1))); }; broadPhase = m_contactManager.m_broadPhase; broadPhase.Query(WorldQueryWrapper, aabb); } public function QueryShape(_arg1:Function, _arg2:b2Shape, _arg3:b2Transform=null):void{ var broadPhase:IBroadPhase; var WorldQueryWrapper:Function; var callback = _arg1; var shape = _arg2; var transform = _arg3; WorldQueryWrapper = function (_arg1):Boolean{ var _local2:b2Fixture = (broadPhase.GetUserData(_arg1) as b2Fixture); if (b2Shape.TestOverlap(shape, transform, _local2.GetShape(), _local2.GetBody().GetTransform())){ return (callback(_local2)); }; return (true); }; if (transform == null){ transform = new b2Transform(); transform.SetIdentity(); }; broadPhase = m_contactManager.m_broadPhase; var aabb:b2AABB = new b2AABB(); shape.ComputeAABB(aabb, transform); broadPhase.Query(WorldQueryWrapper, aabb); } public function QueryPoint(_arg1:Function, _arg2:b2Vec2):void{ var broadPhase:IBroadPhase; var WorldQueryWrapper:Function; var callback = _arg1; var p = _arg2; WorldQueryWrapper = function (_arg1):Boolean{ var _local2:b2Fixture = (broadPhase.GetUserData(_arg1) as b2Fixture); if (_local2.TestPoint(p)){ return (callback(_local2)); }; return (true); }; broadPhase = m_contactManager.m_broadPhase; var aabb:b2AABB = new b2AABB(); aabb.lowerBound.Set((p.x - b2Settings.b2_linearSlop), (p.y - b2Settings.b2_linearSlop)); aabb.upperBound.Set((p.x + b2Settings.b2_linearSlop), (p.y + b2Settings.b2_linearSlop)); broadPhase.Query(WorldQueryWrapper, aabb); } public function RayCast(_arg1:Function, _arg2:b2Vec2, _arg3:b2Vec2):void{ var broadPhase:IBroadPhase; var output:b2RayCastOutput; var RayCastWrapper:Function; var callback = _arg1; var point1 = _arg2; var point2 = _arg3; RayCastWrapper = function (_arg1:b2RayCastInput, _arg2):Number{ var _local6:Number; var _local7:b2Vec2; var _local3:* = broadPhase.GetUserData(_arg2); var _local4:b2Fixture = (_local3 as b2Fixture); var _local5:Boolean = _local4.RayCast(output, _arg1); if (_local5){ _local6 = output.fraction; _local7 = new b2Vec2((((1 - _local6) * point1.x) + (_local6 * point2.x)), (((1 - _local6) * point1.y) + (_local6 * point2.y))); return (callback(_local4, _local7, output.normal, _local6)); }; return (_arg1.maxFraction); }; broadPhase = m_contactManager.m_broadPhase; output = new b2RayCastOutput(); var input:b2RayCastInput = new b2RayCastInput(point1, point2); broadPhase.RayCast(RayCastWrapper, input); } public function RayCastOne(_arg1:b2Vec2, _arg2:b2Vec2):b2Fixture{ var result:b2Fixture; var RayCastOneWrapper:Function; var point1 = _arg1; var point2 = _arg2; RayCastOneWrapper = function (_arg1:b2Fixture, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:Number):Number{ result = _arg1; return (_arg4); }; RayCast(RayCastOneWrapper, point1, point2); return (result); } public function RayCastAll(_arg1:b2Vec2, _arg2:b2Vec2):Array{ var result:Array; var RayCastAllWrapper:Function; var point1 = _arg1; var point2 = _arg2; RayCastAllWrapper = function (_arg1:b2Fixture, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:Number):Number{ result[result.length] = _arg1; return (1); }; result = new Array(); RayCast(RayCastAllWrapper, point1, point2); return (result); } public function GetBodyList():b2Body{ return (m_bodyList); } public function GetJointList():b2Joint{ return (m_jointList); } public function GetContactList():b2Contact{ return (m_contactList); } public function IsLocked():Boolean{ return (((m_flags & e_locked) > 0)); } b2internal function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local10:int; var _local11:int; var _local12:b2Body; var _local13:b2ContactEdge; var _local14:b2JointEdge; var _local3:b2Controller = m_controllerList; while (_local3) { _local3.Step(_arg1); _local3 = _local3.m_next; }; var _local4:b2Island = m_island; _local4.Initialize(m_bodyCount, m_contactCount, m_jointCount, null, m_contactManager.m_contactListener, m_contactSolver); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; var _local5:b2Contact = m_contactList; while (_local5) { _local5.m_flags = (_local5.m_flags & ~(b2Contact.e_islandFlag)); _local5 = _local5.m_next; }; var _local6:b2Joint = m_jointList; while (_local6) { _local6.m_islandFlag = false; _local6 = _local6.m_next; }; var _local7:int = m_bodyCount; var _local8:Array = s_stack; var _local9:b2Body = m_bodyList; while (_local9) { if ((_local9.m_flags & b2Body.e_islandFlag)){ } else { if ((((_local9.IsAwake() == false)) || ((_local9.IsActive() == false)))){ } else { if (_local9.GetType() == b2Body.b2_staticBody){ } else { _local4.Clear(); _local10 = 0; var _temp1 = _local10; _local10 = (_local10 + 1); var _local15 = _temp1; _local8[_local15] = _local9; _local9.m_flags = (_local9.m_flags | b2Body.e_islandFlag); while (_local10 > 0) { --_local10; _local2 = _local8[_local10]; _local4.AddBody(_local2); if (_local2.IsAwake() == false){ _local2.SetAwake(true); }; if (_local2.GetType() == b2Body.b2_staticBody){ } else { _local13 = _local2.m_contactList; while (_local13) { if ((_local13.contact.m_flags & b2Contact.e_islandFlag)){ } else { if ((((((_local13.contact.IsSensor() == true)) || ((_local13.contact.IsEnabled() == false)))) || ((_local13.contact.IsTouching() == false)))){ } else { _local4.AddContact(_local13.contact); _local13.contact.m_flags = (_local13.contact.m_flags | b2Contact.e_islandFlag); _local12 = _local13.other; if ((_local12.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local10; _local10 = (_local10 + 1); var _local16 = _temp2; _local8[_local16] = _local12; _local12.m_flags = (_local12.m_flags | b2Body.e_islandFlag); }; }; }; _local13 = _local13.next; }; _local14 = _local2.m_jointList; while (_local14) { if (_local14.joint.m_islandFlag == true){ } else { _local12 = _local14.other; if (_local12.IsActive() == false){ } else { _local4.AddJoint(_local14.joint); _local14.joint.m_islandFlag = true; if ((_local12.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local10; _local10 = (_local10 + 1); _local16 = _temp3; _local8[_local16] = _local12; _local12.m_flags = (_local12.m_flags | b2Body.e_islandFlag); }; }; }; _local14 = _local14.next; }; }; }; _local4.Solve(_arg1, m_gravity, m_allowSleep); _local11 = 0; while (_local11 < _local4.m_bodyCount) { _local2 = _local4.m_bodies[_local11]; if (_local2.GetType() == b2Body.b2_staticBody){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local11++; }; }; }; }; _local9 = _local9.m_next; }; _local11 = 0; while (_local11 < _local8.length) { if (!_local8[_local11]){ break; }; _local8[_local11] = null; _local11++; }; _local2 = m_bodyList; while (_local2) { if ((((_local2.IsAwake() == false)) || ((_local2.IsActive() == false)))){ } else { if (_local2.GetType() == b2Body.b2_staticBody){ } else { _local2.SynchronizeFixtures(); }; }; _local2 = _local2.m_next; }; m_contactManager.FindNewContacts(); } b2internal function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Fixture; var _local4:b2Fixture; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local8:b2Joint; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:int; var _local17:b2JointEdge; var _local18:b2TimeStep; var _local19:int; var _local20:Number; var _local21:Number; var _local22:b2Body; var _local9:b2Island = m_island; _local9.Initialize(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, b2Settings.b2_maxTOIJointsPerIsland, null, m_contactManager.m_contactListener, m_contactSolver); var _local10:Array = s_queue; _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; _local8 = m_jointList; while (_local8) { _local8.m_islandFlag = false; _local8 = _local8.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((((((_local11.IsSensor() == true)) || ((_local11.IsEnabled() == false)))) || ((_local11.IsContinuous() == false)))){ } else { _local20 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local20 = _local11.m_toi; } else { _local3 = _local11.m_fixtureA; _local4 = _local11.m_fixtureB; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((!((_local5.GetType() == b2Body.b2_dynamicBody))) || ((_local5.IsAwake() == false)))) && (((!((_local6.GetType() == b2Body.b2_dynamicBody))) || ((_local6.IsAwake() == false)))))){ continue; }; _local21 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local21 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local21); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local21 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local21); }; }; _local20 = _local11.ComputeTOI(_local5.m_sweep, _local6.m_sweep); b2Settings.b2Assert((((0 <= _local20)) && ((_local20 <= 1)))); if ((((_local20 > 0)) && ((_local20 < 1)))){ _local20 = (((1 - _local20) * _local21) + _local20); if (_local20 > 1){ _local20 = 1; }; }; _local11.m_toi = _local20; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local20)) && ((_local20 < _local13)))){ _local12 = _local11; _local13 = _local20; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_fixtureA; _local4 = _local12.m_fixtureB; _local5 = _local3.m_body; _local6 = _local4.m_body; s_backupA.Set(_local5.m_sweep); s_backupB.Set(_local6.m_sweep); _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactManager.m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if ((((_local12.IsSensor() == true)) || ((_local12.IsEnabled() == false)))){ _local5.m_sweep.Set(s_backupA); _local6.m_sweep.Set(s_backupB); _local5.SynchronizeTransform(); _local6.SynchronizeTransform(); } else { if (_local12.IsTouching() == false){ } else { _local14 = _local5; if (_local14.GetType() != b2Body.b2_dynamicBody){ _local14 = _local6; }; _local9.Clear(); _local15 = 0; _local16 = 0; var _temp1 = _local16; _local16 = (_local16 + 1); _local10[(_local15 + _temp1)] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local16 > 0) { var _temp2 = _local15; _local15 = (_local15 + 1); _local2 = _local10[_temp2]; _local16--; _local9.AddBody(_local2); if (_local2.IsAwake() == false){ _local2.SetAwake(true); }; if (_local2.GetType() != b2Body.b2_dynamicBody){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local9.m_contactCount == _local9.m_contactCapacity){ break; }; if ((_local7.contact.m_flags & b2Contact.e_islandFlag)){ } else { if ((((((_local7.contact.IsSensor() == true)) || ((_local7.contact.IsEnabled() == false)))) || ((_local7.contact.IsTouching() == false)))){ } else { _local9.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local22 = _local7.other; if ((_local22.m_flags & b2Body.e_islandFlag)){ } else { if (_local22.GetType() != b2Body.b2_dynamicBody){ _local22.Advance(_local13); _local22.SetAwake(true); }; _local10[(_local15 + _local16)] = _local22; _local16++; _local22.m_flags = (_local22.m_flags | b2Body.e_islandFlag); }; }; }; _local7 = _local7.next; }; }; }; _local17 = _local2.m_jointList; while (_local17) { if (_local9.m_jointCount == _local9.m_jointCapacity){ } else { if (_local17.joint.m_islandFlag == true){ } else { _local22 = _local17.other; if (_local22.IsActive() == false){ } else { _local9.AddJoint(_local17.joint); _local17.joint.m_islandFlag = true; if ((_local22.m_flags & b2Body.e_islandFlag)){ } else { if (_local22.GetType() != b2Body.b2_dynamicBody){ _local22.Advance(_local13); _local22.SetAwake(true); }; _local10[(_local15 + _local16)] = _local22; _local16++; _local22.m_flags = (_local22.m_flags | b2Body.e_islandFlag); }; }; }; }; _local17 = _local17.next; }; _local18 = s_timestep; _local18.warmStarting = false; _local18.dt = ((1 - _local13) * _arg1.dt); _local18.inv_dt = (1 / _local18.dt); _local18.dtRatio = 0; _local18.velocityIterations = _arg1.velocityIterations; _local18.positionIterations = _arg1.positionIterations; _local9.SolveTOI(_local18); _local19 = 0; while (_local19 < _local9.m_bodyCount) { _local2 = _local9.m_bodies[_local19]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if (_local2.IsAwake() == false){ } else { if (_local2.GetType() != b2Body.b2_dynamicBody){ } else { _local2.SynchronizeFixtures(); _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local19++; }; _local19 = 0; while (_local19 < _local9.m_contactCount) { _local11 = _local9.m_contacts[_local19]; _local9.m_contacts[_local19].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local19++; }; _local19 = 0; while (_local19 < _local9.m_jointCount) { _local8 = _local9.m_joints[_local19]; _local8.m_islandFlag = false; _local19++; }; m_contactManager.FindNewContacts(); }; }; }; } b2internal function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.GetBodyA(); var _local3:b2Body = _arg1.GetBodyB(); var _local4:b2Transform = _local2.m_xf; var _local5:b2Transform = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchorA(); var _local9:b2Vec2 = _arg1.GetAnchorB(); var _local10:b2Color = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchorA(); _local13 = _local11.GetGroundAnchorB(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } b2internal function DrawShape(_arg1:b2Shape, _arg2:b2Transform, _arg3:b2Color):void{ var _local4:b2CircleShape; var _local5:b2Vec2; var _local6:Number; var _local7:b2Vec2; var _local8:int; var _local9:b2PolygonShape; var _local10:int; var _local11:Array; var _local12:Array; var _local13:b2EdgeShape; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local4 = (_arg1 as b2CircleShape); _local5 = b2Math.MulX(_arg2, _local4.m_p); _local6 = _local4.m_radius; _local7 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local5, _local6, _local7, _arg3); break; case b2Shape.e_polygonShape: _local9 = (_arg1 as b2PolygonShape); _local10 = _local9.GetVertexCount(); _local11 = _local9.GetVertices(); _local12 = new Array(_local10); _local8 = 0; while (_local8 < _local10) { _local12[_local8] = b2Math.MulX(_arg2, _local11[_local8]); _local8++; }; m_debugDraw.DrawSolidPolygon(_local12, _local10, _arg3); break; case b2Shape.e_edgeShape: _local13 = (_arg1 as b2EdgeShape); m_debugDraw.DrawSegment(b2Math.MulX(_arg2, _local13.GetVertex1()), b2Math.MulX(_arg2, _local13.GetVertex2()), _arg3); break; }; } } }//package Box2D.Dynamics
Section 94
//accel1_186 (game29Flashka_armor_brand_fla.accel1_186) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel1_186 extends MovieClip { public function accel1_186(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 95
//accel1_291 (game29Flashka_armor_brand_fla.accel1_291) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel1_291 extends MovieClip { public function accel1_291(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 96
//accel2_188 (game29Flashka_armor_brand_fla.accel2_188) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel2_188 extends MovieClip { public function accel2_188(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 97
//accel2_293 (game29Flashka_armor_brand_fla.accel2_293) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel2_293 extends MovieClip { public function accel2_293(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 98
//accel3_191 (game29Flashka_armor_brand_fla.accel3_191) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel3_191 extends MovieClip { public function accel3_191(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 99
//accel3_296 (game29Flashka_armor_brand_fla.accel3_296) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel3_296 extends MovieClip { public function accel3_296(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 100
//accel4_194 (game29Flashka_armor_brand_fla.accel4_194) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel4_194 extends MovieClip { public function accel4_194(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 101
//accel4_299 (game29Flashka_armor_brand_fla.accel4_299) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class accel4_299 extends MovieClip { public function accel4_299(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 102
//arrow_159 (game29Flashka_armor_brand_fla.arrow_159) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class arrow_159 extends MovieClip { public function arrow_159(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 103
//b1_shit_mm_79 (game29Flashka_armor_brand_fla.b1_shit_mm_79) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b1_shit_mm_79 extends MovieClip { public function b1_shit_mm_79(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 104
//b10_doc_mm_103 (game29Flashka_armor_brand_fla.b10_doc_mm_103) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b10_doc_mm_103 extends MovieClip { public function b10_doc_mm_103(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 105
//b11_vant_mm_105 (game29Flashka_armor_brand_fla.b11_vant_mm_105) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b11_vant_mm_105 extends MovieClip { public function b11_vant_mm_105(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 106
//b12_applause_mm_107 (game29Flashka_armor_brand_fla.b12_applause_mm_107) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b12_applause_mm_107 extends MovieClip { public function b12_applause_mm_107(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 107
//b13_bleat_mm_112 (game29Flashka_armor_brand_fla.b13_bleat_mm_112) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b13_bleat_mm_112 extends MovieClip { public function b13_bleat_mm_112(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 108
//b14_cat_mm_114 (game29Flashka_armor_brand_fla.b14_cat_mm_114) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b14_cat_mm_114 extends MovieClip { public function b14_cat_mm_114(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 109
//b15_som_mm_116 (game29Flashka_armor_brand_fla.b15_som_mm_116) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b15_som_mm_116 extends MovieClip { public function b15_som_mm_116(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 110
//b16_swat_mm_118 (game29Flashka_armor_brand_fla.b16_swat_mm_118) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b16_swat_mm_118 extends MovieClip { public function b16_swat_mm_118(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 111
//b17_bal_mm_120 (game29Flashka_armor_brand_fla.b17_bal_mm_120) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b17_bal_mm_120 extends MovieClip { public function b17_bal_mm_120(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 112
//b18_candy_mm_122 (game29Flashka_armor_brand_fla.b18_candy_mm_122) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b18_candy_mm_122 extends MovieClip { public function b18_candy_mm_122(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 113
//b19_bob_mm_124 (game29Flashka_armor_brand_fla.b19_bob_mm_124) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b19_bob_mm_124 extends MovieClip { public function b19_bob_mm_124(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 114
//b2_dino_mm_82 (game29Flashka_armor_brand_fla.b2_dino_mm_82) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b2_dino_mm_82 extends MovieClip { public function b2_dino_mm_82(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 115
//b20_sparta_mm_126 (game29Flashka_armor_brand_fla.b20_sparta_mm_126) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b20_sparta_mm_126 extends MovieClip { public function b20_sparta_mm_126(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 116
//b21_suslik_mm_128 (game29Flashka_armor_brand_fla.b21_suslik_mm_128) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b21_suslik_mm_128 extends MovieClip { public function b21_suslik_mm_128(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 117
//b22_sausage_mm_130 (game29Flashka_armor_brand_fla.b22_sausage_mm_130) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b22_sausage_mm_130 extends MovieClip { public function b22_sausage_mm_130(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 118
//b23_fly_mm_133 (game29Flashka_armor_brand_fla.b23_fly_mm_133) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b23_fly_mm_133 extends MovieClip { public function b23_fly_mm_133(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 119
//b24_guit_mm_135 (game29Flashka_armor_brand_fla.b24_guit_mm_135) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b24_guit_mm_135 extends MovieClip { public function b24_guit_mm_135(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 120
//b25_seal_mm_137 (game29Flashka_armor_brand_fla.b25_seal_mm_137) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b25_seal_mm_137 extends MovieClip { public function b25_seal_mm_137(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 121
//b26_paper_mm_140 (game29Flashka_armor_brand_fla.b26_paper_mm_140) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b26_paper_mm_140 extends MovieClip { public function b26_paper_mm_140(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 122
//b27_clown_mm_142 (game29Flashka_armor_brand_fla.b27_clown_mm_142) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b27_clown_mm_142 extends MovieClip { public function b27_clown_mm_142(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 123
//b28_sove_mm_144 (game29Flashka_armor_brand_fla.b28_sove_mm_144) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b28_sove_mm_144 extends MovieClip { public function b28_sove_mm_144(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 124
//b29_garmon_mm_146 (game29Flashka_armor_brand_fla.b29_garmon_mm_146) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b29_garmon_mm_146 extends MovieClip { public function b29_garmon_mm_146(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 125
//b3_cat_mm_85 (game29Flashka_armor_brand_fla.b3_cat_mm_85) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b3_cat_mm_85 extends MovieClip { public function b3_cat_mm_85(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 126
//b30_rocket_mm_148 (game29Flashka_armor_brand_fla.b30_rocket_mm_148) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b30_rocket_mm_148 extends MovieClip { public function b30_rocket_mm_148(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 127
//b4_kachok_mm_88 (game29Flashka_armor_brand_fla.b4_kachok_mm_88) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b4_kachok_mm_88 extends MovieClip { public function b4_kachok_mm_88(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 128
//b5_maz_mm_90 (game29Flashka_armor_brand_fla.b5_maz_mm_90) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b5_maz_mm_90 extends MovieClip { public function b5_maz_mm_90(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 129
//b6_cock_mm_93 (game29Flashka_armor_brand_fla.b6_cock_mm_93) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b6_cock_mm_93 extends MovieClip { public function b6_cock_mm_93(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 130
//b7_obama_mm_96 (game29Flashka_armor_brand_fla.b7_obama_mm_96) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b7_obama_mm_96 extends MovieClip { public function b7_obama_mm_96(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 131
//b8_giraffe_mm_98 (game29Flashka_armor_brand_fla.b8_giraffe_mm_98) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b8_giraffe_mm_98 extends MovieClip { public function b8_giraffe_mm_98(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 132
//b9_rose_mm_101 (game29Flashka_armor_brand_fla.b9_rose_mm_101) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class b9_rose_mm_101 extends MovieClip { public function b9_rose_mm_101(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 133
//combez_197 (game29Flashka_armor_brand_fla.combez_197) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class combez_197 extends MovieClip { public function combez_197(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 134
//combez_302 (game29Flashka_armor_brand_fla.combez_302) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class combez_302 extends MovieClip { public function combez_302(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 135
//cred1_231 (game29Flashka_armor_brand_fla.cred1_231) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class cred1_231 extends MovieClip { public var cred:MovieClip; public var palevo:MovieClip; public var fon:MovieClip; public function cred1_231(){ addFrameScript(0, frame1, 11, frame12); } function frame1(){ stop(); } function frame12(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 136
//disappear_49 (game29Flashka_armor_brand_fla.disappear_49) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class disappear_49 extends MovieClip { public function disappear_49(){ addFrameScript(10, frame11); } function frame11(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 137
//ep1_ear1mm_54 (game29Flashka_armor_brand_fla.ep1_ear1mm_54) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class ep1_ear1mm_54 extends MovieClip { public function ep1_ear1mm_54(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 138
//ep2_ear3mm_56 (game29Flashka_armor_brand_fla.ep2_ear3mm_56) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class ep2_ear3mm_56 extends MovieClip { public function ep2_ear3mm_56(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 139
//explosion_52 (game29Flashka_armor_brand_fla.explosion_52) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class explosion_52 extends MovieClip { public function explosion_52(){ addFrameScript(10, frame11); } function frame11(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 140
//flying_man_m_218 (game29Flashka_armor_brand_fla.flying_man_m_218) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class flying_man_m_218 extends MovieClip { public function flying_man_m_218(){ addFrameScript(75, frame76); } function frame76(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 141
//gm_new_acce_152 (game29Flashka_armor_brand_fla.gm_new_acce_152) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class gm_new_acce_152 extends MovieClip { public function gm_new_acce_152(){ addFrameScript(0, frame1, 11, frame12); } function frame1(){ stop(); } function frame12(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 142
//gm_new_up_150 (game29Flashka_armor_brand_fla.gm_new_up_150) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class gm_new_up_150 extends MovieClip { public function gm_new_up_150(){ addFrameScript(0, frame1, 11, frame12); } function frame1(){ stop(); } function frame12(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 143
//helmet_198 (game29Flashka_armor_brand_fla.helmet_198) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class helmet_198 extends MovieClip { public function helmet_198(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 144
//helmet_303 (game29Flashka_armor_brand_fla.helmet_303) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class helmet_303 extends MovieClip { public function helmet_303(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 145
//i_aero1_249 (game29Flashka_armor_brand_fla.i_aero1_249) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_aero1_249 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_aero1_249(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 146
//i_aero2_252 (game29Flashka_armor_brand_fla.i_aero2_252) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_aero2_252 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_aero2_252(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 147
//i_aero3_254 (game29Flashka_armor_brand_fla.i_aero3_254) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_aero3_254 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_aero3_254(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 148
//i_flush1_268 (game29Flashka_armor_brand_fla.i_flush1_268) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_flush1_268 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_flush1_268(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 149
//i_flush2_270 (game29Flashka_armor_brand_fla.i_flush2_270) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_flush2_270 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_flush2_270(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 150
//i_maxpower_276 (game29Flashka_armor_brand_fla.i_maxpower_276) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_maxpower_276 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_maxpower_276(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 151
//i_razgon1_272 (game29Flashka_armor_brand_fla.i_razgon1_272) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_razgon1_272 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_razgon1_272(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 152
//i_razgon2_274 (game29Flashka_armor_brand_fla.i_razgon2_274) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_razgon2_274 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_razgon2_274(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 153
//i_uskor1_256 (game29Flashka_armor_brand_fla.i_uskor1_256) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_uskor1_256 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_uskor1_256(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 154
//i_uskor2_258 (game29Flashka_armor_brand_fla.i_uskor2_258) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_uskor2_258 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_uskor2_258(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 155
//i_uskor3_260 (game29Flashka_armor_brand_fla.i_uskor3_260) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_uskor3_260 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_uskor3_260(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 156
//i_uskor4_262 (game29Flashka_armor_brand_fla.i_uskor4_262) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_uskor4_262 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_uskor4_262(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 157
//i_wheel1_264 (game29Flashka_armor_brand_fla.i_wheel1_264) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_wheel1_264 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_wheel1_264(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 158
//i_wheel2_266 (game29Flashka_armor_brand_fla.i_wheel2_266) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_wheel2_266 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_wheel2_266(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 159
//i_x2_278 (game29Flashka_armor_brand_fla.i_x2_278) package game29Flashka_armor_brand_fla { import flash.display.*; import flash.text.*; public dynamic class i_x2_278 extends MovieClip { public var buy:SimpleButton; public var price:TextField; public function i_x2_278(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 160
//intro_merc_30 (game29Flashka_armor_brand_fla.intro_merc_30) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class intro_merc_30 extends MovieClip { public function intro_merc_30(){ addFrameScript(18, frame19); } function frame19(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 161
//mg_quality_155 (game29Flashka_armor_brand_fla.mg_quality_155) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class mg_quality_155 extends MovieClip { public function mg_quality_155(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 162
//mm_b_sound_154 (game29Flashka_armor_brand_fla.mm_b_sound_154) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class mm_b_sound_154 extends MovieClip { public function mm_b_sound_154(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 163
//mm_b_sound_229 (game29Flashka_armor_brand_fla.mm_b_sound_229) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class mm_b_sound_229 extends MovieClip { public function mm_b_sound_229(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 164
//nad1_mm_221 (game29Flashka_armor_brand_fla.nad1_mm_221) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class nad1_mm_221 extends MovieClip { public function nad1_mm_221(){ addFrameScript(39, frame40); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 165
//nad2_mm_223 (game29Flashka_armor_brand_fla.nad2_mm_223) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class nad2_mm_223 extends MovieClip { public function nad2_mm_223(){ addFrameScript(59, frame60); } function frame60(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 166
//next_all_32 (game29Flashka_armor_brand_fla.next_all_32) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class next_all_32 extends MovieClip { public var next:SimpleButton; public var next2:SimpleButton; public function next_all_32(){ addFrameScript(0, frame1, 14, frame15, 28, frame29); } function frame1(){ stop(); } function frame15(){ stop(); } function frame29(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 167
//power_m_321 (game29Flashka_armor_brand_fla.power_m_321) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class power_m_321 extends MovieClip { public function power_m_321(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 168
//razgon1_200 (game29Flashka_armor_brand_fla.razgon1_200) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class razgon1_200 extends MovieClip { public function razgon1_200(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 169
//razgon1_305 (game29Flashka_armor_brand_fla.razgon1_305) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class razgon1_305 extends MovieClip { public function razgon1_305(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 170
//razgon2_206 (game29Flashka_armor_brand_fla.razgon2_206) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class razgon2_206 extends MovieClip { public function razgon2_206(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 171
//razgon2_311 (game29Flashka_armor_brand_fla.razgon2_311) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class razgon2_311 extends MovieClip { public function razgon2_311(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 172
//scale_163 (game29Flashka_armor_brand_fla.scale_163) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class scale_163 extends MovieClip { public function scale_163(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28, 28, frame29, 29, frame30, 30, frame31, 31, frame32, 32, frame33, 33, frame34, 34, frame35, 35, frame36, 36, frame37, 37, frame38, 38, frame39, 39, frame40, 40, frame41, 41, frame42, 42, frame43, 43, frame44, 44, frame45, 45, frame46, 46, frame47, 47, frame48, 48, frame49, 49, frame50, 50, frame51, 51, frame52, 52, frame53, 53, frame54, 54, frame55, 55, frame56, 56, frame57, 57, frame58, 58, frame59, 59, frame60, 60, frame61, 61, frame62, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70, 70, frame71, 71, frame72, 72, frame73, 73, frame74, 74, frame75, 75, frame76, 76, frame77, 77, frame78, 78, frame79, 79, frame80, 80, frame81, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89, 89, frame90, 90, frame91, 91, frame92, 92, frame93, 93, frame94, 94, frame95, 95, frame96, 96, frame97, 97, frame98, 98, frame99, 99, frame100); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ stop(); } function frame10(){ stop(); } function frame11(){ stop(); } function frame12(){ stop(); } function frame13(){ stop(); } function frame14(){ stop(); } function frame15(){ stop(); } function frame16(){ stop(); } function frame17(){ stop(); } function frame18(){ stop(); } function frame19(){ stop(); } function frame20(){ stop(); } function frame21(){ stop(); } function frame22(){ stop(); } function frame23(){ stop(); } function frame24(){ stop(); } function frame25(){ stop(); } function frame26(){ stop(); } function frame27(){ stop(); } function frame28(){ stop(); } function frame29(){ stop(); } function frame30(){ stop(); } function frame31(){ stop(); } function frame32(){ stop(); } function frame33(){ stop(); } function frame34(){ stop(); } function frame35(){ stop(); } function frame36(){ stop(); } function frame37(){ stop(); } function frame38(){ stop(); } function frame39(){ stop(); } function frame40(){ stop(); } function frame41(){ stop(); } function frame42(){ stop(); } function frame43(){ stop(); } function frame44(){ stop(); } function frame45(){ stop(); } function frame46(){ stop(); } function frame47(){ stop(); } function frame48(){ stop(); } function frame49(){ stop(); } function frame50(){ stop(); } function frame51(){ stop(); } function frame52(){ stop(); } function frame53(){ stop(); } function frame54(){ stop(); } function frame55(){ stop(); } function frame56(){ stop(); } function frame57(){ stop(); } function frame58(){ stop(); } function frame59(){ stop(); } function frame60(){ stop(); } function frame61(){ stop(); } function frame62(){ stop(); } function frame63(){ stop(); } function frame64(){ stop(); } function frame65(){ stop(); } function frame66(){ stop(); } function frame67(){ stop(); } function frame68(){ stop(); } function frame69(){ stop(); } function frame70(){ stop(); } function frame71(){ stop(); } function frame72(){ stop(); } function frame73(){ stop(); } function frame74(){ stop(); } function frame75(){ stop(); } function frame76(){ stop(); } function frame77(){ stop(); } function frame78(){ stop(); } function frame79(){ stop(); } function frame80(){ stop(); } function frame81(){ stop(); } function frame82(){ stop(); } function frame83(){ stop(); } function frame84(){ stop(); } function frame85(){ stop(); } function frame86(){ stop(); } function frame87(){ stop(); } function frame88(){ stop(); } function frame89(){ stop(); } function frame90(){ stop(); } function frame91(){ stop(); } function frame92(){ stop(); } function frame93(){ stop(); } function frame94(){ stop(); } function frame95(){ stop(); } function frame96(){ stop(); } function frame97(){ stop(); } function frame98(){ stop(); } function frame99(){ stop(); } function frame100(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 173
//sliv1_m_180 (game29Flashka_armor_brand_fla.sliv1_m_180) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class sliv1_m_180 extends MovieClip { public function sliv1_m_180(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ stop(); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 174
//sliv1_m_285 (game29Flashka_armor_brand_fla.sliv1_m_285) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class sliv1_m_285 extends MovieClip { public function sliv1_m_285(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ stop(); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 175
//sliv2_m_182 (game29Flashka_armor_brand_fla.sliv2_m_182) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class sliv2_m_182 extends MovieClip { public function sliv2_m_182(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ stop(); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 176
//sliv2_m_287 (game29Flashka_armor_brand_fla.sliv2_m_287) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class sliv2_m_287 extends MovieClip { public function sliv2_m_287(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ stop(); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 177
//sliv3_m_184 (game29Flashka_armor_brand_fla.sliv3_m_184) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class sliv3_m_184 extends MovieClip { public function sliv3_m_184(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ stop(); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 178
//sliv3_m_289 (game29Flashka_armor_brand_fla.sliv3_m_289) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class sliv3_m_289 extends MovieClip { public function sliv3_m_289(){ addFrameScript(0, frame1, 39, frame40); } function frame1(){ stop(); } function frame40(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 179
//spoiler_m_199 (game29Flashka_armor_brand_fla.spoiler_m_199) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class spoiler_m_199 extends MovieClip { public function spoiler_m_199(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 180
//spoiler_m_304 (game29Flashka_armor_brand_fla.spoiler_m_304) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class spoiler_m_304 extends MovieClip { public function spoiler_m_304(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 181
//tut2_167 (game29Flashka_armor_brand_fla.tut2_167) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class tut2_167 extends MovieClip { public function tut2_167(){ addFrameScript(0, frame1, 11, frame12); } function frame1(){ stop(); } function frame12(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 182
//tut4_169 (game29Flashka_armor_brand_fla.tut4_169) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class tut4_169 extends MovieClip { public function tut4_169(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 183
//tut5_171 (game29Flashka_armor_brand_fla.tut5_171) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class tut5_171 extends MovieClip { public function tut5_171(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 184
//tut6_173 (game29Flashka_armor_brand_fla.tut6_173) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class tut6_173 extends MovieClip { public function tut6_173(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 185
//tut7_175 (game29Flashka_armor_brand_fla.tut7_175) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class tut7_175 extends MovieClip { public function tut7_175(){ addFrameScript(0, frame1, 189, frame190); } function frame1(){ stop(); } function frame190(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 186
//vulk1_flame_mm_61 (game29Flashka_armor_brand_fla.vulk1_flame_mm_61) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class vulk1_flame_mm_61 extends MovieClip { public function vulk1_flame_mm_61(){ addFrameScript(6, frame7); } function frame7(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 187
//vulk2mm2_64 (game29Flashka_armor_brand_fla.vulk2mm2_64) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class vulk2mm2_64 extends MovieClip { public function vulk2mm2_64(){ addFrameScript(6, frame7); } function frame7(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 188
//vulk3_vyhmm_65 (game29Flashka_armor_brand_fla.vulk3_vyhmm_65) package game29Flashka_armor_brand_fla { import flash.display.*; public dynamic class vulk3_vyhmm_65 extends MovieClip { public function vulk3_vyhmm_65(){ addFrameScript(8, frame9); } function frame9(){ stop(); } } }//package game29Flashka_armor_brand_fla
Section 189
//ag_intro_mc (ag_intro_mc) package { import flash.display.*; public dynamic class ag_intro_mc extends MovieClip { public function ag_intro_mc(){ addFrameScript(0, frame1, 224, frame225); } function frame1(){ gotoAndPlay(2); } function frame225(){ } } }//package
Section 190
//AllEvents (AllEvents) package { import flash.events.*; public class AllEvents extends Event { public static const AGAIN:String = "Again"; public static const START_PLAYING:String = "StartPlaying"; public static const PEREKLUCHENIE_MUSYKI:String = "PereklichenieMusyki"; public static const SMENA_GRAFIKI:String = "SmenaGrafiki"; public static const PEREZAPIS:String = "Perezapis"; public static const CLEAR:String = "Clear"; public static const GOTOMAINMENU:String = "GoToMainMenu"; public static const RESTARTING:String = "Restarting"; public static const COMICS_MELODY:String = "ComicsMelody"; public static const COMICS_SOUNDS:String = "ComicsSounds"; public static const GOTOCOMICS:String = "GoToComics"; public static const OTRYZKA:String = "Otryzka"; public static const USKOR:String = "Uskor"; public static const GOTOSHOP:String = "GoToShop"; public function AllEvents(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new AllEvents(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("AllEvents", "type", "bubbles", "cancelable", "eventPhase")); } } }//package
Section 191
//ans1 (ans1) package { import flash.media.*; public dynamic class ans1 extends Sound { } }//package
Section 192
//ans10 (ans10) package { import flash.media.*; public dynamic class ans10 extends Sound { } }//package
Section 193
//ans11 (ans11) package { import flash.media.*; public dynamic class ans11 extends Sound { } }//package
Section 194
//ans12 (ans12) package { import flash.media.*; public dynamic class ans12 extends Sound { } }//package
Section 195
//ans13 (ans13) package { import flash.media.*; public dynamic class ans13 extends Sound { } }//package
Section 196
//ans14 (ans14) package { import flash.media.*; public dynamic class ans14 extends Sound { } }//package
Section 197
//ans15 (ans15) package { import flash.media.*; public dynamic class ans15 extends Sound { } }//package
Section 198
//ans16 (ans16) package { import flash.media.*; public dynamic class ans16 extends Sound { } }//package
Section 199
//ans17 (ans17) package { import flash.media.*; public dynamic class ans17 extends Sound { } }//package
Section 200
//ans18 (ans18) package { import flash.media.*; public dynamic class ans18 extends Sound { } }//package
Section 201
//ans19 (ans19) package { import flash.media.*; public dynamic class ans19 extends Sound { } }//package
Section 202
//ans2 (ans2) package { import flash.media.*; public dynamic class ans2 extends Sound { } }//package
Section 203
//ans20 (ans20) package { import flash.media.*; public dynamic class ans20 extends Sound { } }//package
Section 204
//ans21 (ans21) package { import flash.media.*; public dynamic class ans21 extends Sound { } }//package
Section 205
//ans22 (ans22) package { import flash.media.*; public dynamic class ans22 extends Sound { } }//package
Section 206
//ans23 (ans23) package { import flash.media.*; public dynamic class ans23 extends Sound { } }//package
Section 207
//ans24 (ans24) package { import flash.media.*; public dynamic class ans24 extends Sound { } }//package
Section 208
//ans25 (ans25) package { import flash.media.*; public dynamic class ans25 extends Sound { } }//package
Section 209
//ans26 (ans26) package { import flash.media.*; public dynamic class ans26 extends Sound { } }//package
Section 210
//ans27 (ans27) package { import flash.media.*; public dynamic class ans27 extends Sound { } }//package
Section 211
//ans28 (ans28) package { import flash.media.*; public dynamic class ans28 extends Sound { } }//package
Section 212
//ans29 (ans29) package { import flash.media.*; public dynamic class ans29 extends Sound { } }//package
Section 213
//ans3 (ans3) package { import flash.media.*; public dynamic class ans3 extends Sound { } }//package
Section 214
//ans30 (ans30) package { import flash.media.*; public dynamic class ans30 extends Sound { } }//package
Section 215
//ans4 (ans4) package { import flash.media.*; public dynamic class ans4 extends Sound { } }//package
Section 216
//ans5 (ans5) package { import flash.media.*; public dynamic class ans5 extends Sound { } }//package
Section 217
//ans6 (ans6) package { import flash.media.*; public dynamic class ans6 extends Sound { } }//package
Section 218
//ans7 (ans7) package { import flash.media.*; public dynamic class ans7 extends Sound { } }//package
Section 219
//ans8 (ans8) package { import flash.media.*; public dynamic class ans8 extends Sound { } }//package
Section 220
//ans9 (ans9) package { import flash.media.*; public dynamic class ans9 extends Sound { } }//package
Section 221
//ar_out (ar_out) package { import flash.display.*; public dynamic class ar_out extends MovieClip { } }//package
Section 222
//arrow_out (arrow_out) package { import flash.display.*; public dynamic class arrow_out extends MovieClip { public function arrow_out(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 223
//base_hero_all (base_hero_all) package { import flash.display.*; public dynamic class base_hero_all extends MovieClip { public var razgon2:MovieClip; public var sliv3:MovieClip; public var accel1:MovieClip; public var accel2:MovieClip; public var accel3:MovieClip; public var accel4:MovieClip; public var combez:MovieClip; public var spoiler:MovieClip; public var palevo:MovieClip; public var helmet:MovieClip; public var sliv1:MovieClip; public var razgon1:MovieClip; public var sliv2:MovieClip; } }//package
Section 224
//between (between) package { import flash.display.*; public dynamic class between extends MovieClip { public var betw:MovieClip; public function between(){ addFrameScript(0, frame1, 22, frame23); } function frame1(){ stop(); } function frame23(){ stop(); } } }//package
Section 225
//BombContactListener (BombContactListener) package { import Box2D.Dynamics.*; public class BombContactListener extends b2ContactListener { } }//package
Section 226
//bonus (bonus) package { import flash.media.*; public dynamic class bonus extends Sound { } }//package
Section 227
//bonus_star01 (bonus_star01) package { import flash.display.*; public dynamic class bonus_star01 extends MovieClip { public function bonus_star01(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 228
//bonus_star02 (bonus_star02) package { import flash.display.*; public dynamic class bonus_star02 extends MovieClip { public function bonus_star02(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 229
//change_epoha (change_epoha) package { import flash.display.*; public dynamic class change_epoha extends MovieClip { public function change_epoha(){ addFrameScript(12, frame13, 27, frame28); } function frame13(){ stop(); } function frame28(){ stop(); } } }//package
Section 230
//clouds (clouds) package { import flash.display.*; public dynamic class clouds extends MovieClip { public function clouds(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } } }//package
Section 231
//COMICS (COMICS) package { import flash.display.*; import flash.events.*; public class COMICS extends EventDispatcher { private var table:MovieClip;// = null private var fades:MovieClip;// = null private var fades_int:int;// = 20 private var _parent:DisplayObjectContainer; private var KADR:int;// = 1 private var otchet:int;// = 0 public function COMICS(_arg1:DisplayObjectContainer){ _parent = _arg1; VOSSTANOVLENIE_COMICS(); } public function VOSSTANOVLENIE_COMICS():void{ table = new comics1(); _parent.addChild(table); KADR = 1; otchet = 0; fades = new fade_out(); _parent.addChild(fades); fades_int = 20; table.addEventListener(Event.ENTER_FRAME, render); table.skip.addEventListener(MouseEvent.MOUSE_DOWN, LAST); } private function render(_arg1:Event):void{ if (otchet < 200){ otchet++; if ((((KADR == 1)) && ((otchet == 20)))){ _parent.removeChild(fades); fades = null; }; if ((((((((KADR == 1)) && ((otchet == 50)))) || ((((KADR == 2)) && ((otchet == 50)))))) || ((((KADR == 3)) && ((otchet == 100)))))){ table.next_all.gotoAndPlay(2); table.next_all.next.addEventListener(MouseEvent.MOUSE_DOWN, next); }; if ((((KADR == 4)) && ((otchet == 100)))){ table.next_all.gotoAndPlay(16); table.next_all.next2.addEventListener(MouseEvent.MOUSE_DOWN, LAST); }; }; } private function LAST(_arg1:MouseEvent):void{ if ((((KADR == 4)) && ((table.next_all.currentFrame > 15)))){ table.next_all.next2.removeEventListener(MouseEvent.MOUSE_DOWN, LAST); }; if ((((KADR < 4)) && ((table.next_all.currentFrame > 1)))){ table.next_all.next.removeEventListener(MouseEvent.MOUSE_DOWN, next); }; table.removeEventListener(Event.ENTER_FRAME, render); table.skip.removeEventListener(MouseEvent.MOUSE_DOWN, LAST); PhisicConstants.ADD_SOUND(38); fades_int = 20; fades = new fade_in(); _parent.addChild(fades); table.addEventListener(Event.ENTER_FRAME, render1); } private function render1(_arg1:Event):void{ fades_int--; if (fades_int == 0){ table.removeEventListener(Event.ENTER_FRAME, render1); dispatchEvent(new AllEvents(AllEvents.GOTOMAINMENU)); }; } public function destroy():void{ _parent.removeChild(fades); fades = null; _parent.removeChild(table); table = null; } private function next(_arg1:MouseEvent):void{ table.next_all.next.removeEventListener(MouseEvent.MOUSE_DOWN, next); table.next_all.gotoAndStop(1); KADR++; PhisicConstants.ADD_SOUND((22 + KADR)); PhisicConstants.ADD_SOUND(38); if (KADR == 2){ PhisicConstants.ADD_SOUND(500); } else { if (KADR == 4){ PhisicConstants.ADD_SOUND(501); }; }; table.gotoAndStop(KADR); otchet = 0; } } }//package
Section 232
//comics_music (comics_music) package { import flash.media.*; public dynamic class comics_music extends Sound { } }//package
Section 233
//comics1 (comics1) package { import flash.display.*; public dynamic class comics1 extends MovieClip { public var skip:SimpleButton; public var next_all:MovieClip; public function comics1(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 234
//comics11 (comics11) package { import flash.media.*; public dynamic class comics11 extends Sound { } }//package
Section 235
//comics12 (comics12) package { import flash.media.*; public dynamic class comics12 extends Sound { } }//package
Section 236
//comics13 (comics13) package { import flash.media.*; public dynamic class comics13 extends Sound { } }//package
Section 237
//comics14 (comics14) package { import flash.media.*; public dynamic class comics14 extends Sound { } }//package
Section 238
//cur_flush (cur_flush) package { import flash.display.*; public dynamic class cur_flush extends MovieClip { } }//package
Section 239
//cur_shoot (cur_shoot) package { import flash.display.*; public dynamic class cur_shoot extends MovieClip { } }//package
Section 240
//DocApplePreloadFirstFrame (DocApplePreloadFirstFrame) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.net.*; public dynamic class DocApplePreloadFirstFrame extends MovieClip { public var circleSlicePreloader:MovieClip; public var razresh:Boolean;// = false public var SMENA:int;// = 1 private var k1:int;// = 0 public var VIS:Boolean;// = false private var fades:MovieClip;// = null public function DocApplePreloadFirstFrame(){ addFrameScript(0, frame1, 1, frame2); stop(); stage.showDefaultContextMenu = false; if (isUrl(["pitergames.com", "armorgames.com"])){ razresh = true; }; if (razresh){ addChild((circleSlicePreloader = new preload())); circleSlicePreloader.x = 0; circleSlicePreloader.y = 0; circleSlicePreloader.pitergames.addEventListener(MouseEvent.MOUSE_DOWN, clickPiter); circleSlicePreloader.armor.addEventListener(MouseEvent.MOUSE_DOWN, clickArmor); loaderInfo.addEventListener(ProgressEvent.PROGRESS, piListener); loaderInfo.addEventListener(Event.COMPLETE, completeHandler); }; } private function clickArmor(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://armor.ag/MoreGames"); navigateToURL(_local2); } private function clickPiter(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://www.pitergames.com"); navigateToURL(_local2); } private function piListener(_arg1:ProgressEvent):void{ var _local2:uint = _arg1.bytesLoaded; var _local3:uint = _arg1.bytesTotal; var _local4:uint = int(((_local2 / _local3) * 100)); if ((((Math.floor(_local4) > SMENA)) && (VIS))){ SMENA = Math.floor(_local4); if (SMENA < 10){ circleSlicePreloader.procent.text = (("0" + SMENA) + "%"); } else { if (SMENA < 100){ circleSlicePreloader.procent.text = (SMENA + "%"); }; }; }; if ((((VIS == false)) && ((circleSlicePreloader.enabled == true)))){ VIS = true; trace((_local4 + " %zagruzki")); }; } private function completeHandler(_arg1:Event):void{ circleSlicePreloader.procent.text = "99%"; loaderInfo.removeEventListener(ProgressEvent.PROGRESS, piListener); loaderInfo.removeEventListener(Event.COMPLETE, completeHandler); fades = new fade_in(); addChild(fades); addEventListener(Event.ENTER_FRAME, render1); } private function render1(_arg1:Event):void{ k1++; if (k1 == 20){ removeEventListener(Event.ENTER_FRAME, render1); circleSlicePreloader.pitergames.removeEventListener(MouseEvent.MOUSE_DOWN, clickPiter); circleSlicePreloader.armor.removeEventListener(MouseEvent.MOUSE_DOWN, clickArmor); removeChild(circleSlicePreloader); circleSlicePreloader = null; removeChild(fades); fades = null; gotoAndStop(2); }; } public function isUrl(_arg1:Array):Boolean{ var _local2:String = stage.loaderInfo.loaderURL; var _local3:Number = (_local2.indexOf("://") + 3); var _local4:Number = _local2.indexOf("/", _local3); var _local5:String = _local2.substring(_local3, _local4); var _local6:Number = (_local5.lastIndexOf(".") - 1); var _local7:Number = (_local5.lastIndexOf(".", _local6) + 1); _local5 = _local5.substring(_local7, _local5.length); var _local8:int; while (_local8 < _arg1.length) { if (_local5 == _arg1[_local8]){ return (true); }; _local8++; }; return (false); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 241
//en_air (en_air) package { import flash.display.*; public dynamic class en_air extends MovieClip { public function en_air(){ 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); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ stop(); } function frame10(){ stop(); } function frame11(){ stop(); } function frame12(){ stop(); } } }//package
Section 242
//en_earth (en_earth) package { import flash.display.*; public dynamic class en_earth extends MovieClip { public function en_earth(){ 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); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } function frame7(){ stop(); } function frame8(){ stop(); } function frame9(){ stop(); } function frame10(){ stop(); } function frame11(){ stop(); } function frame12(){ stop(); } function frame13(){ stop(); } function frame14(){ stop(); } function frame15(){ stop(); } function frame16(){ stop(); } function frame17(){ stop(); } function frame18(){ stop(); } } }//package
Section 243
//en_stone (en_stone) package { import flash.display.*; public dynamic class en_stone extends MovieClip { public function en_stone(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 244
//epoh_change (epoh_change) package { import flash.media.*; public dynamic class epoh_change extends Sound { } }//package
Section 245
//fade_in (fade_in) package { import flash.display.*; public dynamic class fade_in extends MovieClip { public function fade_in(){ addFrameScript(12, frame13); } function frame13(){ stop(); } } }//package
Section 246
//fade_out (fade_out) package { import flash.display.*; public dynamic class fade_out extends MovieClip { public function fade_out(){ addFrameScript(14, frame15); } function frame15(){ stop(); } } }//package
Section 247
//fin1 (fin1) package { import flash.media.*; public dynamic class fin1 extends Sound { } }//package
Section 248
//fin2 (fin2) package { import flash.media.*; public dynamic class fin2 extends Sound { } }//package
Section 249
//fin3 (fin3) package { import flash.media.*; public dynamic class fin3 extends Sound { } }//package
Section 250
//fin4 (fin4) package { import flash.media.*; public dynamic class fin4 extends Sound { } }//package
Section 251
//final_mov (final_mov) package { import flash.display.*; public dynamic class final_mov extends MovieClip { public var but:MovieClip; public function final_mov(){ addFrameScript(396, frame397); } function frame397(){ stop(); } } }//package
Section 252
//fon1 (fon1) package { import flash.display.*; public dynamic class fon1 extends MovieClip { public function fon1(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 253
//fon2 (fon2) package { import flash.display.*; public dynamic class fon2 extends MovieClip { public function fon2(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 254
//fon3 (fon3) package { import flash.display.*; public dynamic class fon3 extends MovieClip { public function fon3(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 255
//game_1_a1 (game_1_a1) package { import flash.media.*; public dynamic class game_1_a1 extends Sound { } }//package
Section 256
//game_1_a2 (game_1_a2) package { import flash.media.*; public dynamic class game_1_a2 extends Sound { } }//package
Section 257
//game_1_e1 (game_1_e1) package { import flash.media.*; public dynamic class game_1_e1 extends Sound { } }//package
Section 258
//game_1_e2 (game_1_e2) package { import flash.media.*; public dynamic class game_1_e2 extends Sound { } }//package
Section 259
//game_1_e3 (game_1_e3) package { import flash.media.*; public dynamic class game_1_e3 extends Sound { } }//package
Section 260
//game_2_a1 (game_2_a1) package { import flash.media.*; public dynamic class game_2_a1 extends Sound { } }//package
Section 261
//game_2_a2 (game_2_a2) package { import flash.media.*; public dynamic class game_2_a2 extends Sound { } }//package
Section 262
//game_2_e1 (game_2_e1) package { import flash.media.*; public dynamic class game_2_e1 extends Sound { } }//package
Section 263
//game_2_e2 (game_2_e2) package { import flash.media.*; public dynamic class game_2_e2 extends Sound { } }//package
Section 264
//game_2_e3 (game_2_e3) package { import flash.media.*; public dynamic class game_2_e3 extends Sound { } }//package
Section 265
//game_3_a1 (game_3_a1) package { import flash.media.*; public dynamic class game_3_a1 extends Sound { } }//package
Section 266
//game_3_a2 (game_3_a2) package { import flash.media.*; public dynamic class game_3_a2 extends Sound { } }//package
Section 267
//game_3_e1 (game_3_e1) package { import flash.media.*; public dynamic class game_3_e1 extends Sound { } }//package
Section 268
//game_3_e2 (game_3_e2) package { import flash.media.*; public dynamic class game_3_e2 extends Sound { } }//package
Section 269
//game_3_e3 (game_3_e3) package { import flash.media.*; public dynamic class game_3_e3 extends Sound { } }//package
Section 270
//game_flush1 (game_flush1) package { import flash.media.*; public dynamic class game_flush1 extends Sound { } }//package
Section 271
//game_flush2 (game_flush2) package { import flash.media.*; public dynamic class game_flush2 extends Sound { } }//package
Section 272
//game_flush3 (game_flush3) package { import flash.media.*; public dynamic class game_flush3 extends Sound { } }//package
Section 273
//game_mushroom (game_mushroom) package { import flash.media.*; public dynamic class game_mushroom extends Sound { } }//package
Section 274
//game_pre1 (game_pre1) package { import flash.media.*; public dynamic class game_pre1 extends Sound { } }//package
Section 275
//game_pre2 (game_pre2) package { import flash.media.*; public dynamic class game_pre2 extends Sound { } }//package
Section 276
//game_pre3 (game_pre3) package { import flash.media.*; public dynamic class game_pre3 extends Sound { } }//package
Section 277
//game_razgon1 (game_razgon1) package { import flash.media.*; public dynamic class game_razgon1 extends Sound { } }//package
Section 278
//game_razgon2 (game_razgon2) package { import flash.media.*; public dynamic class game_razgon2 extends Sound { } }//package
Section 279
//game_shoot (game_shoot) package { import flash.media.*; public dynamic class game_shoot extends Sound { } }//package
Section 280
//game_usk1 (game_usk1) package { import flash.media.*; public dynamic class game_usk1 extends Sound { } }//package
Section 281
//game_usk2 (game_usk2) package { import flash.media.*; public dynamic class game_usk2 extends Sound { } }//package
Section 282
//game_usk3 (game_usk3) package { import flash.media.*; public dynamic class game_usk3 extends Sound { } }//package
Section 283
//game_usk4 (game_usk4) package { import flash.media.*; public dynamic class game_usk4 extends Sound { } }//package
Section 284
//game_volcano1 (game_volcano1) package { import flash.media.*; public dynamic class game_volcano1 extends Sound { } }//package
Section 285
//game_volcano2 (game_volcano2) package { import flash.media.*; public dynamic class game_volcano2 extends Sound { } }//package
Section 286
//game_volcano3 (game_volcano3) package { import flash.media.*; public dynamic class game_volcano3 extends Sound { } }//package
Section 287
//game29 (game29) package { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.display.*; import flash.events.*; import flash.geom.*; import flash.media.*; import flash.net.*; public class game29 extends MovieClip { private const GRAVITY:Number = 5; var _camera:Sprite;// = null var _camera2:Sprite;// = null var _fon:MovieClip;// = null var _menumain:MAIN_MENU;// = null var _gameMenu:NadpisiNaUrovne;// = null var _promezMenu:PromezMenu;// = null var _comics:COMICS;// = null var _lastComics:Last_Com;// = null var _shop:Shop;// = null var _currentVysota:Number;// = 0 var _last_Vysota:Number;// = 0 var palevoZvezd:int;// = 0 var palevoGidranta:int;// = 0 var _city11:MovieClip;// = null var _city11Koord:int;// = 0 var _city12Koord:int;// = 0 var _city12:MovieClip;// = null var _city21:MovieClip;// = null var _city21Koord:int;// = 0 var _city22Koord:int;// = 0 var _city22:MovieClip;// = null var _city31:MovieClip;// = null var _city31Koord:int;// = 0 var _city32Koord:int;// = 0 var _city32:MovieClip;// = null var _allGrounds:Array; var _sila_starta:int;// = 0 var _startOtloz:int;// = 0 var _currentLevelMoney:Number;// = 0 var distance:Number;// = 0 var _launch:MovieClip;// = null var _palka:MovieClip;// = null var _startMovie:MovieClip;// = null var _fades:Sprite;// = null var _allToRemove:Array; var _hero:TheHero;// = null var _navodkaMov:Sprite;// = null var _allThings:Array; var _allThings_int:Array; var _allClouds:Array; var melodyCh:SoundChannel; var m1ch:SoundChannel; var m2ch:SoundChannel; var PRODOLZ:Boolean;// = false var polschetchik:SharedObject; private var _END:Boolean;// = false var _tut1:MovieClip;// = null var _tut3:MovieClip;// = null var _gotoMain:Boolean;// = false private var Armor:MovieClip;// = null private var ARMOR_INT:int;// = 225 public static var _money:Number = 0; public static var _info:Array = []; public static var _EP:MovieClip = null; public function game29(){ _allGrounds = []; _allToRemove = []; _allThings = []; _allThings_int = []; _allClouds = []; melodyCh = new SoundChannel(); m1ch = new SoundChannel(); m2ch = new SoundChannel(); polschetchik = SharedObject.getLocal("rt3_5"); super(); stage.frameRate = 50; stage.quality = StageQuality.HIGH; stage.showDefaultContextMenu = false; _camera = new Sprite(); addChild(_camera); _camera2 = new Sprite(); addChild(_camera2); if (!polschetchik.data.info){ _info = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; } else { _info = polschetchik.data.info; PROVERKA(); }; PhisicConstants.MIN_COST(); ARMOR_SPLASH(); } private function ARMOR_SPLASH():void{ stage.frameRate = 45; Armor = new ag_intro_mc(); Armor.x = 318; Armor.y = 243; Armor.buttonMode = true; Armor.addEventListener(MouseEvent.MOUSE_DOWN, mdArmor); addChild(Armor); addEventListener(Event.ENTER_FRAME, renderArmor); } private function mdArmor(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://armor.ag/MoreGames"); navigateToURL(_local2); } private function renderArmor(_arg1:Event):void{ var _local2:SoundTransform; ARMOR_INT--; if (ARMOR_INT == 0){ Armor.gotoAndStop(1); removeChild(Armor); Armor.removeEventListener(MouseEvent.MOUSE_DOWN, mdArmor); _local2 = new SoundTransform(); _local2.volume = 0; Armor.soundTransform = _local2; Armor = null; removeEventListener(Event.ENTER_FRAME, renderArmor); stage.frameRate = 50; if (PhisicConstants.AGE > 1){ Starting_Menu(); } else { Starting_Comics(); }; }; } private function PROVERKA():void{ _money = _info[0]; PhisicConstants.GRYB = _info[1]; if (PhisicConstants.GRYB >= (PhisicConstants.NABOR * 2)){ PhisicConstants.AGE = 3; } else { if (PhisicConstants.GRYB >= PhisicConstants.NABOR){ PhisicConstants.AGE = 2; }; }; PhisicConstants.WHEEL = _info[2]; PhisicConstants.USKORITEL = _info[3]; PhisicConstants.SLIV = _info[4]; if (_info[5] == 1){ PhisicConstants.MAXPOWER = true; }; PhisicConstants.START = _info[6]; if (_info[7] == 1){ PhisicConstants.COMBEZ = true; PhisicConstants.KOEF_ARMOR = (PhisicConstants.KOEF_ARMOR + 0.08); }; if (_info[8] == 1){ PhisicConstants.HELMET = true; PhisicConstants.KOEF_ARMOR = (PhisicConstants.KOEF_ARMOR + 0.12); }; if (_info[9] == 1){ PhisicConstants.SPOILER = true; PhisicConstants.KOEF_ARMOR = (PhisicConstants.KOEF_ARMOR + 0.15); }; if (_info[10] == 1){ PhisicConstants.X2 = true; PhisicConstants.UMNOZITEL = 2; }; PhisicConstants.TUT1 = _info[11]; PhisicConstants.TUT2 = _info[12]; PhisicConstants.TUT3 = _info[13]; PhisicConstants.TUT4 = _info[14]; PhisicConstants.TUT5 = _info[15]; PhisicConstants.TUT6 = _info[16]; PhisicConstants.TUT7 = _info[17]; } private function ClearData(_arg1:AllEvents):void{ _info = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PhisicConstants.TUT1, PhisicConstants.TUT2, PhisicConstants.TUT3, PhisicConstants.TUT4, PhisicConstants.TUT5, PhisicConstants.TUT6, PhisicConstants.TUT7]; _money = 0; PhisicConstants.GRYB = 0; PhisicConstants.AGE = 1; PhisicConstants.WHEEL = 0; PhisicConstants.USKORITEL = 0; PhisicConstants.SLIV = 0; PhisicConstants.MAXPOWER = false; PhisicConstants.START = 0; PhisicConstants.COMBEZ = false; PhisicConstants.KOEF_ARMOR = 1; PhisicConstants.HELMET = false; PhisicConstants.SPOILER = false; PhisicConstants.X2 = false; PhisicConstants.UMNOZITEL = 1; PhisicConstants.MINIMUM_COST = 1; PhisicConstants.MIN_COST(); } private function Starting_Comics():void{ var _local1:Sound; var _local2:Sound; var _local3:Sound; if (_comics == null){ _comics = new COMICS(_camera); } else { _comics.VOSSTANOVLENIE_COMICS(); }; if (PhisicConstants.SOUND){ _local1 = new comics_music(); melodyCh = _local1.play(0, 1000); _local2 = new comics11(); m1ch = _local2.play(0, 1000); _local3 = new tr_comics(); m2ch = _local3.play(0, 1000); }; _comics.addEventListener(AllEvents.GOTOMAINMENU, endComics); addEventListener(Event.ENTER_FRAME, renderSound); } private function endComics(_arg1:AllEvents):void{ _comics.removeEventListener(AllEvents.GOTOMAINMENU, endComics); removeEventListener(Event.ENTER_FRAME, renderSound); _comics.destroy(); melodyCh.stop(); m1ch.stop(); m2ch.stop(); SoundMixer.stopAll(); Starting_Menu(); } private function Starting_Menu():void{ if (_menumain == null){ _menumain = new MAIN_MENU(_camera2); } else { _menumain.Vosstanovlenie_Menu(); }; melodyCh.stop(); _menumain.addEventListener(AllEvents.START_PLAYING, startGame); _menumain.addEventListener(AllEvents.GOTOCOMICS, gotoComics); addEventListener(Event.ENTER_FRAME, renderSound); PRODOLZ = false; smenaMusyki1(new AllEvents(AllEvents.PEREKLUCHENIE_MUSYKI)); _menumain.addEventListener(AllEvents.PEREKLUCHENIE_MUSYKI, smenaMusyki1); _menumain.addEventListener(AllEvents.CLEAR, ClearData); } private function smenaMusyki1(_arg1:AllEvents):void{ var _local2:Sound; if (PhisicConstants.SOUND){ _local2 = new tr_menu(); melodyCh = _local2.play(0, 1000); } else { melodyCh.stop(); SoundMixer.stopAll(); }; } private function gotoComics(_arg1:AllEvents):void{ DESTROY_MENU(); Starting_Comics(); } private function DESTROY_MENU():void{ _menumain.destroy(); _menumain.removeEventListener(AllEvents.START_PLAYING, startGame); _menumain.removeEventListener(AllEvents.GOTOCOMICS, gotoComics); removeEventListener(Event.ENTER_FRAME, renderSound); _menumain.removeEventListener(AllEvents.PEREKLUCHENIE_MUSYKI, smenaMusyki1); melodyCh.stop(); _menumain.removeEventListener(AllEvents.CLEAR, ClearData); } private function startGame(_arg1:AllEvents):void{ DESTROY_MENU(); setupLevel(); } private function setupWorld1():void{ var _local1:b2Vec2 = new b2Vec2(0, GRAVITY); var _local2:Boolean; PhisicConstants.world = new b2World(_local1, _local2); PhisicConstants.world.SetContactListener(new BombContactListener()); } private function setupLevel():void{ setupWorld1(); _gotoMain = false; if (PRODOLZ == false){ PROMEZ_MELODY(); } else { PRODOLZ = false; }; PhisicConstants.BONUS_PRIZEM = false; PhisicConstants.PREZEM = 0; PhisicConstants.VRASCH = 0; PhisicConstants.VRASCH_PAYPAL = 0; PhisicConstants.CLICK_SHOP = false; _currentVysota = 0; _last_Vysota = 0; palevoZvezd = 1000; palevoGidranta = 750; _fon = new sky(); _camera.addChild(_fon); _fon.gotoAndStop(PhisicConstants.AGE); _city11 = new fon3(); _city11.gotoAndStop(PhisicConstants.AGE); _camera.addChild(_city11); _city11Koord = 0; _city11.x = 200; _city12Koord = -30000; _city12 = new fon3(); _city12.gotoAndStop(PhisicConstants.AGE); _city12.x = -800; _camera.addChild(_city12); _city21 = new fon2(); _city21.gotoAndStop(PhisicConstants.AGE); _camera.addChild(_city21); _city21Koord = 0; _city21.x = 200; _city22Koord = -20000; _city22 = new fon2(); _city22.gotoAndStop(PhisicConstants.AGE); _city22.x = -800; _camera.addChild(_city22); _city31 = new fon1(); _city31.gotoAndStop(PhisicConstants.AGE); _camera.addChild(_city31); _city31Koord = 0; _city31.x = 200; _city32Koord = -10000; _city32 = new fon1(); _city32.gotoAndStop(PhisicConstants.AGE); _city32.x = -800; _camera.addChild(_city32); var _local1:StaticPalka = new StaticPalka(_camera, 1, new Point(500, 475)); _allGrounds.push(_local1); var _local2:StaticPalka = new StaticPalka(_camera, 1, new Point(1500, 475)); _allGrounds.push(_local2); _sila_starta = 0; _currentLevelMoney = _money; distance = 0; PhisicConstants.KOEF_DALNOSTI = 1; PhisicConstants.NUMBER_SLIV = 3; _launch = new launcher(); _launch.gotoAndStop(PhisicConstants.AGE); _camera.addChild(_launch); if (PhisicConstants.AGE == 1){ _palka = new pulyalka(); } else { if (PhisicConstants.AGE == 2){ _palka = new pulyalka2(); } else { if (PhisicConstants.AGE == 3){ _palka = new pulyalka3(); }; }; }; if (PhisicConstants.COMBEZ){ _palka.hero.combez.gotoAndStop(2); }; if (PhisicConstants.HELMET){ _palka.hero.helmet.gotoAndStop(2); }; if (PhisicConstants.SPOILER){ _palka.hero.spoiler.gotoAndStop(2); }; if (PhisicConstants.MAXPOWER){ _palka.power.gotoAndStop(2); }; _palka.x = 50; _palka.y = 287; _camera.addChild(_palka); _palka.gotoAndStop(1); _palka.hero.gotoAndStop(1); addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); _startMovie = new cur_shoot(); _camera.addChild(_startMovie); _startMovie.x = mouseX; _startMovie.y = mouseY; if (PhisicConstants.TUT1 == 0){ _tut1 = new tut10(); _tut1.x = 220; _tut1.y = 180; _camera2.addChild(_tut1); _tut1.gotoAndStop(2); }; addEventListener(Event.ENTER_FRAME, renderBeforeStart); _fades = new fade_out(); _camera2.addChild(_fades); addEventListener(Event.ENTER_FRAME, renderSound); } private function renderBeforeStart(_arg1:Event):void{ _sila_starta++; if ((((_sila_starta == 20)) && (!((_fades == null))))){ _fades.parent.removeChild(_fades); _fades = null; addEventListener(MouseEvent.MOUSE_DOWN, mouseClick); }; if (_sila_starta == 50){ _sila_starta = 0; }; } private function mouseMove(_arg1:MouseEvent):void{ var _local2:Number = (_arg1.stageX - _palka.x); var _local3:Number = (_arg1.stageY - _palka.y); if (_local2 <= 0){ if (_local3 > 0){ _palka.rotation = 30; } else { _palka.rotation = -50; }; } else { if (_local3 > 0){ _palka.rotation = Math.min(30, ((180 * Math.atan((_local3 / _local2))) / Math.PI)); } else { _palka.rotation = Math.max(-50, ((180 * Math.atan((_local3 / _local2))) / Math.PI)); }; }; _startMovie.x = _arg1.stageX; _startMovie.y = _arg1.stageY; _arg1.updateAfterEvent(); } private function mouseClick(_arg1:MouseEvent):void{ var _local2:Sound; removeEventListener(MouseEvent.MOUSE_DOWN, mouseClick); removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove); removeEventListener(Event.ENTER_FRAME, renderBeforeStart); _camera.removeChild(_startMovie); _startMovie = null; _palka.gotoAndPlay(2); _allToRemove.push(_launch); _allToRemove.push(_palka); if (PhisicConstants.SOUND){ _local2 = new game_shoot(); _local2.play(0, 0, new SoundTransform((1 - (Math.abs((25 - _sila_starta)) / 50)), 0)); }; melodyCh.stop(); _startOtloz = 10; addEventListener(Event.ENTER_FRAME, renderPul); if (PhisicConstants.TUT1 == 0){ PhisicConstants.TUT1 = 1; _info[11] = 1; perezapis(new AllEvents(AllEvents.PEREZAPIS)); _tut1.parent.removeChild(_tut1); _tut1 = null; }; } private function renderPul(_arg1:Event):void{ _startOtloz--; if (_startOtloz == 0){ removeEventListener(Event.ENTER_FRAME, renderPul); gameStart(); }; } private function gameStart():void{ GAME_MELODY(); _hero = new TheHero(_camera, new Point((88 + (230 * Math.cos(((_palka.rotation * Math.PI) / 180)))), (253 + (230 * Math.sin(((_palka.rotation * Math.PI) / 180))))), ((_palka.rotation * Math.PI) / 180), _sila_starta); distance = _hero.Rasstojanie(); if (_gameMenu == null){ _gameMenu = new NadpisiNaUrovne(_camera2, _money); } else { _gameMenu.vosstanovlenieMENU(_money); }; _gameMenu.addEventListener(AllEvents.PEREKLUCHENIE_MUSYKI, smenaMusyki); _gameMenu.addEventListener(AllEvents.SMENA_GRAFIKI, perekluchenieGraphiki); _gameMenu.addEventListener(AllEvents.RESTARTING, restartInPromez); _gameMenu.addEventListener(AllEvents.USKOR, startUskor); _gameMenu.addEventListener(AllEvents.GOTOSHOP, fromGameToShop); _gameMenu.addEventListener(AllEvents.GOTOMAINMENU, fromGameToMenu); addEventListener(Event.ENTER_FRAME, render); if (PhisicConstants.TUT3 == 0){ _tut3 = new tut30(); _tut3.x = _hero.KOORD_SPRITE().x; _tut3.y = _hero.KOORD_SPRITE().y; _camera.addChild(_tut3); }; } private function startUskor(_arg1:AllEvents):void{ _hero.SUPERUSKORITEL(); } private function smenaMusyki(_arg1:AllEvents):void{ if (PhisicConstants.SOUND == false){ SoundMixer.stopAll(); melodyCh.stop(); } else { GAME_MELODY(); }; } private function GAME_MELODY():void{ var _local1:Sound; if (PhisicConstants.SOUND){ melodyCh.stop(); if (PhisicConstants.AGE == 1){ _local1 = new tr1(); } else { if (PhisicConstants.AGE == 2){ _local1 = new tr2(); } else { if (PhisicConstants.AGE == 3){ _local1 = new tr3(); }; }; }; melodyCh = _local1.play(0, 1000); }; } private function perekluchenieGraphiki(_arg1:AllEvents):void{ if (PhisicConstants.GRAFIKA == 1){ stage.quality = StageQuality.HIGH; } else { if (PhisicConstants.GRAFIKA == 2){ stage.quality = StageQuality.MEDIUM; } else { if (PhisicConstants.GRAFIKA == 3){ stage.quality = StageQuality.LOW; }; }; }; } private function render(_arg1:Event):void{ var _local3:StaticPalka; var _local4:MovieClip; var _local5:MovieClip; var _local6:MovieClip; var _local7:int; var _local8:int; var _local9:int; PhisicConstants.world.Step((1 / PhisicConstants.FRAME_RATE), 20, 20); PhisicConstants.world.ClearForces(); _hero.updateEveryFrame(); var _local2:Number = _hero.Rasstojanie(); if (_local2 > 200){ _camera.x = (200 - _local2); _fon.x = (_local2 - 200); }; _money = (_money + (((PhisicConstants.UMNOZITEL * Math.abs((_local2 - distance))) * PhisicConstants.KOEF_DALNOSTI) / 10)); if ((((_local2 > 5000)) && ((PhisicConstants.KOEF_DALNOSTI < 1.2)))){ PhisicConstants.KOEF_DALNOSTI = 1.2; } else { if ((((_local2 > 10000)) && ((PhisicConstants.KOEF_DALNOSTI < 1.5)))){ PhisicConstants.KOEF_DALNOSTI = 1.5; } else { if ((((_local2 > 20000)) && ((PhisicConstants.KOEF_DALNOSTI < 1.8)))){ PhisicConstants.KOEF_DALNOSTI = 1.8; } else { if ((((_local2 > 35000)) && ((PhisicConstants.KOEF_DALNOSTI < 2.1)))){ PhisicConstants.KOEF_DALNOSTI = 2.1; } else { if ((((_local2 > 50000)) && ((PhisicConstants.KOEF_DALNOSTI < 2.5)))){ PhisicConstants.KOEF_DALNOSTI = 2.5; } else { if ((((_local2 > 100000)) && ((PhisicConstants.KOEF_DALNOSTI < 3)))){ PhisicConstants.KOEF_DALNOSTI = 3; } else { if ((((_local2 > 125000)) && ((PhisicConstants.KOEF_DALNOSTI < 3.5)))){ PhisicConstants.KOEF_DALNOSTI = 3.5; } else { if ((((_local2 > 150000)) && ((PhisicConstants.KOEF_DALNOSTI < 4)))){ PhisicConstants.KOEF_DALNOSTI = 4; } else { if ((((_local2 > 200000)) && ((PhisicConstants.KOEF_DALNOSTI < 5)))){ PhisicConstants.KOEF_DALNOSTI = 5; }; }; }; }; }; }; }; }; }; _currentVysota = _hero.Vysota(); if ((((_currentVysota < 240)) && ((_currentVysota > -9280)))){ _camera.y = (240 - _currentVysota); } else { if (_currentVysota <= -9280){ _camera.y = 9520; } else { if (_camera.y > 0){ _camera.y = 0; }; }; }; if (_camera.y > 0){ if ((((_camera.y == 9520)) && (!((_fon.y == -8080))))){ _fon.y = -8080; } else { if (_camera.y < 9520){ _fon.y = ((-(_camera.y) * 101) / 119); }; }; } else { if ((((_camera.y == 0)) && (!((_fon.y == 0))))){ _fon.y = 0; }; }; _camera2.x = _camera.x; _camera2.y = _camera.y; for each (_local3 in _allGrounds) { if ((_local2 - 1000) > _local3.getSpriteLoc().x){ _local3.MOVING(); }; }; if (_local2 > palevoZvezd){ SozdanieNovyhZvezd(); palevoZvezd = (palevoZvezd + 1000); }; if (_local2 > palevoGidranta){ SozdanieGidrantaISobaki(); palevoGidranta = (palevoGidranta + 2500); }; _gameMenu.CurrentUpdate(_local2, _currentVysota, _money, _last_Vysota); _last_Vysota = _currentVysota; if (_EP != null){ if (_EP.currentFrame == 28){ _EP.parent.removeChild(_EP); _EP = null; } else { _EP.x = _gameMenu.KOORD().x; _EP.y = _gameMenu.KOORD().y; if (_EP.currentFrame == 13){ _EP.gotoAndPlay(14); CHANGE_EPOQUE(); }; }; }; if (_hero._NAVEDENIE){ if (_navodkaMov == null){ _navodkaMov = new cur_flush(); _camera2.addChild(_navodkaMov); }; _navodkaMov.y = (_gameMenu.menu1.y + mouseY); _navodkaMov.x = (_gameMenu.menu1.x + mouseX); } else { if (_navodkaMov != null){ _camera2.removeChild(_navodkaMov); _navodkaMov = null; }; }; for each (_local4 in _allToRemove) { if (_local4.x < (_local2 - 350)){ _local4.parent.removeChild(_local4); _local7 = _allToRemove.indexOf(_local4); _allToRemove.splice(_local7, 1); _local4 = null; }; }; if (_tut3 != null){ _tut3.x = _hero.KOORD_SPRITE().x; _tut3.y = _hero.KOORD_SPRITE().y; if (PhisicConstants.NUMBER_SLIV < 3){ _tut3.parent.removeChild(_tut3); _tut3 = null; PhisicConstants.TUT3 = 1; _info[13] = 1; perezapis(new AllEvents(AllEvents.PEREZAPIS)); }; }; for each (_local5 in _allThings) { if (_local5.x < (_local2 - 300)){ _local5.parent.removeChild(_local5); _local8 = _allThings.indexOf(_local5); _allThings.splice(_local8, 1); _allThings_int.splice(_local8, 1); _local5 = null; }; }; for each (_local6 in _allClouds) { _local6.x = (_local6.x - (_local2 - distance)); if (_local6.x < (_local2 - 350)){ _local6.parent.removeChild(_local6); _local9 = _allClouds.indexOf(_local6); _allClouds.splice(_local9, 1); _local6 = null; }; }; GOROD_MOV(_local2, _currentVysota); distance = _local2; KASANIE_VSEGO(); if ((((((((_hero.GET_XSPEED() < 0.2)) && ((_currentVysota > 395)))) && ((_hero.GET_SPEED() < 0.2)))) || (((!((_hero == null))) && ((_hero.KOORD_SPRITE().y > 1000)))))){ if ((((_EP == null)) && ((_END == false)))){ KONEC_UROVNIA(); }; }; if (_END){ restartInPromez(new AllEvents(AllEvents.RESTARTING)); }; } private function KONEC_UROVNIA():void{ removeEventListener(Event.ENTER_FRAME, render); ZVUKI(20); if (_promezMenu == null){ _promezMenu = new PromezMenu(_camera2, _money, (_money - _currentLevelMoney), _hero.Rasstojanie()); } else { _promezMenu.vosstanovleniePROMEZ(_money, (_money - _currentLevelMoney), _hero.Rasstojanie()); }; _info[0] = _money; _info[1] = PhisicConstants.GRYB; perezapis(new AllEvents(AllEvents.PEREZAPIS)); PRODOLZ = true; PROMEZ_MELODY(); _promezMenu.addEventListener(AllEvents.AGAIN, restartInPromez); _promezMenu.addEventListener(AllEvents.GOTOSHOP, fromGameToShop); _promezMenu.addEventListener(AllEvents.GOTOMAINMENU, fromGameToMenu); _promezMenu.addEventListener(AllEvents.PEREZAPIS, perezapis); } private function fromGameToMenu(_arg1:AllEvents):void{ if (_EP == null){ _gotoMain = true; restartInPromez(new AllEvents(AllEvents.GOTOMAINMENU)); }; } private function perezapis(_arg1:AllEvents):void{ polschetchik.data.info = _info; polschetchik.flush(); } private function SHOPPING():void{ if (_shop == null){ _shop = new Shop(_camera, _money); } else { _shop.VOSSTANOVLENIE(_money); }; melodyCh.stop(); smenaMusyki1(new AllEvents(AllEvents.PEREKLUCHENIE_MUSYKI)); PRODOLZ = false; _shop.addEventListener(AllEvents.AGAIN, fromShopToGame); _shop.addEventListener(AllEvents.PEREZAPIS, perezapis); addEventListener(Event.ENTER_FRAME, renderSound); if ((((PhisicConstants.TUT2 == 0)) && ((_money >= PhisicConstants.MINIMUM_COST)))){ PhisicConstants.TUT2 = 1; _info[12] = 1; perezapis(new AllEvents(AllEvents.PEREZAPIS)); }; } private function fromShopToGame(_arg1:AllEvents):void{ _shop.removeEventListener(AllEvents.AGAIN, fromShopToGame); _shop.removeEventListener(AllEvents.PEREZAPIS, perezapis); removeEventListener(Event.ENTER_FRAME, renderSound); _shop.destroy(); setupLevel(); } private function fromGameToShop(_arg1:AllEvents):void{ if (_EP == null){ PhisicConstants.CLICK_SHOP = true; restartInPromez(new AllEvents(AllEvents.GOTOSHOP)); }; } private function restartInPromez(_arg1:AllEvents):void{ if (_EP == null){ if (((!((_promezMenu == null))) && (_promezMenu.VIS()))){ _fades = new fade_in(); _camera2.addChild(_fades); _fades.x = (_hero.Rasstojanie() - 210); _fades.y = -(_camera2.y); _sila_starta = 20; addEventListener(Event.ENTER_FRAME, renderPromez); _promezMenu.removeEventListener(AllEvents.AGAIN, restartInPromez); _promezMenu.removeEventListener(AllEvents.GOTOSHOP, fromGameToShop); _promezMenu.removeEventListener(AllEvents.PEREZAPIS, perezapis); _promezMenu.removeEventListener(AllEvents.GOTOMAINMENU, fromGameToMenu); } else { OchistkaUrovnia(); if (_END){ LAST_COMICS(); } else { if (_gotoMain){ _gotoMain = false; Starting_Menu(); } else { if (PhisicConstants.CLICK_SHOP == false){ setupLevel(); } else { SHOPPING(); }; }; }; }; }; } private function renderPromez(_arg1:Event):void{ _sila_starta--; if (_sila_starta == 0){ removeEventListener(Event.ENTER_FRAME, renderPromez); _camera2.removeChild(_fades); _fades = null; OchistkaUrovnia(); if (_gotoMain){ _gotoMain = false; Starting_Menu(); } else { if (PhisicConstants.CLICK_SHOP == false){ setupLevel(); } else { SHOPPING(); }; }; }; } private function OchistkaUrovnia():void{ var _local1:MovieClip; var _local2:StaticPalka; var _local3:MovieClip; var _local4:MovieClip; _info[0] = _money; _info[1] = PhisicConstants.GRYB; perezapis(new AllEvents(AllEvents.PEREZAPIS)); removeEventListener(Event.ENTER_FRAME, render); removeEventListener(Event.ENTER_FRAME, renderSound); PhisicConstants.PO4AC = false; PhisicConstants.PROTIV4AC = false; if (((!((_promezMenu == null))) && (_promezMenu.VIS()))){ _promezMenu.removeEventListener(AllEvents.AGAIN, restartInPromez); _promezMenu.removeEventListener(AllEvents.GOTOSHOP, fromGameToShop); _promezMenu.removeEventListener(AllEvents.PEREZAPIS, perezapis); _promezMenu.removeEventListener(AllEvents.GOTOMAINMENU, fromGameToMenu); _promezMenu.destroy(); }; _gameMenu.destroy(); _gameMenu.removeEventListener(AllEvents.PEREKLUCHENIE_MUSYKI, smenaMusyki); _gameMenu.removeEventListener(AllEvents.SMENA_GRAFIKI, perekluchenieGraphiki); _gameMenu.removeEventListener(AllEvents.RESTARTING, restartInPromez); _gameMenu.removeEventListener(AllEvents.USKOR, startUskor); _gameMenu.removeEventListener(AllEvents.GOTOSHOP, fromGameToShop); _gameMenu.removeEventListener(AllEvents.GOTOMAINMENU, fromGameToMenu); _camera.removeChild(_fon); _fon = null; _city11.parent.removeChild(_city11); _city12.parent.removeChild(_city12); _city21.parent.removeChild(_city21); _city22.parent.removeChild(_city22); _city31.parent.removeChild(_city31); _city32.parent.removeChild(_city32); _city11 = null; _city12 = null; _city21 = null; _city22 = null; _city31 = null; _city32 = null; if (_navodkaMov != null){ _navodkaMov.parent.removeChild(_navodkaMov); _navodkaMov = null; }; if (_tut3 != null){ _tut3.parent.removeChild(_tut3); _tut3 = null; }; for each (_local1 in _allToRemove) { _local1.parent.removeChild(_local1); _local1 = null; }; _allToRemove = []; for each (_local2 in _allGrounds) { _local2.destroy(); _local2 = null; }; _allGrounds = []; for each (_local3 in _allThings) { _local3.parent.removeChild(_local3); _local3 = null; }; _allThings = []; _allThings_int = []; for each (_local4 in _allClouds) { _local4.parent.removeChild(_local4); _local4 = null; }; _allClouds = []; _hero.destroy(); _hero = null; _camera.x = 0; _camera2.x = 0; _camera.y = 0; _camera2.y = 0; _camera.rotation = 0; _camera2.rotation = 0; trace(_camera.numChildren, _camera2.numChildren, PhisicConstants.world.GetBodyCount()); } private function GOROD_MOV(_arg1:Number, _arg2:Number):void{ if (_city11.visible){ if (_arg1 > 200){ _city11.x = (_arg1 - ((_arg1 - _city11Koord) / 30)); }; if (_city11.x < (_arg1 - 1300)){ _city11.visible = false; _city11Koord = (_city11Koord + 60000); }; if ((((_arg2 < -2500)) && (!((_city11.y == -2250))))){ _city11.y = -2250; } else { if ((((_arg2 >= -2500)) && ((_arg2 < 0)))){ _city11.y = (_arg2 * 0.9); } else { if ((((_arg2 >= 0)) && (!((_city11.y == 0))))){ _city11.y = 0; }; }; }; } else { if (_arg1 > (_city11Koord - 18000)){ _city11.visible = true; _city11.x = (_arg1 - ((_arg1 - _city11Koord) / 30)); }; }; if (_city12.visible){ if (_arg1 > 200){ _city12.x = (_arg1 - ((_arg1 - _city12Koord) / 30)); }; if (_city12.x < (_arg1 - 1300)){ _city12.visible = false; _city12Koord = (_city12Koord + 60000); }; if ((((_arg2 < -2500)) && (!((_city12.y == -2250))))){ _city12.y = -2250; } else { if ((((_arg2 >= -2500)) && ((_arg2 < 0)))){ _city12.y = (_arg2 * 0.9); } else { if ((((_arg2 >= 0)) && (!((_city12.y == 0))))){ _city12.y = 0; }; }; }; } else { if (_arg1 > (_city12Koord - 18000)){ _city12.visible = true; _city12.x = (_arg1 - ((_arg1 - _city12Koord) / 30)); }; }; if (_city21.visible){ if (_arg1 > 200){ _city21.x = (_arg1 - ((_arg1 - _city21Koord) / 20)); }; if (_city21.x < (_arg1 - 1300)){ _city21.visible = false; _city21Koord = (_city21Koord + 40000); }; if ((((_arg2 < -2500)) && (!((_city21.y == -2250))))){ _city21.y = -2250; } else { if ((((_arg2 >= -2500)) && ((_arg2 < 0)))){ _city21.y = (_arg2 * 0.9); } else { if ((((_arg2 >= 0)) && (!((_city21.y == 0))))){ _city21.y = 0; }; }; }; } else { if (_arg1 > (_city21Koord - 12000)){ _city21.visible = true; _city21.x = (_arg1 - ((_arg1 - _city21Koord) / 20)); }; }; if (_city22.visible){ if (_arg1 > 200){ _city22.x = (_arg1 - ((_arg1 - _city22Koord) / 20)); }; if (_city22.x < (_arg1 - 1300)){ _city22.visible = false; _city22Koord = (_city22Koord + 40000); }; if ((((_arg2 < -2500)) && (!((_city22.y == -2250))))){ _city22.y = -2250; } else { if ((((_arg2 >= -2500)) && ((_arg2 < 0)))){ _city22.y = (_arg2 * 0.9); } else { if ((((_arg2 >= 0)) && (!((_city22.y == 0))))){ _city22.y = 0; }; }; }; } else { if (_arg1 > (_city22Koord - 12000)){ _city22.visible = true; _city22.x = (_arg1 - ((_arg1 - _city22Koord) / 20)); }; }; if (_city31.visible){ if (_arg1 > 200){ _city31.x = (_arg1 - ((_arg1 - _city31Koord) / 10)); }; if (_city31.x < (_arg1 - 1300)){ _city31.visible = false; _city31Koord = (_city31Koord + 20000); }; if ((((_arg2 < -2500)) && (!((_city31.y == -2250))))){ _city31.y = -2250; } else { if ((((_arg2 >= -2500)) && ((_arg2 < 0)))){ _city31.y = (_arg2 * 0.9); } else { if ((((_arg2 >= 0)) && (!((_city31.y == 0))))){ _city31.y = 0; }; }; }; } else { if (_arg1 > (_city31Koord - 6000)){ _city31.visible = true; _city31.x = (_arg1 - ((_arg1 - _city31Koord) / 10)); }; }; if (_city32.visible){ if (_arg1 > 200){ _city32.x = (_arg1 - ((_arg1 - _city32Koord) / 10)); }; if (_city32.x < (_arg1 - 1300)){ _city32.visible = false; _city32Koord = (_city32Koord + 20000); }; if ((((_arg2 < -2500)) && (!((_city32.y == -2250))))){ _city32.y = -2250; } else { if ((((_arg2 >= -2500)) && ((_arg2 < 0)))){ _city32.y = (_arg2 * 0.9); } else { if ((((_arg2 >= 0)) && (!((_city32.y == 0))))){ _city32.y = 0; }; }; }; } else { if (_arg1 > (_city32Koord - 6000)){ _city32.visible = true; _city32.x = (_arg1 - ((_arg1 - _city32Koord) / 10)); }; }; } private function SozdanieNovyhZvezd():void{ var _local5:int; var _local6:Number; var _local7:MovieClip; var _local8:MovieClip; var _local9:Number; var _local1:Number = _hero.Vysota(); if (_local1 < -9280){ _local1 = -9280; }; var _local2:MovieClip = new en_air(); var _local3:Number = (Math.random() * 2); _local3 = Math.min(1, Math.floor(_local3)); _local2.gotoAndStop(((((PhisicConstants.AGE - 1) * 4) + 1) + (2 * _local3))); _allThings_int.push((3 + _local3)); if (_local1 < -8000){ _local2.y = Math.max(Math.min(((_local1 + 750) - (Math.random() * 1500)), -8000), -9900); } else { _local2.y = Math.max(Math.min(((_local1 + 750) - (Math.random() * 1500)), 250), -8000); }; _local2.x = ((palevoZvezd + 500) + (Math.random() * 1000)); _camera.addChild(_local2); _allThings.push(_local2); if (_local1 > -2000){ _local5 = 0; while (_local5 < 2) { _local6 = (Math.random() * 2); _local7 = new clouds(); _local6 = Math.min(2, (1 + Math.floor(_local6))); _local7.gotoAndStop(((2 * (PhisicConstants.AGE - 1)) + _local6)); _local7.x = ((palevoZvezd + 1000) + (Math.random() * 500)); _local7.y = (-1600 + (1700 * Math.random())); _camera.addChild(_local7); _allClouds.push(_local7); _local5++; }; }; var _local4:int; while (_local4 < (11 - (PhisicConstants.AGE * 2))) { _local8 = new mush(); _local9 = (Math.random() * 5); _local9 = Math.min((1 + Math.floor(_local9)), 5); _local8.gotoAndStop(_local9); _allThings_int.push(2); _local8.x = ((palevoZvezd + 500) + (Math.random() * 1000)); _local8.y = (-8000 + (8400 * Math.random())); _camera.addChild(_local8); _allThings.push(_local8); _local4++; }; } private function SozdanieGidrantaISobaki():void{ var _local3:MovieClip; var _local4:MovieClip; var _local5:Number; var _local6:MovieClip; var _local7:MovieClip; var _local8:Number; var _local1:Number = Math.random(); if (_local1 < 0.5){ _local3 = new gidrant(); _local3.x = ((palevoGidranta + 500) + (2500 * Math.random())); _camera.addChild(_local3); _local3.gotoAndStop((((PhisicConstants.AGE - 1) * 2) + 1)); _allThings.push(_local3); _allThings_int.push(1); } else { if (_local1 < 0.9){ _local4 = new en_earth(); _local4.x = ((palevoGidranta + 500) + (2500 * Math.random())); _allThings.push(_local4); _local5 = (Math.random() * 3); _local5 = Math.min(2, Math.floor(_local5)); _local4.gotoAndStop(((((PhisicConstants.AGE - 1) * 6) + 1) + (2 * _local5))); _camera.addChildAt(_local4, (_camera.getChildIndex(_city32) + 1)); _allThings_int.push((5 + _local5)); } else { _local6 = new en_stone(); _local6.x = ((palevoGidranta + 500) + (2500 * Math.random())); _camera.addChild(_local6); _allThings.push(_local6); _allThings_int.push(8); }; }; var _local2:int; while (_local2 < 2) { _local8 = Math.random(); if ((((((PhisicConstants.USKORITEL > 0)) && ((_local8 < 0.5)))) && (_gameMenu.NO_USKOR()))){ _local7 = new bonus_star01(); _allThings_int.push(9); } else { _local7 = new bonus_star02(); _allThings_int.push(10); }; _local7.y = (-9200 + (Math.random() * 9600)); _local7.x = ((palevoGidranta + 500) + (2500 * Math.random())); _camera.addChild(_local7); _allThings.push(_local7); _local2++; }; } private function KASANIE_VSEGO():void{ var _local1:MovieClip; var _local2:int; for each (_local1 in _allThings) { if (_local1.hitTestObject(_hero.teloSprite.palevo)){ _local2 = _allThings.indexOf(_local1); if ((((_allThings_int[_local2] == 3)) || ((_allThings_int[_local2] == 4)))){ _money = (_money + (200 * PhisicConstants.UMNOZITEL)); _local1.gotoAndStop((_local1.currentFrame + 1)); _hero.UDAR_OB_MUHU(); ZVUKI((((_allThings_int[_local2] - 3) * 3) + PhisicConstants.AGE)); } else { if (_allThings_int[_local2] == 1){ _money = (_money + (400 * PhisicConstants.UMNOZITEL)); _hero.UDAR_OB_GIDRANT(); _local1.gotoAndStop((_local1.currentFrame + 1)); ZVUKI((15 + PhisicConstants.AGE)); } else { if (_allThings_int[_local2] == 10){ _money = (_money + (800 * PhisicConstants.UMNOZITEL)); _local1.gotoAndStop(2); _gameMenu.TAKE_SLIV(); _hero.DOP_SLIV(); ZVUKI(21); if (PhisicConstants.TUT4 == 0){ PhisicConstants.TUT4 = 1; _info[14] = 1; perezapis(new AllEvents(AllEvents.PEREZAPIS)); _gameMenu.TUT4(); ZVUKI(76); }; } else { if (_allThings_int[_local2] == 9){ _money = (_money + (1000 * PhisicConstants.UMNOZITEL)); _local1.gotoAndStop(2); _gameMenu.TAKE_USKOR(); ZVUKI(22); if (PhisicConstants.TUT5 == 0){ PhisicConstants.TUT5 = 1; _info[15] = 1; perezapis(new AllEvents(AllEvents.PEREZAPIS)); _gameMenu.TUT5(); ZVUKI(76); }; } else { if ((((((_allThings_int[_local2] == 5)) || ((_allThings_int[_local2] == 6)))) || ((_allThings_int[_local2] == 7)))){ _money = (_money + (200 * PhisicConstants.UMNOZITEL)); _local1.gotoAndPlay((_local1.currentFrame + 1)); _hero.UDAR_OB_MUHU(); ZVUKI((((_allThings_int[_local2] - 3) * 3) + PhisicConstants.AGE)); } else { if (_allThings_int[_local2] == 8){ _money = (_money + (150 * PhisicConstants.UMNOZITEL)); _local1.gotoAndStop((_local1.currentFrame + 1)); _hero.UDAR_OB_MUHU(); ZVUKI(39); } else { if (_allThings_int[_local2] == 2){ _money = (_money + (500 * PhisicConstants.UMNOZITEL)); _local1.gotoAndStop(6); PhisicConstants.GRYB++; if ((((PhisicConstants.GRYB == PhisicConstants.NABOR)) || ((PhisicConstants.GRYB == (PhisicConstants.NABOR * 2))))){ START_CHANGE_EPOQUE(); } else { if (PhisicConstants.GRYB == (PhisicConstants.NABOR * 3)){ _END = true; _gameMenu.removeEventListener(AllEvents.RESTARTING, restartInPromez); _gameMenu.removeEventListener(AllEvents.GOTOSHOP, fromGameToShop); _gameMenu.removeEventListener(AllEvents.GOTOMAINMENU, fromGameToMenu); }; }; _gameMenu.TAKE_MUSH(); ZVUKI(19); }; }; }; }; }; }; }; _allThings.splice(_local2, 1); _allThings_int.splice(_local2, 1); _allToRemove.push(_local1); }; }; } private function START_CHANGE_EPOQUE():void{ _EP = new change_epoha(); _camera2.addChild(_EP); _EP.x = _gameMenu.KOORD().x; _EP.y = _gameMenu.KOORD().y; ZVUKI(45); } private function CHANGE_EPOQUE():void{ var _local1:StaticPalka; var _local2:MovieClip; PhisicConstants.AGE++; for each (_local1 in _allGrounds) { _local1.CHANGE_AGE(); }; for each (_local2 in _allClouds) { _local2.gotoAndStop(PhisicConstants.AGE); }; _fon.gotoAndStop(PhisicConstants.AGE); _city11.gotoAndStop(PhisicConstants.AGE); _city12.gotoAndStop(PhisicConstants.AGE); _city21.gotoAndStop(PhisicConstants.AGE); _city22.gotoAndStop(PhisicConstants.AGE); _city31.gotoAndStop(PhisicConstants.AGE); _city32.gotoAndStop(PhisicConstants.AGE); _info[0] = _money; _info[1] = PhisicConstants.GRYB; perezapis(new AllEvents(AllEvents.CLEAR)); _gameMenu.SMENA_CHISLA_EPOHI(); GAME_MELODY(); } private function renderSound(_arg1:Event):void{ var _local2:int; if (PhisicConstants.SOUNDS_ARRAY.length > 0){ _local2 = 0; while (_local2 < PhisicConstants.SOUNDS_ARRAY.length) { if (PhisicConstants.SOUNDS_ARRAY[_local2] < 500){ ZVUKI(PhisicConstants.SOUNDS_ARRAY[_local2]); } else { if (PhisicConstants.SOUNDS_ARRAY[_local2] == 500){ m1ch.stop(); } else { if (PhisicConstants.SOUNDS_ARRAY[_local2] == 501){ m2ch.stop(); }; }; }; _local2++; }; PhisicConstants.SOUNDS_ARRAY = []; }; } private function PROMEZ_MELODY():void{ var _local1:Sound; if (PhisicConstants.SOUND){ if (PhisicConstants.AGE == 1){ _local1 = new game_pre1(); } else { if (PhisicConstants.AGE == 2){ _local1 = new game_pre2(); } else { if (PhisicConstants.AGE == 3){ _local1 = new game_pre3(); }; }; }; melodyCh.stop(); melodyCh = _local1.play(0, 1000); }; } private function ZVUKI(_arg1:int):void{ var _local2:Sound; var _local3:Number; if (PhisicConstants.SOUND){ if (_arg1 == 1){ _local2 = new game_1_a1(); } else { if (_arg1 == 2){ _local2 = new game_2_a1(); } else { if (_arg1 == 3){ _local2 = new game_3_a1(); } else { if (_arg1 == 4){ _local2 = new game_1_a2(); } else { if (_arg1 == 5){ _local2 = new game_2_a2(); } else { if (_arg1 == 6){ _local2 = new game_3_a2(); } else { if (_arg1 == 7){ _local2 = new game_1_e1(); } else { if (_arg1 == 8){ _local2 = new game_2_e1(); } else { if (_arg1 == 9){ _local2 = new game_3_e1(); } else { if (_arg1 == 10){ _local2 = new game_1_e2(); } else { if (_arg1 == 11){ _local2 = new game_2_e2(); } else { if (_arg1 == 12){ _local2 = new game_3_e2(); } else { if (_arg1 == 13){ _local2 = new game_1_e3(); } else { if (_arg1 == 14){ _local2 = new game_2_e3(); } else { if (_arg1 == 15){ _local2 = new game_3_e3(); } else { if (_arg1 == 16){ _local2 = new game_volcano1(); } else { if (_arg1 == 17){ _local2 = new game_volcano2(); } else { if (_arg1 == 18){ _local2 = new game_volcano3(); } else { if (_arg1 == 19){ _local2 = new game_mushroom(); } else { if (_arg1 == 20){ _local2 = new gui_between(); } else { if (_arg1 == 21){ _local2 = new gui_new_sliv(); } else { if (_arg1 == 22){ _local2 = new gui_new_usk(); } else { if (_arg1 == 23){ _local2 = new comics11(); } else { if (_arg1 == 24){ _local2 = new comics12(); } else { if (_arg1 == 25){ _local2 = new comics13(); } else { if (_arg1 == 26){ _local2 = new comics14(); } else { if (_arg1 == 27){ _local2 = new game_flush1(); } else { if (_arg1 == 28){ _local2 = new game_flush2(); } else { if (_arg1 == 29){ _local2 = new game_flush3(); } else { if (_arg1 == 30){ _local2 = new game_usk1(); } else { if (_arg1 == 31){ _local2 = new game_usk2(); } else { if (_arg1 == 32){ _local2 = new game_usk3(); } else { if (_arg1 == 33){ _local2 = new game_usk4(); } else { if (_arg1 == 34){ _local2 = new game_razgon1(); } else { if (_arg1 == 35){ _local2 = new game_razgon2(); } else { if (_arg1 == 36){ _local2 = new gui_newitem(); } else { if (_arg1 == 37){ _local2 = new gui_buy(); } else { if (_arg1 == 38){ _local2 = new gui_click(); } else { if (_arg1 == 39){ _local2 = new stone(); } else { if (_arg1 == 40){ _local2 = new bonus(); } else { if (_arg1 == 41){ _local2 = new fin2(); } else { if (_arg1 == 42){ _local2 = new fin3(); } else { if (_arg1 == 43){ _local2 = new fin4(); } else { if (_arg1 == 44){ _local2 = new intro(); } else { if (_arg1 == 45){ _local2 = new epoh_change(); } else { if (_arg1 == 46){ _local2 = new ans1(); } else { if (_arg1 == 47){ _local2 = new ans2(); } else { if (_arg1 == 48){ _local2 = new ans3(); } else { if (_arg1 == 49){ _local2 = new ans4(); } else { if (_arg1 == 50){ _local2 = new ans5(); } else { if (_arg1 == 51){ _local2 = new ans6(); } else { if (_arg1 == 52){ _local2 = new ans7(); } else { if (_arg1 == 53){ _local2 = new ans8(); } else { if (_arg1 == 54){ _local2 = new ans9(); } else { if (_arg1 == 55){ _local2 = new ans10(); } else { if (_arg1 == 56){ _local2 = new ans11(); } else { if (_arg1 == 57){ _local2 = new ans12(); } else { if (_arg1 == 58){ _local2 = new ans13(); } else { if (_arg1 == 59){ _local2 = new ans14(); } else { if (_arg1 == 60){ _local2 = new ans15(); } else { if (_arg1 == 61){ _local2 = new ans16(); } else { if (_arg1 == 62){ _local2 = new ans17(); } else { if (_arg1 == 63){ _local2 = new ans18(); } else { if (_arg1 == 64){ _local2 = new ans19(); } else { if (_arg1 == 65){ _local2 = new ans20(); } else { if (_arg1 == 66){ _local2 = new ans21(); } else { if (_arg1 == 67){ _local2 = new ans22(); } else { if (_arg1 == 68){ _local2 = new ans23(); } else { if (_arg1 == 69){ _local2 = new ans24(); } else { if (_arg1 == 70){ _local2 = new ans25(); } else { if (_arg1 == 71){ _local2 = new ans26(); } else { if (_arg1 == 72){ _local2 = new ans27(); } else { if (_arg1 == 73){ _local2 = new ans28(); } else { if (_arg1 == 74){ _local2 = new ans29(); } else { if (_arg1 == 75){ _local2 = new ans30(); } else { if (_arg1 == 76){ _local2 = new gui_tut(); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; _local2.play(); }; } private function LAST_COMICS():void{ var _local1:Sound; SoundMixer.stopAll(); melodyCh.stop(); _END = false; PhisicConstants.GRYB = ((PhisicConstants.NABOR * 3) - 1); _info[1] = PhisicConstants.GRYB; perezapis(new AllEvents(AllEvents.PEREZAPIS)); if (_lastComics == null){ _lastComics = new Last_Com(_camera); } else { _lastComics.VOSSTANOVLENIE_COMICS(); }; if (PhisicConstants.SOUND){ _local1 = new fin1(); melodyCh = _local1.play(0, 1000); }; ZVUKI(45); _lastComics.addEventListener(AllEvents.GOTOMAINMENU, endLastComics); addEventListener(Event.ENTER_FRAME, renderSound); } private function endLastComics(_arg1:AllEvents):void{ _lastComics.removeEventListener(AllEvents.GOTOMAINMENU, endLastComics); _lastComics.destroy(); removeEventListener(Event.ENTER_FRAME, renderSound); SoundMixer.stopAll(); PhisicConstants.AGE = 1; PhisicConstants.GRYB = 0; _info[1] = 0; perezapis(new AllEvents(AllEvents.PEREZAPIS)); melodyCh.stop(); Starting_Menu(); } } }//package
Section 288
//gidrant (gidrant) package { import flash.display.*; public dynamic class gidrant extends MovieClip { public function gidrant(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); stop(); } function frame6(){ stop(); stop(); } } }//package
Section 289
//ground1000 (ground1000) package { import flash.display.*; public dynamic class ground1000 extends MovieClip { public function ground1000(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 290
//gui_between (gui_between) package { import flash.media.*; public dynamic class gui_between extends Sound { } }//package
Section 291
//gui_buy (gui_buy) package { import flash.media.*; public dynamic class gui_buy extends Sound { } }//package
Section 292
//gui_click (gui_click) package { import flash.media.*; public dynamic class gui_click extends Sound { } }//package
Section 293
//gui_new_sliv (gui_new_sliv) package { import flash.media.*; public dynamic class gui_new_sliv extends Sound { } }//package
Section 294
//gui_new_usk (gui_new_usk) package { import flash.media.*; public dynamic class gui_new_usk extends Sound { } }//package
Section 295
//gui_newitem (gui_newitem) package { import flash.media.*; public dynamic class gui_newitem extends Sound { } }//package
Section 296
//gui_tut (gui_tut) package { import flash.media.*; public dynamic class gui_tut extends Sound { } }//package
Section 297
//hero01 (hero01) package { import flash.display.*; public dynamic class hero01 extends MovieClip { public var razgon2:MovieClip; public var sliv3:MovieClip; public var accel1:MovieClip; public var accel2:MovieClip; public var accel3:MovieClip; public var accel4:MovieClip; public var combez:MovieClip; public var spoiler:MovieClip; public var palevo:MovieClip; public var helmet:MovieClip; public var sliv1:MovieClip; public var razgon1:MovieClip; public var sliv2:MovieClip; } }//package
Section 298
//intro (intro) package { import flash.media.*; public dynamic class intro extends Sound { } }//package
Section 299
//Last_Com (Last_Com) package { import flash.display.*; import flash.events.*; public class Last_Com extends EventDispatcher { private var table:MovieClip;// = null private var fades:MovieClip;// = null private var _parent:DisplayObjectContainer; private var otchet:int;// = 0 public function Last_Com(_arg1:DisplayObjectContainer){ _parent = _arg1; VOSSTANOVLENIE_COMICS(); } public function VOSSTANOVLENIE_COMICS():void{ table = new final_mov(); _parent.addChild(table); otchet = 0; fades = new fade_out(); _parent.addChild(fades); table.addEventListener(Event.ENTER_FRAME, render); table.addEventListener(MouseEvent.MOUSE_DOWN, clickEnd); } private function clickEnd(_arg1:MouseEvent):void{ table.removeEventListener(MouseEvent.MOUSE_DOWN, clickEnd); otchet = 400; fades = new fade_in(); _parent.addChild(fades); } private function render(_arg1:Event):void{ if (otchet < 350){ otchet++; if (otchet == 20){ _parent.removeChild(fades); fades = null; } else { if (otchet == 80){ PhisicConstants.ADD_SOUND(41); } else { if (otchet == 250){ PhisicConstants.ADD_SOUND(42); } else { if (otchet == 350){ PhisicConstants.ADD_SOUND(43); }; }; }; }; } else { if (otchet > 399){ otchet++; if (otchet == 420){ table.removeEventListener(Event.ENTER_FRAME, render); dispatchEvent(new AllEvents(AllEvents.GOTOMAINMENU)); }; }; }; } public function destroy():void{ _parent.removeChild(fades); fades = null; _parent.removeChild(table); table = null; } } }//package
Section 300
//launcher (launcher) package { import flash.display.*; public dynamic class launcher extends MovieClip { public function launcher(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 301
//MAIN_MENU (MAIN_MENU) package { import flash.display.*; import flash.events.*; import flash.net.*; public class MAIN_MENU extends EventDispatcher { private var table:MovieClip; private var _parent:DisplayObjectContainer; private var _fade:Sprite;// = null private var _fade_int:int;// = 0 private var _comBoo:Boolean;// = false public function MAIN_MENU(_arg1:DisplayObjectContainer){ _parent = _arg1; table = new menu_main(); table.sound.buttonMode = true; table.cred1.cred.closing.buttonMode = true; Vosstanovlenie_Menu(); } public function Vosstanovlenie_Menu():void{ _parent.addChild(table); CORRECT_SOUND_PANEL(); _fade = new fade_out(); _parent.addChild(_fade); _fade_int = 0; _comBoo = false; table.addEventListener(Event.ENTER_FRAME, renderPrestart); table.man.gotoAndPlay(1); PhisicConstants.ADD_SOUND(44); } private function renderPrestart(_arg1:Event):void{ _fade_int++; if (_fade_int == 20){ table.removeEventListener(Event.ENTER_FRAME, renderPrestart); table.addEventListener(MouseEvent.CLICK, mdLis); _fade_int = 0; _parent.removeChild(_fade); _fade = null; }; } private function mdLis(_arg1:MouseEvent):void{ var _local2:URLRequest; var _local3:URLRequest; var _local4:URLRequest; if (((table.start.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((table.cred1.currentFrame == 1)))){ FADES(); } else { if (table.clear.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ dispatchEvent(new AllEvents(AllEvents.CLEAR)); PhisicConstants.ADD_SOUND(38); } else { if (table.viewintro.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ _comBoo = true; FADES(); } else { if (table.sound.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ if (PhisicConstants.SOUND){ PhisicConstants.SOUND = false; table.sound.gotoAndStop(2); } else { PhisicConstants.SOUND = true; table.sound.gotoAndStop(1); }; dispatchEvent(new AllEvents(AllEvents.PEREKLUCHENIE_MUSYKI)); } else { if (table.cred1.cred.pitergames.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ PhisicConstants.ADD_SOUND(38); _local2 = new URLRequest("http://www.pitergames.com"); navigateToURL(_local2); } else { if (table.credits.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ PhisicConstants.ADD_SOUND(38); if (table.cred1.currentFrame == 1){ table.cred1.gotoAndPlay(2); } else { table.cred1.gotoAndPlay(13); }; } else { if ((((table.cred1.currentFrame == 12)) && (((table.cred1.palevo.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) || (table.cred1.cred.closing.hitTestPoint(_arg1.stageX, _arg1.stageY, false)))))){ PhisicConstants.ADD_SOUND(38); table.cred1.gotoAndPlay(13); } else { if (((table.armor.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) || (table.playmore.hitTestPoint(_arg1.stageX, _arg1.stageY, false)))){ _local3 = new URLRequest("http://armor.ag/MoreGames"); navigateToURL(_local3); } else { if (table.gplus.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ _local4 = new URLRequest("https://plus.google.com/u/0/104425856972539712808/posts"); navigateToURL(_local4); }; }; }; }; }; }; }; }; }; } private function FADES():void{ table.removeEventListener(MouseEvent.CLICK, mdLis); PhisicConstants.ADD_SOUND(38); _fade_int = 20; _fade = new fade_in(); _parent.addChild(_fade); table.addEventListener(Event.ENTER_FRAME, renderFade); } private function renderFade(_arg1:Event):void{ _fade_int--; if (_fade_int == 0){ table.removeEventListener(Event.ENTER_FRAME, renderFade); if (_comBoo){ dispatchEvent(new AllEvents(AllEvents.GOTOCOMICS)); _comBoo = false; } else { dispatchEvent(new AllEvents(AllEvents.START_PLAYING)); }; }; } public function destroy():void{ table.removeEventListener(MouseEvent.CLICK, mdLis); _parent.removeChild(table); if (_fade != null){ _parent.removeChild(_fade); _fade = null; }; } private function CORRECT_SOUND_PANEL():void{ if (PhisicConstants.SOUND){ table.sound.gotoAndStop(1); } else { table.sound.gotoAndStop(2); }; } } }//package
Section 302
//menu_game (menu_game) package { import flash.display.*; import flash.text.*; public dynamic class menu_game extends MovieClip { public var tut1:tut10; public var an26:MovieClip; public var an17:MovieClip; public var tut2:MovieClip; public var an27:MovieClip; public var an18:MovieClip; public var restart:SimpleButton; public var an28:MovieClip; public var an19:MovieClip; public var tut4:MovieClip; public var an29:MovieClip; public var tut5:MovieClip; public var tut6:MovieClip; public var tut7:MovieClip; public var sound:MovieClip; public var an1:MovieClip; public var an2:MovieClip; public var accelerator:MovieClip; public var an3:MovieClip; public var mainmenu:SimpleButton; public var an4:MovieClip; public var an10:MovieClip; public var an5:MovieClip; public var money:TextField; public var an20:MovieClip; public var an11:MovieClip; public var an6:MovieClip; public var scale:MovieClip; public var an30:MovieClip; public var an21:MovieClip; public var an12:MovieClip; public var an7:MovieClip; public var quality:MovieClip; public var newupgrade:MovieClip; public var an22:MovieClip; public var an13:MovieClip; public var an8:MovieClip; public var mushrooms:TextField; public var an23:MovieClip; public var an14:MovieClip; public var an9:MovieClip; public var arrow:MovieClip; public var len:TextField; public var an24:MovieClip; public var an15:MovieClip; public var an25:MovieClip; public var an16:MovieClip; } }//package
Section 303
//menu_main (menu_main) package { import flash.display.*; public dynamic class menu_main extends MovieClip { public var gplus:SimpleButton; public var start:SimpleButton; public var armor:SimpleButton; public var clear:SimpleButton; public var sound:MovieClip; public var viewintro:SimpleButton; public var playmore:SimpleButton; public var cred1:MovieClip; public var credits:SimpleButton; public var man:MovieClip; } }//package
Section 304
//menu_sliv (menu_sliv) package { import flash.display.*; public dynamic class menu_sliv extends MovieClip { public function menu_sliv(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 305
//mush (mush) package { import flash.display.*; public dynamic class mush extends MovieClip { public function mush(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } } }//package
Section 306
//NadpisiNaUrovne (NadpisiNaUrovne) package { import flash.display.*; import flash.events.*; import flash.geom.*; public class NadpisiNaUrovne extends EventDispatcher { private var _parent:DisplayObjectContainer; public var menu1:MovieClip; private var _menuSliv:MovieClip; private var _numSliv:int;// = 3 private var _outBoo:Boolean;// = false public function NadpisiNaUrovne(_arg1:DisplayObjectContainer, _arg2:Number){ _parent = _arg1; menu1 = new menu_game(); _menuSliv = new menu_sliv(); menu1.sound.buttonMode = true; menu1.quality.buttonMode = true; vosstanovlenieMENU(_arg2); } public function vosstanovlenieMENU(_arg1:Number):void{ var _local2:int; _parent.addChild(menu1); menu1.x = 0; menu1.y = 0; menu1.len.text = (0 + ""); menu1.money.text = ("$" + Math.floor(_arg1)); menu1.restart.addEventListener(MouseEvent.CLICK, restartInTable); menu1.mainmenu.addEventListener(MouseEvent.CLICK, gotoMain); menu1.newupgrade.addEventListener(MouseEvent.CLICK, clickShop); menu1.sound.addEventListener(MouseEvent.MOUSE_DOWN, changeSound); menu1.quality.addEventListener(MouseEvent.MOUSE_DOWN, changeQuality); menu1.mushrooms.text = ((PhisicConstants.GRYB + "/") + (PhisicConstants.AGE * PhisicConstants.NABOR)); if (PhisicConstants.GRYB > 0){ _local2 = Math.floor(((PhisicConstants.GRYB * 100) / (PhisicConstants.NABOR * 3))); menu1.scale.gotoAndStop(Math.max(_local2, 1)); }; _numSliv = 3; _menuSliv.x = 0; _menuSliv.y = 0; _parent.addChild(_menuSliv); _menuSliv.gotoAndStop(1); CORRECT_SOUND_PANEL(); if (PhisicConstants.USKORITEL > 0){ menu1.accelerator.gotoAndPlay(2); menu1.accelerator.addEventListener(MouseEvent.MOUSE_DOWN, clickUskor); if (PhisicConstants.TUT6 == 0){ menu1.tut6.gotoAndStop(2); }; }; } private function gotoMain(_arg1:MouseEvent):void{ PhisicConstants.ADD_SOUND(38); dispatchEvent(new AllEvents(AllEvents.GOTOMAINMENU)); } private function changeQuality(_arg1:MouseEvent):void{ PhisicConstants.GRAFIKA++; if (PhisicConstants.GRAFIKA == 4){ PhisicConstants.GRAFIKA = 1; }; PhisicConstants.ADD_SOUND(38); menu1.quality.gotoAndStop(PhisicConstants.GRAFIKA); dispatchEvent(new AllEvents(AllEvents.SMENA_GRAFIKI)); } private function changeSound(_arg1:MouseEvent):void{ if (PhisicConstants.SOUND){ PhisicConstants.SOUND = false; menu1.sound.gotoAndStop(2); } else { PhisicConstants.SOUND = true; menu1.sound.gotoAndStop(1); }; dispatchEvent(new AllEvents(AllEvents.PEREKLUCHENIE_MUSYKI)); } private function clickShop(_arg1:MouseEvent):void{ if (menu1.newupgrade.currentFrame > 1){ menu1.newupgrade.removeEventListener(MouseEvent.CLICK, clickShop); dispatchEvent(new AllEvents(AllEvents.GOTOSHOP)); PhisicConstants.ADD_SOUND(38); }; } private function restartInTable(_arg1:MouseEvent):void{ PhisicConstants.ADD_SOUND(38); dispatchEvent(new AllEvents(AllEvents.RESTARTING)); } private function CORRECT_SOUND_PANEL():void{ if (PhisicConstants.SOUND){ menu1.sound.gotoAndStop(1); } else { menu1.sound.gotoAndStop(2); }; menu1.quality.gotoAndStop(PhisicConstants.GRAFIKA); } public function destroy():void{ _parent.removeChild(menu1); _parent.removeChild(_menuSliv); menu1.restart.removeEventListener(MouseEvent.CLICK, restartInTable); menu1.mainmenu.removeEventListener(MouseEvent.CLICK, restartInTable); menu1.newupgrade.removeEventListener(MouseEvent.CLICK, clickShop); menu1.sound.removeEventListener(MouseEvent.MOUSE_DOWN, changeSound); menu1.quality.removeEventListener(MouseEvent.MOUSE_DOWN, changeQuality); menu1.newupgrade.gotoAndStop(1); if (menu1.accelerator.currentFrame > 1){ menu1.accelerator.removeEventListener(MouseEvent.MOUSE_DOWN, clickUskor); }; if (_outBoo){ _outBoo = false; menu1.arrow.gotoAndStop(1); }; menu1.tut2.gotoAndStop(1); menu1.tut4.gotoAndStop(1); menu1.tut5.gotoAndStop(1); menu1.tut6.gotoAndStop(1); } public function PEREZAPIS():void{ } public function CurrentUpdate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:int; var _local6:int; if (_arg2 < -9520){ if (_outBoo == false){ _outBoo = true; menu1.arrow.gotoAndStop(2); }; if (((((_arg2 - _arg4) > 0)) && ((menu1.arrow.currentFrame == 2)))){ menu1.arrow.gotoAndStop(3); } else { if (((((_arg2 - _arg4) < 0)) && ((menu1.arrow.currentFrame == 3)))){ menu1.arrow.gotoAndStop(2); }; }; } else { if (_outBoo){ _outBoo = false; menu1.arrow.gotoAndStop(1); }; }; if ((((_arg2 < -300)) && ((PhisicConstants.BONUS_PRIZEM == false)))){ PhisicConstants.BONUS_PRIZEM = true; }; menu1.len.text = (Math.floor((_arg1 / 5)) + ""); if (_arg2 > 396){ _arg2 = 396; } else { if (_arg2 < -9280){ _arg2 = -9280; }; }; menu1.money.text = ("$" + Math.floor(_arg3)); if (_arg1 > 200){ menu1.x = (_arg1 - 200); }; if (_arg2 < 240){ menu1.y = (_arg2 - 240); } else { if (menu1.y != 0){ menu1.y = 0; }; }; _menuSliv.x = menu1.x; _menuSliv.y = menu1.y; if (_numSliv > PhisicConstants.NUMBER_SLIV){ _numSliv = PhisicConstants.NUMBER_SLIV; _menuSliv.gotoAndStop((4 - _numSliv)); if (menu1.tut4.currentFrame > 1){ menu1.tut4.gotoAndStop(1); }; }; if (PhisicConstants.PREZEM > 0){ if (PhisicConstants.PREZEM == 1){ _local5 = 500; menu1.bon_good.gotoAndPlay(2); menu1.bon_good.bonus.bonus_money.text = ("+$" + _local5); game29._money = (game29._money + _local5); } else { if (PhisicConstants.PREZEM == 2){ _local5 = 1000; menu1.bon_perf.gotoAndPlay(2); menu1.bon_perf.bonus.bonus_money.text = ("+$" + _local5); game29._money = (game29._money + _local5); }; }; PhisicConstants.ADD_SOUND(40); PhisicConstants.PREZEM = 0; }; if (PhisicConstants.VRASCH_PAYPAL > 0){ PhisicConstants.VRASCH_PAYPAL = 0; _local6 = 2500; game29._money = (game29._money + _local6); menu1.bon_360.gotoAndPlay(2); menu1.bon_360.bonus.bonus_money.text = ("+$" + _local6); PhisicConstants.ADD_SOUND(40); }; if ((((((PhisicConstants.MINIMUM_COST < game29._money)) && ((PhisicConstants.MINIMUM_COST > 0)))) && ((menu1.newupgrade.currentFrame == 1)))){ menu1.newupgrade.gotoAndPlay(2); PhisicConstants.ADD_SOUND(36); if (PhisicConstants.TUT2 == 0){ menu1.tut2.gotoAndPlay(2); PhisicConstants.ADD_SOUND(76); }; }; } private function clickUskor(_arg1:MouseEvent):void{ menu1.accelerator.removeEventListener(MouseEvent.MOUSE_DOWN, clickUskor); menu1.accelerator.gotoAndStop(1); dispatchEvent(new AllEvents(AllEvents.USKOR)); if (menu1.tut5.currentFrame > 1){ menu1.tut5.gotoAndStop(1); }; if (menu1.tut6.currentFrame > 1){ menu1.tut6.gotoAndStop(1); PhisicConstants.TUT6 = 1; game29._info[16] = 1; }; } public function MOZNO_NEW_USKOR():Boolean{ if ((((menu1.accelerator.currentFrame == 1)) && ((PhisicConstants.USKORITEL > 0)))){ return (true); }; return (false); } public function TAKE_USKOR():void{ if (menu1.accelerator.currentFrame == 1){ menu1.accelerator.gotoAndPlay(2); menu1.accelerator.addEventListener(MouseEvent.MOUSE_DOWN, clickUskor); }; } public function NO_USKOR():Boolean{ if (menu1.accelerator.currentFrame == 1){ return (true); }; return (false); } public function TAKE_SLIV():void{ PhisicConstants.NUMBER_SLIV = 3; _numSliv = 3; _menuSliv.gotoAndStop(1); } public function TAKE_MUSH():void{ menu1.mushrooms.text = ((PhisicConstants.GRYB + "/") + (PhisicConstants.AGE * PhisicConstants.NABOR)); var _local1:int = Math.floor(((PhisicConstants.GRYB * 100) / (PhisicConstants.NABOR * 3))); menu1.scale.gotoAndStop(Math.max(_local1, 1)); if (game29._EP == null){ PRIHOD(); }; if ((((PhisicConstants.GRYB == 1)) && ((PhisicConstants.TUT7 == 0)))){ PhisicConstants.TUT7 = 1; game29._info[17] = 1; menu1.tut7.gotoAndPlay(2); }; } public function SMENA_CHISLA_EPOHI():void{ menu1.mushrooms.text = ((PhisicConstants.GRYB + "/") + (PhisicConstants.AGE * PhisicConstants.NABOR)); var _local1:int = Math.floor(((PhisicConstants.GRYB * 100) / (PhisicConstants.NABOR * 3))); menu1.scale.gotoAndStop(Math.max(_local1, 1)); } private function PRIHOD():void{ var _local1:Number = (Math.random() * 30); if (_local1 < 1){ menu1.an1.gotoAndPlay(2); } else { if (_local1 < 2){ menu1.an2.gotoAndPlay(2); } else { if (_local1 < 3){ menu1.an3.gotoAndPlay(2); } else { if (_local1 < 4){ menu1.an4.gotoAndPlay(2); } else { if (_local1 < 5){ menu1.an5.gotoAndPlay(2); } else { if (_local1 < 6){ menu1.an6.gotoAndPlay(2); } else { if (_local1 < 7){ menu1.an7.gotoAndPlay(2); } else { if (_local1 < 8){ menu1.an8.gotoAndPlay(2); } else { if (_local1 < 9){ menu1.an9.gotoAndPlay(2); } else { if (_local1 < 10){ menu1.an10.gotoAndPlay(2); } else { if (_local1 < 11){ menu1.an11.gotoAndPlay(2); } else { if (_local1 < 12){ menu1.an12.gotoAndPlay(2); } else { if (_local1 < 13){ menu1.an13.gotoAndPlay(2); } else { if (_local1 < 14){ menu1.an14.gotoAndPlay(2); } else { if (_local1 < 15){ menu1.an15.gotoAndPlay(2); } else { if (_local1 < 16){ menu1.an16.gotoAndPlay(2); } else { if (_local1 < 17){ menu1.an17.gotoAndPlay(2); } else { if (_local1 < 18){ menu1.an18.gotoAndPlay(2); } else { if (_local1 < 19){ menu1.an19.gotoAndPlay(2); } else { if (_local1 < 20){ menu1.an20.gotoAndPlay(2); } else { if (_local1 < 21){ menu1.an21.gotoAndPlay(2); } else { if (_local1 < 22){ menu1.an22.gotoAndPlay(2); } else { if (_local1 < 23){ menu1.an23.gotoAndPlay(2); } else { if (_local1 < 24){ menu1.an24.gotoAndPlay(2); } else { if (_local1 < 25){ menu1.an25.gotoAndPlay(2); } else { if (_local1 < 26){ menu1.an26.gotoAndPlay(2); } else { if (_local1 < 27){ menu1.an27.gotoAndPlay(2); } else { if (_local1 < 28){ menu1.an28.gotoAndPlay(2); } else { if (_local1 < 29){ menu1.an29.gotoAndPlay(2); } else { menu1.an30.gotoAndPlay(2); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; _local1 = Math.floor(_local1); if (_local1 == 30){ _local1 = 29; }; PhisicConstants.ADD_SOUND((46 + _local1)); } public function KOORD():Point{ return (new Point(menu1.x, menu1.y)); } public function TUT4():void{ menu1.tut4.gotoAndPlay(2); } public function TUT5():void{ menu1.tut5.gotoAndPlay(2); } } }//package
Section 307
//PhisicConstants (PhisicConstants) package { import Box2D.Dynamics.*; public class PhisicConstants { public static const RATIO:Number = 50; public static const FRAME_RATE:Number = 25; public static const KOEFF:Number = 0.5; public static var KOEF_STARTA:Number = 5; public static var KOEF_DALNOSTI:Number = 1; public static var KOEF_ARMOR:Number = 1; public static var SOUND:Boolean = true; public static var MUSIC:Boolean = true; public static var GRAFIKA:int = 1; public static var NUMBER_SLIV:int = 3; private static var _world:b2World; public static var _MAXHEIGHT:Number = 0; public static var _MAXLENGTH:Number = 0; public static var UMNOZITEL:int = 1; public static var AGE:int = 1; public static var GRYB:int = 0; public static var NABOR:int = 50; public static var MINIMUM_COST:int = 1; public static var WHEEL:int = 0; public static var WHEEL_COST:Array = [10000, 25000]; public static var USKORITEL:int = 0; public static var USKORITEL_COST:Array = [15000, 28000, 50000, 70000]; public static var SLIV:int = 0; public static var SLIV_COST:Array = [12000, 30000]; public static var MAXPOWER:Boolean = false; public static var MAXPOWER_COST:int = 40000; public static var PUSK:int = 0; public static var PUSK_COST:Array = [20000, 40000]; public static var START:int = 0; public static var START_COST:Array = [20000, 40000]; public static var X2:Boolean = false; public static var X2_COST:int = 13000; public static var COMBEZ:Boolean = false; public static var COMBEZ_COST:int = 8000; public static var HELMET:Boolean = false; public static var HELMET_COST:int = 15000; public static var SPOILER:Boolean = false; public static var SPOILER_COST:int = 30000; public static var ANGLE_SPEED:Number = 1; public static var PO4AC:Boolean = false; public static var PROTIV4AC:Boolean = false; public static var VRASCH:int = 0; public static var VRASCH_PAYPAL:int = 0; public static var BONUS_PRIZEM:Boolean = false; public static var PREZEM:int = 0; public static var CLICK_SHOP:Boolean = false; public static var SOUNDS_ARRAY:Array = []; public static var TUT1:int = 0; public static var TUT2:int = 0; public static var TUT3:int = 0; public static var TUT4:int = 0; public static var TUT5:int = 0; public static var TUT6:int = 0; public static var TUT7:int = 0; public static function get world():b2World{ return (_world); } public static function set world(_arg1:b2World):void{ _world = _arg1; } public static function ADD_SOUND(_arg1:int):void{ if (PhisicConstants.SOUND){ PhisicConstants.SOUNDS_ARRAY.push(_arg1); }; } public static function MIN_COST():void{ if (PhisicConstants.MINIMUM_COST > 0){ if (((((((((((((((((PhisicConstants.HELMET) && (PhisicConstants.COMBEZ))) && (PhisicConstants.SPOILER))) && ((PhisicConstants.USKORITEL == 4)))) && ((PhisicConstants.SLIV == 2)))) && ((PhisicConstants.WHEEL == 2)))) && (PhisicConstants.MAXPOWER))) && ((PhisicConstants.START == 2)))) && (PhisicConstants.X2))){ PhisicConstants.MINIMUM_COST = 0; } else { PhisicConstants.MINIMUM_COST = 10000000; if (PhisicConstants.HELMET == false){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.HELMET_COST); }; if (PhisicConstants.COMBEZ == false){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.COMBEZ_COST); }; if (PhisicConstants.SPOILER == false){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.SPOILER_COST); }; if (PhisicConstants.USKORITEL < 4){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.USKORITEL_COST[PhisicConstants.USKORITEL]); }; if (PhisicConstants.SLIV < 2){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.SLIV_COST[PhisicConstants.SLIV]); }; if (PhisicConstants.WHEEL < 2){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.WHEEL_COST[PhisicConstants.WHEEL]); }; if (PhisicConstants.MAXPOWER == false){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.MAXPOWER_COST); }; if (PhisicConstants.X2 == false){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.X2_COST); }; if (PhisicConstants.START < 2){ PhisicConstants.MINIMUM_COST = Math.min(PhisicConstants.MINIMUM_COST, PhisicConstants.START_COST[PhisicConstants.START]); }; }; }; } } }//package
Section 308
//preload (preload) package { import flash.display.*; import flash.text.*; public dynamic class preload extends MovieClip { public var pitergames:SimpleButton; public var armor:SimpleButton; public var procent:TextField; } }//package
Section 309
//PromezMenu (PromezMenu) package { import flash.display.*; import flash.events.*; import flash.net.*; public class PromezMenu extends EventDispatcher { private var table:MovieClip; private var _parent:DisplayObjectContainer; private var _VIS:Boolean;// = false public function PromezMenu(_arg1:DisplayObjectContainer, _arg2:int, _arg3:int, _arg4:Number){ _parent = _arg1; table = new between(); vosstanovleniePROMEZ(_arg2, _arg3, _arg4); } public function vosstanovleniePROMEZ(_arg1:int, _arg2:int, _arg3:Number):void{ _parent.addChild(table); _parent.x = Math.floor(_parent.x); _VIS = true; table.gotoAndPlay(2); table.x = (Math.floor(_arg3) - 200); table.betw.upgrade.addEventListener(MouseEvent.MOUSE_UP, Upgrade); table.betw.again.addEventListener(MouseEvent.MOUSE_UP, Again); table.betw.mainmenu.addEventListener(MouseEvent.MOUSE_UP, MainMenu); table.betw.money.text = (_arg2 + ""); table.betw.totalmoney.text = ("$" + _arg1); table.betw.gplus.addEventListener(MouseEvent.MOUSE_DOWN, clickGp); table.betw.playmore.addEventListener(MouseEvent.MOUSE_DOWN, clickPlayMore); } private function clickPlayMore(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("http://armor.ag/MoreGames"); navigateToURL(_local2); } private function clickGp(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest("https://plus.google.com/u/0/104425856972539712808/posts"); navigateToURL(_local2); } private function MainMenu(_arg1:MouseEvent):void{ dispatchEvent(new AllEvents(AllEvents.GOTOMAINMENU)); PhisicConstants.ADD_SOUND(38); } private function Again(_arg1:MouseEvent):void{ dispatchEvent(new AllEvents(AllEvents.AGAIN)); PhisicConstants.ADD_SOUND(38); } private function Upgrade(_arg1:MouseEvent):void{ dispatchEvent(new AllEvents(AllEvents.GOTOSHOP)); PhisicConstants.ADD_SOUND(38); } public function destroy():void{ table.betw.upgrade.removeEventListener(MouseEvent.MOUSE_UP, Upgrade); table.betw.again.removeEventListener(MouseEvent.MOUSE_UP, Again); table.betw.mainmenu.removeEventListener(MouseEvent.MOUSE_UP, MainMenu); table.betw.gplus.removeEventListener(MouseEvent.MOUSE_DOWN, clickGp); table.betw.playmore.removeEventListener(MouseEvent.MOUSE_DOWN, clickPlayMore); _parent.removeChild(table); _VIS = false; } public function VIS():Boolean{ return (_VIS); } } }//package
Section 310
//pulyalka (pulyalka) package { import flash.display.*; public dynamic class pulyalka extends MovieClip { public var hero:base_hero_all; public var power:MovieClip; public function pulyalka(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package
Section 311
//pulyalka2 (pulyalka2) package { import flash.display.*; public dynamic class pulyalka2 extends MovieClip { public var hero:base_hero_all; public var power:MovieClip; public function pulyalka2(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package
Section 312
//pulyalka3 (pulyalka3) package { import flash.display.*; public dynamic class pulyalka3 extends MovieClip { public var hero:base_hero_all; public var power:MovieClip; public function pulyalka3(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package
Section 313
//Shop (Shop) package { import flash.display.*; import flash.events.*; import flash.net.*; public class Shop extends EventDispatcher { private var _mov1:MovieClip; private var _parent:DisplayObjectContainer; private var fades:MovieClip;// = null private var fades_int:int;// = 20 public function Shop(_arg1:DisplayObjectContainer, _arg2:int){ _parent = _arg1; VOSSTANOVLENIE(_arg2); } public function VOSSTANOVLENIE(_arg1:int):void{ _mov1 = new shop_all(); _parent.addChild(_mov1); NASTROJKA(_arg1); CENOOBRAZOVANIE(); _mov1.addEventListener(MouseEvent.MOUSE_UP, ClickShop); fades = new fade_out(); _parent.addChild(fades); fades_int = 20; _mov1.addEventListener(Event.ENTER_FRAME, render1); } private function render1(_arg1:Event):void{ fades_int--; if ((((fades_int == 0)) || ((fades_int == -100)))){ _mov1.removeEventListener(Event.ENTER_FRAME, render1); fades.parent.removeChild(fades); fades = null; if (fades_int == -100){ dispatchEvent(new AllEvents(AllEvents.AGAIN)); }; }; } public function destroy():void{ _mov1.removeEventListener(MouseEvent.MOUSE_UP, ClickShop); _parent.removeChild(_mov1); } private function ClickShop(_arg1:MouseEvent):void{ var _local2:URLRequest; if (_mov1.again.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ PhisicConstants.ADD_SOUND(38); PhisicConstants.MIN_COST(); fades = new fade_in(); _parent.addChild(fades); fades_int = -80; _mov1.addEventListener(Event.ENTER_FRAME, render1); } else { if (((_mov1.i_uskor1.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_uskor1.currentFrame == 2)))){ PhisicConstants.USKORITEL = 1; game29._info[3] = 1; POKUPKA(PhisicConstants.USKORITEL_COST[0]); } else { if (((_mov1.i_uskor2.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_uskor2.currentFrame == 2)))){ PhisicConstants.USKORITEL = 2; game29._info[3] = 2; POKUPKA(PhisicConstants.USKORITEL_COST[1]); } else { if (((_mov1.i_uskor3.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_uskor3.currentFrame == 2)))){ PhisicConstants.USKORITEL = 3; game29._info[3] = 3; POKUPKA(PhisicConstants.USKORITEL_COST[2]); } else { if (((_mov1.i_uskor4.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_uskor4.currentFrame == 2)))){ PhisicConstants.USKORITEL = 4; game29._info[3] = 4; POKUPKA(PhisicConstants.USKORITEL_COST[3]); } else { if (((_mov1.i_wheel1.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_wheel1.currentFrame == 2)))){ PhisicConstants.WHEEL = 1; game29._info[2] = 1; POKUPKA(PhisicConstants.WHEEL_COST[0]); } else { if (((_mov1.i_wheel2.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_wheel2.currentFrame == 2)))){ PhisicConstants.WHEEL = 2; game29._info[2] = 2; POKUPKA(PhisicConstants.WHEEL_COST[1]); } else { if (((_mov1.i_aero2.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_aero2.currentFrame == 2)))){ PhisicConstants.HELMET = true; game29._info[8] = 1; POKUPKA(PhisicConstants.HELMET_COST); PhisicConstants.KOEF_ARMOR = (PhisicConstants.KOEF_ARMOR + 0.12); } else { if (((_mov1.i_aero1.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_aero1.currentFrame == 2)))){ PhisicConstants.COMBEZ = true; game29._info[7] = 1; POKUPKA(PhisicConstants.COMBEZ_COST); PhisicConstants.KOEF_ARMOR = (PhisicConstants.KOEF_ARMOR + 0.08); } else { if (((_mov1.i_aero3.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_aero3.currentFrame == 2)))){ PhisicConstants.SPOILER = true; game29._info[9] = 1; POKUPKA(PhisicConstants.SPOILER_COST); PhisicConstants.KOEF_ARMOR = (PhisicConstants.KOEF_ARMOR + 0.15); } else { if (((_mov1.i_maxpower.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_maxpower.currentFrame == 2)))){ PhisicConstants.MAXPOWER = true; game29._info[5] = 1; POKUPKA(PhisicConstants.MAXPOWER_COST); } else { if (((_mov1.i_flush1.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_flush1.currentFrame == 2)))){ PhisicConstants.SLIV = 1; game29._info[4] = 1; POKUPKA(PhisicConstants.SLIV_COST[0]); } else { if (((_mov1.i_flush2.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_flush2.currentFrame == 2)))){ PhisicConstants.SLIV = 2; game29._info[4] = 2; POKUPKA(PhisicConstants.SLIV_COST[1]); } else { if (((_mov1.i_x2.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_x2.currentFrame == 2)))){ PhisicConstants.X2 = true; PhisicConstants.UMNOZITEL = 2; game29._info[10] = 1; POKUPKA(PhisicConstants.X2_COST); } else { if (((_mov1.i_razgon1.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_razgon1.currentFrame == 2)))){ PhisicConstants.START = 1; game29._info[6] = 1; POKUPKA(PhisicConstants.START_COST[0]); } else { if (((_mov1.i_razgon2.buy.hitTestPoint(_arg1.stageX, _arg1.stageY, false)) && ((_mov1.i_razgon2.currentFrame == 2)))){ PhisicConstants.START = 2; game29._info[6] = 2; POKUPKA(PhisicConstants.START_COST[1]); } else { if (_mov1.armor.hitTestPoint(_arg1.stageX, _arg1.stageY, false)){ _local2 = new URLRequest("http://armor.ag/MoreGames"); navigateToURL(_local2); }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } private function POKUPKA(_arg1:int):void{ game29._money = (game29._money - _arg1); game29._info[0] = game29._money; NASTROJKA(game29._money); PhisicConstants.ADD_SOUND(37); dispatchEvent(new AllEvents(AllEvents.PEREZAPIS)); } private function NASTROJKA(_arg1:int):void{ _mov1.money_total.text = ("$" + _arg1); if (PhisicConstants.HELMET){ _mov1.i_aero2.gotoAndStop(3); } else { if (PhisicConstants.HELMET_COST <= _arg1){ _mov1.i_aero2.gotoAndStop(2); } else { _mov1.i_aero2.gotoAndStop(1); }; }; if (PhisicConstants.COMBEZ){ _mov1.i_aero1.gotoAndStop(3); } else { if (PhisicConstants.COMBEZ_COST <= _arg1){ _mov1.i_aero1.gotoAndStop(2); } else { _mov1.i_aero1.gotoAndStop(1); }; }; if (PhisicConstants.SPOILER){ _mov1.i_aero3.gotoAndStop(3); } else { if (PhisicConstants.SPOILER_COST <= _arg1){ _mov1.i_aero3.gotoAndStop(2); } else { _mov1.i_aero3.gotoAndStop(1); }; }; if (PhisicConstants.USKORITEL == 4){ _mov1.i_uskor1.gotoAndStop(3); _mov1.i_uskor2.gotoAndStop(3); _mov1.i_uskor3.gotoAndStop(3); _mov1.i_uskor4.gotoAndStop(3); } else { if (PhisicConstants.USKORITEL == 3){ _mov1.i_uskor1.gotoAndStop(3); _mov1.i_uskor2.gotoAndStop(3); _mov1.i_uskor3.gotoAndStop(3); if (PhisicConstants.USKORITEL_COST[3] <= _arg1){ _mov1.i_uskor4.gotoAndStop(2); } else { _mov1.i_uskor4.gotoAndStop(1); }; } else { if (PhisicConstants.USKORITEL == 2){ _mov1.i_uskor1.gotoAndStop(3); _mov1.i_uskor2.gotoAndStop(3); _mov1.i_uskor4.gotoAndStop(1); if (PhisicConstants.USKORITEL_COST[2] <= _arg1){ _mov1.i_uskor3.gotoAndStop(2); } else { _mov1.i_uskor3.gotoAndStop(1); }; } else { if (PhisicConstants.USKORITEL == 1){ _mov1.i_uskor1.gotoAndStop(3); _mov1.i_uskor3.gotoAndStop(1); _mov1.i_uskor4.gotoAndStop(1); if (PhisicConstants.USKORITEL_COST[1] <= _arg1){ _mov1.i_uskor2.gotoAndStop(2); } else { _mov1.i_uskor2.gotoAndStop(1); }; } else { _mov1.i_uskor2.gotoAndStop(1); _mov1.i_uskor3.gotoAndStop(1); _mov1.i_uskor4.gotoAndStop(1); if (PhisicConstants.USKORITEL_COST[0] <= _arg1){ _mov1.i_uskor1.gotoAndStop(2); } else { _mov1.i_uskor1.gotoAndStop(1); }; }; }; }; }; if (PhisicConstants.SLIV == 2){ _mov1.i_flush1.gotoAndStop(3); _mov1.i_flush2.gotoAndStop(3); } else { if (PhisicConstants.SLIV == 1){ _mov1.i_flush1.gotoAndStop(3); if (PhisicConstants.SLIV_COST[1] < _arg1){ _mov1.i_flush2.gotoAndStop(2); } else { _mov1.i_flush2.gotoAndStop(1); }; } else { if (PhisicConstants.SLIV == 0){ _mov1.i_flush2.gotoAndStop(1); if (PhisicConstants.SLIV_COST[0] < _arg1){ _mov1.i_flush1.gotoAndStop(2); } else { _mov1.i_flush1.gotoAndStop(1); }; }; }; }; if (PhisicConstants.MAXPOWER){ _mov1.i_maxpower.gotoAndStop(3); } else { if (PhisicConstants.MAXPOWER_COST <= _arg1){ _mov1.i_maxpower.gotoAndStop(2); } else { _mov1.i_maxpower.gotoAndStop(1); }; }; if (PhisicConstants.X2){ _mov1.i_x2.gotoAndStop(3); } else { if (PhisicConstants.X2_COST <= _arg1){ _mov1.i_x2.gotoAndStop(2); } else { _mov1.i_x2.gotoAndStop(1); }; }; if (PhisicConstants.WHEEL == 2){ _mov1.i_wheel1.gotoAndStop(3); _mov1.i_wheel2.gotoAndStop(3); } else { if (PhisicConstants.WHEEL == 1){ _mov1.i_wheel1.gotoAndStop(3); if (PhisicConstants.WHEEL_COST[1] <= _arg1){ _mov1.i_wheel2.gotoAndStop(2); } else { _mov1.i_wheel2.gotoAndStop(1); }; } else { _mov1.i_wheel2.gotoAndStop(1); if (PhisicConstants.WHEEL_COST[0] <= _arg1){ _mov1.i_wheel1.gotoAndStop(2); } else { _mov1.i_wheel1.gotoAndStop(1); }; }; }; if (PhisicConstants.START == 2){ _mov1.i_razgon1.gotoAndStop(3); _mov1.i_razgon2.gotoAndStop(3); } else { if (PhisicConstants.START == 1){ _mov1.i_razgon1.gotoAndStop(3); if (PhisicConstants.START_COST[1] <= _arg1){ _mov1.i_razgon2.gotoAndStop(2); } else { _mov1.i_razgon2.gotoAndStop(1); }; } else { _mov1.i_razgon2.gotoAndStop(1); if (PhisicConstants.START_COST[0] <= _arg1){ _mov1.i_razgon1.gotoAndStop(2); } else { _mov1.i_razgon1.gotoAndStop(1); }; }; }; } private function CENOOBRAZOVANIE():void{ if (PhisicConstants.USKORITEL < 4){ _mov1.i_uskor4.price.text = ("$" + PhisicConstants.USKORITEL_COST[3]); }; if (PhisicConstants.USKORITEL < 3){ _mov1.i_uskor3.price.text = ("$" + PhisicConstants.USKORITEL_COST[2]); }; if (PhisicConstants.USKORITEL < 2){ _mov1.i_uskor2.price.text = ("$" + PhisicConstants.USKORITEL_COST[1]); }; if (PhisicConstants.USKORITEL < 1){ _mov1.i_uskor1.price.text = ("$" + PhisicConstants.USKORITEL_COST[0]); }; if (PhisicConstants.HELMET == false){ _mov1.i_aero2.price.text = ("$" + PhisicConstants.HELMET_COST); }; if (PhisicConstants.COMBEZ == false){ _mov1.i_aero1.price.text = ("$" + PhisicConstants.COMBEZ_COST); }; if (PhisicConstants.SPOILER == false){ _mov1.i_aero3.price.text = ("$" + PhisicConstants.SPOILER_COST); }; if (PhisicConstants.SLIV < 2){ _mov1.i_flush2.price.text = ("$" + PhisicConstants.SLIV_COST[1]); }; if (PhisicConstants.SLIV < 1){ _mov1.i_flush1.price.text = ("$" + PhisicConstants.SLIV_COST[0]); }; if (PhisicConstants.MAXPOWER == false){ _mov1.i_maxpower.price.text = ("$" + PhisicConstants.MAXPOWER_COST); }; if (PhisicConstants.X2 == false){ _mov1.i_x2.price.text = ("$" + PhisicConstants.X2_COST); }; if (PhisicConstants.WHEEL < 2){ _mov1.i_wheel2.price.text = ("$" + PhisicConstants.WHEEL_COST[1]); }; if (PhisicConstants.WHEEL < 1){ _mov1.i_wheel1.price.text = ("$" + PhisicConstants.WHEEL_COST[0]); }; if (PhisicConstants.START < 2){ _mov1.i_razgon2.price.text = ("$" + PhisicConstants.START_COST[1]); }; if (PhisicConstants.START < 1){ _mov1.i_razgon1.price.text = ("$" + PhisicConstants.START_COST[0]); }; } } }//package
Section 314
//shop_all (shop_all) package { import flash.display.*; import flash.text.*; public dynamic class shop_all extends MovieClip { public var i_razgon2:MovieClip; public var i_uskor1:MovieClip; public var armor:SimpleButton; public var i_wheel1:MovieClip; public var i_flush2:MovieClip; public var i_maxpower:MovieClip; public var again:SimpleButton; public var i_flush1:MovieClip; public var i_x2:MovieClip; public var i_uskor4:MovieClip; public var i_aero1:MovieClip; public var i_aero2:MovieClip; public var i_uskor2:MovieClip; public var i_aero3:MovieClip; public var money_total:TextField; public var i_wheel2:MovieClip; public var i_uskor3:MovieClip; public var i_razgon1:MovieClip; } }//package
Section 315
//sky (sky) package { import flash.display.*; public dynamic class sky extends MovieClip { public function sky(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package
Section 316
//StaticPalka (StaticPalka) package { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import flash.display.*; import flash.geom.*; public class StaticPalka extends VseActor { private var SHIRINA:int; private var VYSOTA:int; var ballsprite:MovieClip; public function StaticPalka(_arg1:DisplayObjectContainer, _arg2:int, _arg3:Point){ var _local6:b2BodyDef; if (_arg2 == 1){ SHIRINA = 1000; VYSOTA = 100; ballsprite = new ground1000(); ballsprite.gotoAndStop(PhisicConstants.AGE); }; _arg1.addChild(ballsprite); var _local4:b2FixtureDef = new b2FixtureDef(); _local4.density = 0; if (PhisicConstants.WHEEL == 0){ _local4.friction = 0.05; } else { if (PhisicConstants.WHEEL == 1){ _local4.friction = 0.03; } else { _local4.friction = 0.01; }; }; _local4.restitution = 0.4; var _local5:b2PolygonShape = new b2PolygonShape(); _local5.SetAsBox((SHIRINA / (2 * PhisicConstants.RATIO)), (VYSOTA / (2 * PhisicConstants.RATIO))); _local4.shape = _local5; _local6 = new b2BodyDef(); _local6.position.Set((_arg3.x / PhisicConstants.RATIO), ((_arg3.y + 25) / PhisicConstants.RATIO)); _local6.type = b2Body.b2_staticBody; var _local7:b2Body = PhisicConstants.world.CreateBody(_local6); _local7.CreateFixture(_local4); super(_local7, ballsprite); ballsprite.y = (ballsprite.y - 25); } public function MOVING():void{ _body.SetPosition(new b2Vec2((_body.GetPosition().x + (2000 / PhisicConstants.RATIO)), _body.GetPosition().y)); updateMyLook1(); } public function updateMyLook1():void{ _costume.x = (_body.GetPosition().x * PhisicConstants.RATIO); _costume.y = ((_body.GetPosition().y * PhisicConstants.RATIO) - 25); _costume.rotation = ((_body.GetAngle() * 180) / Math.PI); } public function CHANGE_AGE():void{ ballsprite.gotoAndStop(PhisicConstants.AGE); } } }//package
Section 317
//stone (stone) package { import flash.media.*; public dynamic class stone extends Sound { } }//package
Section 318
//TheHero (TheHero) package { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.display.*; import flash.events.*; import flash.geom.*; public class TheHero extends EventDispatcher { private const shirina:int = 52; private const vysota:int = 98; private const radius:int = 5; var _teloBody:b2Body; var _wheel1Body:b2Body; var _wheel2Body:b2Body; var teloSprite:MovieClip; var wheel1Sprite:MovieClip; var wheel2Sprite:MovieClip; public var j1:b2RevoluteJointDef; public var j2:b2RevoluteJointDef; private var _parent:DisplayObjectContainer; private var otschet_SuperUskoritelia:int;// = 0 private var otschet_Start:int;// = 0 public var _NAVEDENIE:Boolean;// = false private var PODNITIE:int;// = 0 private var KOS:int;// = 0 public function TheHero(_arg1:DisplayObjectContainer, _arg2:Point, _arg3:Number, _arg4:int){ j1 = new b2RevoluteJointDef(); j2 = new b2RevoluteJointDef(); super(); PhisicConstants.NUMBER_SLIV = 3; _parent = _arg1; teloSprite = new hero01(); teloSprite.gotoAndStop(1); _arg1.addChild(teloSprite); DOP_SLIV(); _teloBody = CreateTelo(_arg2); _teloBody.SetUserData(this); updateNow(_teloBody, teloSprite); wheel1Sprite = new wheel(); wheel1Sprite.gotoAndStop((PhisicConstants.WHEEL + 1)); _arg1.addChild(wheel1Sprite); _wheel1Body = CreateCrug(new Point((_arg2.x - 11), (_arg2.y + 49))); _wheel1Body.SetUserData(this); updateNow(_wheel1Body, wheel1Sprite); wheel2Sprite = new wheel(); wheel2Sprite.gotoAndStop((PhisicConstants.WHEEL + 1)); if (PhisicConstants.WHEEL > 0){ PODNITIE = 3; }; _arg1.addChild(wheel2Sprite); _wheel2Body = CreateCrug(new Point((_arg2.x + 15), (_arg2.y + 49))); _wheel2Body.SetUserData(this); updateNow(_wheel2Body, wheel2Sprite); j1.lowerAngle = (-1 / (180 / Math.PI)); j1.upperAngle = (1 / (180 / Math.PI)); j1.Initialize(_wheel1Body, _teloBody, new b2Vec2(((_arg2.x - 11) / PhisicConstants.RATIO), ((_arg2.y + 49) / PhisicConstants.RATIO))); PhisicConstants.world.CreateJoint(j1); j2.lowerAngle = (-1 / (180 / Math.PI)); j2.upperAngle = (1 / (180 / Math.PI)); j2.Initialize(_wheel2Body, _teloBody, new b2Vec2(((_arg2.x + 15) / PhisicConstants.RATIO), ((_arg2.y + 49) / PhisicConstants.RATIO))); PhisicConstants.world.CreateJoint(j2); var _local5:Number = Math.abs((25 - _arg4)); if (PhisicConstants.MAXPOWER){ _local5 = 0; }; _local5 = (2 + ((8 * (1 - (0.04 * _local5))) * (PhisicConstants.START + 1))); _local5 = (_local5 * Math.pow(PhisicConstants.KOEFF, 1)); var _local6:b2Vec2 = new b2Vec2(((_local5 * Math.cos(_arg3)) * PhisicConstants.KOEF_STARTA), ((_local5 * Math.sin(_arg3)) * PhisicConstants.KOEF_STARTA)); _teloBody.ApplyImpulse(_local6, _teloBody.GetWorldCenter()); UPGRADES(); } private function UPGRADES():void{ if (PhisicConstants.START > 0){ otschet_Start = 1; teloSprite.rotation = 0; if (PhisicConstants.START == 1){ teloSprite.razgon1.gotoAndPlay(2); } else { if (PhisicConstants.START == 2){ teloSprite.razgon2.gotoAndPlay(2); }; }; PhisicConstants.ADD_SOUND((33 + PhisicConstants.START)); }; if (PhisicConstants.HELMET){ teloSprite.helmet.gotoAndStop(2); }; if (PhisicConstants.COMBEZ){ teloSprite.combez.gotoAndStop(2); }; if (PhisicConstants.SPOILER){ teloSprite.spoiler.gotoAndStop(2); }; } private function outtt(_arg1:MouseEvent):void{ if (_NAVEDENIE){ _NAVEDENIE = false; }; } private function over(_arg1:MouseEvent):void{ if ((((_NAVEDENIE == false)) && ((PhisicConstants.NUMBER_SLIV > 0)))){ _NAVEDENIE = true; }; } public function DOP_SLIV():void{ teloSprite.buttonMode = true; teloSprite.addEventListener(MouseEvent.MOUSE_DOWN, startSliv); teloSprite.addEventListener(MouseEvent.MOUSE_OVER, over); teloSprite.addEventListener(MouseEvent.ROLL_OUT, outtt); } private function startSliv(_arg1:MouseEvent):void{ PhisicConstants.NUMBER_SLIV--; PhisicConstants.ADD_SOUND((27 + PhisicConstants.SLIV)); if (PhisicConstants.NUMBER_SLIV == 0){ teloSprite.removeEventListener(MouseEvent.MOUSE_DOWN, startSliv); teloSprite.removeEventListener(MouseEvent.MOUSE_OVER, over); teloSprite.removeEventListener(MouseEvent.ROLL_OUT, outtt); _NAVEDENIE = false; teloSprite.buttonMode = false; }; if (_teloBody.GetLinearVelocity().y > 0){ _teloBody.SetLinearVelocity(new b2Vec2(_teloBody.GetLinearVelocity().x, 0)); }; var _local2:b2Vec2 = new b2Vec2(1, -1.2); _local2.Multiply((15 * Math.pow(PhisicConstants.KOEFF, 0.5))); if (PhisicConstants.SLIV == 0){ teloSprite.sliv1.gotoAndPlay(2); } else { if (PhisicConstants.SLIV == 1){ teloSprite.sliv2.gotoAndPlay(2); _local2.Multiply(1.5); } else { teloSprite.sliv3.gotoAndPlay(2); _local2.Multiply(2.5); }; }; _teloBody.ApplyImpulse(_local2, _teloBody.GetWorldCenter()); teloSprite.rotation = -15; } private function updateNow(_arg1:b2Body, _arg2:DisplayObject):void{ _arg2.x = (_arg1.GetPosition().x * PhisicConstants.RATIO); _arg2.y = (_arg1.GetPosition().y * PhisicConstants.RATIO); _arg2.rotation = ((_arg1.GetAngle() * 180) / Math.PI); } public function updateEveryFrame():void{ var _local1:b2Vec2; var _local2:b2Vec2; if (otschet_Start > 0){ otschet_Start++; if (otschet_Start == 90){ otschet_Start = 0; }; if ((((otschet_SuperUskoritelia < 9)) || ((otschet_SuperUskoritelia > 110)))){ _local1 = new b2Vec2((0.4 * PhisicConstants.START), (-0.4 - (PhisicConstants.START / 5))); _teloBody.ApplyImpulse(_local1, _teloBody.GetWorldCenter()); }; }; if (otschet_SuperUskoritelia > 0){ otschet_SuperUskoritelia++; if ((((otschet_SuperUskoritelia > 9)) && ((otschet_SuperUskoritelia < 111)))){ _local2 = new b2Vec2(1, -1); _local2.Multiply((0.3 + (PhisicConstants.USKORITEL / 4))); if (otschet_Start > 0){ _local2.Multiply(1.2); }; _teloBody.ApplyImpulse(_local2, _teloBody.GetWorldCenter()); } else { if (otschet_SuperUskoritelia == 111){ otschet_SuperUskoritelia = 0; }; }; }; if (teloSprite.y < 300){ if ((((_teloBody.GetLinearVelocity().y < 0)) && ((_teloBody.GetAngle() > (-(Math.PI) / 16))))){ _teloBody.SetAngle((_teloBody.GetAngle() - (Math.PI / 96))); } else { if ((((_teloBody.GetLinearVelocity().y > 0)) && ((_teloBody.GetAngle() < (Math.PI / 16))))){ _teloBody.SetAngle((_teloBody.GetAngle() + (Math.PI / 96))); }; }; } else { if (_teloBody.GetAngle() != 0){ _teloBody.SetAngle(0); }; }; Updating(); if (teloSprite.y > 390){ _wheel1Body.SetAngularDamping(100); _wheel2Body.SetAngularDamping(100); }; } private function Updating():void{ updateNow(_teloBody, teloSprite); updateNow(_wheel1Body, wheel1Sprite); updateNow(_wheel2Body, wheel2Sprite); if (teloSprite.y < 390){ KOS = (KOS + 200); if (KOS > 360){ KOS = (KOS - 360); }; wheel1Sprite.rotation = (wheel1Sprite.rotation + KOS); wheel2Sprite.rotation = (wheel2Sprite.rotation + KOS); } else { wheel1Sprite.x = (teloSprite.x - 11); wheel1Sprite.y = (teloSprite.y + 49); wheel2Sprite.x = (teloSprite.x + 15); wheel2Sprite.y = (teloSprite.y + 49); }; } private function CreateTelo(_arg1:Point):b2Body{ var _local2:b2FixtureDef = new b2FixtureDef(); _local2.density = 1; _local2.friction = 0.4; _local2.restitution = 0.3; var _local3:b2PolygonShape = new b2PolygonShape(); _local3.SetAsBox((shirina / (2 * PhisicConstants.RATIO)), (vysota / (2 * PhisicConstants.RATIO))); _local2.shape = _local3; var _local4:b2BodyDef = new b2BodyDef(); _local4.position.Set((_arg1.x / PhisicConstants.RATIO), (_arg1.y / PhisicConstants.RATIO)); _local4.fixedRotation = true; _local4.type = b2Body.b2_dynamicBody; var _local5:b2Body = PhisicConstants.world.CreateBody(_local4); _local5.SetBullet(true); _local5.CreateFixture(_local2); return (_local5); } private function CreateCrug(_arg1:Point):b2Body{ var _local2:b2FixtureDef = new b2FixtureDef(); _local2.density = 1; _local2.friction = 0.7; _local2.restitution = 0.3; _local2.shape = new b2CircleShape((radius / PhisicConstants.RATIO)); var _local3:b2BodyDef = new b2BodyDef(); _local3.position.Set((_arg1.x / PhisicConstants.RATIO), (_arg1.y / PhisicConstants.RATIO)); _local3.type = b2Body.b2_dynamicBody; var _local4:b2Body = PhisicConstants.world.CreateBody(_local3); _local4.CreateFixture(_local2); return (_local4); } public function Rasstojanie():Number{ return ((_teloBody.GetPosition().x * PhisicConstants.RATIO)); } public function Vysota():Number{ return ((_teloBody.GetPosition().y * PhisicConstants.RATIO)); } public function UDAR_OB_GIDRANT():void{ if (_teloBody.GetLinearVelocity().y > 0){ _teloBody.SetLinearVelocity(new b2Vec2(_teloBody.GetLinearVelocity().x, 0)); }; var _local1:b2Vec2 = new b2Vec2(1, -2.5); _local1.Multiply(((20 * PhisicConstants.KOEF_ARMOR) * Math.pow(PhisicConstants.KOEFF, 1.5))); _teloBody.ApplyImpulse(_local1, _teloBody.GetWorldCenter()); } public function UDAR_OB_MUHU():void{ var _local1:b2Vec2 = _teloBody.GetLinearVelocity(); var _local2:Number = ((2 * PhisicConstants.KOEF_ARMOR) - 1); _teloBody.SetLinearVelocity(new b2Vec2(((_local1.x * 0.5) * _local2), ((_local1.y * 0.5) * _local2))); } public function GET_SPEED():Number{ return (_teloBody.GetLinearVelocity().Length()); } public function GET_XSPEED():Number{ return (_teloBody.GetLinearVelocity().x); } public function destroy():void{ _parent.removeChild(teloSprite); _parent.removeChild(wheel1Sprite); _parent.removeChild(wheel2Sprite); teloSprite.removeEventListener(MouseEvent.MOUSE_OVER, over); teloSprite.removeEventListener(MouseEvent.ROLL_OUT, outtt); teloSprite.removeEventListener(MouseEvent.MOUSE_DOWN, startSliv); PhisicConstants.world.DestroyBody(_teloBody); PhisicConstants.world.DestroyBody(_wheel1Body); PhisicConstants.world.DestroyBody(_wheel2Body); teloSprite = null; wheel1Sprite = null; wheel2Sprite = null; _teloBody = null; _wheel1Body = null; _wheel2Body = null; } public function SUPERUSKORITEL():void{ otschet_SuperUskoritelia = 1; if (PhisicConstants.USKORITEL == 1){ teloSprite.accel1.gotoAndPlay(2); } else { if (PhisicConstants.USKORITEL == 2){ teloSprite.accel2.gotoAndPlay(2); } else { if (PhisicConstants.USKORITEL == 3){ teloSprite.accel3.gotoAndPlay(2); } else { if (PhisicConstants.USKORITEL == 4){ teloSprite.accel4.gotoAndPlay(2); }; }; }; }; PhisicConstants.ADD_SOUND((29 + PhisicConstants.USKORITEL)); if (_teloBody.GetLinearVelocity().y > 0){ _teloBody.SetLinearVelocity(new b2Vec2(_teloBody.GetLinearVelocity().x, 0)); }; teloSprite.rotation = 0; } public function NEVIDIM():void{ teloSprite.visible = false; wheel1Sprite.visible = false; wheel2Sprite.visible = false; } public function KOORD_SPRITE():Point{ return (new Point(teloSprite.x, teloSprite.y)); } } }//package
Section 319
//tr_comics (tr_comics) package { import flash.media.*; public dynamic class tr_comics extends Sound { } }//package
Section 320
//tr_menu (tr_menu) package { import flash.media.*; public dynamic class tr_menu extends Sound { } }//package
Section 321
//tr1 (tr1) package { import flash.media.*; public dynamic class tr1 extends Sound { } }//package
Section 322
//tr2 (tr2) package { import flash.media.*; public dynamic class tr2 extends Sound { } }//package
Section 323
//tr3 (tr3) package { import flash.media.*; public dynamic class tr3 extends Sound { } }//package
Section 324
//tut10 (tut10) package { import flash.display.*; public dynamic class tut10 extends MovieClip { public function tut10(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 325
//tut30 (tut30) package { import flash.display.*; public dynamic class tut30 extends MovieClip { } }//package
Section 326
//VseActor (VseActor) package { import Box2D.Dynamics.*; import flash.display.*; import flash.events.*; import flash.geom.*; public class VseActor extends EventDispatcher { protected var _body:b2Body; protected var _costume:DisplayObject; public var clicker:int;// = 0 public var navodBOO:Boolean;// = false public var SDUV:Number;// = 0 public function VseActor(_arg1:b2Body, _arg2:DisplayObject){ _body = _arg1; _body.SetUserData(this); _costume = _arg2; updateMyLook(); } public function updateNow():void{ if (_body.IsAwake()){ updateMyLook(); }; childSpecificUpdating(); } protected function childSpecificUpdating():void{ } public function destroy():void{ cleanUpBeforeRemoving(); _costume.parent.removeChild(_costume); PhisicConstants.world.DestroyBody(_body); } public function getSpriteLoc():Point{ return (new Point(_costume.x, _costume.y)); } public function getSprite():DisplayObject{ return (_costume); } protected function cleanUpBeforeRemoving():void{ } public function updateMyLook():void{ _costume.x = (_body.GetPosition().x * PhisicConstants.RATIO); _costume.y = (_body.GetPosition().y * PhisicConstants.RATIO); _costume.rotation = ((_body.GetAngle() * 180) / Math.PI); } } }//package
Section 327
//wheel (wheel) package { import flash.display.*; public dynamic class wheel extends MovieClip { public function wheel(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } } }//package

Library Items

Symbol 1 BitmapUsed by:2
Symbol 2 GraphicUses:1Used by:35
Symbol 3 FontUsed by:4 5 8 9 10 11 13 19 241 242 249 251 253 254 259 260 265 266 271 272 277 278 283 284 289 290 295 296 301 302 307 308 313 314 319 320 327 328 333 334 336 337 339 340 342 343 344 345 346 347 348 352 362 363 366 370 372 373 374 375 378 382 387 418 420 425 431 432 433 437 439 678 679 684 689 690 691 692 694 695 697 698 704 705 706 922 923 925 927 929 931 932 941 950 954
Symbol 4 TextUses:3Used by:7
Symbol 5 TextUses:3Used by:7
Symbol 6 GraphicUsed by:7 243 371 379 388 400 419 421 424 426 438 693
Symbol 7 ButtonUses:4 5 6Used by:35
Symbol 8 TextUses:3Used by:12
Symbol 9 TextUses:3Used by:12
Symbol 10 TextUses:3Used by:12
Symbol 11 TextUses:3Used by:12
Symbol 12 MovieClipUses:8 9 10 11Used by:35
Symbol 13 EditableTextUses:3Used by:35
Symbol 14 FontUsed by:15 356 398 399 780 887 889 897
Symbol 15 TextUses:14Used by:16 349 409
Symbol 16 MovieClipUses:15Used by:21
Symbol 17 BitmapUsed by:18
Symbol 18 GraphicUses:17Used by:20
Symbol 19 TextUses:3Used by:20 413
Symbol 20 MovieClipUses:18 19Used by:21
Symbol 21 MovieClipUses:16 20Used by:22
Symbol 22 MovieClipUses:21Used by:35
Symbol 23 GraphicUsed by:32 34
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:26 34
Symbol 26 MovieClipUses:25Used by:32
Symbol 27 GraphicUsed by:32 34
Symbol 28 GraphicUsed by:29 34
Symbol 29 MovieClipUses:28Used by:32
Symbol 30 GraphicUsed by:31 34
Symbol 31 MovieClipUses:30Used by:32
Symbol 32 MovieClipUses:23 26 27 29 31Used by:34
Symbol 33 GraphicUsed by:34
Symbol 34 ButtonUses:32 33 23 25 27 28 30Used by:35 355 445
Symbol 35 MovieClip {preload}Uses:2 7 12 13 22 34Used by:Timeline
Symbol 36 Sound {tr3}
Symbol 37 Sound {tr2}
Symbol 38 Sound {tr1}
Symbol 39 Sound {tr_menu}
Symbol 40 Sound {tr_comics}
Symbol 41 Sound {stone}
Symbol 42 Sound {intro}
Symbol 43 Sound {gui_tut}
Symbol 44 Sound {gui_newitem}
Symbol 45 Sound {gui_new_usk}
Symbol 46 Sound {gui_new_sliv}
Symbol 47 Sound {gui_click}
Symbol 48 Sound {gui_buy}
Symbol 49 Sound {gui_between}
Symbol 50 Sound {game_volcano3}
Symbol 51 Sound {game_volcano2}
Symbol 52 Sound {game_volcano1}
Symbol 53 Sound {game_usk4}
Symbol 54 Sound {game_usk3}
Symbol 55 Sound {game_usk2}
Symbol 56 Sound {game_usk1}
Symbol 57 Sound {game_shoot}
Symbol 58 Sound {game_razgon2}
Symbol 59 Sound {game_razgon1}
Symbol 60 Sound {game_pre3}
Symbol 61 Sound {game_pre2}
Symbol 62 Sound {game_pre1}
Symbol 63 Sound {game_mushroom}
Symbol 64 Sound {game_flush3}
Symbol 65 Sound {game_flush2}
Symbol 66 Sound {game_flush1}
Symbol 67 Sound {game_3_e3}
Symbol 68 Sound {game_3_e2}
Symbol 69 Sound {game_3_e1}
Symbol 70 Sound {game_3_a2}
Symbol 71 Sound {game_3_a1}
Symbol 72 Sound {game_2_e3}
Symbol 73 Sound {game_2_e2}
Symbol 74 Sound {game_2_e1}
Symbol 75 Sound {game_2_a2}
Symbol 76 Sound {game_2_a1}
Symbol 77 Sound {game_1_e3}
Symbol 78 Sound {game_1_e2}
Symbol 79 Sound {game_1_e1}
Symbol 80 Sound {game_1_a2}
Symbol 81 Sound {game_1_a1}
Symbol 82 Sound {fin4}
Symbol 83 Sound {fin3}
Symbol 84 Sound {fin2}
Symbol 85 Sound {fin1}
Symbol 86 Sound {epoh_change}
Symbol 87 Sound {comics14}
Symbol 88 Sound {comics13}
Symbol 89 Sound {comics12}
Symbol 90 Sound {comics11}
Symbol 91 Sound {comics_music}
Symbol 92 Sound {bonus}
Symbol 93 Sound {ans9}
Symbol 94 Sound {ans8}
Symbol 95 Sound {ans7}
Symbol 96 Sound {ans6}
Symbol 97 Sound {ans5}
Symbol 98 Sound {ans4}
Symbol 99 Sound {ans30}
Symbol 100 Sound {ans3}
Symbol 101 Sound {ans29}
Symbol 102 Sound {ans28}
Symbol 103 Sound {ans27}
Symbol 104 Sound {ans26}
Symbol 105 Sound {ans25}
Symbol 106 Sound {ans24}
Symbol 107 Sound {ans23}
Symbol 108 Sound {ans22}
Symbol 109 Sound {ans21}
Symbol 110 Sound {ans20}
Symbol 111 Sound {ans2}
Symbol 112 Sound {ans19}
Symbol 113 Sound {ans18}
Symbol 114 Sound {ans17}
Symbol 115 Sound {ans16}
Symbol 116 Sound {ans15}
Symbol 117 Sound {ans14}
Symbol 118 Sound {ans13}
Symbol 119 Sound {ans12}
Symbol 120 Sound {ans11}
Symbol 121 Sound {ans10}
Symbol 122 Sound {ans1}
Symbol 123 BitmapUsed by:124 232
Symbol 124 GraphicUses:123Used by:221
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:127
Symbol 127 MovieClipUses:126Used by:221 225 228
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:130
Symbol 130 MovieClipUses:129Used by:221 225 228
Symbol 131 GraphicUsed by:136 137
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:134
Symbol 134 MovieClipUses:133Used by:135
Symbol 135 MovieClipUses:134Used by:136 137
Symbol 136 MovieClipUses:131 135Used by:138
Symbol 137 MovieClipUses:131 135Used by:138
Symbol 138 MovieClip {game29Flashka_armor_brand_fla.power_m_321}Uses:136 137Used by:221 225 228
Symbol 139 GraphicUsed by:142 455
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:142
Symbol 142 MovieClipUses:139 141Used by:143 159
Symbol 143 MovieClip {game29Flashka_armor_brand_fla.sliv1_m_285}Uses:142Used by:220
Symbol 144 GraphicUsed by:147 459
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:147
Symbol 147 MovieClipUses:144 146Used by:148
Symbol 148 MovieClip {game29Flashka_armor_brand_fla.sliv2_m_287}Uses:147Used by:220
Symbol 149 GraphicUsed by:153
Symbol 150 BitmapUsed by:151 152
Symbol 151 GraphicUses:150Used by:153
Symbol 152 GraphicUses:150Used by:153
Symbol 153 MovieClipUses:149 151 152Used by:154
Symbol 154 MovieClip {game29Flashka_armor_brand_fla.sliv3_m_289}Uses:153Used by:220
Symbol 155 GraphicUsed by:159 167 175 183 470 478 485 493
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:158
Symbol 158 MovieClipUses:157Used by:159
Symbol 159 MovieClip {game29Flashka_armor_brand_fla.accel1_291}Uses:155 158 142Used by:220
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:162
Symbol 162 MovieClipUses:161Used by:167
Symbol 163 GraphicUsed by:166
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:166
Symbol 166 MovieClipUses:163 165Used by:167
Symbol 167 MovieClip {game29Flashka_armor_brand_fla.accel2_293}Uses:155 162 166Used by:220
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168Used by:170
Symbol 170 MovieClipUses:169Used by:175
Symbol 171 GraphicUsed by:174 484
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:174
Symbol 174 MovieClipUses:171 173Used by:175
Symbol 175 MovieClip {game29Flashka_armor_brand_fla.accel3_296}Uses:155 170 174Used by:220
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:178
Symbol 178 MovieClipUses:177Used by:183
Symbol 179 GraphicUsed by:182
Symbol 180 BitmapUsed by:181
Symbol 181 GraphicUses:180Used by:182
Symbol 182 MovieClipUses:179 181Used by:183
Symbol 183 MovieClip {game29Flashka_armor_brand_fla.accel4_299}Uses:155 178 182Used by:220
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:220
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:188
Symbol 188 MovieClip {game29Flashka_armor_brand_fla.combez_302}Uses:187Used by:220
Symbol 189 BitmapUsed by:190
Symbol 190 GraphicUses:189Used by:191
Symbol 191 MovieClip {game29Flashka_armor_brand_fla.helmet_303}Uses:190Used by:220
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:194
Symbol 194 MovieClip {game29Flashka_armor_brand_fla.spoiler_m_304}Uses:193Used by:220
Symbol 195 BitmapUsed by:196 203
Symbol 196 GraphicUses:195Used by:197
Symbol 197 MovieClipUses:196Used by:198
Symbol 198 MovieClipUses:197Used by:206
Symbol 199 GraphicUsed by:202
Symbol 200 BitmapUsed by:201
Symbol 201 GraphicUses:200Used by:202
Symbol 202 MovieClipUses:199 201Used by:206 217
Symbol 203 GraphicUses:195Used by:204
Symbol 204 MovieClipUses:203Used by:205
Symbol 205 MovieClipUses:204Used by:206
Symbol 206 MovieClip {game29Flashka_armor_brand_fla.razgon1_305}Uses:198 202 205Used by:220
Symbol 207 BitmapUsed by:208
Symbol 208 GraphicUses:207Used by:217
Symbol 209 BitmapUsed by:210
Symbol 210 GraphicUses:209Used by:211
Symbol 211 MovieClipUses:210Used by:212
Symbol 212 MovieClipUses:211Used by:217
Symbol 213 BitmapUsed by:214
Symbol 214 GraphicUses:213Used by:215
Symbol 215 MovieClipUses:214Used by:216
Symbol 216 MovieClipUses:215Used by:217
Symbol 217 MovieClip {game29Flashka_armor_brand_fla.razgon2_311}Uses:208 212 216 202Used by:220
Symbol 218 GraphicUsed by:219 528
Symbol 219 MovieClipUses:218Used by:220
Symbol 220 MovieClip {base_hero_all}Uses:143 148 154 159 167 175 183 185 188 191 194 206 217 219Used by:221 225 228
Symbol 221 MovieClip {pulyalka3}Uses:124 127 130 138 220
Symbol 222 BitmapUsed by:223 224 231
Symbol 223 GraphicUses:222Used by:225
Symbol 224 GraphicUses:222Used by:225
Symbol 225 MovieClip {pulyalka2}Uses:223 127 130 138 220 224
Symbol 226 BitmapUsed by:227 230
Symbol 227 GraphicUses:226Used by:228
Symbol 228 MovieClip {pulyalka}Uses:227 127 130 138 220
Symbol 229 GraphicUsed by:233
Symbol 230 GraphicUses:226Used by:233
Symbol 231 GraphicUses:222Used by:233
Symbol 232 GraphicUses:123Used by:233
Symbol 233 MovieClip {launcher}Uses:229 230 231 232
Symbol 234 BitmapUsed by:235 236 237
Symbol 235 GraphicUses:234Used by:238
Symbol 236 GraphicUses:234Used by:238
Symbol 237 GraphicUses:234Used by:238
Symbol 238 MovieClip {menu_sliv}Uses:235 236 237
Symbol 239 BitmapUsed by:240
Symbol 240 GraphicUses:239Used by:355
Symbol 241 EditableTextUses:3 434Used by:355
Symbol 242 TextUses:3Used by:243
Symbol 243 ButtonUses:242 6Used by:355
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:255 261 267 273 279 285 291 297 303 309 315 321 329 335 341
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:248
Symbol 248 MovieClipUses:247Used by:255
Symbol 249 EditableTextUses:3Used by:255
Symbol 250 GraphicUsed by:252
Symbol 251 TextUses:3Used by:252
Symbol 252 ButtonUses:250 251Used by:255 261 267 273 279 285 291 297 303 309 315 321 329 335 341
Symbol 253 EditableTextUses:3Used by:255
Symbol 254 TextUses:3Used by:255 261 267 273 279 285 291 297 303 309 315 321 329 335 341
Symbol 255 MovieClip {game29Flashka_armor_brand_fla.i_aero1_249}Uses:245 248 249 252 253 254Used by:355
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:258
Symbol 258 MovieClipUses:257Used by:261
Symbol 259 EditableTextUses:3Used by:261
Symbol 260 EditableTextUses:3Used by:261
Symbol 261 MovieClip {game29Flashka_armor_brand_fla.i_aero2_252}Uses:245 258 259 252 260 254Used by:355
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:264
Symbol 264 MovieClipUses:263Used by:267
Symbol 265 EditableTextUses:3Used by:267
Symbol 266 EditableTextUses:3Used by:267
Symbol 267 MovieClip {game29Flashka_armor_brand_fla.i_aero3_254}Uses:245 264 265 252 266 254Used by:355
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:270
Symbol 270 MovieClipUses:269Used by:273
Symbol 271 EditableTextUses:3Used by:273
Symbol 272 EditableTextUses:3Used by:273
Symbol 273 MovieClip {game29Flashka_armor_brand_fla.i_uskor1_256}Uses:245 270 271 252 272 254Used by:355
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:276
Symbol 276 MovieClipUses:275Used by:279
Symbol 277 EditableTextUses:3Used by:279
Symbol 278 EditableTextUses:3Used by:279
Symbol 279 MovieClip {game29Flashka_armor_brand_fla.i_uskor2_258}Uses:245 276 277 252 278 254Used by:355
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:282
Symbol 282 MovieClipUses:281Used by:285
Symbol 283 EditableTextUses:3Used by:285
Symbol 284 EditableTextUses:3Used by:285
Symbol 285 MovieClip {game29Flashka_armor_brand_fla.i_uskor3_260}Uses:245 282 283 252 284 254Used by:355
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:288
Symbol 288 MovieClipUses:287Used by:291
Symbol 289 EditableTextUses:3Used by:291
Symbol 290 EditableTextUses:3Used by:291
Symbol 291 MovieClip {game29Flashka_armor_brand_fla.i_uskor4_262}Uses:245 288 289 252 290 254Used by:355
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:294
Symbol 294 MovieClipUses:293Used by:297
Symbol 295 EditableTextUses:3Used by:297
Symbol 296 EditableTextUses:3Used by:297
Symbol 297 MovieClip {game29Flashka_armor_brand_fla.i_wheel1_264}Uses:245 294 295 252 296 254Used by:355
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:300
Symbol 300 MovieClipUses:299Used by:303
Symbol 301 EditableTextUses:3Used by:303
Symbol 302 EditableTextUses:3Used by:303
Symbol 303 MovieClip {game29Flashka_armor_brand_fla.i_wheel2_266}Uses:245 300 301 252 302 254Used by:355
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:306
Symbol 306 MovieClipUses:305Used by:309
Symbol 307 EditableTextUses:3Used by:309
Symbol 308 EditableTextUses:3Used by:309
Symbol 309 MovieClip {game29Flashka_armor_brand_fla.i_flush1_268}Uses:245 306 307 252 308 254Used by:355
Symbol 310 BitmapUsed by:311
Symbol 311 GraphicUses:310Used by:312
Symbol 312 MovieClipUses:311Used by:315
Symbol 313 EditableTextUses:3Used by:315
Symbol 314 EditableTextUses:3Used by:315
Symbol 315 MovieClip {game29Flashka_armor_brand_fla.i_flush2_270}Uses:245 312 313 252 314 254Used by:355
Symbol 316 BitmapUsed by:317
Symbol 317 GraphicUses:316Used by:318
Symbol 318 MovieClipUses:317Used by:321
Symbol 319 EditableTextUses:3Used by:321
Symbol 320 EditableTextUses:3Used by:321
Symbol 321 MovieClip {game29Flashka_armor_brand_fla.i_razgon1_272}Uses:245 318 319 252 320 254Used by:355
Symbol 322 BitmapUsed by:325
Symbol 323 BitmapUsed by:325
Symbol 324 BitmapUsed by:325
Symbol 325 GraphicUses:322 323 324Used by:326
Symbol 326 MovieClipUses:325Used by:329
Symbol 327 EditableTextUses:3Used by:329
Symbol 328 EditableTextUses:3Used by:329
Symbol 329 MovieClip {game29Flashka_armor_brand_fla.i_razgon2_274}Uses:245 326 327 252 328 254Used by:355
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:332
Symbol 332 MovieClipUses:331Used by:335
Symbol 333 EditableTextUses:3Used by:335
Symbol 334 EditableTextUses:3Used by:335
Symbol 335 MovieClip {game29Flashka_armor_brand_fla.i_maxpower_276}Uses:245 332 333 252 334 254Used by:355
Symbol 336 TextUses:3Used by:338 341
Symbol 337 TextUses:3Used by:338 341
Symbol 338 MovieClipUses:336 337Used by:341
Symbol 339 EditableTextUses:3Used by:341
Symbol 340 EditableTextUses:3Used by:341
Symbol 341 MovieClip {game29Flashka_armor_brand_fla.i_x2_278}Uses:245 338 339 252 336 337 340 254Used by:355
Symbol 342 TextUses:3Used by:355
Symbol 343 TextUses:3Used by:355
Symbol 344 TextUses:3Used by:355
Symbol 345 TextUses:3Used by:355
Symbol 346 TextUses:3Used by:355
Symbol 347 TextUses:3Used by:355
Symbol 348 TextUses:3Used by:355
Symbol 349 MovieClipUses:15Used by:355
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:353
Symbol 352 TextUses:3Used by:353
Symbol 353 MovieClipUses:351 352Used by:354
Symbol 354 MovieClipUses:353Used by:355
Symbol 355 MovieClip {shop_all}Uses:240 241 243 255 261 267 273 279 285 291 297 303 309 315 321 329 335 341 342 343 344 345 346 347 348 34 349 354
Symbol 356 TextUses:14Used by:357
Symbol 357 MovieClip {cur_shoot}Uses:356
Symbol 358 GraphicUsed by:359 443 720 795 796 955 986 1008
Symbol 359 MovieClipUses:358Used by:390
Symbol 360 BitmapUsed by:361
Symbol 361 GraphicUses:360Used by:389
Symbol 362 TextUses:3Used by:389
Symbol 363 TextUses:3Used by:389
Symbol 364 BitmapUsed by:365
Symbol 365 GraphicUses:364Used by:367
Symbol 366 TextUses:3Used by:367
Symbol 367 ButtonUses:365 366Used by:389
Symbol 368 BitmapUsed by:369
Symbol 369 GraphicUses:368Used by:371
Symbol 370 TextUses:3Used by:371
Symbol 371 ButtonUses:369 370 6Used by:389
Symbol 372 EditableTextUses:3Used by:389
Symbol 373 EditableTextUses:3Used by:389
Symbol 374 TextUses:3Used by:389
Symbol 375 EditableTextUses:3Used by:389
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376Used by:379
Symbol 378 TextUses:3Used by:379
Symbol 379 ButtonUses:377 378 6Used by:389
Symbol 380 BitmapUsed by:381 385
Symbol 381 GraphicUses:380Used by:386
Symbol 382 TextUses:3Used by:383
Symbol 383 ButtonUses:382Used by:386
Symbol 384 GraphicUsed by:386
Symbol 385 GraphicUses:380Used by:386
Symbol 386 ButtonUses:381 383 384 385Used by:389 445
Symbol 387 TextUses:3Used by:388
Symbol 388 ButtonUses:387 6Used by:389 445
Symbol 389 MovieClipUses:361 362 363 367 371 372 373 374 375 379 386 388Used by:390
Symbol 390 MovieClip {between}Uses:359 389
Symbol 391 BitmapUsed by:392
Symbol 392 GraphicUses:391Used by:393
Symbol 393 MovieClipUses:392Used by:445
Symbol 394 BitmapUsed by:395
Symbol 395 GraphicUses:394Used by:396
Symbol 396 MovieClipUses:395Used by:397 417
Symbol 397 MovieClipUses:396Used by:445
Symbol 398 TextUses:14Used by:400
Symbol 399 TextUses:14Used by:400
Symbol 400 ButtonUses:398 6 399Used by:445
Symbol 401 GraphicUsed by:404
Symbol 402 BitmapUsed by:403
Symbol 403 GraphicUses:402Used by:404
Symbol 404 MovieClipUses:401 403Used by:407
Symbol 405 BitmapUsed by:406
Symbol 406 GraphicUses:405Used by:407
Symbol 407 MovieClipUses:404 406Used by:408
Symbol 408 MovieClip {game29Flashka_armor_brand_fla.flying_man_m_218}Uses:407Used by:445
Symbol 409 MovieClipUses:15Used by:410
Symbol 410 MovieClip {game29Flashka_armor_brand_fla.nad1_mm_221}Uses:409Used by:445
Symbol 411 BitmapUsed by:412
Symbol 412 GraphicUses:411Used by:413
Symbol 413 MovieClipUses:412 19Used by:414
Symbol 414 MovieClip {game29Flashka_armor_brand_fla.nad2_mm_223}Uses:413Used by:445
Symbol 415 GraphicUsed by:416
Symbol 416 MovieClipUses:415Used by:445
Symbol 417 MovieClipUses:396Used by:445
Symbol 418 TextUses:3Used by:419
Symbol 419 ButtonUses:418 6Used by:445
Symbol 420 TextUses:3Used by:421
Symbol 421 ButtonUses:420 6Used by:445
Symbol 422 GraphicUsed by:424 693
Symbol 423 GraphicUsed by:424 693
Symbol 424 MovieClip {game29Flashka_armor_brand_fla.mm_b_sound_229}Uses:422 6 423Used by:445
Symbol 425 TextUses:3Used by:426
Symbol 426 ButtonUses:425 6Used by:445
Symbol 427 GraphicUsed by:428
Symbol 428 MovieClipUses:427Used by:444
Symbol 429 BitmapUsed by:430
Symbol 430 GraphicUses:429Used by:442
Symbol 431 TextUses:3Used by:442
Symbol 432 TextUses:3Used by:442
Symbol 433 TextUses:3Used by:442
Symbol 434 FontUsed by:241 435 436
Symbol 435 TextUses:434Used by:442
Symbol 436 TextUses:434Used by:442
Symbol 437 TextUses:3Used by:438
Symbol 438 ButtonUses:437 6Used by:442
Symbol 439 TextUses:3Used by:442
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClipUses:440Used by:442
Symbol 442 MovieClipUses:430 431 432 433 435 436 438 439 441Used by:444
Symbol 443 MovieClipUses:358Used by:444
Symbol 444 MovieClip {game29Flashka_armor_brand_fla.cred1_231}Uses:428 442 443Used by:445
Symbol 445 MovieClip {menu_main}Uses:393 397 400 408 410 414 416 417 419 421 424 426 444 34 386 388
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:452
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:452
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:452
Symbol 452 MovieClip {wheel}Uses:447 449 451
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:455
Symbol 455 MovieClipUses:139 454Used by:456 470
Symbol 456 MovieClip {game29Flashka_armor_brand_fla.sliv1_m_180}Uses:455Used by:529
Symbol 457 BitmapUsed by:458
Symbol 458 GraphicUses:457Used by:459
Symbol 459 MovieClipUses:144 458Used by:460
Symbol 460 MovieClip {game29Flashka_armor_brand_fla.sliv2_m_182}Uses:459Used by:529
Symbol 461 GraphicUsed by:465
Symbol 462 BitmapUsed by:463 464
Symbol 463 GraphicUses:462Used by:465
Symbol 464 GraphicUses:462Used by:465
Symbol 465 MovieClipUses:461 463 464Used by:466
Symbol 466 MovieClip {game29Flashka_armor_brand_fla.sliv3_m_184}Uses:465Used by:529
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:469
Symbol 469 MovieClipUses:468Used by:470
Symbol 470 MovieClip {game29Flashka_armor_brand_fla.accel1_186}Uses:155 469 455Used by:529
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:473
Symbol 473 MovieClipUses:472Used by:478
Symbol 474 GraphicUsed by:477
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:477
Symbol 477 MovieClipUses:474 476Used by:478
Symbol 478 MovieClip {game29Flashka_armor_brand_fla.accel2_188}Uses:155 473 477Used by:529
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:481
Symbol 481 MovieClipUses:480Used by:485
Symbol 482 BitmapUsed by:483
Symbol 483 GraphicUses:482Used by:484
Symbol 484 MovieClipUses:171 483Used by:485
Symbol 485 MovieClip {game29Flashka_armor_brand_fla.accel3_191}Uses:155 481 484Used by:529
Symbol 486 BitmapUsed by:487
Symbol 487 GraphicUses:486Used by:488
Symbol 488 MovieClipUses:487Used by:493
Symbol 489 GraphicUsed by:492
Symbol 490 BitmapUsed by:491
Symbol 491 GraphicUses:490Used by:492
Symbol 492 MovieClipUses:489 491Used by:493
Symbol 493 MovieClip {game29Flashka_armor_brand_fla.accel4_194}Uses:155 488 492Used by:529
Symbol 494 BitmapUsed by:495
Symbol 495 GraphicUses:494Used by:529
Symbol 496 BitmapUsed by:497
Symbol 497 GraphicUses:496Used by:498
Symbol 498 MovieClip {game29Flashka_armor_brand_fla.combez_197}Uses:497Used by:529
Symbol 499 BitmapUsed by:500
Symbol 500 GraphicUses:499Used by:501
Symbol 501 MovieClip {game29Flashka_armor_brand_fla.helmet_198}Uses:500Used by:529
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:504
Symbol 504 MovieClip {game29Flashka_armor_brand_fla.spoiler_m_199}Uses:503Used by:529
Symbol 505 BitmapUsed by:506 513
Symbol 506 GraphicUses:505Used by:507
Symbol 507 MovieClipUses:506Used by:508
Symbol 508 MovieClipUses:507Used by:516
Symbol 509 GraphicUsed by:512
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:512
Symbol 512 MovieClipUses:509 511Used by:516 527
Symbol 513 GraphicUses:505Used by:514
Symbol 514 MovieClipUses:513Used by:515
Symbol 515 MovieClipUses:514Used by:516
Symbol 516 MovieClip {game29Flashka_armor_brand_fla.razgon1_200}Uses:508 512 515Used by:529
Symbol 517 BitmapUsed by:518
Symbol 518 GraphicUses:517Used by:527
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:521
Symbol 521 MovieClipUses:520Used by:522
Symbol 522 MovieClipUses:521Used by:527
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:525
Symbol 525 MovieClipUses:524Used by:526
Symbol 526 MovieClipUses:525Used by:527
Symbol 527 MovieClip {game29Flashka_armor_brand_fla.razgon2_206}Uses:518 522 526 512Used by:529
Symbol 528 MovieClipUses:218Used by:529
Symbol 529 MovieClip {hero01}Uses:456 460 466 470 478 485 493 495 498 501 504 516 527 528
Symbol 530 BitmapUsed by:531
Symbol 531 GraphicUses:530Used by:536
Symbol 532 BitmapUsed by:533
Symbol 533 GraphicUses:532Used by:536
Symbol 534 BitmapUsed by:535
Symbol 535 GraphicUses:534Used by:536
Symbol 536 MovieClip {ground1000}Uses:531 533 535
Symbol 537 FontUsed by:538 539 541 725 730 734 738 741 742
Symbol 538 TextUses:537Used by:540
Symbol 539 TextUses:537Used by:540 542
Symbol 540 MovieClip {tut30}Uses:538 539
Symbol 541 TextUses:537Used by:542
Symbol 542 MovieClip {tut10}Uses:541 539Used by:746
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:545
Symbol 545 MovieClipUses:544Used by:546 547
Symbol 546 MovieClipUses:545Used by:547
Symbol 547 MovieClip {game29Flashka_armor_brand_fla.b1_shit_mm_79}Uses:545 546Used by:746
Symbol 548 BitmapUsed by:549
Symbol 549 GraphicUses:548Used by:550
Symbol 550 MovieClipUses:549Used by:551 552
Symbol 551 MovieClipUses:550Used by:552
Symbol 552 MovieClip {game29Flashka_armor_brand_fla.b2_dino_mm_82}Uses:550 551Used by:746
Symbol 553 BitmapUsed by:554
Symbol 554 GraphicUses:553Used by:555
Symbol 555 MovieClipUses:554Used by:556 557
Symbol 556 MovieClipUses:555Used by:557
Symbol 557 MovieClip {game29Flashka_armor_brand_fla.b3_cat_mm_85}Uses:555 556Used by:746
Symbol 558 BitmapUsed by:559 560
Symbol 559 GraphicUses:558Used by:561
Symbol 560 GraphicUses:558Used by:561
Symbol 561 MovieClipUses:559 560Used by:562
Symbol 562 MovieClip {game29Flashka_armor_brand_fla.b4_kachok_mm_88}Uses:561Used by:746
Symbol 563 BitmapUsed by:564
Symbol 564 GraphicUses:563Used by:565
Symbol 565 MovieClipUses:564Used by:566
Symbol 566 MovieClipUses:565Used by:567
Symbol 567 MovieClip {game29Flashka_armor_brand_fla.b5_maz_mm_90}Uses:566Used by:746
Symbol 568 BitmapUsed by:569
Symbol 569 GraphicUses:568Used by:570
Symbol 570 MovieClipUses:569Used by:571
Symbol 571 MovieClipUses:570Used by:572
Symbol 572 MovieClip {game29Flashka_armor_brand_fla.b6_cock_mm_93}Uses:571Used by:746
Symbol 573 BitmapUsed by:574
Symbol 574 GraphicUses:573Used by:575
Symbol 575 MovieClipUses:574Used by:576
Symbol 576 MovieClip {game29Flashka_armor_brand_fla.b7_obama_mm_96}Uses:575Used by:746
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:579
Symbol 579 MovieClipUses:578Used by:580
Symbol 580 MovieClipUses:579Used by:581
Symbol 581 MovieClip {game29Flashka_armor_brand_fla.b8_giraffe_mm_98}Uses:580Used by:746
Symbol 582 BitmapUsed by:583
Symbol 583 GraphicUses:582Used by:584
Symbol 584 MovieClipUses:583Used by:585
Symbol 585 MovieClip {game29Flashka_armor_brand_fla.b9_rose_mm_101}Uses:584Used by:746
Symbol 586 BitmapUsed by:587
Symbol 587 GraphicUses:586Used by:588
Symbol 588 MovieClipUses:587Used by:589
Symbol 589 MovieClip {game29Flashka_armor_brand_fla.b10_doc_mm_103}Uses:588Used by:746
Symbol 590 BitmapUsed by:591
Symbol 591 GraphicUses:590Used by:592
Symbol 592 MovieClipUses:591Used by:593
Symbol 593 MovieClip {game29Flashka_armor_brand_fla.b11_vant_mm_105}Uses:592Used by:746
Symbol 594 GraphicUsed by:598 599
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:597
Symbol 597 MovieClipUses:596Used by:598 599
Symbol 598 MovieClipUses:594 597Used by:600
Symbol 599 MovieClipUses:594 597Used by:600
Symbol 600 MovieClipUses:598 599Used by:601
Symbol 601 MovieClip {game29Flashka_armor_brand_fla.b12_applause_mm_107}Uses:600Used by:746
Symbol 602 BitmapUsed by:603
Symbol 603 GraphicUses:602Used by:604
Symbol 604 MovieClipUses:603Used by:605
Symbol 605 MovieClip {game29Flashka_armor_brand_fla.b13_bleat_mm_112}Uses:604Used by:746
Symbol 606 BitmapUsed by:607
Symbol 607 GraphicUses:606Used by:608
Symbol 608 MovieClipUses:607Used by:609
Symbol 609 MovieClip {game29Flashka_armor_brand_fla.b14_cat_mm_114}Uses:608Used by:746
Symbol 610 BitmapUsed by:611
Symbol 611 GraphicUses:610Used by:612
Symbol 612 MovieClipUses:611Used by:613
Symbol 613 MovieClip {game29Flashka_armor_brand_fla.b15_som_mm_116}Uses:612Used by:746
Symbol 614 BitmapUsed by:615
Symbol 615 GraphicUses:614Used by:616
Symbol 616 MovieClipUses:615Used by:617
Symbol 617 MovieClip {game29Flashka_armor_brand_fla.b16_swat_mm_118}Uses:616Used by:746
Symbol 618 BitmapUsed by:619
Symbol 619 GraphicUses:618Used by:620
Symbol 620 MovieClipUses:619Used by:621
Symbol 621 MovieClip {game29Flashka_armor_brand_fla.b17_bal_mm_120}Uses:620Used by:746
Symbol 622 BitmapUsed by:623
Symbol 623 GraphicUses:622Used by:624
Symbol 624 MovieClipUses:623Used by:625
Symbol 625 MovieClip {game29Flashka_armor_brand_fla.b18_candy_mm_122}Uses:624Used by:746
Symbol 626 BitmapUsed by:627
Symbol 627 GraphicUses:626Used by:628
Symbol 628 MovieClipUses:627Used by:629
Symbol 629 MovieClip {game29Flashka_armor_brand_fla.b19_bob_mm_124}Uses:628Used by:746
Symbol 630 BitmapUsed by:631
Symbol 631 GraphicUses:630Used by:632
Symbol 632 MovieClipUses:631Used by:633
Symbol 633 MovieClip {game29Flashka_armor_brand_fla.b20_sparta_mm_126}Uses:632Used by:746
Symbol 634 BitmapUsed by:635
Symbol 635 GraphicUses:634Used by:636
Symbol 636 MovieClipUses:635Used by:637
Symbol 637 MovieClip {game29Flashka_armor_brand_fla.b21_suslik_mm_128}Uses:636Used by:746
Symbol 638 BitmapUsed by:639
Symbol 639 GraphicUses:638Used by:640
Symbol 640 MovieClipUses:639Used by:641
Symbol 641 MovieClipUses:640Used by:642
Symbol 642 MovieClip {game29Flashka_armor_brand_fla.b22_sausage_mm_130}Uses:641Used by:746
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:645
Symbol 645 MovieClipUses:644Used by:646
Symbol 646 MovieClip {game29Flashka_armor_brand_fla.b23_fly_mm_133}Uses:645Used by:746
Symbol 647 BitmapUsed by:648
Symbol 648 GraphicUses:647Used by:649
Symbol 649 MovieClipUses:648Used by:650
Symbol 650 MovieClip {game29Flashka_armor_brand_fla.b24_guit_mm_135}Uses:649Used by:746
Symbol 651 BitmapUsed by:652
Symbol 652 GraphicUses:651Used by:653
Symbol 653 MovieClipUses:652Used by:654
Symbol 654 MovieClipUses:653Used by:655
Symbol 655 MovieClip {game29Flashka_armor_brand_fla.b25_seal_mm_137}Uses:654Used by:746
Symbol 656 BitmapUsed by:657
Symbol 657 GraphicUses:656Used by:658
Symbol 658 MovieClipUses:657Used by:659
Symbol 659 MovieClip {game29Flashka_armor_brand_fla.b26_paper_mm_140}Uses:658Used by:746
Symbol 660 BitmapUsed by:661
Symbol 661 GraphicUses:660Used by:662
Symbol 662 MovieClipUses:661Used by:663
Symbol 663 MovieClip {game29Flashka_armor_brand_fla.b27_clown_mm_142}Uses:662Used by:746
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:666
Symbol 666 MovieClipUses:665Used by:667
Symbol 667 MovieClip {game29Flashka_armor_brand_fla.b28_sove_mm_144}Uses:666Used by:746
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:670
Symbol 670 MovieClipUses:669Used by:671
Symbol 671 MovieClip {game29Flashka_armor_brand_fla.b29_garmon_mm_146}Uses:670Used by:746
Symbol 672 BitmapUsed by:673
Symbol 673 GraphicUses:672Used by:674
Symbol 674 MovieClipUses:673Used by:675
Symbol 675 MovieClip {game29Flashka_armor_brand_fla.b30_rocket_mm_148}Uses:674Used by:746
Symbol 676 BitmapUsed by:677
Symbol 677 GraphicUses:676Used by:680
Symbol 678 TextUses:3Used by:680
Symbol 679 TextUses:3Used by:680
Symbol 680 ButtonUses:677 678 679Used by:681
Symbol 681 MovieClip {game29Flashka_armor_brand_fla.gm_new_up_150}Uses:680Used by:746
Symbol 682 BitmapUsed by:683
Symbol 683 GraphicUses:682Used by:685
Symbol 684 TextUses:3Used by:685
Symbol 685 ButtonUses:683 684Used by:686
Symbol 686 MovieClip {game29Flashka_armor_brand_fla.gm_new_acce_152}Uses:685Used by:746
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:746
Symbol 689 TextUses:3Used by:746
Symbol 690 EditableTextUses:3Used by:746
Symbol 691 TextUses:3Used by:746
Symbol 692 EditableTextUses:3Used by:746
Symbol 693 MovieClip {game29Flashka_armor_brand_fla.mm_b_sound_154}Uses:422 6 423Used by:746
Symbol 694 TextUses:3Used by:699
Symbol 695 TextUses:3Used by:699
Symbol 696 GraphicUsed by:699 703 707
Symbol 697 TextUses:3Used by:699
Symbol 698 TextUses:3Used by:699
Symbol 699 MovieClip {game29Flashka_armor_brand_fla.mg_quality_155}Uses:694 695 696 697 698Used by:746
Symbol 700 BitmapUsed by:701
Symbol 701 GraphicUses:700Used by:702 703
Symbol 702 MovieClipUses:701Used by:703
Symbol 703 ButtonUses:702 696 701Used by:746
Symbol 704 TextUses:3Used by:746
Symbol 705 EditableTextUses:3Used by:746
Symbol 706 TextUses:3Used by:707
Symbol 707 ButtonUses:706 696Used by:746
Symbol 708 GraphicUsed by:712
Symbol 709 BitmapUsed by:710
Symbol 710 GraphicUses:709Used by:711
Symbol 711 MovieClipUses:710Used by:712
Symbol 712 MovieClipUses:708 711Used by:713
Symbol 713 MovieClipUses:712Used by:714
Symbol 714 MovieClip {game29Flashka_armor_brand_fla.arrow_159}Uses:713Used by:746
Symbol 715 BitmapUsed by:716
Symbol 716 GraphicUses:715Used by:724
Symbol 717 GraphicUsed by:724
Symbol 718 GraphicUsed by:719
Symbol 719 MovieClipUses:718Used by:720
Symbol 720 MovieClipUses:358 719Used by:724
Symbol 721 BitmapUsed by:723
Symbol 722 BitmapUsed by:723
Symbol 723 GraphicUses:721 722Used by:724
Symbol 724 MovieClip {game29Flashka_armor_brand_fla.scale_163}Uses:716 717 720 723Used by:746
Symbol 725 TextUses:537Used by:728
Symbol 726 BitmapUsed by:727 731 735 743
Symbol 727 GraphicUses:726Used by:728
Symbol 728 MovieClipUses:725 727Used by:729
Symbol 729 MovieClip {game29Flashka_armor_brand_fla.tut2_167}Uses:728Used by:746
Symbol 730 TextUses:537Used by:732
Symbol 731 GraphicUses:726Used by:732
Symbol 732 MovieClipUses:730 731Used by:733
Symbol 733 MovieClip {game29Flashka_armor_brand_fla.tut4_169}Uses:732Used by:746
Symbol 734 TextUses:537Used by:736
Symbol 735 GraphicUses:726Used by:736 739
Symbol 736 MovieClipUses:734 735Used by:737
Symbol 737 MovieClip {game29Flashka_armor_brand_fla.tut5_171}Uses:736Used by:746
Symbol 738 TextUses:537Used by:739
Symbol 739 MovieClipUses:738 735Used by:740
Symbol 740 MovieClip {game29Flashka_armor_brand_fla.tut6_173}Uses:739Used by:746
Symbol 741 TextUses:537Used by:744
Symbol 742 TextUses:537Used by:744
Symbol 743 GraphicUses:726Used by:744
Symbol 744 MovieClipUses:741 742 743Used by:745
Symbol 745 MovieClip {game29Flashka_armor_brand_fla.tut7_175}Uses:744Used by:746
Symbol 746 MovieClip {menu_game}Uses:547 552 557 562 567 572 576 581 585 589 593 601 605 609 613 617 621 625 629 633 637 642 646 650 655 659 663 667 671 675 681 686 688 689 690 691 692 693 699 703 704 705 707 714 724 542 729 733 737 740 745
Symbol 747 BitmapUsed by:748
Symbol 748 GraphicUses:747Used by:758
Symbol 749 BitmapUsed by:750
Symbol 750 GraphicUses:749Used by:751 752 753
Symbol 751 MovieClipUses:750Used by:758
Symbol 752 MovieClipUses:750Used by:758
Symbol 753 MovieClipUses:750Used by:758
Symbol 754 BitmapUsed by:755
Symbol 755 GraphicUses:754Used by:758
Symbol 756 BitmapUsed by:757
Symbol 757 GraphicUses:756Used by:758
Symbol 758 MovieClip {sky}Uses:748 751 752 753 755 757
Symbol 759 BitmapUsed by:760
Symbol 760 GraphicUses:759Used by:765
Symbol 761 BitmapUsed by:762
Symbol 762 GraphicUses:761Used by:765
Symbol 763 BitmapUsed by:764
Symbol 764 GraphicUses:763Used by:765
Symbol 765 MovieClip {fon3}Uses:760 762 764
Symbol 766 BitmapUsed by:767
Symbol 767 GraphicUses:766Used by:772
Symbol 768 BitmapUsed by:769
Symbol 769 GraphicUses:768Used by:772
Symbol 770 BitmapUsed by:771
Symbol 771 GraphicUses:770Used by:772
Symbol 772 MovieClip {fon2}Uses:767 769 771
Symbol 773 BitmapUsed by:774
Symbol 774 GraphicUses:773Used by:779
Symbol 775 BitmapUsed by:776
Symbol 776 GraphicUses:775Used by:779
Symbol 777 BitmapUsed by:778
Symbol 778 GraphicUses:777Used by:779
Symbol 779 MovieClip {fon1}Uses:774 776 778
Symbol 780 TextUses:14Used by:781
Symbol 781 MovieClip {cur_flush}Uses:780
Symbol 782 GraphicUsed by:795 796
Symbol 783 GraphicUsed by:795 796
Symbol 784 GraphicUsed by:795 796
Symbol 785 GraphicUsed by:795 796
Symbol 786 GraphicUsed by:795 796
Symbol 787 GraphicUsed by:795 796
Symbol 788 GraphicUsed by:795 796
Symbol 789 GraphicUsed by:795 796
Symbol 790 GraphicUsed by:795 796
Symbol 791 GraphicUsed by:795
Symbol 792 GraphicUsed by:795 796
Symbol 793 GraphicUsed by:795 796
Symbol 794 GraphicUsed by:795 796
Symbol 795 MovieClip {fade_out}Uses:358 782 783 784 785 786 787 788 789 790 791 792 793 794
Symbol 796 MovieClip {fade_in}Uses:794 793 792 790 789 788 787 786 785 784 783 782 358
Symbol 797 BitmapUsed by:798
Symbol 798 GraphicUses:797Used by:803
Symbol 799 GraphicUsed by:802
Symbol 800 BitmapUsed by:801
Symbol 801 GraphicUses:800Used by:802
Symbol 802 MovieClip {game29Flashka_armor_brand_fla.disappear_49}Uses:799 801Used by:803 857 870 873 876
Symbol 803 MovieClip {mush}Uses:798 802
Symbol 804 BitmapUsed by:805
Symbol 805 GraphicUses:804Used by:827
Symbol 806 BitmapUsed by:807 808 809
Symbol 807 GraphicUses:806Used by:810
Symbol 808 GraphicUses:806Used by:810
Symbol 809 GraphicUses:806Used by:810
Symbol 810 MovieClipUses:807 808 809Used by:811 827
Symbol 811 MovieClip {game29Flashka_armor_brand_fla.vulk1_flame_mm_61}Uses:810Used by:827
Symbol 812 GraphicUsed by:816
Symbol 813 BitmapUsed by:814
Symbol 814 GraphicUses:813Used by:815
Symbol 815 MovieClipUses:814Used by:816 820
Symbol 816 MovieClipUses:812 815Used by:827
Symbol 817 BitmapUsed by:818
Symbol 818 GraphicUses:817Used by:827
Symbol 819 GraphicUsed by:820
Symbol 820 MovieClip {game29Flashka_armor_brand_fla.vulk2mm2_64}Uses:819 815Used by:827
Symbol 821 BitmapUsed by:822
Symbol 822 GraphicUses:821Used by:827
Symbol 823 BitmapUsed by:824
Symbol 824 GraphicUses:823Used by:825
Symbol 825 MovieClipUses:824Used by:826
Symbol 826 MovieClip {game29Flashka_armor_brand_fla.vulk3_vyhmm_65}Uses:825Used by:827
Symbol 827 MovieClip {gidrant}Uses:805 810 811 816 818 820 822 826
Symbol 828 BitmapUsed by:829
Symbol 829 GraphicUses:828Used by:830
Symbol 830 MovieClip {en_stone}Uses:829
Symbol 831 BitmapUsed by:832
Symbol 832 GraphicUses:831Used by:833 857
Symbol 833 MovieClipUses:832Used by:834
Symbol 834 MovieClip {game29Flashka_armor_brand_fla.ep1_ear1mm_54}Uses:833Used by:857
Symbol 835 BitmapUsed by:836
Symbol 836 GraphicUses:835Used by:857
Symbol 837 BitmapUsed by:838
Symbol 838 GraphicUses:837Used by:857
Symbol 839 BitmapUsed by:840
Symbol 840 GraphicUses:839Used by:857
Symbol 841 BitmapUsed by:842
Symbol 842 GraphicUses:841Used by:857
Symbol 843 BitmapUsed by:844
Symbol 844 GraphicUses:843Used by:845 857
Symbol 845 MovieClipUses:844Used by:846
Symbol 846 MovieClip {game29Flashka_armor_brand_fla.ep2_ear3mm_56}Uses:845Used by:857
Symbol 847 BitmapUsed by:848
Symbol 848 GraphicUses:847Used by:857
Symbol 849 GraphicUsed by:852
Symbol 850 BitmapUsed by:851
Symbol 851 GraphicUses:850Used by:852
Symbol 852 MovieClip {game29Flashka_armor_brand_fla.explosion_52}Uses:849 851Used by:857 870
Symbol 853 BitmapUsed by:854
Symbol 854 GraphicUses:853Used by:857
Symbol 855 BitmapUsed by:856
Symbol 856 GraphicUses:855Used by:857
Symbol 857 MovieClip {en_earth}Uses:832 834 836 802 838 840 842 844 846 848 852 854 856
Symbol 858 BitmapUsed by:859
Symbol 859 GraphicUses:858Used by:870
Symbol 860 BitmapUsed by:861
Symbol 861 GraphicUses:860Used by:870
Symbol 862 BitmapUsed by:863
Symbol 863 GraphicUses:862Used by:870
Symbol 864 BitmapUsed by:865
Symbol 865 GraphicUses:864Used by:870
Symbol 866 BitmapUsed by:867
Symbol 867 GraphicUses:866Used by:870
Symbol 868 BitmapUsed by:869
Symbol 869 GraphicUses:868Used by:870
Symbol 870 MovieClip {en_air}Uses:859 802 861 863 865 852 867 869
Symbol 871 BitmapUsed by:872
Symbol 872 GraphicUses:871Used by:873
Symbol 873 MovieClip {bonus_star02}Uses:872 802
Symbol 874 BitmapUsed by:875
Symbol 875 GraphicUses:874Used by:876
Symbol 876 MovieClip {bonus_star01}Uses:875 802
Symbol 877 BitmapUsed by:879
Symbol 878 BitmapUsed by:879
Symbol 879 GraphicUses:877 878Used by:899
Symbol 880 BitmapUsed by:885
Symbol 881 BitmapUsed by:885
Symbol 882 BitmapUsed by:885
Symbol 883 BitmapUsed by:885
Symbol 884 BitmapUsed by:885
Symbol 885 GraphicUses:880 881 882 883 884Used by:886
Symbol 886 MovieClipUses:885Used by:899
Symbol 887 TextUses:14Used by:890
Symbol 888 GraphicUsed by:890
Symbol 889 TextUses:14Used by:890
Symbol 890 ButtonUses:887 888 889Used by:891
Symbol 891 MovieClipUses:890Used by:899
Symbol 892 BitmapUsed by:893
Symbol 893 GraphicUses:892Used by:896
Symbol 894 GraphicUsed by:895
Symbol 895 MovieClipUses:894Used by:896
Symbol 896 MovieClipUses:893 895Used by:899
Symbol 897 TextUses:14Used by:898
Symbol 898 MovieClipUses:897Used by:899
Symbol 899 MovieClip {final_mov}Uses:879 886 891 896 898
Symbol 900 BitmapUsed by:902
Symbol 901 BitmapUsed by:902 903
Symbol 902 GraphicUses:900 901Used by:921
Symbol 903 GraphicUses:901Used by:921
Symbol 904 ShapeTweeningUsed by:907
Symbol 905 ShapeTweeningUsed by:907
Symbol 906 GraphicUsed by:907
Symbol 907 MovieClipUses:904 905 906Used by:921 939
Symbol 908 ShapeTweeningUsed by:911
Symbol 909 ShapeTweeningUsed by:911
Symbol 910 GraphicUsed by:911
Symbol 911 MovieClipUses:908 909 910Used by:921 938
Symbol 912 GraphicUsed by:913
Symbol 913 MovieClipUses:912Used by:914 915
Symbol 914 MovieClipUses:913Used by:921 940 949 953
Symbol 915 MovieClipUses:913Used by:921 940 949 953
Symbol 916 GraphicUsed by:917
Symbol 917 MovieClipUses:916Used by:921 940 949 953
Symbol 918 GraphicUsed by:920
Symbol 919 GraphicUsed by:920
Symbol 920 MovieClip {game29Flashka_armor_brand_fla.intro_merc_30}Uses:918 919Used by:921 940 949 953
Symbol 921 MovieClipUses:902 903 907 911 914 915 917 920Used by:955
Symbol 922 TextUses:3Used by:955
Symbol 923 TextUses:3Used by:926
Symbol 924 GraphicUsed by:926
Symbol 925 TextUses:3Used by:926
Symbol 926 ButtonUses:923 924 925Used by:955
Symbol 927 TextUses:3Used by:930
Symbol 928 GraphicUsed by:930 933
Symbol 929 TextUses:3Used by:930
Symbol 930 ButtonUses:927 928 929Used by:935
Symbol 931 TextUses:3Used by:933
Symbol 932 TextUses:3Used by:933
Symbol 933 ButtonUses:931 928 932Used by:935
Symbol 934 GraphicUsed by:935
Symbol 935 MovieClip {game29Flashka_armor_brand_fla.next_all_32}Uses:930 933 934Used by:955
Symbol 936 BitmapUsed by:937
Symbol 937 GraphicUses:936Used by:940
Symbol 938 MovieClipUses:911Used by:940
Symbol 939 MovieClipUses:907Used by:940
Symbol 940 MovieClipUses:937 938 939 914 915 917 920Used by:955
Symbol 941 TextUses:3Used by:955
Symbol 942 BitmapUsed by:943
Symbol 943 GraphicUses:942Used by:949
Symbol 944 ShapeTweeningUsed by:948
Symbol 945 ShapeTweeningUsed by:948
Symbol 946 ShapeTweeningUsed by:948
Symbol 947 GraphicUsed by:948
Symbol 948 MovieClipUses:944 945 946 947Used by:949 953
Symbol 949 MovieClipUses:943 948 914 915 917 920Used by:955
Symbol 950 TextUses:3Used by:955
Symbol 951 BitmapUsed by:952
Symbol 952 GraphicUses:951Used by:953
Symbol 953 MovieClipUses:952 948 914 915 917 920Used by:955
Symbol 954 TextUses:3Used by:955
Symbol 955 MovieClip {comics1}Uses:358 921 922 926 935 940 941 949 950 953 954
Symbol 956 BitmapUsed by:957
Symbol 957 GraphicUses:956Used by:960
Symbol 958 BitmapUsed by:959
Symbol 959 GraphicUses:958Used by:960
Symbol 960 MovieClip {clouds}Uses:957 959
Symbol 961 GraphicUsed by:986
Symbol 962 GraphicUsed by:986
Symbol 963 GraphicUsed by:986
Symbol 964 GraphicUsed by:986
Symbol 965 GraphicUsed by:986
Symbol 966 GraphicUsed by:986
Symbol 967 GraphicUsed by:986
Symbol 968 GraphicUsed by:986
Symbol 969 GraphicUsed by:986
Symbol 970 GraphicUsed by:986
Symbol 971 GraphicUsed by:986
Symbol 972 GraphicUsed by:986
Symbol 973 GraphicUsed by:986
Symbol 974 GraphicUsed by:986
Symbol 975 GraphicUsed by:986
Symbol 976 GraphicUsed by:986
Symbol 977 GraphicUsed by:986
Symbol 978 GraphicUsed by:986
Symbol 979 GraphicUsed by:986
Symbol 980 GraphicUsed by:986
Symbol 981 GraphicUsed by:986
Symbol 982 GraphicUsed by:986
Symbol 983 GraphicUsed by:986
Symbol 984 GraphicUsed by:986
Symbol 985 GraphicUsed by:986
Symbol 986 MovieClip {change_epoha}Uses:961 962 963 964 965 966 967 968 969 970 971 972 358 973 974 975 976 977 978 979 980 981 982 983 984 985
Symbol 987 GraphicUsed by:988
Symbol 988 MovieClip {ar_out}Uses:987Used by:989
Symbol 989 MovieClipUses:988Used by:990
Symbol 990 MovieClip {arrow_out}Uses:989
Symbol 991 GraphicUsed by:1008
Symbol 992 GraphicUsed by:1008
Symbol 993 BitmapUsed by:994
Symbol 994 GraphicUses:993Used by:1008
Symbol 995 SoundUsed by:1008
Symbol 996 SoundUsed by:1008
Symbol 997 GraphicUsed by:1008
Symbol 998 GraphicUsed by:999
Symbol 999 MovieClipUses:998Used by:1008
Symbol 1000 SoundUsed by:1008
Symbol 1001 SoundUsed by:1008
Symbol 1002 SoundUsed by:1008
Symbol 1003 SoundUsed by:1008
Symbol 1004 GraphicUsed by:1005
Symbol 1005 MovieClipUses:1004Used by:1008
Symbol 1006 SoundUsed by:1008
Symbol 1007 SoundUsed by:1008
Symbol 1008 MovieClip {ag_intro_mc}Uses:358 991 992 994 995 996 997 999 1000 1001 1002 1003 1005 1006 1007
Symbol 1009 MovieClip {game29}Used by:Timeline

Instance Names

"pitergames"Symbol 35 MovieClip {preload} Frame 1Symbol 7 Button
"procent"Symbol 35 MovieClip {preload} Frame 1Symbol 13 EditableText
"armor"Symbol 35 MovieClip {preload} Frame 1Symbol 34 Button
"sliv1"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 143 MovieClip {game29Flashka_armor_brand_fla.sliv1_m_285}
"sliv2"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 148 MovieClip {game29Flashka_armor_brand_fla.sliv2_m_287}
"sliv3"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 154 MovieClip {game29Flashka_armor_brand_fla.sliv3_m_289}
"accel1"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 159 MovieClip {game29Flashka_armor_brand_fla.accel1_291}
"accel2"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 167 MovieClip {game29Flashka_armor_brand_fla.accel2_293}
"accel3"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 175 MovieClip {game29Flashka_armor_brand_fla.accel3_296}
"accel4"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 183 MovieClip {game29Flashka_armor_brand_fla.accel4_299}
"combez"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 188 MovieClip {game29Flashka_armor_brand_fla.combez_302}
"helmet"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 191 MovieClip {game29Flashka_armor_brand_fla.helmet_303}
"spoiler"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 194 MovieClip {game29Flashka_armor_brand_fla.spoiler_m_304}
"razgon1"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 206 MovieClip {game29Flashka_armor_brand_fla.razgon1_305}
"razgon2"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 217 MovieClip {game29Flashka_armor_brand_fla.razgon2_311}
"palevo"Symbol 220 MovieClip {base_hero_all} Frame 1Symbol 219 MovieClip
"power"Symbol 221 MovieClip {pulyalka3} Frame 1Symbol 138 MovieClip {game29Flashka_armor_brand_fla.power_m_321}
"hero"Symbol 221 MovieClip {pulyalka3} Frame 1Symbol 220 MovieClip {base_hero_all}
"power"Symbol 225 MovieClip {pulyalka2} Frame 1Symbol 138 MovieClip {game29Flashka_armor_brand_fla.power_m_321}
"hero"Symbol 225 MovieClip {pulyalka2} Frame 1Symbol 220 MovieClip {base_hero_all}
"power"Symbol 228 MovieClip {pulyalka} Frame 1Symbol 138 MovieClip {game29Flashka_armor_brand_fla.power_m_321}
"hero"Symbol 228 MovieClip {pulyalka} Frame 1Symbol 220 MovieClip {base_hero_all}
"price"Symbol 255 MovieClip {game29Flashka_armor_brand_fla.i_aero1_249} Frame 1Symbol 249 EditableText
"buy"Symbol 255 MovieClip {game29Flashka_armor_brand_fla.i_aero1_249} Frame 1Symbol 252 Button
"price"Symbol 255 MovieClip {game29Flashka_armor_brand_fla.i_aero1_249} Frame 3Symbol 253 EditableText
"price"Symbol 261 MovieClip {game29Flashka_armor_brand_fla.i_aero2_252} Frame 1Symbol 259 EditableText
"buy"Symbol 261 MovieClip {game29Flashka_armor_brand_fla.i_aero2_252} Frame 1Symbol 252 Button
"price"Symbol 261 MovieClip {game29Flashka_armor_brand_fla.i_aero2_252} Frame 3Symbol 260 EditableText
"price"Symbol 267 MovieClip {game29Flashka_armor_brand_fla.i_aero3_254} Frame 1Symbol 265 EditableText
"buy"Symbol 267 MovieClip {game29Flashka_armor_brand_fla.i_aero3_254} Frame 1Symbol 252 Button
"price"Symbol 267 MovieClip {game29Flashka_armor_brand_fla.i_aero3_254} Frame 3Symbol 266 EditableText
"price"Symbol 273 MovieClip {game29Flashka_armor_brand_fla.i_uskor1_256} Frame 1Symbol 271 EditableText
"buy"Symbol 273 MovieClip {game29Flashka_armor_brand_fla.i_uskor1_256} Frame 1Symbol 252 Button
"price"Symbol 273 MovieClip {game29Flashka_armor_brand_fla.i_uskor1_256} Frame 3Symbol 272 EditableText
"price"Symbol 279 MovieClip {game29Flashka_armor_brand_fla.i_uskor2_258} Frame 1Symbol 277 EditableText
"buy"Symbol 279 MovieClip {game29Flashka_armor_brand_fla.i_uskor2_258} Frame 1Symbol 252 Button
"price"Symbol 279 MovieClip {game29Flashka_armor_brand_fla.i_uskor2_258} Frame 3Symbol 278 EditableText
"price"Symbol 285 MovieClip {game29Flashka_armor_brand_fla.i_uskor3_260} Frame 1Symbol 283 EditableText
"buy"Symbol 285 MovieClip {game29Flashka_armor_brand_fla.i_uskor3_260} Frame 1Symbol 252 Button
"price"Symbol 285 MovieClip {game29Flashka_armor_brand_fla.i_uskor3_260} Frame 3Symbol 284 EditableText
"price"Symbol 291 MovieClip {game29Flashka_armor_brand_fla.i_uskor4_262} Frame 1Symbol 289 EditableText
"buy"Symbol 291 MovieClip {game29Flashka_armor_brand_fla.i_uskor4_262} Frame 1Symbol 252 Button
"price"Symbol 291 MovieClip {game29Flashka_armor_brand_fla.i_uskor4_262} Frame 3Symbol 290 EditableText
"price"Symbol 297 MovieClip {game29Flashka_armor_brand_fla.i_wheel1_264} Frame 1Symbol 295 EditableText
"buy"Symbol 297 MovieClip {game29Flashka_armor_brand_fla.i_wheel1_264} Frame 1Symbol 252 Button
"price"Symbol 297 MovieClip {game29Flashka_armor_brand_fla.i_wheel1_264} Frame 3Symbol 296 EditableText
"price"Symbol 303 MovieClip {game29Flashka_armor_brand_fla.i_wheel2_266} Frame 1Symbol 301 EditableText
"buy"Symbol 303 MovieClip {game29Flashka_armor_brand_fla.i_wheel2_266} Frame 1Symbol 252 Button
"price"Symbol 303 MovieClip {game29Flashka_armor_brand_fla.i_wheel2_266} Frame 3Symbol 302 EditableText
"price"Symbol 309 MovieClip {game29Flashka_armor_brand_fla.i_flush1_268} Frame 1Symbol 307 EditableText
"buy"Symbol 309 MovieClip {game29Flashka_armor_brand_fla.i_flush1_268} Frame 1Symbol 252 Button
"price"Symbol 309 MovieClip {game29Flashka_armor_brand_fla.i_flush1_268} Frame 3Symbol 308 EditableText
"price"Symbol 315 MovieClip {game29Flashka_armor_brand_fla.i_flush2_270} Frame 1Symbol 313 EditableText
"buy"Symbol 315 MovieClip {game29Flashka_armor_brand_fla.i_flush2_270} Frame 1Symbol 252 Button
"price"Symbol 315 MovieClip {game29Flashka_armor_brand_fla.i_flush2_270} Frame 3Symbol 314 EditableText
"price"Symbol 321 MovieClip {game29Flashka_armor_brand_fla.i_razgon1_272} Frame 1Symbol 319 EditableText
"buy"Symbol 321 MovieClip {game29Flashka_armor_brand_fla.i_razgon1_272} Frame 1Symbol 252 Button
"price"Symbol 321 MovieClip {game29Flashka_armor_brand_fla.i_razgon1_272} Frame 3Symbol 320 EditableText
"price"Symbol 329 MovieClip {game29Flashka_armor_brand_fla.i_razgon2_274} Frame 1Symbol 327 EditableText
"buy"Symbol 329 MovieClip {game29Flashka_armor_brand_fla.i_razgon2_274} Frame 1Symbol 252 Button
"price"Symbol 329 MovieClip {game29Flashka_armor_brand_fla.i_razgon2_274} Frame 3Symbol 328 EditableText
"price"Symbol 335 MovieClip {game29Flashka_armor_brand_fla.i_maxpower_276} Frame 1Symbol 333 EditableText
"buy"Symbol 335 MovieClip {game29Flashka_armor_brand_fla.i_maxpower_276} Frame 1Symbol 252 Button
"price"Symbol 335 MovieClip {game29Flashka_armor_brand_fla.i_maxpower_276} Frame 3Symbol 334 EditableText
"price"Symbol 341 MovieClip {game29Flashka_armor_brand_fla.i_x2_278} Frame 1Symbol 339 EditableText
"buy"Symbol 341 MovieClip {game29Flashka_armor_brand_fla.i_x2_278} Frame 1Symbol 252 Button
"price"Symbol 341 MovieClip {game29Flashka_armor_brand_fla.i_x2_278} Frame 3Symbol 340 EditableText
"money_total"Symbol 355 MovieClip {shop_all} Frame 1Symbol 241 EditableText
"again"Symbol 355 MovieClip {shop_all} Frame 1Symbol 243 Button
"i_aero1"Symbol 355 MovieClip {shop_all} Frame 1Symbol 255 MovieClip {game29Flashka_armor_brand_fla.i_aero1_249}
"i_aero2"Symbol 355 MovieClip {shop_all} Frame 1Symbol 261 MovieClip {game29Flashka_armor_brand_fla.i_aero2_252}
"i_aero3"Symbol 355 MovieClip {shop_all} Frame 1Symbol 267 MovieClip {game29Flashka_armor_brand_fla.i_aero3_254}
"i_uskor1"Symbol 355 MovieClip {shop_all} Frame 1Symbol 273 MovieClip {game29Flashka_armor_brand_fla.i_uskor1_256}
"i_uskor2"Symbol 355 MovieClip {shop_all} Frame 1Symbol 279 MovieClip {game29Flashka_armor_brand_fla.i_uskor2_258}
"i_uskor3"Symbol 355 MovieClip {shop_all} Frame 1Symbol 285 MovieClip {game29Flashka_armor_brand_fla.i_uskor3_260}
"i_uskor4"Symbol 355 MovieClip {shop_all} Frame 1Symbol 291 MovieClip {game29Flashka_armor_brand_fla.i_uskor4_262}
"i_wheel1"Symbol 355 MovieClip {shop_all} Frame 1Symbol 297 MovieClip {game29Flashka_armor_brand_fla.i_wheel1_264}
"i_wheel2"Symbol 355 MovieClip {shop_all} Frame 1Symbol 303 MovieClip {game29Flashka_armor_brand_fla.i_wheel2_266}
"i_flush1"Symbol 355 MovieClip {shop_all} Frame 1Symbol 309 MovieClip {game29Flashka_armor_brand_fla.i_flush1_268}
"i_flush2"Symbol 355 MovieClip {shop_all} Frame 1Symbol 315 MovieClip {game29Flashka_armor_brand_fla.i_flush2_270}
"i_razgon1"Symbol 355 MovieClip {shop_all} Frame 1Symbol 321 MovieClip {game29Flashka_armor_brand_fla.i_razgon1_272}
"i_razgon2"Symbol 355 MovieClip {shop_all} Frame 1Symbol 329 MovieClip {game29Flashka_armor_brand_fla.i_razgon2_274}
"i_maxpower"Symbol 355 MovieClip {shop_all} Frame 1Symbol 335 MovieClip {game29Flashka_armor_brand_fla.i_maxpower_276}
"i_x2"Symbol 355 MovieClip {shop_all} Frame 1Symbol 341 MovieClip {game29Flashka_armor_brand_fla.i_x2_278}
"armor"Symbol 355 MovieClip {shop_all} Frame 1Symbol 34 Button
"again"Symbol 389 MovieClip Frame 1Symbol 367 Button
"upgrade"Symbol 389 MovieClip Frame 1Symbol 371 Button
"money"Symbol 389 MovieClip Frame 1Symbol 372 EditableText
"totalmoney"Symbol 389 MovieClip Frame 1Symbol 373 EditableText
"total_length"Symbol 389 MovieClip Frame 1Symbol 375 EditableText
"mainmenu"Symbol 389 MovieClip Frame 1Symbol 379 Button
"gplus"Symbol 389 MovieClip Frame 1Symbol 386 Button
"playmore"Symbol 389 MovieClip Frame 1Symbol 388 Button
"betw"Symbol 390 MovieClip {between} Frame 1Symbol 389 MovieClip
"pitergames"Symbol 442 MovieClip Frame 1Symbol 438 Button
"closing"Symbol 442 MovieClip Frame 1Symbol 441 MovieClip
"palevo"Symbol 444 MovieClip {game29Flashka_armor_brand_fla.cred1_231} Frame 1Symbol 428 MovieClip
"cred"Symbol 444 MovieClip {game29Flashka_armor_brand_fla.cred1_231} Frame 1Symbol 442 MovieClip
"fon"Symbol 444 MovieClip {game29Flashka_armor_brand_fla.cred1_231} Frame 2Symbol 443 MovieClip
"start"Symbol 445 MovieClip {menu_main} Frame 1Symbol 400 Button
"man"Symbol 445 MovieClip {menu_main} Frame 1Symbol 408 MovieClip {game29Flashka_armor_brand_fla.flying_man_m_218}
"credits"Symbol 445 MovieClip {menu_main} Frame 1Symbol 419 Button
"clear"Symbol 445 MovieClip {menu_main} Frame 1Symbol 421 Button
"sound"Symbol 445 MovieClip {menu_main} Frame 1Symbol 424 MovieClip {game29Flashka_armor_brand_fla.mm_b_sound_229}
"viewintro"Symbol 445 MovieClip {menu_main} Frame 1Symbol 426 Button
"cred1"Symbol 445 MovieClip {menu_main} Frame 1Symbol 444 MovieClip {game29Flashka_armor_brand_fla.cred1_231}
"armor"Symbol 445 MovieClip {menu_main} Frame 1Symbol 34 Button
"gplus"Symbol 445 MovieClip {menu_main} Frame 1Symbol 386 Button
"playmore"Symbol 445 MovieClip {menu_main} Frame 1Symbol 388 Button
"sliv1"Symbol 529 MovieClip {hero01} Frame 1Symbol 456 MovieClip {game29Flashka_armor_brand_fla.sliv1_m_180}
"sliv2"Symbol 529 MovieClip {hero01} Frame 1Symbol 460 MovieClip {game29Flashka_armor_brand_fla.sliv2_m_182}
"sliv3"Symbol 529 MovieClip {hero01} Frame 1Symbol 466 MovieClip {game29Flashka_armor_brand_fla.sliv3_m_184}
"accel1"Symbol 529 MovieClip {hero01} Frame 1Symbol 470 MovieClip {game29Flashka_armor_brand_fla.accel1_186}
"accel2"Symbol 529 MovieClip {hero01} Frame 1Symbol 478 MovieClip {game29Flashka_armor_brand_fla.accel2_188}
"accel3"Symbol 529 MovieClip {hero01} Frame 1Symbol 485 MovieClip {game29Flashka_armor_brand_fla.accel3_191}
"accel4"Symbol 529 MovieClip {hero01} Frame 1Symbol 493 MovieClip {game29Flashka_armor_brand_fla.accel4_194}
"combez"Symbol 529 MovieClip {hero01} Frame 1Symbol 498 MovieClip {game29Flashka_armor_brand_fla.combez_197}
"helmet"Symbol 529 MovieClip {hero01} Frame 1Symbol 501 MovieClip {game29Flashka_armor_brand_fla.helmet_198}
"spoiler"Symbol 529 MovieClip {hero01} Frame 1Symbol 504 MovieClip {game29Flashka_armor_brand_fla.spoiler_m_199}
"razgon1"Symbol 529 MovieClip {hero01} Frame 1Symbol 516 MovieClip {game29Flashka_armor_brand_fla.razgon1_200}
"razgon2"Symbol 529 MovieClip {hero01} Frame 1Symbol 527 MovieClip {game29Flashka_armor_brand_fla.razgon2_206}
"palevo"Symbol 529 MovieClip {hero01} Frame 1Symbol 528 MovieClip
"an1"Symbol 746 MovieClip {menu_game} Frame 1Symbol 547 MovieClip {game29Flashka_armor_brand_fla.b1_shit_mm_79}
"an2"Symbol 746 MovieClip {menu_game} Frame 1Symbol 552 MovieClip {game29Flashka_armor_brand_fla.b2_dino_mm_82}
"an3"Symbol 746 MovieClip {menu_game} Frame 1Symbol 557 MovieClip {game29Flashka_armor_brand_fla.b3_cat_mm_85}
"an4"Symbol 746 MovieClip {menu_game} Frame 1Symbol 562 MovieClip {game29Flashka_armor_brand_fla.b4_kachok_mm_88}
"an5"Symbol 746 MovieClip {menu_game} Frame 1Symbol 567 MovieClip {game29Flashka_armor_brand_fla.b5_maz_mm_90}
"an6"Symbol 746 MovieClip {menu_game} Frame 1Symbol 572 MovieClip {game29Flashka_armor_brand_fla.b6_cock_mm_93}
"an7"Symbol 746 MovieClip {menu_game} Frame 1Symbol 576 MovieClip {game29Flashka_armor_brand_fla.b7_obama_mm_96}
"an8"Symbol 746 MovieClip {menu_game} Frame 1Symbol 581 MovieClip {game29Flashka_armor_brand_fla.b8_giraffe_mm_98}
"an9"Symbol 746 MovieClip {menu_game} Frame 1Symbol 585 MovieClip {game29Flashka_armor_brand_fla.b9_rose_mm_101}
"an10"Symbol 746 MovieClip {menu_game} Frame 1Symbol 589 MovieClip {game29Flashka_armor_brand_fla.b10_doc_mm_103}
"an11"Symbol 746 MovieClip {menu_game} Frame 1Symbol 593 MovieClip {game29Flashka_armor_brand_fla.b11_vant_mm_105}
"an12"Symbol 746 MovieClip {menu_game} Frame 1Symbol 601 MovieClip {game29Flashka_armor_brand_fla.b12_applause_mm_107}
"an13"Symbol 746 MovieClip {menu_game} Frame 1Symbol 605 MovieClip {game29Flashka_armor_brand_fla.b13_bleat_mm_112}
"an14"Symbol 746 MovieClip {menu_game} Frame 1Symbol 609 MovieClip {game29Flashka_armor_brand_fla.b14_cat_mm_114}
"an15"Symbol 746 MovieClip {menu_game} Frame 1Symbol 613 MovieClip {game29Flashka_armor_brand_fla.b15_som_mm_116}
"an16"Symbol 746 MovieClip {menu_game} Frame 1Symbol 617 MovieClip {game29Flashka_armor_brand_fla.b16_swat_mm_118}
"an17"Symbol 746 MovieClip {menu_game} Frame 1Symbol 621 MovieClip {game29Flashka_armor_brand_fla.b17_bal_mm_120}
"an18"Symbol 746 MovieClip {menu_game} Frame 1Symbol 625 MovieClip {game29Flashka_armor_brand_fla.b18_candy_mm_122}
"an19"Symbol 746 MovieClip {menu_game} Frame 1Symbol 629 MovieClip {game29Flashka_armor_brand_fla.b19_bob_mm_124}
"an20"Symbol 746 MovieClip {menu_game} Frame 1Symbol 633 MovieClip {game29Flashka_armor_brand_fla.b20_sparta_mm_126}
"an21"Symbol 746 MovieClip {menu_game} Frame 1Symbol 637 MovieClip {game29Flashka_armor_brand_fla.b21_suslik_mm_128}
"an22"Symbol 746 MovieClip {menu_game} Frame 1Symbol 642 MovieClip {game29Flashka_armor_brand_fla.b22_sausage_mm_130}
"an23"Symbol 746 MovieClip {menu_game} Frame 1Symbol 646 MovieClip {game29Flashka_armor_brand_fla.b23_fly_mm_133}
"an24"Symbol 746 MovieClip {menu_game} Frame 1Symbol 650 MovieClip {game29Flashka_armor_brand_fla.b24_guit_mm_135}
"an25"Symbol 746 MovieClip {menu_game} Frame 1Symbol 655 MovieClip {game29Flashka_armor_brand_fla.b25_seal_mm_137}
"an26"Symbol 746 MovieClip {menu_game} Frame 1Symbol 659 MovieClip {game29Flashka_armor_brand_fla.b26_paper_mm_140}
"an27"Symbol 746 MovieClip {menu_game} Frame 1Symbol 663 MovieClip {game29Flashka_armor_brand_fla.b27_clown_mm_142}
"an28"Symbol 746 MovieClip {menu_game} Frame 1Symbol 667 MovieClip {game29Flashka_armor_brand_fla.b28_sove_mm_144}
"an29"Symbol 746 MovieClip {menu_game} Frame 1Symbol 671 MovieClip {game29Flashka_armor_brand_fla.b29_garmon_mm_146}
"an30"Symbol 746 MovieClip {menu_game} Frame 1Symbol 675 MovieClip {game29Flashka_armor_brand_fla.b30_rocket_mm_148}
"newupgrade"Symbol 746 MovieClip {menu_game} Frame 1Symbol 681 MovieClip {game29Flashka_armor_brand_fla.gm_new_up_150}
"accelerator"Symbol 746 MovieClip {menu_game} Frame 1Symbol 686 MovieClip {game29Flashka_armor_brand_fla.gm_new_acce_152}
"len"Symbol 746 MovieClip {menu_game} Frame 1Symbol 690 EditableText
"money"Symbol 746 MovieClip {menu_game} Frame 1Symbol 692 EditableText
"sound"Symbol 746 MovieClip {menu_game} Frame 1Symbol 693 MovieClip {game29Flashka_armor_brand_fla.mm_b_sound_154}
"quality"Symbol 746 MovieClip {menu_game} Frame 1Symbol 699 MovieClip {game29Flashka_armor_brand_fla.mg_quality_155}
"restart"Symbol 746 MovieClip {menu_game} Frame 1Symbol 703 Button
"mushrooms"Symbol 746 MovieClip {menu_game} Frame 1Symbol 705 EditableText
"mainmenu"Symbol 746 MovieClip {menu_game} Frame 1Symbol 707 Button
"arrow"Symbol 746 MovieClip {menu_game} Frame 1Symbol 714 MovieClip {game29Flashka_armor_brand_fla.arrow_159}
"scale"Symbol 746 MovieClip {menu_game} Frame 1Symbol 724 MovieClip {game29Flashka_armor_brand_fla.scale_163}
"tut1"Symbol 746 MovieClip {menu_game} Frame 1Symbol 542 MovieClip {tut10}
"tut2"Symbol 746 MovieClip {menu_game} Frame 1Symbol 729 MovieClip {game29Flashka_armor_brand_fla.tut2_167}
"tut4"Symbol 746 MovieClip {menu_game} Frame 1Symbol 733 MovieClip {game29Flashka_armor_brand_fla.tut4_169}
"tut5"Symbol 746 MovieClip {menu_game} Frame 1Symbol 737 MovieClip {game29Flashka_armor_brand_fla.tut5_171}
"tut6"Symbol 746 MovieClip {menu_game} Frame 1Symbol 740 MovieClip {game29Flashka_armor_brand_fla.tut6_173}
"tut7"Symbol 746 MovieClip {menu_game} Frame 1Symbol 745 MovieClip {game29Flashka_armor_brand_fla.tut7_175}
"but"Symbol 899 MovieClip {final_mov} Frame 1Symbol 891 MovieClip
"next"Symbol 935 MovieClip {game29Flashka_armor_brand_fla.next_all_32} Frame 1Symbol 930 Button
"next2"Symbol 935 MovieClip {game29Flashka_armor_brand_fla.next_all_32} Frame 1Symbol 933 Button
"skip"Symbol 955 MovieClip {comics1} Frame 1Symbol 926 Button
"next_all"Symbol 955 MovieClip {comics1} Frame 1Symbol 935 MovieClip {game29Flashka_armor_brand_fla.next_all_32}

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$Fj$OaMPvKy1gMaNs3qvDwgfp/."




https://swfchan.com/53/264027/info.shtml
Created: 26/4 -2026 11:26:37 Last modified: 26/4 -2026 11:26:37 Server time: 26/04 -2026 14:13:36