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

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

armorgames pipol-smasher-6435.swf

This is the info page for
Flash #267534

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


Text
FAIL

Level:

<p align="left"><font face="Kingthings Organica" size="22" color="#000000" letterSpacing="0.000000" kerning="1">99</font></p>

Scores:

<p align="right"><font face="Kingthings Organica" size="22" color="#000000" letterSpacing="0.000000" kerning="1">99</font></p>

<p align="left"><font face="Kingthings Organica" size="22" color="#000000" letterSpacing="0.000000" kerning="1">99</font></p>

prepare

Lvl select

restart (R)

SUBMIT YOUR SCORE

YOUR NAME

Congratulations!

Error, score not send (no connection?)

L.01

PLAY

PLAY

PLAY

<p align="center"><font face="BadaBoom BB" size="16" color="#000000" letterSpacing="0.000000" kerning="1">100%</font></p>

The time of cars has come. all humans will be eliminated!

pipol smasher

1

Click on Car...

...Kill all humans and...

...stop car by second click!

2

cause more damage for higher scores

Corpses here

Heads here

Vogd, 2010

Vogd, 2010

FULL THROTTLE!

programmer:

dmitriy zaletov

artist:

music:

konstantin jenchur

Dmitry Petyakin (El-Metallico)

reset levels

SMASHHHHHH!!

Lv-1

Lv-2

Lv-3

Lv-4

Lv-5

Lv-6

Lv-7

Lv-8

Lv-9

Lv-10

Lv-11

Lv-12

Lv-13

Lv-14

Lv-15

Lv-16

Lv-17

Lv-18

Lv-19

Lv-20

Lv-21

Lv-22

Lv-23

Lv-24

Lv-25

Lv-26

Lv-27

Lv-28

Lv-29

Lv-30

Classic levels:

Fire Levels:

play

more games

werebox

vehicles

back

score:

<p align="left"><font face="BadaBoom BB" size="18" color="#ffffcc" letterSpacing="0.000000" kerning="1">0000</font></p>

credits

next

Clicks:

<p align="left"><font face="Impact" size="22" color="#000000" letterSpacing="0.000000" kerning="1">99</font></p>

walkthrough

game is locked

<p align="left"><font face="Impact" size="22" color="#000000" letterSpacing="0.000000" kerning="1">99</font></p>

ActionScript [AS3]

Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var radius:Number; public var localPosition:b2Vec2; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_localPosition:b2Vec2; public var m_radius:Number; public function b2CircleShape(_arg1:b2ShapeDef){ m_localPosition = new b2Vec2(); super(_arg1); var _local2:b2CircleDef = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local10:Number; var _local6:b2Mat22 = _arg1.R; var _local7:Number = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); var _local8:Number = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); var _local9:Number = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); var _local11:Number = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; var _local12:Number = (_arg4.p2.x - _arg4.p1.x); var _local13:Number = (_arg4.p2.y - _arg4.p1.y); var _local14:Number = ((_local9 * _local12) + (_local10 * _local13)); var _local15:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local16:Number = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; var _local17:Number = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } public function GetRadius():Number{ return (m_radius); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; _local4 = _arg2.R; var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local8:Number = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number = (m_localPosition.x - _arg1.x); var _local3:Number = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public var b_rigid:int;// = 0 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; _local1.b_rigid = b_rigid; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertices:Array; public var vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; var _local1:int; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } } }//package Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var m_coreVertices:Array; public var m_vertices:Array; private var s_supportVec:b2Vec2; public var m_centroid:b2Vec2; public var m_normals:Array; public var m_obb:b2OBB; public var m_vertexCount:int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local3:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; s_supportVec = new b2Vec2(); m_obb = new b2OBB(); m_vertices = new Array(b2Settings.b2_maxPolygonVertices); m_normals = new Array(b2Settings.b2_maxPolygonVertices); m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; var _local2:b2PolygonDef = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; var _local4:int = _local3; var _local5:int = _local3; _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = (m_vertices[_local5].x - m_vertices[_local4].x); _local7 = (m_vertices[_local5].y - m_vertices[_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(m_obb, m_vertices, m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1); _local5 = _local3; _local9 = m_normals[_local4].x; _local10 = m_normals[_local4].y; _local11 = m_normals[_local5].x; _local12 = m_normals[_local5].y; _local13 = (m_vertices[_local3].x - m_centroid.x); _local14 = (m_vertices[_local3].y - m_centroid.y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y)); _local3++; }; } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB = s_sweptAABB1; var _local5:b2AABB = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } public function GetVertices():Array{ return (m_vertices); } public function GetCoreVertices():Array{ return (m_coreVertices); } public function GetCentroid():b2Vec2{ return (m_centroid); } public function GetOBB():b2OBB{ return (m_obb); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_coreVertices[0])); } public function Centroid(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_centroid)); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local20:Number; var _local21:Number; var _local6:Number = 0; var _local7:Number = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; var _local12:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local13:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; var _local14:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local15:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); var _local18 = -1; var _local19:int; while (_local19 < m_vertexCount) { _local11 = m_vertices[_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = m_normals[_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = m_normals[_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (1 / 3); var _local9:int; while (_local9 < m_vertexCount) { _local10 = m_vertices[_local9]; _local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function GetNormals():Array{ return (m_normals); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local11:Number; _local5 = _arg1.R; var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); var _local8:int; _local4 = m_coreVertices[0]; var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7)); var _local10 = 1; while (_local10 < m_vertexCount) { _local4 = m_coreVertices[_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = m_coreVertices[_local8]; s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (s_supportVec); } public function GetVertexCount():int{ return (m_vertexCount); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22 = s_computeMat; _local3 = _arg2.R; _local4 = m_obb.R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = m_obb.R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); var _local6:b2Mat22 = _local5; _local4 = m_obb.extents; var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local10:Number = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local4:Number; var _local5:Number; m_sweepRadius = 0; var _local3:int; while (_local3 < m_vertexCount) { _local2 = m_coreVertices[_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local7:Number; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Shape { public var m_next:b2Shape; public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var m_filter:b2FilterData; public var m_friction:Number; public var m_isSensor:Boolean; public var m_restitution:Number; public var m_userData; public var m_proxyId:uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; m_proxyId = b2Pair.b2_nullProxy; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetSweepRadius():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function GetRestitution():Number{ return (m_restitution); } public function GetFriction():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); var _local3:b2AABB = s_resetAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; var _local4:b2AABB = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(m_proxyId, _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function IsSensor():Boolean{ return (m_isSensor); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (m_proxyId != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(m_proxyId); m_proxyId = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB = s_proxyAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2ShapeDef { public var friction:Number;// = 0.2 public var isSensor:Boolean;// = false public var density:Number;// = 0 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var type:int; public function b2ShapeDef(){ type = b2Shape.e_unknownShape; filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var value:uint; public var proxyId:uint; public var stabbingCount:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint = value; var _local3:uint = proxyId; var _local4:uint = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.Collision
Section 11
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_bounds:Array; public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_freeProxy:uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var m_queryResultCount:int; public var m_pairManager:b2PairManager; public var m_timeStamp:uint; public var m_queryResults:Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); m_queryResults = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { m_queryResults[_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; var _local4:Number = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; m_freeProxy = 0; m_timeStamp = 1; m_queryResultCount = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local6:uint; var _local7:uint; var _local12:b2Proxy; var _local4:Array = new Array(); var _local5:Array = new Array(); ComputeBounds(_local4, _local5, _arg1); var _local8:Array = [_local6]; var _local9:Array = [_local7]; Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); var _local10:int; var _local11:int; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[m_queryResults[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; IncrementTimeStamp(); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function GetProxy(_arg1:int):b2Proxy{ var _local2:b2Proxy = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function IncrementTimeStamp():void{ var _local1:uint; if (m_timeStamp == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; m_timeStamp = 1; } else { m_timeStamp++; }; } private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local10:b2Bound; var _local12:int; var _local13:int; var _local14:b2Proxy; var _local8:uint = BinarySearch(_arg5, _arg6, _arg3); var _local9:uint = BinarySearch(_arg5, _arg6, _arg4); var _local11:uint = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ IncrementOverlapCount(_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ IncrementOverlapCount(_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number = _arg3.lowerBound.x; var _local5:Number = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); var _local6:Number = _arg3.upperBound.x; var _local7:Number = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; var _local5:uint = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; var _local6:uint = (2 * m_proxyCount); var _local7:Array = new Array(); var _local8:Array = new Array(); ComputeBounds(_local7, _local8, _arg1); var _local9:int; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; var _local10:int; while (_local10 < m_queryResultCount) { m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]); _local10++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; var _local4:b2Proxy = m_proxyPool[_arg1]; var _local5:int = (2 * m_proxyCount); var _local6:int; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; var _local7:int; while (_local7 < m_queryResultCount) { m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]); _local7++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(m_freeProxy); m_freeProxy = _arg1; m_proxyCount--; } public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local4:Array; var _local5:b2Bound; var _local3:int; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local5:int; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function IncrementOverlapCount(_arg1:uint):void{ var _local2:b2Proxy = m_proxyPool[_arg1]; if (_local2.timeStamp < m_timeStamp){ _local2.timeStamp = m_timeStamp; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; m_queryResults[m_queryResultCount] = _arg1; m_queryResultCount++; }; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; var _local12:uint = (2 * m_proxyCount); var _local13:b2Proxy = m_proxyPool[_arg1]; var _local14:b2BoundValues = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); var _local15:b2BoundValues = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if (TestOverlap(_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if (TestOverlap(_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if (TestOverlap(_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if (TestOverlap(_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local6:int; var _local7:b2Bound; var _local4:int; var _local5:int = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _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 b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local17:int; var _local18:uint; var _local34:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; var _local7:int; var _local8:Array = [_local7]; var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; var _local10:int; var _local11:Array = [_local10]; var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; var _local15:b2XForm = new b2XForm(); var _local16:b2XForm = new b2XForm(); var _local19:Number = 0.98; var _local20:Number = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; var _local21:Array = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); var _local22:int = _local13.m_vertexCount; var _local23:Array = _local13.m_vertices; var _local24:b2Vec2 = _local23[_local17]; var _local25:b2Vec2 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25); var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); var _local29:Number = b2Math.b2Dot(_local28, _local25); var _local30:Number = -(b2Math.b2Dot(_local27, _local25)); var _local31:Number = b2Math.b2Dot(_local27, _local37); var _local32:Array = [new ClipVertex(), new ClipVertex()]; var _local33:Array = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); var _local35:int; var _local36:int; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id.features.flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); var _local10:Number = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local18:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = _arg2.m_radius; var _local16:Number = _arg4.m_radius; var _local17:Number = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; var _local19:b2ManifoldPoint = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); var _local20:Number = (0.5 * (_local8 + _local10)); var _local21:Number = (0.5 * (_local9 + _local11)); var _local22:Number = (_local20 - _arg3.position.x); var _local23:Number = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local17:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = _arg4.m_radius; var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; var _local27:b2Vec2 = _local22[_local26]; var _local28:Number = (_local27.x - _local11.x); var _local29:Number = (_local27.y - _local11.y); var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); var _local31:Number = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = 0; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; } } }//package Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var _key:uint; public var features:Features; 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 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); } public function get key():uint{ return (_key); } } }//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var friction:Number; public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local4:Number = (100 * Number.MIN_VALUE); var _local5:int; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; var _local8:Array = s_p1s; var _local9:Array = s_p2s; var _local10:Array = s_points; var _local11:int; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); var _local12:Number = 0; var _local13 = 20; var _local14:int; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:Number = ((_local13 * _local13) + (_local14 * _local14)); var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop); var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); var _local18:Number = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local35:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; var _local14:b2Vec2 = _arg4[2]; var _local15:Number = _local6.x; var _local16:Number = _local6.y; var _local17:Number = _local7.x; var _local18:Number = _local7.y; var _local19:Number = _local8.x; var _local20:Number = _local8.y; var _local21:Number = (_local17 - _local15); var _local22:Number = (_local18 - _local16); var _local23:Number = (_local19 - _local15); var _local24:Number = (_local20 - _local16); var _local25:Number = (_local19 - _local17); var _local26:Number = (_local20 - _local18); var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22))); var _local28:Number = ((_local17 * _local21) + (_local18 * _local22)); var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24))); var _local30:Number = ((_local19 * _local23) + (_local20 * _local24)); var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26))); var _local32:Number = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; var _local33:Number = ((_local21 * _local24) - (_local22 * _local23)); var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); var _local36:Number = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; var _local37:Number = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; var _local38:Number = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); var _local39:Number = (_local36 * _local38); var _local40:Number = (_local37 * _local38); var _local41:Number = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local9:b2Point = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); var _local11:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int = _arg3.m_type; var _local8:int = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local17:Number; var _local6:b2Vec2 = _arg5[0]; var _local7:b2Vec2 = _arg5[1]; var _local8:b2Vec2 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; var _local12:Number = -(_local7.x); var _local13:Number = -(_local7.y); var _local14:Number = (_local6.x - _local7.x); var _local15:Number = (_local6.y - _local7.y); var _local16:Number = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var pointCount:int;// = 0 public var normal:b2Vec2; public var points:Array; public function b2Manifold(){ points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ pointCount = _arg1.pointCount; var _local2:int; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Box2D.Collision
Section 20
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 21
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var proxyId1:uint; public var userData;// = null public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var m_pairBuffer:Array; public var m_hashTable:Array; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_pairBufferCount:int; public var m_broadPhase:b2BroadPhase; public var m_freePair:uint; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; m_pairBuffer = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairBuffer[_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; m_pairBufferCount = 0; } private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function Find(_arg1:uint, _arg2:uint):b2Pair{ var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return (FindHash(_arg1, _arg2, _local3)); } private function ValidateBuffer():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; var _local3:int; var _local4:Array = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < m_pairBufferCount) { _local1 = m_pairBuffer[_local2]; _local5 = Find(_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = m_pairBuffer[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = m_pairBuffer[_local2]; RemovePair(_local1.proxyId1, _local1.proxyId2); _local2++; }; m_pairBufferCount = 0; if (b2BroadPhase.s_validate){ ValidateTable(); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = Find(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } private function RemovePair(_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local5:uint = m_hashTable[_local4]; var _local6:b2Pair; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = m_freePair; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; m_freePair = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; m_callback = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair = AddPair(_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } private function AddPair(_arg1:uint, _arg2:uint):b2Pair{ var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; var _local5:uint = m_freePair; _local4 = m_pairs[_local5]; m_freePair = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function ValidateTable():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Box2D.Collision
Section 24
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var userData;// = null public var lowerBounds:Array; public var upperBounds:Array; public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local5:b2Vec2 = _arg3.p1; var _local6:Number = (_arg3.p2.x - _local5.x); var _local7:Number = (_arg3.p2.y - _local5.y); var _local8:Number = (p2.x - p1.x); var _local9:Number = (p2.y - p1.y); var _local10:Number = _local9; var _local11:Number = -(_local8); var _local12:Number = (100 * Number.MIN_VALUE); var _local13:Number = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local7) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local7:Number = _arg1.m_sweepRadius; var _local8:Number = _arg3.m_sweepRadius; var _local9:Number = _arg2.t0; var _local10:Number = (_arg2.c.x - _arg2.c0.x); var _local11:Number = (_arg2.c.y - _arg2.c0.y); var _local12:Number = (_arg4.c.x - _arg4.c0.x); var _local13:Number = (_arg4.c.y - _arg4.c0.y); var _local14:Number = (_arg2.a - _arg2.a0); var _local15:Number = (_arg4.a - _arg4.a0); var _local16:Number = 0; var _local17:b2Vec2 = s_p1; var _local18:b2Vec2 = s_p2; var _local19 = 20; var _local20:int; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; var _local24:Number = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 28
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var id:b2ContactID; public var v:b2Vec2; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 29
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var _referenceEdge:int; public var _incidentEdge:int; public var _flip:int; public var _incidentVertex:int; public var _m_id:b2ContactID; public function get referenceEdge():int{ return (_referenceEdge); } 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 get incidentEdge():int{ return (_incidentEdge); } public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { import Box2D.Common.*; public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } 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 SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local4:Number; var _local6:Number; _local2 = col1.x; var _local3:Number = col2.x; _local4 = col1.y; var _local5:Number = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number = col1.x; var _local5:Number = col2.x; var _local6:Number = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); 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 b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } 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 b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } 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 b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { import Box2D.Common.*; public class b2Sweep { public var localCenter:b2Vec2; public var a:Number; public var c:b2Vec2; public var a0:Number; public var c0:b2Vec2; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; var _local3:b2Mat22 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { import Box2D.Common.*; public class b2Vec2 { public var y:Number; public var x:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function 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 SetZero():void{ x = 0; y = 0; } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.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 CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { import Box2D.Common.*; public class b2XForm { public var position:b2Vec2; public var R:b2Mat22; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function get color():uint{ return (((_r | (_g << 8)) | (_b << 16))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxProxies:int = 0x0200; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_maxPairs:int = 4096; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local8:b2ManifoldPoint; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); var _local7:b2ContactPoint = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = m0.points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetShape1():b2Shape{ return (m_shape1); } public function GetShape2():b2Shape{ return (m_shape2); } public function GetNext():b2Contact{ return (m_next); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function GetManifolds():Array{ return (null); } public function Update(_arg1:b2ContactListener):void{ var _local2:int = m_manifoldCount; Evaluate(_arg1); var _local3:int = m_manifoldCount; var _local4:b2Body = m_shape1.m_body; var _local5:b2Body = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function InitializeRegisters():void{ var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; var _local3:int = _arg1.m_shape1.m_type; var _local4:int = _arg1.m_shape2.m_type; var _local5:b2ContactRegister = s_registers[_local3][_local4]; var _local6:Function = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; var _local4:int = _arg1.m_type; var _local5:int = _arg2.m_type; var _local6:b2ContactRegister = s_registers[_local4][_local5]; var _local7:Function = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var normal:b2Vec2; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var tangentMass:Number; public var equalizedMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var prev:b2ContactEdge; public var contact:b2Contact; public var next:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactResult { public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var normal:b2Vec2; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2ContactSolver { public var m_constraintCount:int; public var m_constraints:Array; public var m_allocator; public var m_step:b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; m_step = new b2TimeStep(); m_constraints = new Array(); super(); m_step.dt = _arg1.dt; m_step.inv_dt = _arg1.inv_dt; m_step.maxIterations = _arg1.maxIterations; m_allocator = _arg4; m_constraintCount = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; m_constraintCount = (m_constraintCount + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < m_constraintCount) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; var _local9:int; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local3:b2Mat22; var _local4:b2Vec2; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local2:Number = 0; var _local5:int; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; var _local19:int; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function Evaluate(_arg1:b2ContactListener):void{ } override public function GetManifolds():Array{ return (null); } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local6:b2Body = m_shape1.m_body; var _local7:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); var _local8:Array = [false, false]; var _local9:b2ContactPoint = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local8[_local13] == true){ } else { _local5 = m0.points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < m0.pointCount) { if (_local8[_local2]){ } else { _local5 = m0.points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2PolygonContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new b2Manifold(); m_manifolds = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local7:b2ContactPoint; var _local8:int; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); var _local9:Array = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local9[_local13] == true){ } else { _local4 = m0.points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < m0.pointCount) { if (_local9[_local8]){ } else { _local4 = m0.points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_bias:Number; public var m_gamma:Number; public var m_u:b2Vec2; public var m_mass:Number; public var m_impulse:Number; public var m_dampingRatio:Number; public var m_frequencyHz:Number; public var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; m_inv_dt = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); var _local10:Number = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local1 = _local2.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); var _local12:Number = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local13:Number = (-(m_mass) * _local12); m_u.Set(_local9, _local10); var _local14:Number = (_local13 * m_u.x); var _local15:Number = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var length:Number; public var dampingRatio:Number; public var localAnchor2:b2Vec2; public var frequencyHz:Number; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_ground2:b2Body; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var m_revolute2:b2RevoluteJoint; public var m_force:Number; public var m_mass:Number; public var m_prismatic2:b2PrismaticJoint; public var m_ground1:b2Body; public var m_revolute1:b2RevoluteJoint; public var m_prismatic1:b2PrismaticJoint; public var m_constant:Number; public var m_J:b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); var _local2:int = _arg1.joint1.m_type; var _local3:int = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.m_body1; m_body1 = _arg1.joint1.m_body2; if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.m_body1; m_body2 = _arg1.joint2.m_body2; if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local15:Number; var _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; var _local4:b2Body = m_body1; var _local5:b2Body = m_body2; var _local14:Number = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear1.Set(-(_local6), -(_local7)); m_J.angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22 = m_body2.m_xf.R; var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); var _local4:Number = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local4:Number; var _local5:Number; var _local1:Number = 0; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; if (m_revolute1){ _local4 = m_revolute1.GetJointAngle(); } else { _local4 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local5 = m_revolute2.GetJointAngle(); } else { _local5 = m_prismatic2.GetJointTranslation(); }; var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5))); var _local7:Number = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); var _local6:Number = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2)); } } }//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; 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 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular1:Number; public var angular2:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetBody2():b2Body{ return (m_body2); } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function GetNext():b2Joint{ return (m_next); } public function GetType():int{ return (m_type); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetBody1():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2JointDef { public var body2:b2Body; public var type:int; public var userData; public var collideConnected:Boolean; public var body1:b2Body; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; public var joint:b2Joint; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { private var K1:b2Mat22; private var K:b2Mat22; public var m_beta:Number; public var m_mass:b2Mat22; private var K2:b2Mat22; public var m_target:b2Vec2; public var m_gamma:Number; public var m_impulse:b2Vec2; public var m_C:b2Vec2; public var m_localAnchor:b2Vec2; public var m_maxForce:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local3:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); var _local2:Number = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); var _local4:b2Mat22 = m_body2.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); var _local5:Number = m_body2.m_mass; var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6); var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local7:Number; var _local8:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; K1.col1.x = _local7; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local7; K2.col1.x = ((_local8 * _local5) * _local5); K2.col2.x = ((-(_local8) * _local4) * _local5); K2.col1.y = ((-(_local8) * _local4) * _local5); K2.col2.y = ((_local8 * _local4) * _local4); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); var _local9:Number = (_arg1.dt * m_impulse.x); var _local10:Number = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetReactionTorque():Number{ return (0); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_body2; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); var _local15:Number = (_arg1.dt * _local10); var _local16:Number = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var timeStep:Number; public var target:b2Vec2; public var maxForce:Number; public var dampingRatio:Number; public var frequencyHz:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 58
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var m_lowerTranslation:Number; public var m_localXAxis1:b2Vec2; public var m_refAngle:Number; public var m_torque:Number; public var m_motorForce:Number; public var m_enableLimit:Boolean; public var m_angularMass:Number; public var m_maxMotorForce:Number; public var m_localYAxis1:b2Vec2; public var m_force:Number; public var m_motorMass:Number; public var m_upperTranslation:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_limitState:int; public var m_linearMass:Number; public var m_motorJacobian:b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_linearJacobian:b2Jacobian; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_linearJacobian = new b2Jacobian(); m_motorJacobian = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.localAxis1); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_linearJacobian.SetZero(); m_linearMass = 0; m_force = 0; m_angularMass = 0; m_torque = 0; m_motorJacobian.SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local11:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = _local2.m_invMass; var _local5:Number = _local3.m_invMass; var _local6:Number = _local2.m_invI; var _local7:Number = _local3.m_invI; var _local9:Number = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local10:Number = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity); var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); var _local14:Number = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22 = m_body1.m_xf.R; var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); var _local5:Number = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local9:b2Mat22; var _local10:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = _local3.m_invMass; var _local6:Number = _local4.m_invMass; var _local7:Number = _local3.m_invI; var _local8:Number = _local4.m_invI; _local9 = _local3.m_xf.R; var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local12:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local14:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; var _local15:Number = (_local3.m_sweep.c.x + _local11); var _local16:Number = (_local3.m_sweep.c.y + _local12); var _local17:Number = (_local4.m_sweep.c.x + _local13); var _local18:Number = (_local4.m_sweep.c.y + _local14); var _local19:Number = (_local17 - _local15); var _local20:Number = (_local18 - _local16); _local9 = _local3.m_xf.R; var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); var _local23:Number = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local24:Number = (-(m_linearMass) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2)); var _local25:Number = b2Math.b2Abs(_local23); var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); var _local27:Number = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local28:Number = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - m_lowerTranslation); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - m_upperTranslation); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; _local4 = _local2.m_xf.R; var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); var _local17:Number = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); m_linearJacobian.linear1.x = -(_local14); m_linearJacobian.linear1.y = -(_local15); m_linearJacobian.linear2.x = _local14; m_linearJacobian.linear2.y = _local15; m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14))); m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14)); m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2)); m_linearMass = (1 / m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > Number.MIN_VALUE){ m_angularMass = (1 / m_angularMass); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); m_motorJacobian.linear1.x = -(_local18); m_motorJacobian.linear1.y = -(_local19); m_motorJacobian.linear2.x = _local18; m_motorJacobian.linear2.y = _local19; m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18))); m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } public function GetMotorForce():Number{ return (m_motorForce); } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var motorSpeed:Number; public var localAxis1:b2Vec2; public var referenceAngle:Number; public var upperTranslation:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var maxMotorForce:Number; public var lowerTranslation:Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); localAxis1 = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxis1.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); localAxis1 = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var m_limitState1:int; public var m_limitState2:int; public var m_ground:b2Body; public var m_maxLength2:Number; public var m_maxLength1:Number; public var m_limitPositionImpulse1:Number; public var m_limitPositionImpulse2:Number; public var m_force:Number; public var m_constant:Number; public var m_positionImpulse:Number; public var m_state:int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_limitMass1:Number; public var m_limitMass2:Number; public var m_pulleyMass:Number; public var m_u1:b2Vec2; public var m_limitForce1:Number; public var m_limitForce2:Number; public var m_u2:b2Vec2; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_body1.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.length1 + (m_ratio * _arg1.length2)); m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local3:b2Mat22; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local23:Number = 0; if (m_state == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u1.Set((_local12 - _local4), (_local13 - _local5)); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local16 = m_u1.Length(); _local17 = m_u2.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local16)); } else { m_u1.SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local17)); } else { m_u2.SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_pulleyMass) * _local18); _local20 = m_positionImpulse; m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19)); _local19 = (m_positionImpulse - _local20); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local14 = ((-(m_ratio) * _local19) * m_u2.x); _local15 = ((-(m_ratio) * _local19) * m_u2.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); m_u1.Set((_local12 - _local4), (_local13 - _local5)); _local16 = m_u1.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local16)); m_u1.y = (m_u1.y * (1 / _local16)); } else { m_u1.SetZero(); }; _local18 = (m_maxLength1 - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass1) * _local18); _local21 = m_limitPositionImpulse1; m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19)); _local19 = (m_limitPositionImpulse1 - _local21); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local17 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local17)); m_u2.y = (m_u2.y * (1 / _local17)); } else { m_u2.SetZero(); }; _local18 = (m_maxLength2 - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass2) * _local18); _local21 = m_limitPositionImpulse2; m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19)); _local19 = (m_limitPositionImpulse2 - _local21); _local14 = (-(_local19) * m_u2.x); _local15 = (-(_local19) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; var _local20:Number = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_force = 0; } else { m_state = e_atUpperLimit; m_positionImpulse = 0; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitForce1 = 0; } else { m_limitState1 = e_atUpperLimit; m_limitPositionImpulse1 = 0; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitForce2 = 0; } else { m_limitState2 = e_atUpperLimit; m_limitPositionImpulse2 = 0; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.dt) * _local19) * m_u2.x); _local17 = ((-(_arg1.dt) * _local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function GetLength1():Number{ var _local1:b2Vec2 = m_body1.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var maxLength1:Number; public var maxLength2:Number; public var length1:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var ratio:Number; public var length2:Number; public function b2PulleyJointDef(){ groundAnchor1 = new b2Vec2(); groundAnchor2 = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchor1.Set(-1, 1); groundAnchor2.Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); length1 = 0; maxLength1 = 0; length2 = 0; maxLength2 = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_pivotMass:b2Mat22; public var m_motorForce:Number; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; private var K:b2Mat22; public var m_pivotForce:b2Vec2; public var m_enableMotor:Boolean; public var m_referenceAngle:Number; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_upperAngle:Number; public var m_lowerAngle:Number; public var m_maxMotorTorque:Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_pivotForce = new b2Vec2(); m_pivotMass = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_referenceAngle = _arg1.referenceAngle; m_pivotForce.Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local10:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local11:Number = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); var _local12:Number = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); var _local13:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); var _local14:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); var _local15:Number = (_arg1.dt * _local13); var _local16:Number = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return (m_pivotForce); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local6:b2Mat22; var _local25:Number; var _local26:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = 0; _local6 = _local3.m_xf.R; var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local11:Number = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; var _local12:Number = (_local3.m_sweep.c.x + _local7); var _local13:Number = (_local3.m_sweep.c.y + _local8); var _local14:Number = (_local4.m_sweep.c.x + _local10); var _local15:Number = (_local4.m_sweep.c.y + _local11); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); var _local18:Number = _local3.m_invMass; var _local19:Number = _local4.m_invMass; var _local20:Number = _local3.m_invI; var _local21:Number = _local4.m_invI; K1.col1.x = (_local18 + _local19); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local18 + _local19); K2.col1.x = ((_local20 * _local8) * _local8); K2.col2.x = ((-(_local20) * _local7) * _local8); K2.col1.y = ((-(_local20) * _local7) * _local8); K2.col2.y = ((_local20 * _local7) * _local7); K3.col1.x = ((_local21 * _local11) * _local11); K3.col2.x = ((-(_local21) * _local10) * _local11); K3.col1.y = ((-(_local21) * _local10) * _local11); K3.col2.y = ((_local21 * _local10) * _local10); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); var _local22:Number = tImpulse.x; var _local23:Number = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); var _local24:Number = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - m_lowerAngle); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - m_upperAngle); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } public function GetMotorTorque():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; K1.col1.x = (_local10 + _local11); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local10 + _local11); K2.col1.x = ((_local12 * _local7) * _local7); K2.col2.x = ((-(_local12) * _local6) * _local7); K2.col1.y = ((-(_local12) * _local6) * _local7); K2.col2.y = ((_local12 * _local6) * _local6); K3.col1.x = ((_local13 * _local9) * _local9); K3.col2.x = ((-(_local13) * _local8) * _local9); K3.col1.y = ((-(_local13) * _local8) * _local9); K3.col2.y = ((_local13 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Invert(m_pivotMass); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); } else { m_pivotForce.SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var upperAngle:Number; public var enableMotor:Boolean; public var referenceAngle:Number; public var motorSpeed:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var lowerAngle:Number; public var maxMotorTorque:Number; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 64
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_xf:b2XForm; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_sweep:b2Sweep; public var m_mass:Number; public var m_torque:Number; public var m_userData; public var m_I:Number; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_linearDamping:Number; public var m_type:int; public var m_angularDamping:Number; public var m_invI:Number; public var m_shapeCount:int; public var m_gravity_vector; public var m_sleepTime:Number; public var m_jointList:b2JointEdge; public var m_linearVelocity:b2Vec2; public var b_collisions;// = true public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ m_gravity_vector = new b2Vec2(0, 1); m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.isBullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1.massData.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.massData.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.massData.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function SynchronizeTransform():void{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function GetInertia():Number{ return (m_I); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:b2MassData = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); m_I = (m_I + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); var _local5:b2Mat22 = m_xf.R; var _local6:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; var _local7:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function PutToSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (IsFrozen()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); var _local6:Boolean; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function SynchronizeShapes():Boolean{ var _local4:b2Shape; var _local1:b2XForm = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); var _local5:Boolean; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; if (m_world.m_lock == true){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; m_sweep.localCenter.SetV(_arg1.center); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; var _local5:int = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ if (m_world.m_lock == true){ return (null); }; var _local2:b2Shape = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function DestroyShape(_arg1:b2Shape):void{ if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); var _local2:b2Shape = m_shapeList; var _local3:b2Shape; var _local4:Boolean; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = 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 GetWorld():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Contacts.*; public class b2BodyDef { public var angularDamping:Number; public var angle:Number; public var isSleeping:Boolean; public var position:b2Vec2; public var isBullet:Boolean; public var allowSleep:Boolean; public var userData; public var fixedRotation:Boolean; public var linearDamping:Number; public var massData:b2MassData; public function b2BodyDef(){ massData = new b2MassData(); position = new b2Vec2(); super(); massData.center.SetZero(); massData.mass = 0; massData.I = 0; userData = null; position.Set(0, 0); angle = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; isSleeping = false; fixedRotation = false; isBullet = false; } } }//package Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 67
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((((_local3.b_rigid == 1)) && ((_local4.b_rigid == 2)))) || ((((_local4.b_rigid == 1)) && ((_local3.b_rigid == 2)))))){ return (false); }; if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 68
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var m_destroyImmediate:Boolean; public var m_nullContact:b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_nullContact = new b2NullContact(); super(); m_world = null; m_destroyImmediate = false; } override public function PairRemoved(_arg1, _arg2, _arg3):void{ if (_arg3 == null){ return; }; var _local4:b2Contact = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; var _local2:b2Shape = _arg1.m_shape1; var _local3:b2Shape = _arg1.m_shape2; var _local4:int = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape1; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; var _local5:b2Body = _local2.m_body; var _local6:b2Body = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape = (_arg1 as b2Shape); var _local4:b2Shape = (_arg2 as b2Shape); var _local5:b2Body = _local3.m_body; var _local6:b2Body = _local4.m_body; if ((((_local5.b_collisions == false)) || ((_local6.b_collisions == false)))){ return (m_nullContact); }; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (m_nullContact); }; if (_local3.m_body == _local4.m_body){ return (m_nullContact); }; if (_local6.IsConnected(_local5)){ return (m_nullContact); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (m_nullContact); }; var _local7:b2Contact = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (m_nullContact); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } public function Collide():void{ var _local2:b2Body; var _local3:b2Body; var _local1:b2Contact = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; public class b2DebugDraw { public var m_xformScale:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_alpha:Number;// = 1 public var m_drawFlags:uint; public var m_lineThickness:Number;// = 1 public var m_drawScale:Number;// = 1 public var m_sprite:Sprite; public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_jointBit:uint = 2; public function b2DebugDraw(){ m_drawFlags = 0; } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } 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 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 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 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 GetFlags():uint{ return (m_drawFlags); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } } }//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; public class b2DestructionListener { public function SayGoodbyeShape(_arg1:b2Shape):void{ } public function SayGoodbyeJoint(_arg1:b2Joint):void{ } } }//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var m_listener:b2ContactListener; public var m_positionIterationCount:int; public var m_bodyCapacity:int; public var m_bodies:Array; public var m_joints:Array; public var m_jointCapacity:int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; m_joints = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { m_joints[_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } public function Report(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (m_listener == null){ return; }; var _local4:int; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; m_listener.Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:*; var _local10:int; var _local11:Boolean; var _local12:Boolean; var _local13:Boolean; var _local14:Number; var _local15:Number; var _local16:Number; _local8 = new b2Vec2(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local8.x = (_arg2.x * _local6.m_gravity_vector.x); _local8.y = (_arg2.y * _local6.m_gravity_vector.y); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_local8.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_local8.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; var _local9:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local9.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local9.SolveVelocityConstraints(); _local10 = 0; while (_local10 < m_jointCount) { _local7 = m_joints[_local10]; _local7.SolveVelocityConstraints(_arg1); _local10++; }; _local5++; }; _local9.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local11 = _local9.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local12 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local13 = _local7.SolvePositionConstraints(); _local12 = ((_local12) && (_local13)); _local5++; }; if (((_local11) && (_local12))){ break; }; m_positionIterationCount++; }; }; Report(_local9.m_constraints); if (_arg4){ _local14 = Number.MAX_VALUE; _local15 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local16 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local14 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local16)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local15)))){ _local6.m_sleepTime = 0; _local14 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local14 = b2Math.b2Min(_local14, _local6.m_sleepTime); }; }; _local5++; }; if (_local14 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local5:b2Body; var _local6:Boolean; var _local3:b2ContactSolver = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; var _local4:Number = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } } }//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var m_inv_dt0:Number; public var m_boundaryListener:b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var m_allowSleep:Boolean; public var m_broadPhase:b2BroadPhase; public var m_destructionListener:b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var m_groundBody:b2Body; public var m_contactCount:int; public var m_debugDraw:b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var m_bodyList:b2Body; public var m_stackAllocator; public var m_jointList:b2Joint; public var m_gravity:b2Vec2; public var m_contactManager:b2ContactManager; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ m_contactManager = new b2ContactManager(); super(); m_destructionListener = null; m_boundaryListener = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg3; m_gravity = _arg2; m_lock = false; m_inv_dt0 = 0; m_contactManager.m_world = this; m_broadPhase = new b2BroadPhase(_arg1, m_contactManager); var _local4:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.m_body1; var _local3:b2Body = _arg1.m_body2; var _local4:b2XForm = _local2.m_xf; var _local5:b2XForm = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchor1(); var _local9:b2Vec2 = _arg1.GetAnchor2(); var _local10:b2Color = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } public function Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetProxyCount():int{ return (m_broadPhase.m_proxyCount); } public function DrawDebugData():void{ var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local11:b2XForm; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); var _local1:uint = m_debugDraw.GetFlags(); var _local7:b2Vec2 = new b2Vec2(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Color = new b2Color(0, 0, 0); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { DrawJoint(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); m_debugDraw.DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; var _local3:b2Shape = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; var _local5:b2Color = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ m_debugDraw.DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; m_debugDraw.DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; m_debugDraw.DrawPolygon(_local14, _local12, _local5); }; break; }; } public function GetContactCount():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; var _local3:b2Island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; var _local4:b2Contact = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; var _local5:b2Joint = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; var _local6:int = m_bodyCount; var _local7:Array = new Array(_local6); var _local8:b2Body = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array = new Array(_arg3); var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); var _local6:int; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); var _local9:int = m_bodyCount; var _local10:Array = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function GetBodyList():b2Body{ return (m_bodyList); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function Validate():void{ m_broadPhase.Validate(); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local3:b2Body; var _local4:b2Shape; var _local2:b2Joint = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local5:b2Body; var _local6:b2Shape; if (_arg1 == null){ return; }; var _local2:Boolean = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; var _local3:b2Body = _arg1.m_body1; var _local4:b2Body = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ if (m_lock == true){ return (null); }; var _local2:b2Body = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ m_lock = true; var _local3:b2TimeStep = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (m_inv_dt0 * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; DrawDebugData(); m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } } }//package Box2D.Dynamics
Section 75
//bblogo_4 (bubblebox_submit_score_fla.bblogo_4) package bubblebox_submit_score_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.external.*; public dynamic class bblogo_4 extends MovieClip { public function bblogo_4(){ addFrameScript(0, frame1); } function frame1(){ this.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ navigateToURL(new URLRequest("http://www.bubblebox.com/"), "_blank"); }); } } }//package bubblebox_submit_score_fla
Section 76
//bubblebox_saving_5 (bubblebox_submit_score_fla.bubblebox_saving_5) package bubblebox_submit_score_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.external.*; public dynamic class bubblebox_saving_5 extends MovieClip { public function bubblebox_saving_5(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package bubblebox_submit_score_fla
Section 77
//bubblebox_send_btn_2 (bubblebox_submit_score_fla.bubblebox_send_btn_2) package bubblebox_submit_score_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.external.*; public dynamic class bubblebox_send_btn_2 extends MovieClip { public function bubblebox_send_btn_2(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.mouseChildren = false; this.useHandCursor = true; this.buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){ _arg1.currentTarget.gotoAndStop(2); }); this.addEventListener(MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){ _arg1.currentTarget.gotoAndStop(1); }); } } }//package bubblebox_submit_score_fla
Section 78
//bubblebox_try_again_10 (bubblebox_submit_score_fla.bubblebox_try_again_10) package bubblebox_submit_score_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.external.*; public dynamic class bubblebox_try_again_10 extends MovieClip { public function bubblebox_try_again_10(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.mouseChildren = false; this.useHandCursor = true; this.buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){ _arg1.currentTarget.gotoAndStop(2); }); this.addEventListener(MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){ _arg1.currentTarget.gotoAndStop(1); }); } } }//package bubblebox_submit_score_fla
Section 79
//bubblebox_view_scores_8 (bubblebox_submit_score_fla.bubblebox_view_scores_8) package bubblebox_submit_score_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.external.*; public dynamic class bubblebox_view_scores_8 extends MovieClip { public function bubblebox_view_scores_8(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.mouseChildren = false; this.useHandCursor = true; this.buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, function (_arg1:MouseEvent){ _arg1.currentTarget.gotoAndStop(2); }); this.addEventListener(MouseEvent.MOUSE_OUT, function (_arg1:MouseEvent){ _arg1.currentTarget.gotoAndStop(1); }); } } }//package bubblebox_submit_score_fla
Section 80
//ArmorButton (gui.ArmorButton) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class ArmorButton extends SimpleButton { public function ArmorButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:URLRequest = new URLRequest("http://www.armorgames.com"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 81
//ArmorButton2 (gui.ArmorButton2) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class ArmorButton2 extends SimpleButton { public function ArmorButton2(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:URLRequest = new URLRequest("http://www.armorgames.com"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 82
//BonusStar (gui.BonusStar) package gui { import flash.display.*; import flash.events.*; public dynamic class BonusStar extends MovieClip { var scores;// = 0 var dspeed;// = 0.6 var speed;// = 1 var m_px;// = 279 var m_py;// = 18 public function BonusStar(_arg1, _arg2, _arg3){ addFrameScript(24, frame25); scores = _arg3; x = _arg1; y = _arg2; addEventListener(Event.ENTER_FRAME, Update); main.m_stage.addChild(this); mouseEnabled = false; main.m_scores = (main.m_scores + scores); if (main.m_scores > main.mySO.data.Saves.m_scores[(main.m_stage_number - 1)]){ main.mySO.data.Saves.m_scores[(main.m_stage_number - 1)] = main.m_scores; }; if (main.m_scores >= main.m_scores_data.m_data[main.m_stage_number]){ if (main.LevelNumberClip){ if (main.LevelNumberClip.bg.visible == false){ main.m_main.GoldSound.play(); }; main.LevelNumberClip.bg.visible = true; }; }; } public function Update(_arg1){ var _local3:*; var _local2:* = (m_px - x); _local3 = (m_py - y); var _local4:* = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); if (_local4 < speed){ Delete(); return; }; _local2 = (_local2 / _local4); _local3 = (_local3 / _local4); x = (x + (_local2 * speed)); y = (y + (_local3 * speed)); speed = (speed + dspeed); } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } function frame25(){ stop(); } } }//package gui
Section 83
//FailLogo (gui.FailLogo) package gui { import flash.display.*; public dynamic class FailLogo extends MovieClip { } }//package gui
Section 84
//GameMenu (gui.GameMenu) package gui { import flash.display.*; import flash.events.*; public dynamic class GameMenu extends MovieClip { var m_py;// = 456 public function GameMenu(){ y = 506; addEventListener(Event.ENTER_FRAME, Update); main.m_main.addChild(this); } public function Hide(){ } public function Update(_arg1){ if (Math.abs((y - m_py)) > 1){ y = (y + ((m_py - y) * 0.2)); }; if (main.b_finish){ Hide(); } else { Show(); }; } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } public function Show(){ m_py = 456; } } }//package gui
Section 85
//GMButtonMenu (gui.GMButtonMenu) package gui { import flash.display.*; import flash.events.*; public dynamic class GMButtonMenu extends SimpleButton { public function GMButtonMenu(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ removeEventListener(MouseEvent.MOUSE_DOWN, onPress); main.FreeAll(); main.m_main.GameMenu.Delete(); main.m_main.GameMenu = null; main.m_main.WinMenu.Delete(); main.m_main.WinMenu = null; main.m_main.SoundButton.Delete(); main.m_main.SoundButton = null; main.m_WalkClip.Delete(); main.m_WalkClip = null; main.m_main.gotoAndStop("Menu"); } } }//package gui
Section 86
//GMButtonRestart (gui.GMButtonRestart) package gui { import flash.display.*; import flash.events.*; public dynamic class GMButtonRestart extends SimpleButton { public function GMButtonRestart(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ main.RestartLevel(); } } }//package gui
Section 87
//GMButtonWalk (gui.GMButtonWalk) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class GMButtonWalk extends SimpleButton { public function GMButtonWalk(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ if (main.b_mochi){ MochiBot.track(main.m_main, "cb55ed4c"); }; var _local2:URLRequest = new URLRequest("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1835&subid=walkthrough&action=walkthrough_1835"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 88
//LevelNumber (gui.LevelNumber) package gui { import flash.display.*; import flash.events.*; public dynamic class LevelNumber extends MovieClip { public function LevelNumber(){ x = 10; main.m_main.addChild(this); this.bg.visible = false; var _local1:String = (main.m_stage_name.charAt((main.m_stage_name.length - 2)) + main.m_stage_name.charAt((main.m_stage_name.length - 1))); this.level_number_text.text = _local1; main.m_stage_number = int(_local1); } } }//package gui
Section 89
//LevelsButtonsClip (gui.LevelsButtonsClip) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class LevelsButtonsClip extends MovieClip { public function LevelsButtonsClip(){ var _local2:*; super(); x = main.m_level_menu_px; y = main.m_level_menu_py; addEventListener(Event.ENTER_FRAME, Update); this.PlayButton.addEventListener(MouseEvent.MOUSE_DOWN, pressPlayButton); this.BackButton.addEventListener(MouseEvent.MOUSE_DOWN, pressBackButton); this.CreditsButton.addEventListener(MouseEvent.MOUSE_DOWN, pressCreditsButton); this.BackCreditsButton.addEventListener(MouseEvent.MOUSE_DOWN, pressBackCreditsButton); this.MoreGamesButton.addEventListener(MouseEvent.MOUSE_DOWN, pressMoreGamesButton); this.ResetLevelsButton.addEventListener(MouseEvent.MOUSE_DOWN, pressResetLevelsButton); var _local1:* = 0; _local2 = 0; while (_local2 < 30) { _local1 = (_local1 + main.mySO.data.Saves.m_scores[_local2]); _local2++; }; trace(_local1); this.Scores.TText.text = _local1; } public function pressPlayButton(_arg1){ main.m_level_menu_px = 0; main.m_level_menu_py = 0; } public function pressBackCreditsButton(_arg1){ main.m_level_menu_px = 640; main.m_level_menu_py = 0; } public function Update(_arg1){ var _local2:* = main.m_level_menu_px; var _local3:* = main.m_level_menu_py; if (Math.abs((y - _local3)) > 1){ y = (y + ((_local3 - y) * 0.2)); }; if (Math.abs((x - _local2)) > 1){ x = (x + ((_local2 - x) * 0.2)); }; } public function pressCreditsButton(_arg1){ main.m_level_menu_px = 640; main.m_level_menu_py = -480; } public function pressMoreGamesButton(_arg1){ if (main.b_mochi){ MochiBot.track(main.m_main, "e9daa994"); }; var _local2:URLRequest = new URLRequest("http://armorgames.com"); navigateToURL(_local2, "_blank"); } public function pressBackButton(_arg1){ main.m_level_menu_px = 640; main.m_level_menu_py = 0; } public function pressResetLevelsButton(_arg1){ main.ResetLevels(); } } }//package gui
Section 90
//LevelScores (gui.LevelScores) package gui { import flash.events.*; public dynamic class LevelScores { public var m_data; public function LevelScores(){ m_data = new Array(); Init(); } public function Init(){ m_data.push(0); m_data.push(210); m_data.push(900); m_data.push(380); m_data.push(100); m_data.push(110); m_data.push(650); m_data.push(500); m_data.push(400); m_data.push(400); m_data.push(720); m_data.push(950); m_data.push(200); m_data.push(10); m_data.push(650); m_data.push(100); m_data.push(600); m_data.push(720); m_data.push(950); m_data.push(1550); m_data.push(1340); m_data.push(420); m_data.push(900); m_data.push(580); m_data.push(900); m_data.push(1650); m_data.push(700); m_data.push(1200); m_data.push(1700); m_data.push(1200); m_data.push(400); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); m_data.push(0); } } }//package gui
Section 91
//MenuWalkClip (gui.MenuWalkClip) package gui { import flash.display.*; import flash.events.*; public dynamic class MenuWalkClip extends MovieClip { var m_py;// = -34 var counter;// = 0 public function MenuWalkClip(){ y = -34; counter = 0; addEventListener(Event.ENTER_FRAME, Update); main.m_main.addChild(this); main.m_WalkClip = this; } public function Hide(){ m_py = -34; counter = 0; } public function Update(_arg1){ if (Math.abs((y - m_py)) > 1){ y = (y + ((m_py - y) * 0.2)); }; if (main.b_finish){ Hide(); }; } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } public function Show(){ } } }//package gui
Section 92
//NextButton (gui.NextButton) package gui { import flash.display.*; import flash.events.*; public dynamic class NextButton extends SimpleButton { public function NextButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:String = main.m_stage_name; _local2 = _local2.substr(6, 8); _local2 = (int(_local2) + 1); if (_local2 > 30){ this.visible = false; removeEventListener(MouseEvent.MOUSE_DOWN, onPress); main.FreeAll(); main.m_main.GameMenu.Delete(); main.m_main.GameMenu = null; main.m_main.WinMenu.Delete(); main.m_main.WinMenu = null; main.m_main.SoundButton.Delete(); main.m_main.SoundButton = null; main.m_WalkClip.Delete(); main.m_WalkClip = null; main.m_main.gotoAndStop("Menu"); return; }; if (_local2 < 10){ main.m_stage_name = ("stage_0" + _local2); } else { main.m_stage_name = ("stage_" + _local2); }; main.FreeAll(); main.CreateStage(main.m_stage_name); parent.visible = false; } } }//package gui
Section 93
//Preloader (gui.Preloader) package gui { import flash.display.*; import flash.events.*; public dynamic class Preloader extends MovieClip { var max_mx;// = 618 var px;// = -370 var bytesloaded; var bytestotal; var pmx;// = -10 var max_x;// = 300 public function Preloader(){ addFrameScript(0, frame1); addEventListener(Event.ENTER_FRAME, Update); this.BPlay.addEventListener(MouseEvent.MOUSE_DOWN, onPressPlay); this.BPlay.visible = false; } function frame1(){ stop(); } public function Update(_arg1){ bytestotal = stage.loaderInfo.bytesTotal; bytesloaded = stage.loaderInfo.bytesLoaded; var _local2:int = ((bytesloaded * 100) / bytestotal); if (((((this.Man) && (this.Man.Procents))) && (this.Man.Procents.TText))){ this.Man.Procents.TText.text = (String(_local2) + "%"); }; px = (-515 + ((515 + max_x) * (_local2 / 100))); pmx = (-10 + ((10 + max_mx) * (_local2 / 100))); UpdateParavoz(); if (bytesloaded >= bytestotal){ this.BPlay.visible = true; }; } private function onPressPlay(_arg1){ trace("Ok"); if (bytesloaded >= bytestotal){ if (main.b_locked){ main.m_main.gotoAndStop("Locked"); } else { main.m_main.gotoAndStop("Splash"); }; }; } public function UpdateParavoz(){ var _local1:*; if ((px - this.Paravoz.x) > 0.01){ _local1 = ((px - this.Paravoz.x) * 0.1); }; if (_local1 > 3.6){ _local1 = 3.6; }; this.Paravoz.x = (this.Paravoz.x + _local1); if ((pmx - this.Man.x) > 0.01){ _local1 = ((pmx - this.Man.x) * 0.1); }; if (_local1 > 3){ _local1 = 3; }; this.Man.x = (this.Man.x + _local1); } } }//package gui
Section 94
//SoundButton (gui.SoundButton) package gui { import flash.display.*; import flash.events.*; import flash.media.*; public dynamic class SoundButton extends MovieClip { public function SoundButton(){ addFrameScript(0, frame1); if (main.b_sound == false){ this.gotoAndStop(2); }; addEventListener(MouseEvent.MOUSE_DOWN, onPress); main.m_main.addChild(this); } public function Delete(){ if (parent){ parent.removeChild(this); }; } private function onPress(_arg1){ var _local2:SoundTransform; var _local3:SoundTransform; if (main.b_sound){ this.gotoAndStop(2); main.b_sound = false; _local2 = new SoundTransform(0, 0); SoundMixer.soundTransform = _local2; } else { this.gotoAndStop(1); main.b_sound = true; _local3 = new SoundTransform(1, 0); SoundMixer.soundTransform = _local3; }; } function frame1(){ stop(); } } }//package gui
Section 95
//SplashButton (gui.SplashButton) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class SplashButton extends SimpleButton { public function SplashButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ if (main.b_mochi){ MochiBot.track(main.m_main, "e9daa994"); }; var _local2:URLRequest = new URLRequest("http://armorgames.com"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 96
//StageButton (gui.StageButton) package gui { import flash.display.*; import flash.events.*; public dynamic class StageButton extends SimpleButton { public function StageButton(){ var _local3:*; var _local4:*; var _local5:*; super(); var _local1:String = (name.charAt((name.length - 2)) + name.charAt((name.length - 1))); var _local2:* = int(_local1); if (main.mySO.data.Saves.m_levels[(_local2 - 1)] == 0){ alpha = 0.5; mouseEnabled = false; _local3 = new RedLineClip(); _local3.alpha = 0.5; _local3.x = x; _local3.y = y; _local3.rotation = rotation; parent.addChild(_local3); } else { addEventListener(MouseEvent.MOUSE_DOWN, onPress); }; if (main.mySO.data.Saves.m_levels[(_local2 - 1)] == 2){ if (main.mySO.data.Saves.m_scores[(_local2 - 1)] >= main.m_scores_data.m_data[_local2]){ _local5 = new LevelGoodClip(); _local5.x = x; _local5.y = y; _local5.rotation = rotation; parent.addChild(_local5); }; _local4 = new GreenBarClip(); _local4.alpha = 0.5; _local4.x = x; _local4.y = y; _local4.rotation = rotation; _local4.mouseEnabled = false; parent.addChild(_local4); }; } private function onPress(_arg1){ root.gotoAndStop("Game"); main.CreateStage(name); } } }//package gui
Section 97
//VehiclesButton (gui.VehiclesButton) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class VehiclesButton extends SimpleButton { public function VehiclesButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ if (main.b_mochi){ MochiBot.track(main.m_main, "5d1434e4"); }; var _local2:URLRequest = new URLRequest("http://armorgames.com/play/5879/vehicles"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 98
//VogdButton (gui.VogdButton) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class VogdButton extends SimpleButton { public function VogdButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ var _local2:URLRequest = new URLRequest("http://www.astargames.ru"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 99
//WereboxButton (gui.WereboxButton) package gui { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class WereboxButton extends SimpleButton { public function WereboxButton(){ addEventListener(MouseEvent.MOUSE_DOWN, onPress); } private function onPress(_arg1){ if (main.b_mochi){ MochiBot.track(main.m_main, "fddd81bc"); }; var _local2:URLRequest = new URLRequest("http://armorgames.com/play/5326/werebox"); navigateToURL(_local2, "_blank"); } } }//package gui
Section 100
//WinMenu (gui.WinMenu) package gui { import flash.display.*; import flash.events.*; public dynamic class WinMenu extends MovieClip { var m_py;// = 506 public function WinMenu(){ visible = false; y = 506; m_py = 506; addEventListener(Event.ENTER_FRAME, Update); main.m_main.addChild(this); } public function Hide(){ m_py = 506; visible = false; } public function Update(_arg1){ if (Math.abs((y - m_py)) > 1){ y = (y + ((m_py - y) * 0.2)); }; if (main.b_finish){ Show(); } else { Hide(); }; } public function Delete(){ removeEventListener(Event.ENTER_FRAME, Update); parent.removeChild(this); } public function Show(){ m_py = 456; visible = true; main.m_main.addChild(main.m_main.WinMenu); } } }//package gui
Section 101
//Box_01 (Objects.Box_01) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Box_01 extends Box_Base { public function Box_01(){ m_friction = 0.5; m_density = 0.02; } } }//package Objects
Section 102
//Box_02 (Objects.Box_02) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Box_02 extends Box_Base { public function Box_02(){ m_friction = 0; m_density = 0.02; } } }//package Objects
Section 103
//Box_Base (Objects.Box_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Box_Base extends MovieClip { public var cart;// = 0 public var p1:Object; public var p3:Object; public var p2:Object; public var p4:Object; public var m_friction; public var m_density; public function Box_Base(){ main.AddObject(this, 5); } public function Update(){ if ((((cart == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (cart){ x = (cart.GetPosition().x * main.m_physScale); y = (cart.GetPosition().y * main.m_physScale); rotation = ((cart.GetAngle() / Math.PI) * 180); }; } public function CreatePhysBody(){ var _local2:b2BodyDef; var _local3:b2Body; var _local1:b2PolygonDef = new b2PolygonDef(); _local2 = new b2BodyDef(); _local1.density = m_density; _local1.friction = m_friction; _local1.restitution = 0.1; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((rotation / 180) * Math.PI); rotation = 0; _local1.SetAsBox(((width / 2) / main.m_physScale), ((height / 2) / main.m_physScale)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); cart = _local3; cart.m_userData = new Object(); cart.m_userData.m_type = int(1); cart.m_userData.m_body = this; } public function Destroy(){ main.m_world.DestroyBody(cart); } } }//package Objects
Section 104
//Box_lvl5 (Objects.Box_lvl5) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Box_lvl5 extends Box_Base { public function Box_lvl5(){ m_friction = 0.5; m_density = 0.02; } } }//package Objects
Section 105
//Box_lvl6 (Objects.Box_lvl6) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Box_lvl6 extends Box_Base { public function Box_lvl6(){ m_friction = 0.5; m_density = 0.02; } } }//package Objects
Section 106
//BoxSleep (Objects.BoxSleep) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class BoxSleep extends MovieClip { public var p1:Object; public var p3:Object; public var p2:Object; public var p4:Object; public var m_type;// = 0 public var m_phys_body;// = 0 public function BoxSleep(){ visible = false; main.AddObject(this); } public function CreatePhysBody(){ var _local1:b2PolygonDef; var _local2:b2BodyDef; var _local3:b2Body; _local1 = new b2PolygonDef(); _local2 = new b2BodyDef(); _local1.density = 0; _local1.friction = 0.5; _local1.restitution = 0.1; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((rotation / 180) * Math.PI); rotation = 0; _local1.SetAsBox(((width / main.m_physScale) / 2), ((height / main.m_physScale) / 2)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); m_phys_body = _local3; } public function Destroy(){ if (parent){ parent.removeChild(this); }; main.m_world.DestroyBody(m_phys_body); } public function Update(){ if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; } } }//package Objects
Section 107
//Bridge_Base (Objects.Bridge_Base) package Objects { import flash.display.*; import flash.events.*; public dynamic class Bridge_Base extends MovieClip { var m_g;// = 2 var parts:Array; var counter;// = 90 public function Bridge_Base():void{ parts = new Array(); super(); } public function Destroy(){ InitParts(); addEventListener(Event.ENTER_FRAME, Update); } public function Update(_arg1){ var _local3:*; if (counter <= 0){ removeEventListener(Event.ENTER_FRAME, Update); this.parent.removeChild(this); return; }; counter--; alpha = (alpha - (1 / counter)); var _local2:* = 0; while (_local2 < this.numChildren) { _local3 = this.getChildAt(_local2); _local3.x = (_local3.x + parts[_local2].m_dx); _local3.y = (_local3.y + (parts[_local2].m_dy + m_g)); _local2++; }; m_g = (m_g + 0.1); } public function InitParts(){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local1:* = 0; while (_local1 < this.numChildren) { _local2 = this.getChildAt(_local1); _local3 = 4; _local4 = ((Math.random() * _local3) - (_local3 / 2)); _local5 = ((Math.random() * _local3) - (_local3 / 2)); _local6 = ((Math.random() * 10) - 5); parts.push({m_dx:_local4, m_dy:_local5, m_da:_local6}); _local1++; }; } } }//package Objects
Section 108
//Car_Base (Objects.Car_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.display.*; import flash.events.*; public dynamic class Car_Base extends MovieClip { public var ibox; private var ps; private var pw; public var b_tormoza;// = true private var box; public var m_sound;// = 0 public var b_breaks;// = true public var m_sound_type;// = 0 public var bw; private var spring_length; public var m_force;// = 4.5 public var m_dens;// = 0.2 public var cart:b2Body; public var b_big;// = false public var b_back;// = false public var b_bad;// = false public var iw; private var pa; public var m_group_num; public var m_frict;// = 1.5 private var pm; public function Car_Base(_arg1=0, _arg2=0):void{ pw = new Array(); pa = new Array(); pm = new Array(); ps = new Array(); bw = new Array(); iw = new Array(); super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ x = _arg1; y = _arg2; }; m_group_num = main.g_num; main.g_num--; } public function FirstInit(_arg1){ var _local4:*; var _local5:*; var _local6:*; var _local7:*; box = _arg1.Box; box.visible = false; var _local2:* = 1; var _local3:* = true; while (_local3) { _local4 = ("Wheel" + _local2); _local5 = ("IWheel" + _local2); _local6 = this[_local4]; _local7 = this[_local5]; if ((((_local6 == undefined)) || ((_local7 == undefined)))){ _local3 = false; } else { _local6.visible = false; bw.push(_local6); iw.push(_local7); _local2++; }; }; ibox = _arg1.IBox; Init(); main.AddObject(this, 1); } private function Init():void{ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:int; var _local10:b2Body; var _local11:b2BodyDef; var _local12:b2PolygonDef; var _local13:b2CircleDef; var _local14:b2RevoluteJointDef; var _local15:b2PrismaticJointDef; _local3 = box.width; _local4 = box.height; _local11 = new b2BodyDef(); _local12 = new b2PolygonDef(); _local12.density = m_dens; _local12.friction = 0.5; _local12.restitution = 0.2; _local12.filter.groupIndex = m_group_num; _local11.position.Set(((x + box.x) / main.m_physScale), ((y + box.y) / main.m_physScale)); _local11.angle = ((rotation / 180) * Math.PI); _local12.SetAsBox(((_local3 / 2) / main.m_physScale), ((_local4 / 2) / main.m_physScale)); cart = main.m_world.CreateBody(_local11); cart.m_userData = new Object(); cart.m_userData.m_type = int(1); cart.m_userData.m_body = this; cart.CreateShape(_local12); cart.SetMassFromShapes(); _local12.density = 1; _local12.friction = 0.5; _local9 = 0; while (_local9 < bw.length) { _local1 = (bw[_local9].width / 2); _local2 = (bw[_local9].width / 2); spring_length = ((bw[_local9].y - box.y) + (_local4 / 2)); _local11.position.Set(((x + bw[_local9].x) / main.m_physScale), (((y + bw[_local9].y) - (_local1 / 2)) / main.m_physScale)); _local11.angle = (Math.PI / 2); _local6 = main.m_world.CreateBody(_local11); _local12.SetAsBox((5 / main.m_physScale), (5 / main.m_physScale)); _local6.CreateShape(_local12); _local6.SetMassFromShapes(); _local15 = new b2PrismaticJointDef(); _local15.Initialize(cart, _local6, _local6.GetWorldCenter(), new b2Vec2(0, 1)); _local15.lowerTranslation = (-(spring_length) / main.m_physScale); _local15.upperTranslation = (spring_length / main.m_physScale); _local15.enableLimit = true; _local15.enableMotor = true; _local8 = (main.m_world.CreateJoint(_local15) as b2PrismaticJoint); _local13 = new b2CircleDef(); _local13.radius = (_local1 / main.m_physScale); _local13.density = m_dens; _local13.friction = m_frict; _local13.restitution = 0.2; _local13.filter.groupIndex = m_group_num; _local11 = new b2BodyDef(); _local11.position.Set(((bw[_local9].x + x) / main.m_physScale), ((bw[_local9].y + y) / main.m_physScale)); _local11.allowSleep = false; _local5 = main.m_world.CreateBody(_local11); _local5.CreateShape(_local13); _local5.SetMassFromShapes(); _local5.m_userData = new Object(); _local5.m_userData.m_type = int(1); _local5.m_userData.m_body = this; _local14 = new b2RevoluteJointDef(); _local14.enableMotor = true; _local14.Initialize(_local6, _local5, _local5.GetWorldCenter()); _local7 = (main.m_world.CreateJoint(_local14) as b2RevoluteJoint); _local8.SetMaxMotorForce(100000); _local8.SetMaxMotorForce(100000); pw.push(_local5); pa.push(_local6); pm.push(_local7); ps.push(_local8); _local9++; }; Break(true, true); } public function GetPosition(){ return ([(cart.GetPosition().x * main.m_physScale), (cart.GetPosition().y * main.m_physScale)]); } public function Destroy(){ var _local1:*; for each (_local1 in pm) { main.m_world.DestroyJoint(_local1); }; for each (_local1 in ps) { main.m_world.DestroyJoint(_local1); }; for each (_local1 in pw) { main.m_world.DestroyBody(_local1); }; for each (_local1 in pa) { main.m_world.DestroyBody(_local1); }; main.m_world.DestroyBody(cart); for each (_local1 in bw) { _local1.parent.removeChild(_local1); }; for each (_local1 in iw) { _local1.parent.removeChild(_local1); }; box.parent.removeChild(box); ibox.parent.removeChild(ibox); } public function MouseDown(_arg1){ if (b_breaks){ UnBreak(); } else { Break(b_tormoza); }; } public function Break(_arg1, _arg2=false){ var _local3:*; var _local4:*; if (b_bad){ return; }; ibox.smoke.visible = false; b_breaks = true; for each (_local3 in pm) { if (_arg1){ _local4 = _local3.GetJointAngle(); _local3.EnableLimit(true); _local3.SetLimits((_local4 - 0.1), (_local4 + 0.1)); }; _local3.EnableMotor(false); }; if (_arg2 == false){ if (m_sound){ m_sound.stop(); }; m_sound = main.m_main.BreakingSound.play(0, 1); }; } public function Update(){ var _local1:*; if (cart){ ibox.x = ((cart.GetPosition().x * main.m_physScale) - x); ibox.y = ((cart.GetPosition().y * main.m_physScale) - y); ibox.rotation = ((cart.GetAngle() / Math.PI) * 180); }; _local1 = 0; while (_local1 < iw.length) { iw[_local1].x = ((pw[_local1].GetPosition().x * main.m_physScale) - x); iw[_local1].y = ((pw[_local1].GetPosition().y * main.m_physScale) - y); iw[_local1].rotation = ((pw[_local1].GetAngle() / Math.PI) * 180); ps[_local1].SetMaxMotorForce((30 + Math.abs((800 * Math.pow(ps[_local1].GetJointTranslation(), 2))))); ps[_local1].SetMotorSpeed(((ps[_local1].GetMotorSpeed() - (10 * ps[_local1].GetJointTranslation())) * 0.4)); _local1++; }; var _local2:* = (spring_length / 20); if (b_breaks == false){ }; } public function UnBreak(){ if (b_bad){ return; }; b_breaks = false; for each (i in pm) { i.EnableLimit(false); i.EnableMotor(true); i.SetMotorSpeed((m_force * Math.PI)); i.SetMaxMotorTorque(30000); }; if (m_sound){ m_sound.stop(); }; if (b_big){ m_sound = main.m_main.GasBigSound.play(0, 1); } else { m_sound = main.m_main.GasSmallSound.play(0, 1); }; ibox.smoke.visible = true; } } }//package Objects
Section 109
//Car1 (Objects.Car1) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car1 extends Car_Base { public function Car1(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 1.5; m_force = 6.5; b_bad = false; b_tormoza = true; FirstInit(this); this.m_back = "Car1_Back"; this.b_left = true; } } }//package Objects
Section 110
//Car1_Back (Objects.Car1_Back) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car1_Back extends Car_Base { public function Car1_Back(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 1.5; m_force = -6.5; b_bad = false; b_tormoza = true; FirstInit(this); this.m_back = "Car1"; this.b_left = false; } } }//package Objects
Section 111
//Car2 (Objects.Car2) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car2 extends Car_Base { public function Car2(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.3; m_frict = 1.5; m_force = 12; b_bad = false; b_tormoza = true; FirstInit(this); this.m_back = "Car2_Back"; this.b_left = true; } } }//package Objects
Section 112
//Car2_Back (Objects.Car2_Back) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car2_Back extends Car_Base { public function Car2_Back(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.3; m_frict = 1.5; m_force = -12; b_bad = false; b_tormoza = true; FirstInit(this); this.m_back = "Car2"; this.b_left = false; } } }//package Objects
Section 113
//Car3 (Objects.Car3) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car3 extends Car_Base { public function Car3(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 0.7; m_force = 7.5; b_bad = false; b_tormoza = true; b_big = true; FirstInit(this); this.m_back = "Car3_Back"; this.b_left = true; } } }//package Objects
Section 114
//Car3_Back (Objects.Car3_Back) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car3_Back extends Car_Base { public function Car3_Back(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 0.7; m_force = -7.5; b_bad = false; b_tormoza = true; b_big = true; FirstInit(this); this.m_back = "Car3"; this.b_left = false; } } }//package Objects
Section 115
//Car4 (Objects.Car4) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car4 extends Car_Base { public function Car4(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 0.7; m_force = 7.5; b_bad = false; b_tormoza = true; b_big = true; FirstInit(this); this.m_back = "Car4_Back"; this.b_left = true; } } }//package Objects
Section 116
//Car4_Back (Objects.Car4_Back) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Car4_Back extends Car_Base { public function Car4_Back(_arg1=0, _arg2=0):void{ var _local3:*; var _local4:*; super(); if (((!((_arg1 == 0))) && (!((_arg2 == 0))))){ _local3 = this.IBox.x; _local4 = this.IBox.y; x = (_arg1 - _local3); y = (_arg2 - _local4); }; m_dens = 0.1; m_frict = 0.7; m_force = -7.5; b_bad = false; b_tormoza = true; b_big = true; FirstInit(this); this.m_back = "Car4"; this.b_left = false; } } }//package Objects
Section 117
//Circle (Objects.Circle) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Circle extends MovieClip { public var cart;// = 0 public var p1:Object; public var p3:Object; public var p2:Object; public var p4:Object; public var m_phys_body;// = 0 public function Circle(){ main.AddObject(this); } public function CreatePhysBody(){ var _local1:b2BodyDef; _local1 = new b2BodyDef(); _local1.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local1.angle = ((rotation / 180) * Math.PI); rotation = 0; var _local2:b2CircleDef = new b2CircleDef(); _local2.radius = ((width / main.m_physScale) / 2); _local2.density = 0.02; _local2.restitution = 0.2; _local2.friction = 0.1; b = main.m_world.CreateBody(_local1); b.CreateShape(_local2); b.SetMassFromShapes(); cart = b; cart.m_userData = new Object(); cart.m_userData.m_type = int(1); cart.m_userData.m_body = this; } public function Destroy(){ main.m_world.DestroyBody(cart); } public function Update(){ if ((((cart == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (cart){ x = (cart.GetPosition().x * main.m_physScale); y = (cart.GetPosition().y * main.m_physScale); rotation = ((cart.GetAngle() / Math.PI) * 180); }; } } }//package Objects
Section 118
//ContactListenerClass (Objects.ContactListenerClass) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public class ContactListenerClass extends b2ContactListener { public var contactStack:Array; public function ContactListenerClass(){ contactStack = new Array(); super(); } override public function Add(_arg1:b2ContactPoint):void{ var _local4:Number; var _local5:b2Vec2; var _local2:b2Shape = _arg1.shape1; var _local3:b2Shape = _arg1.shape2; if (((_local2.GetBody().m_userData) && (_local3.GetBody().m_userData))){ if ((((((_local2.GetBody().m_userData.m_type == 1)) && ((_local3.GetBody().m_userData.m_type == 2)))) || ((((_local3.GetBody().m_userData.m_type == 1)) && ((_local2.GetBody().m_userData.m_type == 2)))))){ _local4 = _arg1.separation; _local5 = _arg1.position.Copy(); if (_local2.GetBody().m_userData.m_type == 1){ contactStack.push({car:_local2.GetBody(), man:_local3.GetBody(), force:_local4, pos:_local5}); } else { contactStack.push({car:_local3.GetBody(), man:_local2.GetBody(), force:_local4, pos:_local5}); }; }; }; } } }//package Objects
Section 119
//Fire (Objects.Fire) package Objects { import flash.display.*; import flash.events.*; public dynamic class Fire extends MovieClip { public function Fire():void{ main.m_fire_controll.AddLevelFire(this); } public function EnableFire(){ visible = true; this.b_enabled = true; } public function DisableFire(){ visible = false; this.b_enabled = false; } } }//package Objects
Section 120
//FireControll (Objects.FireControll) package Objects { import flash.display.*; import flash.events.*; import gui.*; import flash.geom.*; public dynamic class FireControll { public var m_counter; public var m_car_fires; public var m_level_fires; public var m_body_fires; public function FireControll(){ trace("Create FireControll"); m_level_fires = new Array(); m_body_fires = new Array(); m_car_fires = new Array(); } public function IfNear(_arg1, _arg2){ m_counter++; var _local3:* = 20; var _local4:* = 20; if ((((Math.abs((_arg1.x - _arg2.x)) < _local3)) && ((Math.abs((_arg1.y - _arg2.y)) < _local4)))){ return (true); }; return (false); } public function AddFireBody(_arg1){ main.m_main.FireSmallSound.play(); var _local2:* = new FireBody(); _local2.x = _arg1.x; _local2.y = _arg1.y; _local2.alpha = 0.5; main.m_main.addChild(_local2); _local2.m_body = _arg1; m_body_fires.push(_local2); } public function Update(){ var _local1:*; var _local2:*; var _local3:*; m_counter = 0; for each (_local1 in m_level_fires) { if (_local1.b_enabled == true){ for each (_local2 in main.m_objects) { if ((((_local2.m_type == 3)) && (!((_local2.b_fired == true))))){ if ((((((((((((_local2.m_ibody.b_fire == true)) && ((_local2.m_ihand1.b_fire == true)))) && ((_local2.m_ihand2.b_fire == true)))) && ((_local2.m_ileg1.b_fire == true)))) && ((_local2.m_ileg2.b_fire == true)))) && ((_local2.m_ihead.b_fire == true)))){ _local3 = new BonusStar(_local2.m_ibody.x, _local2.m_ibody.y, 10); _local2.b_fired = true; }; }; if ((((_local2.m_type == 3)) && (!((_local2.b_fired == true))))){ TryFirePart(_local1, _local2.m_ibody); TryFirePart(_local1, _local2.m_ihand1); TryFirePart(_local1, _local2.m_ihand2); TryFirePart(_local1, _local2.m_ileg1); TryFirePart(_local1, _local2.m_ileg2); TryFirePart(_local1, _local2.m_ihead); }; }; }; }; for each (_local1 in m_body_fires) { _local1.x = _local1.m_body.x; _local1.y = _local1.m_body.y; }; for each (_local1 in main.m_objects) { if ((((_local1.m_type == 3)) && (!((_local1.b_fired == true))))){ for each (_local2 in m_body_fires) { if (TryFirePart(_local2, _local1.m_ibody)){ break; }; if (TryFirePart(_local2, _local1.m_ihand1)){ break; }; if (TryFirePart(_local2, _local1.m_ihand2)){ break; }; if (TryFirePart(_local2, _local1.m_ileg1)){ break; }; if (TryFirePart(_local2, _local1.m_ileg2)){ break; }; if (TryFirePart(_local2, _local1.m_ihead)){ break; }; }; }; }; } public function TryFirePart(_arg1, _arg2){ if (_arg2.b_fire != true){ if (IfNear(_arg1, _arg2)){ _arg2.b_fire = true; AddFireBody(_arg2); return (true); }; }; return (false); } public function FreeAll(){ for each (i in m_body_fires) { i.parent.removeChild(i); }; for each (i in m_car_fires) { i.parent.removeChild(i); }; m_level_fires.splice(0); m_body_fires.splice(0); m_car_fires.splice(0); } public function AddLevelFire(_arg1){ _arg1.b_enabled = true; m_level_fires.push(_arg1); } } }//package Objects
Section 121
//FireTrigger (Objects.FireTrigger) package Objects { import flash.display.*; import flash.events.*; public dynamic class FireTrigger extends MovieClip { public var b_action;// = false public function FireTrigger():void{ main.AddObject(this); } public function CheckTrigger(_arg1){ if (b_action == true){ return; }; if (this.hitTestObject(_arg1)){ Action(); }; } public function Destroy(){ if (parent){ parent.removeChild(this); }; } public function Action(){ b_action = true; var _local1:* = ("F" + this.name); main.m_stage[_local1].EnableFire(); main.m_main.FireSound.play(); this.stop(); this.visible = false; } public function Update(){ var _local1:*; if (b_action == true){ return; }; for each (_local1 in main.m_objects) { if (_local1.m_type == 1){ CheckTrigger(_local1.ibox); } else { if (_local1.m_type == 3){ CheckTrigger(_local1.m_ibody); CheckTrigger(_local1.m_ihand1); CheckTrigger(_local1.m_ihand2); CheckTrigger(_local1.m_ileg1); CheckTrigger(_local1.m_ileg2); CheckTrigger(_local1.m_ihead); } else { if (_local1.m_type == 5){ CheckTrigger(_local1); }; }; }; }; } } }//package Objects
Section 122
//Man_01 (Objects.Man_01) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import flash.events.*; public dynamic class Man_01 extends Man_Base { public function Man_01():void{ Init(this.BBox, this.BBody); } } }//package Objects
Section 123
//Man_Base (Objects.Man_Base) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; public dynamic class Man_Base extends MovieClip { public var p1:Object; public var p3:Object; public var m_break_coeff;// = 1 public var p2:Object; public var p4:Object; public var m_body;// = 0 public var m_box;// = 0 public var m_phys_body;// = 0 public function Init(_arg1, _arg2){ m_box = _arg1; m_body = _arg2; m_box.visible = false; m_body.Head.visible = false; m_body.Body.visible = false; m_body.Hand1.visible = false; m_body.Hand2.visible = false; m_body.Leg1.visible = false; m_body.Leg2.visible = false; main.AddObject(this, 2); } public function CreatePhysBody(){ var _local3:b2Body; var _local1:b2PolygonDef = new b2PolygonDef(); var _local2:b2BodyDef = new b2BodyDef(); _local1.density = 0.02; _local1.friction = 0.2; _local1.restitution = 0.1; _local1.filter.groupIndex = -2; _local1.filter.b_rigid = 1; _local2.position.Set((x / main.m_physScale), (y / main.m_physScale)); _local2.angle = ((m_box.rotation / 180) * Math.PI); m_box.rotation = 0; _local1.SetAsBox(((m_box.width / 2) / main.m_physScale), ((m_box.height / 2) / main.m_physScale)); _local3 = main.m_world.CreateBody(_local2); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); m_phys_body = _local3; m_phys_body.m_userData = new Object(); m_phys_body.m_userData.m_type = int(2); m_phys_body.m_userData.m_body = this; } public function Update(){ if ((((m_phys_body == 0)) && (main.m_stage))){ CreatePhysBody(); }; if (m_phys_body){ x = (m_phys_body.GetPosition().x * main.m_physScale); y = (m_phys_body.GetPosition().y * main.m_physScale); rotation = ((m_phys_body.GetAngle() / Math.PI) * 180); }; } public function Destroy(){ main.m_world.DestroyBody(m_phys_body); if (parent){ parent.removeChild(this); }; } } }//package Objects
Section 124
//Most19 (Objects.Most19) package Objects { public dynamic class Most19 extends Bridge_Base { } }//package Objects
Section 125
//Most30 (Objects.Most30) package Objects { public dynamic class Most30 extends Bridge_Base { } }//package Objects
Section 126
//Ragdoll (Objects.Ragdoll) package Objects { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; import gui.*; import flash.geom.*; public dynamic class Ragdoll extends MovieClip { public var m_pbody;// = 0 public var m_pleg1;// = 0 public var joint5;// = 0 public var m_phand1;// = 0 public var m_phand2;// = 0 public var m_pleg2;// = 0 public var m_group_num; public var m_bc;// = 1 public var joint1;// = 0 public var joint2;// = 0 public var joint3;// = 0 public var joint4;// = 0 public var m_ihand1;// = 0 public var m_ihand2;// = 0 public var m_ihead;// = 0 public var m_ibody;// = 0 public var m_ileg1;// = 0 public var m_ileg2;// = 0 public var m_phead;// = 0 public function Ragdoll(_arg1, _arg2, _arg3, _arg4, _arg5){ m_bc = _arg1.m_break_coeff; m_group_num = main.g_num; main.g_num--; m_pbody = CreatePhysBody(_arg1.BBody.Body); m_phand1 = CreatePhysBody(_arg1.BBody.Hand1); m_phand2 = CreatePhysBody(_arg1.BBody.Hand2); m_pleg1 = CreatePhysBody(_arg1.BBody.Leg1); m_pleg2 = CreatePhysBody(_arg1.BBody.Leg2); m_phead = CreatePhysCircle(_arg1.BBody.Head); joint1 = CreatePhysJoint(m_pbody, m_phand1, -2, -7); joint2 = CreatePhysJoint(m_pbody, m_phand2, 2, -7); joint3 = CreatePhysJoint(m_pbody, m_pleg1, -4, 7); joint4 = CreatePhysJoint(m_pbody, m_pleg2, 4, 7); joint5 = CreatePhysJoint(m_pbody, m_phead, 0, -10); m_ibody = new Man_02_Body(); m_ihand1 = new Man_02_Hand1(); m_ihand2 = new Man_02_Hand2(); m_ileg1 = new Man_02_Leg1(); m_ileg2 = new Man_02_Leg2(); m_ihead = new Man_02_Head(); main.m_main.addChild(m_ibody); main.m_main.addChild(m_ihand1); main.m_main.addChild(m_ihand2); main.m_main.addChild(m_ileg1); main.m_main.addChild(m_ileg2); main.m_main.addChild(m_ihead); main.AddObject(this, 3); var _local6:* = new b2Vec2(_arg4, (_arg5 + (20 / main.m_physScale))); var _local7:* = new b2Vec2(_arg4, _arg5); var _local8:* = new b2Vec2(0, 0); if (_arg2){ _local8 = _arg2.cart.GetLinearVelocity(); }; _local8.Multiply(main.m_force_coeff); _local8.y = (_local8.y - main.m_bonus_y); if (_arg2){ m_pbody.ApplyForce(_local8, _local6); } else { m_pbody.ApplyForce(new b2Vec2(0.003, 0), _local7); }; if (_arg2){ if (_local8.x > 0){ m_pbody.ApplyTorque((Math.PI / (Math.random() * 100))); } else { m_pbody.ApplyTorque((-(Math.PI) / (Math.random() * 100))); }; }; } public function CreatePhysCircle(_arg1){ var _local2:* = new Point(_arg1.x, _arg1.y); _local2 = _arg1.parent.localToGlobal(_local2); var _local3:b2BodyDef = new b2BodyDef(); _local3.position.Set((_local2.x / main.m_physScale), (_local2.y / main.m_physScale)); _local3.angle = ((rotation / 180) * Math.PI); rotation = 0; var _local4:b2CircleDef = new b2CircleDef(); _local4.radius = ((_arg1.width / main.m_physScale) / 2); _local4.density = 0.02; _local4.restitution = 0.2; _local4.friction = 0.1; _local4.filter.groupIndex = m_group_num; _local4.filter.b_rigid = 2; b = main.m_world.CreateBody(_local3); b.CreateShape(_local4); b.SetMassFromShapes(); return (b); } public function CreatePhysBody(_arg1){ var _local4:b2Body; var _local2:b2PolygonDef = new b2PolygonDef(); var _local3:b2BodyDef = new b2BodyDef(); _local2.density = 0.03; _local2.friction = 0.5; _local2.restitution = 0.1; _local2.filter.groupIndex = m_group_num; _local2.filter.b_rigid = 2; var _local5:* = new Point(_arg1.x, _arg1.y); _local5 = _arg1.parent.localToGlobal(_local5); _local3.position.Set((_local5.x / main.m_physScale), (_local5.y / main.m_physScale)); _local3.angle = ((_arg1.rotation / 180) * Math.PI); _arg1.rotation = 0; _local2.SetAsBox(((_arg1.width / 2) / main.m_physScale), ((_arg1.height / 2) / main.m_physScale)); _local4 = main.m_world.CreateBody(_local3); _local4.CreateShape(_local2); _local4.SetMassFromShapes(); return (_local4); } public function Destroy(){ main.m_world.DestroyJoint(joint1); main.m_world.DestroyJoint(joint2); main.m_world.DestroyJoint(joint3); main.m_world.DestroyJoint(joint4); main.m_world.DestroyJoint(joint5); main.m_world.DestroyBody(m_pbody); main.m_world.DestroyBody(m_phand1); main.m_world.DestroyBody(m_phand2); main.m_world.DestroyBody(m_pleg1); main.m_world.DestroyBody(m_pleg2); main.m_world.DestroyBody(m_phead); main.m_main.removeChild(m_ibody); main.m_main.removeChild(m_ihand1); main.m_main.removeChild(m_ihand2); main.m_main.removeChild(m_ileg1); main.m_main.removeChild(m_ileg2); main.m_main.removeChild(m_ihead); } public function CreatePhysJoint(_arg1, _arg2, _arg3, _arg4){ var _local5:* = new b2RevoluteJointDef(); var _local6:* = _arg1.GetWorldCenter(); _arg1.GetWorldCenter().x = (_local6.x + (_arg3 / main.m_physScale)); _local6.y = (_local6.y + (_arg4 / main.m_physScale)); _local5.Initialize(_arg1, _arg2, _local6); var _local7:* = (main.m_world.CreateJoint(_local5) as b2RevoluteJoint); _local6.x = (_local6.x - (_arg3 / main.m_physScale)); _local6.y = (_local6.y - (_arg4 / main.m_physScale)); var _local8:* = _local7.GetJointAngle(); _local7.EnableLimit(true); _local7.SetLimits((_local8 - (Math.PI / 4)), (_local8 + (Math.PI / 4))); return (_local7); } public function Update(){ if (m_ibody == 0){ return; }; SetIObj(m_ibody, m_pbody); SetIObj(m_ihand1, m_phand1); SetIObj(m_ihand2, m_phand2); SetIObj(m_ileg1, m_pleg1); SetIObj(m_ileg2, m_pleg2); SetIObj(m_ihead, m_phead); if (UJoint(joint1)){ joint1 = null; }; if (UJoint(joint2)){ joint2 = null; }; if (UJoint(joint3)){ joint3 = null; }; if (UJoint(joint4)){ joint4 = null; }; if (UJoint(joint5)){ joint5 = null; }; } public function UJoint(_arg1){ var _local5:*; var _local6:*; var _local7:*; if (_arg1 == null){ return; }; var _local2:* = _arg1.GetReactionForce(); var _local3:* = _local2.Length(); var _local4:* = ((this.b_fired)!=true) ? 1.5 : 0.3; if (_local3 > (_local4 * m_bc)){ _local5 = (int((Math.random() * 3)) + 1); if (_local5 == 1){ main.m_main.CrackSound1.play(); } else { if (_local5 == 2){ main.m_main.CrackSound2.play(); } else { if (_local5 == 3){ main.m_main.CrackSound3.play(); }; }; }; _local6 = _arg1.GetAnchor1(); _local7 = new BonusStar((_local6.x * main.m_physScale), (_local6.y * main.m_physScale), 10); main.m_world.DestroyJoint(_arg1); return (true); }; return (false); } public function SetIObj(_arg1, _arg2){ _arg1.x = (_arg2.GetPosition().x * main.m_physScale); _arg1.y = (_arg2.GetPosition().y * main.m_physScale); _arg1.rotation = ((_arg2.GetAngle() / Math.PI) * 180); } } }//package Objects
Section 127
//ReverseLeft (Objects.ReverseLeft) package Objects { import flash.display.*; import flash.events.*; import flash.utils.*; public dynamic class ReverseLeft extends MovieClip { public function ReverseLeft():void{ main.AddObject(this); } public function Update(){ var _local1:*; var _local2:*; for each (_local1 in main.m_objects) { if (_local1.m_type == 1){ if (_local1.b_left == true){ _local2 = _local1.GetPosition(); if (this.hitTestObject(_local1.IBox)){ ChangeCar(_local1, _local2); }; }; }; }; } public function Destroy(){ if (parent){ parent.removeChild(this); }; } public function ChangeCar(_arg1, _arg2){ var _local3:* = new (getDefinitionByName(("Objects." + _arg1.m_back)) as Class)(_arg2[0], _arg2[1]); main.m_main.addChild(_local3); if (_arg1.b_breaks == false){ _local3.UnBreak(); }; var _local4:* = _arg1.cart.GetLinearVelocity(); _local3.cart.SetLinearVelocity(_local4); main.DeleteObject(_arg1); } } }//package Objects
Section 128
//ReverseRight (Objects.ReverseRight) package Objects { import flash.display.*; import flash.events.*; import flash.utils.*; public dynamic class ReverseRight extends MovieClip { public function ReverseRight():void{ main.AddObject(this); } public function Update(){ var _local1:*; var _local2:*; for each (_local1 in main.m_objects) { if (_local1.m_type == 1){ if (_local1.b_left == false){ _local2 = _local1.GetPosition(); if (this.hitTestObject(_local1.IBox)){ ChangeCar(_local1, _local2); }; }; }; }; } public function Destroy(){ if (parent){ parent.removeChild(this); }; } public function ChangeCar(_arg1, _arg2){ var _local3:* = new (getDefinitionByName(("Objects." + _arg1.m_back)) as Class)(_arg2[0], _arg2[1]); main.m_main.addChild(_local3); if (_arg1.b_breaks == false){ _local3.UnBreak(); }; var _local4:* = _arg1.cart.GetLinearVelocity(); _local3.cart.SetLinearVelocity(_local4); main.DeleteObject(_arg1); } } }//package Objects
Section 129
//StaticTrigger (Objects.StaticTrigger) package Objects { import flash.display.*; import flash.events.*; public dynamic class StaticTrigger extends MovieClip { public var b_action;// = false public function StaticTrigger():void{ main.AddObject(this); } public function CheckTrigger(_arg1){ if (b_action == true){ return; }; if (this.hitTestObject(_arg1)){ Action(); }; } public function Destroy(){ if (parent){ parent.removeChild(this); }; } public function Action(){ var _local2:*; var _local3:*; b_action = true; var _local1:* = ("S" + this.name); var _local4:* = 0; _local1 = ("S" + this.name); while (main.m_stage[_local1]) { main.DeleteObject(main.m_stage[_local1]); _local4++; _local1 = (("S" + _local4) + this.name); }; _local1 = ("IS" + this.name); _local4 = 0; while (main.m_stage[_local1]) { main.m_stage[_local1].Destroy(); _local4++; _local1 = ((("I" + _local4) + "S") + this.name); }; main.m_main.ExplosionSound.play(); this.stop(); this.visible = false; } public function Update(){ var _local1:*; if (b_action == true){ return; }; for each (_local1 in main.m_objects) { if (_local1.m_type == 1){ CheckTrigger(_local1.ibox); } else { if (_local1.m_type == 3){ CheckTrigger(_local1.m_ibody); CheckTrigger(_local1.m_ihand1); CheckTrigger(_local1.m_ihand2); CheckTrigger(_local1.m_ileg1); CheckTrigger(_local1.m_ileg2); CheckTrigger(_local1.m_ihead); } else { if (_local1.m_type == 5){ CheckTrigger(_local1); }; }; }; }; } } }//package Objects
Section 130
//ag_intro_mc_1103 (PipolSmasher_Armor_fla.ag_intro_mc_1103) package PipolSmasher_Armor_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class ag_intro_mc_1103 extends MovieClip { public function ag_intro_mc_1103(){ addFrameScript(0, frame1, 217, frame218); } function frame218(){ main.m_main.gotoAndStop("Menu"); } function frame1(){ main.m_main.stop(); gotoAndPlay(2); } } }//package PipolSmasher_Armor_fla
Section 131
//Batters2_960 (PipolSmasher_Armor_fla.Batters2_960) package PipolSmasher_Armor_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class Batters2_960 extends MovieClip { public function Batters2_960(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PipolSmasher_Armor_fla
Section 132
//ManImage_41 (PipolSmasher_Armor_fla.ManImage_41) package PipolSmasher_Armor_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class ManImage_41 extends MovieClip { public var cadr; public function ManImage_41(){ addFrameScript(1, frame2); } function frame2(){ cadr = ((int((Math.random() * 6)) * 10) + 10); this.gotoAndStop(cadr); } } }//package PipolSmasher_Armor_fla
Section 133
//Vehicles_Tween16_1126 (PipolSmasher_Armor_fla.Vehicles_Tween16_1126) package PipolSmasher_Armor_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class Vehicles_Tween16_1126 extends MovieClip { public function Vehicles_Tween16_1126(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PipolSmasher_Armor_fla
Section 134
//base_stage (Stages.base_stage) package Stages { import flash.display.*; public dynamic class base_stage extends MovieClip { } }//package Stages
Section 135
//stage_01 (Stages.stage_01) package Stages { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.events.*; import Objects.*; public dynamic class stage_01 extends base_stage { public function stage_01(){ this.Man_01.m_break_coeff = 0.6; } } }//package Stages
Section 136
//stage_02 (Stages.stage_02) package Stages { public dynamic class stage_02 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_02(){ var _local1:*; super(); } } }//package Stages
Section 137
//stage_03 (Stages.stage_03) package Stages { import flash.display.*; public dynamic class stage_03 extends MovieClip { } }//package Stages
Section 138
//stage_04 (Stages.stage_04) package Stages { import flash.display.*; public dynamic class stage_04 extends MovieClip { } }//package Stages
Section 139
//stage_05 (Stages.stage_05) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_05 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_05(){ this.Man_01.m_break_coeff = 0.6; } } }//package Stages
Section 140
//stage_06 (Stages.stage_06) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_06 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_06(){ main.m_force_coeff = 1; main.m_bonus_y = 2; } } }//package Stages
Section 141
//stage_07 (Stages.stage_07) package Stages { import flash.display.*; public dynamic class stage_07 extends MovieClip { } }//package Stages
Section 142
//stage_08 (Stages.stage_08) package Stages { import flash.display.*; public dynamic class stage_08 extends MovieClip { } }//package Stages
Section 143
//stage_09 (Stages.stage_09) package Stages { import flash.display.*; import Objects.*; public dynamic class stage_09 extends MovieClip { public var SStatic_02:BoxSleep; public var SStatic_03:BoxSleep; public var ISStatic_02:Stage09_Most; public var ISStatic_03:Stage09_Most; public var ISStatic_01:Stage09_Most; public var Static_01:StaticTrigger; public var Static_02:StaticTrigger; public var Static_03:StaticTrigger; public var SStatic_01:BoxSleep; } }//package Stages
Section 144
//stage_10 (Stages.stage_10) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_10 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_10(){ this.Car_01.m_force = 26; this.Car_01.m_frict = 4; } } }//package Stages
Section 145
//stage_11 (Stages.stage_11) package Stages { import flash.display.*; public dynamic class stage_11 extends MovieClip { } }//package Stages
Section 146
//stage_12 (Stages.stage_12) package Stages { public dynamic class stage_12 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false } }//package Stages
Section 147
//stage_13 (Stages.stage_13) package Stages { import flash.events.*; import Objects.*; import flash.utils.*; public dynamic class stage_13 extends base_stage { var action_1;// = false var action_3;// = false var m_stars;// = 0 var action_2;// = false var t_time; public function stage_13(){ addEventListener(Event.ENTER_FRAME, Update); t_time = getTimer(); } public function Update(_arg1){ var _local2:*; var _local3:*; var _local4:*; for each (_local2 in main.m_objects) { if (_local2.m_type == 1){ if (_local2.b_breaks == true){ t_time = getTimer(); }; }; }; if (action_1 == false){ if ((getTimer() - t_time) > 8000){ action_1 = true; _local3 = new Stars(); _local3.x = this.Man_01.x; _local3.y = this.Man_01.y; main.m_stage.addChild(_local3); m_stars = _local3; t_time = getTimer(); }; }; if ((((action_2 == false)) && ((action_1 == true)))){ if ((getTimer() - t_time) > 3000){ if (m_stars){ m_stars.parent.removeChild(m_stars); }; action_2 = true; _local4 = new Ragdoll(this.Man_01, 0, 0, (this.Man_01.x - 0), this.Man_01.y); main.DeleteObject(this.Man_01); }; }; } public function Destroy(){ removeEventListener(Event.ENTER_FRAME, Update); } } }//package Stages
Section 148
//stage_14 (Stages.stage_14) package Stages { import flash.display.*; import Objects.*; public dynamic class stage_14 extends MovieClip { public var SStatic_02:BoxSleep; public var ISStatic_01:Most14; public var ISStatic_02:Most14_2; public var Static_02:StaticTrigger; public var Static_01:StaticTrigger; public var SStatic_01:BoxSleep; } }//package Stages
Section 149
//stage_15 (Stages.stage_15) package Stages { import flash.display.*; public dynamic class stage_15 extends MovieClip { } }//package Stages
Section 150
//stage_16 (Stages.stage_16) package Stages { import flash.display.*; public dynamic class stage_16 extends MovieClip { } }//package Stages
Section 151
//stage_17 (Stages.stage_17) package Stages { import flash.display.*; public dynamic class stage_17 extends MovieClip { } }//package Stages
Section 152
//stage_18 (Stages.stage_18) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_18 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_18(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 153
//stage_19 (Stages.stage_19) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_19 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_19(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 154
//stage_20 (Stages.stage_20) package Stages { import flash.display.*; public dynamic class stage_20 extends MovieClip { } }//package Stages
Section 155
//stage_21 (Stages.stage_21) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_21 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_21(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 156
//stage_22 (Stages.stage_22) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_22 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_22(){ main.m_force_coeff = 1; main.m_bonus_y = 2; this.FFire_01.DisableFire(); } } }//package Stages
Section 157
//stage_23 (Stages.stage_23) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_23 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_23(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 158
//stage_24 (Stages.stage_24) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_24 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_24(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 159
//stage_25 (Stages.stage_25) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_25 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_25(){ this.FFire_01.DisableFire(); this.FFire_02.DisableFire(); } } }//package Stages
Section 160
//stage_26 (Stages.stage_26) package Stages { import flash.display.*; public dynamic class stage_26 extends MovieClip { } }//package Stages
Section 161
//stage_27 (Stages.stage_27) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_27 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_27(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 162
//stage_28 (Stages.stage_28) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_28 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_28(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 163
//stage_29 (Stages.stage_29) package Stages { import flash.events.*; import Objects.*; public dynamic class stage_29 extends base_stage { var action_1;// = false var action_2;// = false var action_3;// = false public function stage_29(){ this.FFire_01.DisableFire(); } } }//package Stages
Section 164
//stage_30 (Stages.stage_30) package Stages { import flash.display.*; import Objects.*; public dynamic class stage_30 extends MovieClip { public var ISStatic_01:Most30; public var I2SStatic_03:Most19; public var Static_02:StaticTrigger; public var Static_03:StaticTrigger; public var S1Static_02:BoxSleep; public var S1Static_03:BoxSleep; public var Static_01:StaticTrigger; public var S1Static_01:BoxSleep; public var Static_04:StaticTrigger; public var SStatic_01:BoxSleep; public var SStatic_02:BoxSleep; public var SStatic_03:BoxSleep; public var SStatic_04:BoxSleep; public var I1SStatic_01:Most19; public var I1SStatic_02:Most19; public var I1SStatic_03:Most19; public var ISStatic_02:Most30; public var S2Static_01:BoxSleep; public var S2Static_03:BoxSleep; public var I2SStatic_02:Most19; public var ISStatic_03:Most30; public var S2Static_02:BoxSleep; public var I2SStatic_01:Most19; } }//package Stages
Section 165
//stage_31 (Stages.stage_31) package Stages { import flash.display.*; public dynamic class stage_31 extends MovieClip { } }//package Stages
Section 166
//Box_lvl12_1 (Box_lvl12_1) package { import Objects.*; public dynamic class Box_lvl12_1 extends Box_01 { } }//package
Section 167
//Box_lvl12_2 (Box_lvl12_2) package { import Objects.*; public dynamic class Box_lvl12_2 extends Box_01 { } }//package
Section 168
//Box_lvl14 (Box_lvl14) package { import Objects.*; public dynamic class Box_lvl14 extends Box_01 { } }//package
Section 169
//Box_lvl15 (Box_lvl15) package { import Objects.*; public dynamic class Box_lvl15 extends Box_01 { } }//package
Section 170
//Box_lvl19 (Box_lvl19) package { import Objects.*; public dynamic class Box_lvl19 extends Box_01 { } }//package
Section 171
//Box_lvl24 (Box_lvl24) package { import Objects.*; public dynamic class Box_lvl24 extends Box_01 { } }//package
Section 172
//Box_lvl25 (Box_lvl25) package { import Objects.*; public dynamic class Box_lvl25 extends Box_01 { } }//package
Section 173
//Box_lvl26 (Box_lvl26) package { import Objects.*; public dynamic class Box_lvl26 extends Box_01 { } }//package
Section 174
//Box_lvl30_1 (Box_lvl30_1) package { import Objects.*; public dynamic class Box_lvl30_1 extends Box_01 { } }//package
Section 175
//Box_lvl30_2 (Box_lvl30_2) package { import Objects.*; public dynamic class Box_lvl30_2 extends Box_02 { } }//package
Section 176
//Box_lvl8 (Box_lvl8) package { import Objects.*; public dynamic class Box_lvl8 extends Box_01 { } }//package
Section 177
//Box_lvl9 (Box_lvl9) package { import Objects.*; public dynamic class Box_lvl9 extends Box_01 { } }//package
Section 178
//BrakeClip (BrakeClip) package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class BrakeClip extends MovieClip { public function BrakeClip(){ addFrameScript(19, frame20); } function frame20(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 179
//BreakingSound (BreakingSound) package { import flash.media.*; public dynamic class BreakingSound extends Sound { } }//package
Section 180
//bubblebox_submit_score (bubblebox_submit_score) package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.external.*; public dynamic class bubblebox_submit_score extends BubbleboxScores { public var hexArray_chr; public var vartext; public var validWeeklyScore; public var validScore; public function bubblebox_submit_score(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } public function ii(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){ return (cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function gg(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){ return (cmn((MathbitAND(_arg2, _arg4) | MathbitAND(_arg3, ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function cmn(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){ return (addme(rol(addme(addme(_arg2, _arg1), addme(_arg4, _arg6)), _arg5), _arg3)); } function frame2(){ stop(); } function frame3(){ this.bubblebox_view_score.addEventListener(MouseEvent.CLICK, function (_arg1:Event){ navigateToURL(new URLRequest((("http://www.bubblebox.com/highscores/" + _arg1.currentTarget.parent.bubbleboxGameID) + ".htm")), "_blank"); _arg1.target.parent.dispatchEvent(new Event("viewScores")); }); vartext = ""; validScore = true; validWeeklyScore = true; if (isNaN(this.result_scorepos)){ validScore = false; }; if (isNaN(this.result_scorepos)){ validWeeklyScore = false; }; if ((((validScore == true)) && ((this.result_scorepos <= 1000)))){ vartext = (("Congratulations, you're ranked nr " + this.result_scorepos) + " in the alltime highscores!!"); } else { if ((((validWeeklyScore == true)) && ((this.result_weeklyScorepos <= 1000)))){ vartext = (("Congratulations, you're ranked nr " + this.result_weeklyScorepos) + " in the weekly highscores."); } else { vartext = "Sorry, you did not make it into the weekly or alltime top 1000."; }; }; this.postext.text = vartext; } public function hh(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){ return (cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } function frame1(){ MathbitAND = function (_arg1, _arg2){ var _local3:*; var _local4:*; if ((((_arg1 < 0)) && ((_arg2 < 0)))){ _local3 = ((_arg1 & 1) & (_arg2 & 1)); _local4 = ((_arg1 >>> 1) & (_arg2 >>> 1)); return (((_local4 << 1) | _local3)); }; return ((_arg1 & _arg2)); }; hexArray_chr = "0123456789abcdef"; String.prototype.MD5 = function (){ var _local1:* = this; xArray = str2blks_MD5(_local1); a = 1732584193; b = -271733879; c = -1732584194; d = 271733878; i = 0; while (i < xArray.length) { olda = a; oldb = b; oldc = c; oldd = d; a = ff(a, b, c, d, xArray[(i + 0)], 7, -680876936); d = ff(d, a, b, c, xArray[(i + 1)], 12, -389564586); c = ff(c, d, a, b, xArray[(i + 2)], 17, 606105819); b = ff(b, c, d, a, xArray[(i + 3)], 22, -1044525330); a = ff(a, b, c, d, xArray[(i + 4)], 7, -176418897); d = ff(d, a, b, c, xArray[(i + 5)], 12, 1200080426); c = ff(c, d, a, b, xArray[(i + 6)], 17, -1473231341); b = ff(b, c, d, a, xArray[(i + 7)], 22, -45705983); a = ff(a, b, c, d, xArray[(i + 8)], 7, 1770035416); d = ff(d, a, b, c, xArray[(i + 9)], 12, -1958414417); c = ff(c, d, a, b, xArray[(i + 10)], 17, -42063); b = ff(b, c, d, a, xArray[(i + 11)], 22, -1990404162); a = ff(a, b, c, d, xArray[(i + 12)], 7, 1804603682); d = ff(d, a, b, c, xArray[(i + 13)], 12, -40341101); c = ff(c, d, a, b, xArray[(i + 14)], 17, -1502002290); b = ff(b, c, d, a, xArray[(i + 15)], 22, 1236535329); a = gg(a, b, c, d, xArray[(i + 1)], 5, -165796510); d = gg(d, a, b, c, xArray[(i + 6)], 9, -1069501632); c = gg(c, d, a, b, xArray[(i + 11)], 14, 643717713); b = gg(b, c, d, a, xArray[(i + 0)], 20, -373897302); a = gg(a, b, c, d, xArray[(i + 5)], 5, -701558691); d = gg(d, a, b, c, xArray[(i + 10)], 9, 38016083); c = gg(c, d, a, b, xArray[(i + 15)], 14, -660478335); b = gg(b, c, d, a, xArray[(i + 4)], 20, -405537848); a = gg(a, b, c, d, xArray[(i + 9)], 5, 568446438); d = gg(d, a, b, c, xArray[(i + 14)], 9, -1019803690); c = gg(c, d, a, b, xArray[(i + 3)], 14, -187363961); b = gg(b, c, d, a, xArray[(i + 8)], 20, 1163531501); a = gg(a, b, c, d, xArray[(i + 13)], 5, -1444681467); d = gg(d, a, b, c, xArray[(i + 2)], 9, -51403784); c = gg(c, d, a, b, xArray[(i + 7)], 14, 1735328473); b = gg(b, c, d, a, xArray[(i + 12)], 20, -1926607734); a = hh(a, b, c, d, xArray[(i + 5)], 4, -378558); d = hh(d, a, b, c, xArray[(i + 8)], 11, -2022574463); c = hh(c, d, a, b, xArray[(i + 11)], 16, 1839030562); b = hh(b, c, d, a, xArray[(i + 14)], 23, -35309556); a = hh(a, b, c, d, xArray[(i + 1)], 4, -1530992060); d = hh(d, a, b, c, xArray[(i + 4)], 11, 1272893353); c = hh(c, d, a, b, xArray[(i + 7)], 16, -155497632); b = hh(b, c, d, a, xArray[(i + 10)], 23, -1094730640); a = hh(a, b, c, d, xArray[(i + 13)], 4, 681279174); d = hh(d, a, b, c, xArray[(i + 0)], 11, -358537222); c = hh(c, d, a, b, xArray[(i + 3)], 16, -722521979); b = hh(b, c, d, a, xArray[(i + 6)], 23, 76029189); a = hh(a, b, c, d, xArray[(i + 9)], 4, -640364487); d = hh(d, a, b, c, xArray[(i + 12)], 11, -421815835); c = hh(c, d, a, b, xArray[(i + 15)], 16, 530742520); b = hh(b, c, d, a, xArray[(i + 2)], 23, -995338651); a = ii(a, b, c, d, xArray[(i + 0)], 6, -198630844); d = ii(d, a, b, c, xArray[(i + 7)], 10, 1126891415); c = ii(c, d, a, b, xArray[(i + 14)], 15, -1416354905); b = ii(b, c, d, a, xArray[(i + 5)], 21, -57434055); a = ii(a, b, c, d, xArray[(i + 12)], 6, 1700485571); d = ii(d, a, b, c, xArray[(i + 3)], 10, -1894986606); c = ii(c, d, a, b, xArray[(i + 10)], 15, -1051523); b = ii(b, c, d, a, xArray[(i + 1)], 21, -2054922799); a = ii(a, b, c, d, xArray[(i + 8)], 6, 1873313359); d = ii(d, a, b, c, xArray[(i + 15)], 10, -30611744); c = ii(c, d, a, b, xArray[(i + 6)], 15, -1560198380); b = ii(b, c, d, a, xArray[(i + 13)], 21, 1309151649); a = ii(a, b, c, d, xArray[(i + 4)], 6, -145523070); d = ii(d, a, b, c, xArray[(i + 11)], 10, -1120210379); c = ii(c, d, a, b, xArray[(i + 2)], 15, 718787259); b = ii(b, c, d, a, xArray[(i + 9)], 21, -343485551); a = addme(a, olda); b = addme(b, oldb); c = addme(c, oldc); d = addme(d, oldd); i = (i + 16); }; return ((((rhexArray(a) + rhexArray(b)) + rhexArray(c)) + rhexArray(d))); }; stop(); scoreMc = this; sendBubbleBoxScore = function (_arg1, _arg2:Sprite){ var gameID = _arg1; var root = _arg2; userData = new URLLoader(); var sendStr:* = ((((gameID + "_") + root.score) + "_") + root.bubblebox_name.text); var preHashStr:* = ((((((((((gameID + "_") + "4234232143214421") + "_") + root.score) + "_") + "2537625476251") + "_") + root.bubblebox_name.text) + "_") + "desleutelistessa"); var hashStr:* = preHashStr.MD5(); var data:URLVariables = new URLVariables(((("datastring=" + sendStr) + "&hashstring=") + hashStr)); userData.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:Event){ scoreMc.gotoAndStop("tryagain"); }); userData.addEventListener(Event.COMPLETE, function (_arg1:Event){ var _local5:String; var _local6:Array; var _local2:* = _arg1.target; var _local3:Array = _local2.data.split("&"); var _local4:Object = {}; for each (_local5 in _local3) { _local6 = _local5.split("="); if (_local6.length == 2){ _local4[_local6[0]] = _local6[1]; }; }; scoreMc.result_scoreID = _local4.id; scoreMc.result_weeklyID = _local4.weekly_id; scoreMc.result_scorepos = _local4.scorepos; scoreMc.result_weeklyScorepos = _local4.weeklyScorepos; scoreMc.gotoAndStop("success"); }); var request:URLRequest = new URLRequest("http://www.bubblebox.com/scripts/insertscore2009.php"); request.method = URLRequestMethod.POST; request.data = data; userData.load(request); }; this.send_btn.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ var _local2:Sprite = _arg1.target.parent; if (((!((_local2.bubblebox_name.text == "YOUR NAME"))) && ((_local2.bubblebox_name.text.length > 0)))){ trace(_local2.bubbleboxGameID); sendBubbleBoxScore(_local2.bubbleboxGameID, _local2); _local2.gotoAndStop("saving"); _local2.dispatchEvent(new Event("sendScores")); }; }); } function frame4(){ this.try_again.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent){ _arg1.currentTarget.parent.gotoAndStop(1); }); } public function ff(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){ return (cmn((MathbitAND(_arg2, _arg3) | MathbitAND(~(_arg2), _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } public function rhexArray(_arg1){ str = ""; j = 0; while (j <= 3) { str = (str + (hexArray_chr.charAt(MathbitAND((_arg1 >> ((j * 8) + 4)), 15)) + hexArray_chr.charAt(MathbitAND((_arg1 >> (j * 8)), 15)))); j++; }; return (str); } public function str2blks_MD5(_arg1){ _arg1 = String(_arg1); nblk = (((_arg1.length + 8) >> 6) + 1); blks = new Array((nblk * 16)); i = 0; while (i < (nblk * 16)) { blks[i] = 0; i++; }; i = 0; while (i < _arg1.length) { blks[(i >> 2)] = (blks[(i >> 2)] | (_arg1.charCodeAt(i) << ((i % 4) * 8))); i++; }; blks[(i >> 2)] = (blks[(i >> 2)] | (128 << ((i % 4) * 8))); blks[((nblk * 16) - 2)] = (_arg1.length * 8); return (blks); } public function rol(_arg1, _arg2){ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } public function addme(_arg1, _arg2){ var _local3:* = (MathbitAND(_arg1, 0xFFFF) + MathbitAND(_arg2, 0xFFFF)); var _local4:* = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | MathbitAND(_local3, 0xFFFF))); } } }//package
Section 181
//BubbleboxScores (BubbleboxScores) package { import flash.display.*; public dynamic class BubbleboxScores extends MovieClip { public function setScore(_arg1:Number, _arg2:int):void{ this.bubbleboxGameID = _arg2; this.score = _arg1; this.gotoAndStop(1); } } }//package
Section 182
//Bum_Sound (Bum_Sound) package { import flash.media.*; public dynamic class Bum_Sound extends Sound { } }//package
Section 183
//Bum2_Sound (Bum2_Sound) package { import flash.media.*; public dynamic class Bum2_Sound extends Sound { } }//package
Section 184
//Bum3_Sound (Bum3_Sound) package { import flash.media.*; public dynamic class Bum3_Sound extends Sound { } }//package
Section 185
//Bum4_Sound (Bum4_Sound) package { import flash.media.*; public dynamic class Bum4_Sound extends Sound { } }//package
Section 186
//Bum5_Sound (Bum5_Sound) package { import flash.media.*; public dynamic class Bum5_Sound extends Sound { } }//package
Section 187
//Bum6_Sound (Bum6_Sound) package { import flash.media.*; public dynamic class Bum6_Sound extends Sound { } }//package
Section 188
//Button_Over (Button_Over) package { import flash.media.*; public dynamic class Button_Over extends Sound { } }//package
Section 189
//Car_Crush (Car_Crush) package { import flash.media.*; public dynamic class Car_Crush extends Sound { } }//package
Section 190
//ClickClip (ClickClip) package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class ClickClip extends MovieClip { public function ClickClip(){ addFrameScript(4, frame5); } function frame5(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 191
//CrackSound1 (CrackSound1) package { import flash.media.*; public dynamic class CrackSound1 extends Sound { } }//package
Section 192
//CrackSound2 (CrackSound2) package { import flash.media.*; public dynamic class CrackSound2 extends Sound { } }//package
Section 193
//CrackSound3 (CrackSound3) package { import flash.media.*; public dynamic class CrackSound3 extends Sound { } }//package
Section 194
//ExplosionSound (ExplosionSound) package { import flash.media.*; public dynamic class ExplosionSound extends Sound { } }//package
Section 195
//Fire_Start (Fire_Start) package { import flash.media.*; public dynamic class Fire_Start extends Sound { } }//package
Section 196
//Fire_Start_Small (Fire_Start_Small) package { import flash.media.*; public dynamic class Fire_Start_Small extends Sound { } }//package
Section 197
//FireBody (FireBody) package { import flash.display.*; public dynamic class FireBody extends MovieClip { } }//package
Section 198
//GasBigSound (GasBigSound) package { import flash.media.*; public dynamic class GasBigSound extends Sound { } }//package
Section 199
//GasSmallSound (GasSmallSound) package { import flash.media.*; public dynamic class GasSmallSound extends Sound { } }//package
Section 200
//GoldSound (GoldSound) package { import flash.media.*; public dynamic class GoldSound extends Sound { } }//package
Section 201
//GreenBarClip (GreenBarClip) package { import flash.display.*; public dynamic class GreenBarClip extends MovieClip { } }//package
Section 202
//LevelGoodClip (LevelGoodClip) package { import flash.display.*; public dynamic class LevelGoodClip extends MovieClip { } }//package
Section 203
//main (main) package { import Box2D.Collision.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.display.*; import flash.events.*; import Objects.*; import gui.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.ui.*; import flash.utils.*; public dynamic class main extends MovieClip { public static var m_physScale:Number = 30; public static var m_bonus_y = 0; public static var mySO:SharedObject = SharedObject.getLocal("WereBoxesFlashL_01"); public static var b_first = false; public static var b_finish = false; public static var b_loose = false; public static var b_menu_up = false; public static var b_mochi = false; public static var myContactListener = 0; public static var b_locked = false; public static var m_counter = 0; public static var m_stage = 0; public static var m_scores = 0; public static var g_num = -5; public static var m_scores_data; public static var t_timer = 0; public static var LevelNumberClip = 0; public static var m_stage_name; public static var m_world:b2World; public static var m_objects = new Array(); public static var m_stage_number; public static var m_fire_controll; public static var m_iterations:int = 10; public static var m_timeStep:Number = 0.0333333333333333; public static var m_main; public static var m_force_coeff = 0; public static var m_sprite:Sprite; public static var b_pause = false; public static var b_kong = false; public static var m_level_menu_px = 640; public static var b_level_loaded = false; public static var kongregate = 0; public static var m_level_menu_py = 0; public static var m_WalkClip = 0; public static var b_sound = true; public static var m_clicks = 0; public function main(){ var _local1:*; var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:Loader; super(); addFrameScript(0, frame1, 54, frame55, 84, frame85); addEventListener(Event.ENTER_FRAME, Update); stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp); stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); m_main = this; m_scores_data = new LevelScores(); m_sprite = new Sprite(); addChild(m_sprite); InitPhysics(); if (isUrl(["kongregate.com"])){ b_kong = true; }; if (!mySO.data.Saves){ if (b_mochi){ MochiBot.track(main.m_main, "72a1f50e"); }; mySO.data.Saves = new Object(); mySO.data.Saves.m_scores = new Array(); mySO.data.Saves.m_levels = new Array(); _local1 = 0; while (_local1 < 30) { mySO.data.Saves.m_levels.push(0); mySO.data.Saves.m_scores.push(0); _local1++; }; mySO.data.Saves.m_levels[0] = 1; mySO.data.Saves.b_uniq_bubble = false; mySO.data.Saves.b_uniq_lara = false; mySO.data.Saves.b_01 = false; mySO.data.Saves.b_05 = false; mySO.data.Saves.b_10 = false; mySO.data.Saves.b_30 = false; mySO.flush(); }; if (!isUrl(["armorgames.com"])){ b_locked = true; }; m_fire_controll = new FireControll(); if (b_kong){ _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = ((_local2.kongregate_api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); Security.allowDomain(_local3); _local4 = new URLRequest(_local3); _local5 = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); _local5.load(_local4); this.addChild(_local5); }; } public function MouseUp(_arg1){ if (b_pause){ return; }; } function frame1(){ stop(); this.b_first = true; } public function MouseDown(_arg1){ var _local2:*; if (b_pause){ return; }; if (m_counter > 0){ return; }; for each (_local2 in m_objects) { if (_local2.m_type == 1){ if (_local2.ibox.selector.hitTestPoint(mouseX, mouseY)){ if (_local2.b_breaks){ CreateEffect("WrrClip", mouseX, mouseY); _local2.UnBreak(); } else { CreateEffect("BrakeClip", mouseX, mouseY); _local2.Break(_local2.b_tormoza); }; return; }; }; }; CreateEffect("ClickClip", mouseX, mouseY); } public function Update(_arg1){ var _local2:*; var _local3:uint; if (b_pause){ return; }; if (((b_level_loaded) && ((m_counter > 0)))){ m_counter--; }; m_sprite.graphics.clear(); for each (_local2 in m_objects) { _local2.Update(); if ((((_local2.y > 1000)) && (!((_local2.m_type == 1))))){ DeleteObject(_local2); }; }; _local3 = getTimer(); m_world.Step(m_timeStep, m_iterations); CheckFinish(); if (m_main.clicks_number_text != undefined){ m_main.clicks_number_text.text = m_clicks; }; if (((((m_stage) && (b_menu_up))) && (!((m_main.GameMenu == undefined))))){ main.m_main.addChild(m_main.GameMenu); b_menu_up = false; }; CalculateContacts(); m_fire_controll.Update(); if (LevelNumberClip){ LevelNumberClip.scores_number_text.text = main.m_scores; LevelNumberClip.scores2_number_text.text = ("/ " + m_scores_data.m_data[m_stage_number]); }; } function frame85(){ gotoAndStop("Menu"); } public function CreateEffect(_arg1, _arg2, _arg3){ var _local4:* = new ((getDefinitionByName(_arg1) as Class)); _local4.x = _arg2; _local4.y = _arg3; var _local5:* = ((Math.random() * 60) - 30); _local4.rotation = _local5; main.m_main.addChild(_local4); } private function keyUpHandler(_arg1:KeyboardEvent):void{ } function frame55(){ if (this.b_first){ main.m_main.Music1 = new Music1(); main.m_main.Music2 = new Music2(); main.m_main.m_music = main.m_main.Music1.play(0, 9999); main.m_main.m_music_type = 1; main.m_main.BumSound = new Bum_Sound(); main.m_main.BumSound2 = new Bum2_Sound(); main.m_main.BumSound3 = new Bum3_Sound(); main.m_main.BumSound4 = new Bum4_Sound(); main.m_main.BumSound5 = new Bum5_Sound(); main.m_main.BumSound6 = new Bum6_Sound(); main.m_main.CarCrashSound = new Car_Crush(); main.m_main.FireSound = new Fire_Start(); main.m_main.FireSmallSound = new Fire_Start_Small(); main.m_main.StarSound = new Star_Arrive(); main.m_main.CrackSound1 = new CrackSound1(); main.m_main.CrackSound2 = new CrackSound2(); main.m_main.CrackSound3 = new CrackSound3(); main.m_main.BreakingSound = new BreakingSound(); main.m_main.GasBigSound = new GasBigSound(); main.m_main.GasSmallSound = new GasSmallSound(); main.m_main.ExplosionSound = new ExplosionSound(); main.m_main.GoldSound = new GoldSound(); main.m_main.RestartSound = new RestartSound(); main.m_main.WinSound = new WinSound(); this.b_first = false; }; } public function MouseMove(_arg1:MouseEvent):void{ if (b_pause){ return; }; } public function InitPhysics(){ var _local1:b2AABB = new b2AABB(); _local1.lowerBound.Set(-1000, -1000); _local1.upperBound.Set(1000, 1000); var _local2:b2Vec2 = new b2Vec2(0, 10); var _local3:Boolean; m_world = new b2World(_local1, _local2, _local3); var _local4:b2DebugDraw = new b2DebugDraw(); _local4.m_sprite = m_sprite; _local4.m_drawScale = m_physScale; _local4.m_fillAlpha = 0.2; _local4.m_lineThickness = 1; _local4.m_drawFlags = (b2DebugDraw.e_shapeBit | b2DebugDraw.e_jointBit); myContactListener = new ContactListenerClass(); m_world.SetContactListener(myContactListener); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if ((((((_arg1.keyCode == 27)) || ((_arg1.keyCode == 32)))) || ((_arg1.keyCode == 80)))){ }; if (_arg1.keyCode == 82){ main.RestartLevel(); }; } public function CalculateContacts(){ var _local1:*; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; if (myContactListener == 0){ return; }; while (myContactListener.contactStack[0]) { _local1 = myContactListener.contactStack.pop(); _local2 = _local1.pos.x; _local3 = _local1.pos.y; _local4 = -(_local1.force); _local5 = _local1.car; _local6 = _local1.man; if ((((_local4 > 0.005)) && (!((_local6.m_userData.m_body.b_deleted == true))))){ _local7 = (int((Math.random() * 6)) + 1); if (_local7 == 1){ main.m_main.BumSound.play(); } else { if (_local7 == 2){ main.m_main.BumSound2.play(); } else { if (_local7 == 3){ main.m_main.BumSound3.play(); } else { if (_local7 == 4){ main.m_main.BumSound4.play(); } else { if (_local7 == 5){ main.m_main.BumSound5.play(); } else { if (_local7 == 6){ main.m_main.BumSound6.play(); }; }; }; }; }; }; CreateEffect("RagdollClip", (_local2 * main.m_physScale), (_local3 * main.m_physScale)); _local8 = new BonusStar((_local2 * main.m_physScale), (_local3 * main.m_physScale), 100); _local9 = new Ragdoll(_local6.m_userData.m_body, _local5.m_userData.m_body, _local4, _local2, _local3); main.DeleteObject(_local6.m_userData.m_body); }; }; } function loadComplete(_arg1:Event):void{ main.kongregate = _arg1.target.content; main.kongregate.services.connect(); } public static function FinishLevel(){ var _local1:*; if (b_finish){ return; }; i = 0; while (i < m_objects.length) { if (m_objects[i].m_type == 2){ _local1 = m_objects[i]; if (_local1.m_type == 2){ DeleteObject(_local1); i = 0; }; }; i++; }; CheckFinish(); t_timer = (t_timer - 3000); } public static function AddObject(_arg1, _arg2=0){ _arg1.b_deleted = false; _arg1.m_type = int(_arg2); m_objects.push(_arg1); } public static function CreateStage(_arg1){ m_counter = 3; b_level_loaded = true; m_force_coeff = 0.5; m_bonus_y = 1; var _local2:* = new ((getDefinitionByName(("Stages." + _arg1)) as Class)); main.m_stage = _local2; main.m_main.addChild(main.m_stage); if (main.m_main.SoundButton){ main.m_main.addChild(main.m_main.SoundButton); }; m_stage_name = _arg1; b_pause = false; b_finish = false; b_loose = false; t_timer = 0; b_first = true; m_clicks = 0; b_menu_up = true; m_scores = 0; LevelNumberClip = new LevelNumber(); if (m_WalkClip){ m_main.addChild(m_WalkClip); }; if ((((main.m_stage_number <= 15)) && ((main.m_main.m_music_type == 2)))){ main.m_main.m_music.stop(); main.m_main.m_music = main.m_main.Music1.play(0, 9999); main.m_main.m_music_type = 1; } else { if ((((main.m_stage_number > 15)) && ((main.m_main.m_music_type == 1)))){ main.m_main.m_music.stop(); main.m_main.m_music = main.m_main.Music2.play(0, 9999); main.m_main.m_music_type = 2; }; }; if (((((main.b_mochi) && ((main.m_stage_number == 1)))) && ((main.mySO.data.Saves.b_01 == false)))){ MochiBot.track(main.m_main, "594a021a"); main.mySO.data.Saves.b_01 = true; }; } public static function RestartLevel(){ if (main.m_stage){ main.m_main.RestartSound.play(); main.m_WalkClip.Show(); main.FreeAll(); main.CreateStage(main.m_stage_name); }; } public static function CheckFinish(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:String; var _local9:*; var _local10:*; if (m_stage == 0){ return; }; if (b_finish == false){ _local4 = true; _local5 = true; _local1 = 0; while (_local1 < m_objects.length) { _local6 = m_objects[_local1]; if (_local6.m_type == 1){ _local2 = (_local6.x + _local6.ibox.x); _local3 = (_local6.y + _local6.ibox.y); if ((((((((_local2 < -100)) || ((_local2 > 740)))) || ((_local3 < -100)))) || ((_local3 > 580)))){ _local4 = false; }; }; if (_local6.m_type == 2){ if ((((((((_local6.x > 0)) && ((_local6.x < 640)))) && ((_local6.y > 0)))) && ((_local6.y < 480)))){ _local5 = false; }; }; _local1++; }; if ((((_local5 == true)) && ((t_timer == 0)))){ t_timer = getTimer(); }; if (_local4 == false){ if (b_loose == false){ _local7 = new FailLogo(); _local7.alpha = 0.4; m_stage.addChild(_local7); m_main.CarCrashSound.play(); }; b_loose = true; return; }; if (((!((t_timer == 0))) && (((getTimer() - t_timer) > 3000)))){ if (_local5 == true){ _local8 = (main.m_stage_name.charAt((main.m_stage_name.length - 2)) + main.m_stage_name.charAt((main.m_stage_name.length - 1))); _local9 = int(_local8); if (((((main.b_mochi) && ((_local9 == 5)))) && ((main.mySO.data.Saves.b_05 == false)))){ MochiBot.track(main.m_main, "3878289a"); main.mySO.data.Saves.b_05 = true; }; if (((((main.b_mochi) && ((_local9 == 10)))) && ((main.mySO.data.Saves.b_10 == false)))){ MochiBot.track(main.m_main, "c0ba0dbb"); main.mySO.data.Saves.b_10 = true; }; if (((((main.b_mochi) && ((_local9 == 30)))) && ((main.mySO.data.Saves.b_30 == false)))){ MochiBot.track(main.m_main, "f051c6bd"); main.mySO.data.Saves.b_30 = true; }; _local10 = 0; _local1 = 0; while (_local1 < 30) { _local10 = (_local10 + main.mySO.data.Saves.m_scores[_local1]); _local1++; }; main.mySO.data.Saves.m_levels[(_local9 - 1)] = 2; if ((((_local9 < 30)) && ((main.mySO.data.Saves.m_levels[_local9] == 0)))){ main.mySO.data.Saves.m_levels[_local9] = 1; }; main.mySO.flush(); m_main.WinSound.play(); m_main.WinMenu.visible = true; b_finish = true; }; }; }; } public static function isUrl(_arg1:Array):Boolean{ var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local2:String = main.m_main.stage.loaderInfo.loaderURL; var _local3:* = _local2.split("://"); if (_local3[1]){ _local2 = _local3[1]; }; for (_local5 in _arg1) { _local4 = true; _local6 = _local2.search(_arg1[_local5]); if (_local6 > 0){ _local7 = _local2.charAt((_local6 - 1)); }; if (_local6 == -1){ _local4 = false; }; if ((((_local6 > 0)) && (!((_local7 == "."))))){ _local4 = false; }; if (_local4){ return (true); }; }; return (false); } public static function DeleteObject(_arg1){ var _local2:*; _local2 = 0; while (_local2 < m_objects.length) { if (m_objects[_local2] == _arg1){ m_objects[_local2].Destroy(); m_objects[_local2].b_deleted = true; m_objects.splice(_local2, 1); return (true); }; _local2++; }; return (false); } public static function FreeAll(){ var _local1:*; for each (_local1 in m_objects) { _local1.Destroy(); }; if (m_stage.Destroy){ m_stage.Destroy(); }; m_stage.parent.removeChild(m_stage); m_stage = 0; m_objects.splice(0); m_main.removeChild(LevelNumberClip); LevelNumberClip = 0; m_fire_controll.FreeAll(); b_level_loaded = false; } public static function ResetLevels(){ var _local1:* = 0; while (_local1 < 30) { mySO.data.Saves.m_levels[_local1] = 0; mySO.data.Saves.m_scores[_local1] = 0; _local1++; }; mySO.data.Saves.m_levels[0] = 1; main.m_main.gotoAndStop("Reset"); } } }//package
Section 204
//Man_01_Body (Man_01_Body) package { import flash.display.*; public dynamic class Man_01_Body extends MovieClip { } }//package
Section 205
//Man_01_Hand1 (Man_01_Hand1) package { import flash.display.*; public dynamic class Man_01_Hand1 extends MovieClip { } }//package
Section 206
//Man_01_Hand2 (Man_01_Hand2) package { import flash.display.*; public dynamic class Man_01_Hand2 extends MovieClip { } }//package
Section 207
//Man_01_Head (Man_01_Head) package { import flash.display.*; public dynamic class Man_01_Head extends MovieClip { } }//package
Section 208
//Man_01_Leg1 (Man_01_Leg1) package { import flash.display.*; public dynamic class Man_01_Leg1 extends MovieClip { } }//package
Section 209
//Man_01_Leg2 (Man_01_Leg2) package { import flash.display.*; public dynamic class Man_01_Leg2 extends MovieClip { } }//package
Section 210
//Man_02_Body (Man_02_Body) package { import flash.display.*; public dynamic class Man_02_Body extends MovieClip { } }//package
Section 211
//Man_02_Hand1 (Man_02_Hand1) package { import flash.display.*; public dynamic class Man_02_Hand1 extends MovieClip { } }//package
Section 212
//Man_02_Hand2 (Man_02_Hand2) package { import flash.display.*; public dynamic class Man_02_Hand2 extends MovieClip { } }//package
Section 213
//Man_02_Head (Man_02_Head) package { import flash.display.*; public dynamic class Man_02_Head extends MovieClip { } }//package
Section 214
//Man_02_Leg1 (Man_02_Leg1) package { import flash.display.*; public dynamic class Man_02_Leg1 extends MovieClip { } }//package
Section 215
//Man_02_Leg2 (Man_02_Leg2) package { import flash.display.*; public dynamic class Man_02_Leg2 extends MovieClip { } }//package
Section 216
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 217
//Most14 (Most14) package { import Objects.*; public dynamic class Most14 extends Bridge_Base { } }//package
Section 218
//Most14_2 (Most14_2) package { import Objects.*; public dynamic class Most14_2 extends Bridge_Base { } }//package
Section 219
//Most24 (Most24) package { import Objects.*; public dynamic class Most24 extends Bridge_Base { } }//package
Section 220
//Most27_1 (Most27_1) package { import Objects.*; public dynamic class Most27_1 extends Bridge_Base { } }//package
Section 221
//Most27_2 (Most27_2) package { import Objects.*; public dynamic class Most27_2 extends Bridge_Base { } }//package
Section 222
//Music1 (Music1) package { import flash.media.*; public dynamic class Music1 extends Sound { } }//package
Section 223
//Music2 (Music2) package { import flash.media.*; public dynamic class Music2 extends Sound { } }//package
Section 224
//Prepare_StartGame (Prepare_StartGame) package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class Prepare_StartGame extends MovieClip { public function Prepare_StartGame(){ addFrameScript(14, frame15); } function frame15(){ stop(); parent.removeChild(this); } } }//package
Section 225
//RagdollClip (RagdollClip) package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class RagdollClip extends MovieClip { public function RagdollClip(){ addFrameScript(19, frame20); } function frame20(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package
Section 226
//RedLineClip (RedLineClip) package { import flash.display.*; public dynamic class RedLineClip extends MovieClip { } }//package
Section 227
//RestartSound (RestartSound) package { import flash.media.*; public dynamic class RestartSound extends Sound { } }//package
Section 228
//Stage09_Most (Stage09_Most) package { import Objects.*; public dynamic class Stage09_Most extends Bridge_Base { } }//package
Section 229
//Star_Arrive (Star_Arrive) package { import flash.media.*; public dynamic class Star_Arrive extends Sound { } }//package
Section 230
//Stars (Stars) package { import flash.display.*; public dynamic class Stars extends MovieClip { } }//package
Section 231
//WinSound (WinSound) package { import flash.media.*; public dynamic class WinSound extends Sound { } }//package
Section 232
//WrrClip (WrrClip) package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.net.*; import flash.geom.*; import flash.system.*; import flash.accessibility.*; import flash.errors.*; import flash.filters.*; import flash.text.*; import flash.ui.*; import flash.utils.*; public dynamic class WrrClip extends MovieClip { public function WrrClip(){ addFrameScript(19, frame20); } function frame20(){ stop(); if (parent){ parent.removeChild(this); }; } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {Man_02_Hand2}Uses:1
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClip {Man_02_Hand1}Uses:3
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClip {Objects.Box_02}Uses:5
Symbol 7 GraphicUsed by:10
Symbol 8 FontUsed by:9 17 20 43 52 53 125 127 128 129 154 158 160 253 254 255 256 257 258 1577 1685 2311 2312 2313 2314 2315 2316 2317 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2361 2365 2383 2418 2419 2421 2422 2424 2429 2442 2444
Symbol 9 TextUses:8Used by:10
Symbol 10 MovieClip {gui.FailLogo}Uses:7 9
Symbol 11 GraphicUsed by:23
Symbol 12 GraphicUsed by:15
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClipUses:13Used by:15 317 1034 1179 1238 1379 1683 1731 2030 2184
Symbol 15 MovieClipUses:12 14Used by:23
Symbol 16 GraphicUsed by:23
Symbol 17 TextUses:8Used by:23
Symbol 18 FontUsed by:19 21 22 2305 2306
Symbol 19 EditableTextUses:18Used by:23
Symbol 20 TextUses:8Used by:23
Symbol 21 EditableTextUses:18Used by:23
Symbol 22 EditableTextUses:18Used by:23
Symbol 23 MovieClip {gui.LevelNumber}Uses:11 15 16 17 19 20 21 22
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClip {RedLineClip}Uses:24
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClip {GreenBarClip}Uses:26
Symbol 28 GraphicUsed by:30
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClip {FireBody}Uses:28 29
Symbol 31 GraphicUsed by:32 33
Symbol 32 MovieClip {gui.BonusStar}Uses:31
Symbol 33 MovieClip {Stars}Uses:31
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClip {BrakeClip}Uses:34
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClip {RagdollClip}Uses:36
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClip {WrrClip}Uses:38
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClip {ClickClip}Uses:40
Symbol 42 GraphicUsed by:44
Symbol 43 TextUses:8Used by:44
Symbol 44 MovieClip {Prepare_StartGame}Uses:42 43
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClip {LevelGoodClip}Uses:45
Symbol 47 GraphicUsed by:49
Symbol 48 Sound {Button_Over}Used by:49 51 56 130 2286 2320 2357 2360 2364 2382 2417 2425 2428 2441  Timeline
Symbol 49 Button {gui.GMButtonRestart}Uses:47 48Used by:54
Symbol 50 GraphicUsed by:51
Symbol 51 Button {gui.GMButtonMenu}Uses:50 48Used by:54
Symbol 52 TextUses:8Used by:54
Symbol 53 TextUses:8Used by:54
Symbol 54 MovieClip {gui.GameMenu}Uses:49 51 52 53Used by:Timeline
Symbol 55 GraphicUsed by:56
Symbol 56 Button {gui.StageButton}Uses:55 48Used by:2426
Symbol 57 GraphicUsed by:62
Symbol 58 GraphicUsed by:61
Symbol 59 GraphicUsed by:61
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClip {PipolSmasher_Armor_fla.Batters2_960}Uses:58 59 60Used by:62
Symbol 62 MovieClipUses:57 61Used by:63 2378
Symbol 63 MovieClip {Objects.Circle}Uses:62Used by:1917
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClip {Objects.Box_01}Uses:64Used by:238 1433 1683 1844 2059 2184
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClipUses:66Used by:83 233 260 270 283 291 293 1680
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:68Used by:83 233 260 270 283 291 293 1680
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:80 135 259
Symbol 72 GraphicUsed by:76
Symbol 73 GraphicUsed by:76
Symbol 74 GraphicUsed by:76
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:72 73 74 75Used by:77
Symbol 77 MovieClipUses:76Used by:80 134 135 138 141 232 259 269 282 290 292 1679
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:80 232 259 269 282 290 292 1679 2436
Symbol 80 MovieClipUses:71 77 79Used by:83  Timeline
Symbol 81 GraphicUsed by:82 132 231
Symbol 82 MovieClipUses:81Used by:83 260
Symbol 83 MovieClip {Objects.Car1}Uses:67 69 80 82Used by:238 261 274 277 294 477 1238 1241 1313 1574 1683 1844 2184 2278
Symbol 84 GraphicUsed by:85
Symbol 85 MovieClip {Man_02_Leg2}Uses:84Used by:228
Symbol 86 GraphicUsed by:87
Symbol 87 MovieClip {Man_02_Leg1}Uses:86Used by:228
Symbol 88 GraphicUsed by:89 2364
Symbol 89 MovieClip {Man_02_Body}Uses:88Used by:228
Symbol 90 GraphicUsed by:91 2364
Symbol 91 MovieClip {Man_02_Head}Uses:90Used by:228
Symbol 92 GraphicUsed by:93
Symbol 93 MovieClip {Objects.BoxSleep}Uses:92Used by:238 261 274 277 286 294 317 324 477 1034 1174 1179 1238 1241 1313 1316 1379 1382 1433 1438 1440 1482 1574 1683 1731 1844 1917 2030 2059 2184 2278
Symbol 94 GraphicUsed by:122
Symbol 95 GraphicUsed by:122
Symbol 96 GraphicUsed by:100
Symbol 97 GraphicUsed by:100
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:98Used by:100
Symbol 100 MovieClip {bubblebox_submit_score_fla.bubblebox_send_btn_2}Uses:96 97 99Used by:122
Symbol 101 FontUsed by:102 117
Symbol 102 TextUses:101Used by:122
Symbol 103 BitmapUsed by:104
Symbol 104 GraphicUses:103Used by:105 122
Symbol 105 MovieClip {bubblebox_submit_score_fla.bblogo_4}Uses:104Used by:122
Symbol 106 GraphicUsed by:112 122
Symbol 107 FontUsed by:108 121
Symbol 108 EditableTextUses:107Used by:122
Symbol 109 GraphicUsed by:113 116 120
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClipUses:110Used by:113
Symbol 112 MovieClipUses:106Used by:113
Symbol 113 MovieClip {bubblebox_submit_score_fla.bubblebox_saving_5}Uses:109 111 112Used by:122
Symbol 114 GraphicUsed by:115 116
Symbol 115 MovieClipUses:114Used by:116
Symbol 116 MovieClip {bubblebox_submit_score_fla.bubblebox_view_scores_8}Uses:109 114 115Used by:122
Symbol 117 EditableTextUses:101Used by:122
Symbol 118 GraphicUsed by:119 120
Symbol 119 MovieClipUses:118Used by:120
Symbol 120 MovieClip {bubblebox_submit_score_fla.bubblebox_try_again_10}Uses:109 118 119Used by:122
Symbol 121 EditableTextUses:107Used by:122
Symbol 122 MovieClip {bubblebox_submit_score}Uses:94 95 100 102 105 106 108 113 116 117 120 121 104
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:Timeline
Symbol 125 TextUses:8Used by:Timeline
Symbol 126 GraphicUsed by:130
Symbol 127 TextUses:8Used by:130
Symbol 128 TextUses:8Used by:130
Symbol 129 TextUses:8Used by:130
Symbol 130 ButtonUses:126 127 128 129 48Used by:157
Symbol 131 GraphicUsed by:134 268
Symbol 132 MovieClipUses:81Used by:133 270 283
Symbol 133 MovieClipUses:132Used by:134 135 138 141
Symbol 134 MovieClipUses:131 133 77Used by:142 157
Symbol 135 MovieClipUses:71 133 77Used by:142 157
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:138 290 292
Symbol 138 MovieClipUses:137 133 77Used by:142 157
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:141 232 1679
Symbol 141 MovieClipUses:133 140 77Used by:142 157
Symbol 142 MovieClipUses:134 135 138 141Used by:157
Symbol 143 GraphicUsed by:156
Symbol 144 GraphicUsed by:156 228
Symbol 145 GraphicUsed by:156 228
Symbol 146 GraphicUsed by:156
Symbol 147 GraphicUsed by:156
Symbol 148 GraphicUsed by:156
Symbol 149 GraphicUsed by:156
Symbol 150 GraphicUsed by:155
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:155
Symbol 153 GraphicUsed by:155
Symbol 154 EditableTextUses:8Used by:155
Symbol 155 MovieClipUses:150 152 153 154Used by:156 157
Symbol 156 MovieClipUses:143 144 145 146 147 148 149 155Used by:157
Symbol 157 MovieClip {gui.Preloader}Uses:130 142 156 155 134 135 138 141Used by:Timeline
Symbol 158 TextUses:8Used by:Timeline
Symbol 159 GraphicUsed by:2426  Timeline
Symbol 160 TextUses:8Used by:2426  Timeline
Symbol 161 BitmapUsed by:162
Symbol 162 GraphicUses:161Used by:164
Symbol 163 GraphicUsed by:164
Symbol 164 Button {gui.ArmorButton}Uses:162 163Used by:2426  Timeline
Symbol 165 GraphicUsed by:183
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:176
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168Used by:176
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170Used by:176
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:176
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174Used by:176
Symbol 176 MovieClipUses:167 169 171 173 175Used by:183
Symbol 177 GraphicUsed by:183
Symbol 178 GraphicUsed by:183
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClipUses:179Used by:183
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:183
Symbol 183 MovieClipUses:165 176 177 178 180 182Used by:238 261 277 286 294 324 477 1174 1179 1241 1433 1438 1482 1917 2278
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClipUses:184Used by:238
Symbol 186 GraphicUsed by:213
Symbol 187 GraphicUsed by:190 207
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:190
Symbol 190 MovieClipUses:187 189Used by:213
Symbol 191 GraphicUsed by:194
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:194
Symbol 194 MovieClipUses:191 193Used by:213
Symbol 195 GraphicUsed by:213
Symbol 196 GraphicUsed by:199
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:199
Symbol 199 MovieClipUses:196 198Used by:213
Symbol 200 GraphicUsed by:203
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:203
Symbol 203 MovieClipUses:200 202Used by:213
Symbol 204 GraphicUsed by:213
Symbol 205 BitmapUsed by:206
Symbol 206 GraphicUses:205Used by:207
Symbol 207 MovieClipUses:187 206Used by:213
Symbol 208 GraphicUsed by:211
Symbol 209 BitmapUsed by:210
Symbol 210 GraphicUses:209Used by:211
Symbol 211 MovieClipUses:208 210Used by:213
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:186 190 194 195 199 203 204 207 211 212Used by:238 261 274 277 286 294 317 324 477 1034 1174 1179 1238 1241 1313 1316 1379 1382 1433 1438 1574 1683 1731 1917 2030 2184 2278
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:230
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClip {Man_01_Head}Uses:216Used by:229
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClip {Man_01_Body}Uses:218Used by:229
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClip {Man_01_Hand1}Uses:220Used by:229
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClip {Man_01_Hand2}Uses:222Used by:229
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClip {Man_01_Leg1}Uses:224Used by:229
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClip {Man_01_Leg2}Uses:226Used by:229
Symbol 228 MovieClip {PipolSmasher_Armor_fla.ManImage_41}Uses:91 89 87 85 144 145Used by:229 2364
Symbol 229 MovieClipUses:217 219 221 223 225 227 228Used by:230
Symbol 230 MovieClip {Objects.Man_01}Uses:215 229Used by:238 261 274 277 286 294 317 324 477 1034 1174 1179 1238 1241 1313 1316 1379 1382 1433 1438 1440 1482 1574 1683 1731 1844 1917 2030 2059 2184 2278
Symbol 231 MovieClipUses:81Used by:233 291 293 1680
Symbol 232 MovieClipUses:140 79 77Used by:233
Symbol 233 MovieClip {Objects.Car4}Uses:67 69 231 232Used by:238 477 1316 1438 1844 1917 2184 2278
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClip {Box_lvl12_1}Uses:234Used by:238
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClip {Box_lvl12_2}Uses:236Used by:238
Symbol 238 MovieClip {Stages.stage_12}Uses:183 93 185 213 230 233 83 65 235 237Used by:Timeline
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClipUses:239Used by:261
Symbol 241 GraphicUsed by:248
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:244
Symbol 244 MovieClipUses:243Used by:248
Symbol 245 BitmapUsed by:246
Symbol 246 GraphicUses:245Used by:247
Symbol 247 MovieClipUses:246Used by:248
Symbol 248 MovieClipUses:241 244 247Used by:261 294 324 477 1316 1382 1433 1438 2278
Symbol 249 GraphicUsed by:250
Symbol 250 MovieClipUses:249Used by:261 274 286 294 317 324 477 1034 1174 1179 1238 1241 1316 1379 1382 1574 1683 1731 1844 1917 2030 2184 2278
Symbol 251 GraphicUsed by:261 286 324 1179
Symbol 252 GraphicUsed by:261
Symbol 253 TextUses:8Used by:261
Symbol 254 TextUses:8Used by:261
Symbol 255 TextUses:8Used by:261
Symbol 256 TextUses:8Used by:261
Symbol 257 TextUses:8Used by:261
Symbol 258 TextUses:8Used by:261
Symbol 259 MovieClipUses:71 77 79Used by:260
Symbol 260 MovieClip {Objects.Car1_Back}Uses:67 69 259 82Used by:261 294 1241 1313 1379 1440 1574
Symbol 261 MovieClip {Stages.stage_01}Uses:183 93 240 213 248 250 251 252 253 254 255 256 257 258 83 230 260Used by:Timeline
Symbol 262 Sound {Bum_Sound}Used by:Timeline
Symbol 263 BitmapUsed by:264
Symbol 264 GraphicUses:263Used by:265
Symbol 265 MovieClipUses:264Used by:274 317 1034 1238 1313 1316 1379 1382 1574 1683 1731 1844 2030 2059 2184
Symbol 266 GraphicUsed by:267
Symbol 267 MovieClipUses:266Used by:274
Symbol 268 MovieClipUses:131Used by:269 282
Symbol 269 MovieClipUses:268 77 79Used by:270
Symbol 270 MovieClip {Objects.Car2_Back}Uses:67 69 269 132Used by:274 294 1034 1174 1313 1382 1482 2059 2278
Symbol 271 GraphicUsed by:273
Symbol 272 GraphicUsed by:273
Symbol 273 MovieClip {Objects.Fire}Uses:271 272Used by:274 317 1034 1238 1313 1316 1379 1382 1574 1683 1731 1844 2030 2059 2184
Symbol 274 MovieClip {Stages.stage_17}Uses:265 93 267 213 250 230 270 273 83Used by:Timeline
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClipUses:275Used by:277
Symbol 277 MovieClip {Stages.stage_02}Uses:183 93 276 213 230 83Used by:Timeline
Symbol 278 GraphicUsed by:279
Symbol 279 MovieClipUses:278Used by:286
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClip {Objects.ReverseLeft}Uses:280Used by:286 477 1482 1683 2030 2184
Symbol 282 MovieClipUses:268 77 79Used by:283
Symbol 283 MovieClip {Objects.Car2}Uses:67 69 282 132Used by:286 294 317 324 1034 1174 1179 1313 1379 1382 1433
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClip {Objects.ReverseRight}Uses:284Used by:286 477 1174 1482 2030 2184
Symbol 286 MovieClip {Stages.stage_13}Uses:183 93 279 213 250 251 281 230 283 285Used by:Timeline
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClipUses:287Used by:294
Symbol 289 GraphicUsed by:294 1238 1316 2059 2184
Symbol 290 MovieClipUses:137 77 79Used by:291
Symbol 291 MovieClip {Objects.Car3}Uses:67 69 290 231Used by:294 1238 1241 1433 1574
Symbol 292 MovieClipUses:137 77 79Used by:293
Symbol 293 MovieClip {Objects.Car3_Back}Uses:67 69 292 231Used by:294 1433
Symbol 294 MovieClip {Stages.stage_03}Uses:183 93 288 248 213 250 289 83 260 283 270 291 293 230Used by:Timeline
Symbol 295 GraphicUsed by:296
Symbol 296 MovieClipUses:295Used by:317
Symbol 297 GraphicUsed by:298
Symbol 298 MovieClip {Objects.FireTrigger}Uses:297Used by:317 1313 1379 1382 1574 1683 1731 1844 2030 2184
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClip {Objects.StaticTrigger}Uses:299Used by:317 477 1313 1574 1683 1731 2030 2059 2184 2278
Symbol 301 GraphicUsed by:316
Symbol 302 GraphicUsed by:316
Symbol 303 GraphicUsed by:316
Symbol 304 GraphicUsed by:316
Symbol 305 GraphicUsed by:316
Symbol 306 GraphicUsed by:316
Symbol 307 GraphicUsed by:316
Symbol 308 GraphicUsed by:316
Symbol 309 GraphicUsed by:316
Symbol 310 GraphicUsed by:316
Symbol 311 GraphicUsed by:316
Symbol 312 GraphicUsed by:316
Symbol 313 GraphicUsed by:316
Symbol 314 GraphicUsed by:316
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClip {Objects.Most19}Uses:301 302 303 304 305 306 307 308 309 310 311 312 313 314 315Used by:317 1313 1574 2059 2184
Symbol 317 MovieClip {Stages.stage_21}Uses:265 93 296 213 250 14 230 283 273 298 300 316Used by:Timeline
Symbol 318 BitmapUsed by:322
Symbol 319 BitmapUsed by:322
Symbol 320 BitmapUsed by:322
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:319 320 321 318Used by:323
Symbol 323 MovieClipUses:322Used by:324
Symbol 324 MovieClip {Stages.stage_04}Uses:183 93 323 248 250 213 251 230 283Used by:Timeline
Symbol 325 Sound {Car_Crush}Used by:Timeline
Symbol 326 GraphicUsed by:442
Symbol 327 GraphicUsed by:328 1279 1291 1297 1400 1416 1536 1626 1687 2083 2160 2171 2187
Symbol 328 MovieClipUses:327Used by:442
Symbol 329 GraphicUsed by:330
Symbol 330 MovieClipUses:329Used by:442
Symbol 331 GraphicUsed by:332 336 353 365 667 860 1044 1070 1202 1298 1537 1539 1580 1582 1627 1636 1688 1690 1722 1897 1951 2084 2107 2126 2144 2161 2163 2172 2174 2209 2223 2234
Symbol 332 MovieClipUses:331Used by:442
Symbol 333 GraphicUsed by:334
Symbol 334 MovieClipUses:333Used by:442
Symbol 335 GraphicUsed by:442
Symbol 336 MovieClipUses:331Used by:442
Symbol 337 GraphicUsed by:442
Symbol 338 GraphicUsed by:339 480 565 1073 1077 1084 1087 1097 1222 1245 1247 1327 1337 1339 1359 1365 1386 1486 1488 1502 1513 1548 1552 1562 1566 1634 1642 1694 1737 1774 1777 1779 1817 1823 1877 1879 1921 1929 1937 2037 2081 2091 2102 2195 2204 2206
Symbol 339 MovieClipUses:338Used by:442
Symbol 340 GraphicUsed by:442
Symbol 341 GraphicUsed by:342 367 479 681 1037 1063 1207 1214 1219 1244 1283 1336 1347 1356 1385 1485 1545 1563 1594 1702 1717 1776 1787 1814 1822 1838 1847 1920 1925 1931 1934 1941 1948 2099 2120 2155 2203 2211 2216 2218 2229
Symbol 342 MovieClipUses:341Used by:442
Symbol 343 GraphicUsed by:344 1038 1064
Symbol 344 MovieClipUses:343Used by:442
Symbol 345 GraphicUsed by:346
Symbol 346 MovieClipUses:345Used by:442
Symbol 347 GraphicUsed by:348
Symbol 348 MovieClipUses:347Used by:442
Symbol 349 GraphicUsed by:442
Symbol 350 GraphicUsed by:351 359 363 368 384 388 631 927 1039 1042 1065 1068 1183 1208 1210 1215 1217 1284 1286 1289 1348 1350 1357 1363 1388 1421 1511 1546 1564 1586 1595 1597 1601 1624 1632 1644 1703 1705 1709 1718 1720 1735 1772 1788 1815 1839 1841 1848 1850 1859 1861 1923 1932 1935 1942 1944 2079 2111 2121 2123 2132 2141 2156 2158 2165 2176 2212 2214 2219 2221 2230 2232
Symbol 351 MovieClipUses:350Used by:442
Symbol 352 GraphicUsed by:442
Symbol 353 MovieClipUses:331Used by:442
Symbol 354 GraphicUsed by:442
Symbol 355 GraphicUsed by:356 1182 1265 1406 1420 1876
Symbol 356 MovieClipUses:355Used by:442
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:442
Symbol 359 MovieClipUses:350Used by:442
Symbol 360 GraphicUsed by:361 1040 1066
Symbol 361 MovieClipUses:360Used by:442
Symbol 362 GraphicUsed by:442
Symbol 363 MovieClipUses:350Used by:442
Symbol 364 GraphicUsed by:442
Symbol 365 MovieClipUses:331Used by:442
Symbol 366 GraphicUsed by:442
Symbol 367 MovieClipUses:341Used by:442
Symbol 368 MovieClipUses:350Used by:442
Symbol 369 GraphicUsed by:370 389 481 1050 1059 1074 1088 1103 1124 1126 1500 1584 1607 1692 2067 2130 2149 2227 2238
Symbol 370 MovieClipUses:369Used by:442
Symbol 371 GraphicUsed by:372 686 1104
Symbol 372 MovieClipUses:371Used by:442
Symbol 373 GraphicUsed by:374 483 687 1051 1075 1090
Symbol 374 MovieClipUses:373Used by:442
Symbol 375 GraphicUsed by:376 392
Symbol 376 MovieClipUses:375Used by:442
Symbol 377 GraphicUsed by:378 1082
Symbol 378 MovieClipUses:377Used by:442
Symbol 379 GraphicUsed by:380 386 488 596 691 792 1094 1099 1329 1352 1425 1450 1458 1466 1490 1504 1519 1550 1588 1611 1696 1739 1781 1868 1887 1899 1910 1956 1967 2072 2093 2113 2134 2151 2197
Symbol 380 MovieClipUses:379Used by:442
Symbol 381 GraphicUsed by:382
Symbol 382 MovieClipUses:381Used by:442
Symbol 383 GraphicUsed by:442
Symbol 384 MovieClipUses:350Used by:442
Symbol 385 GraphicUsed by:442
Symbol 386 MovieClipUses:379Used by:442
Symbol 387 GraphicUsed by:442
Symbol 388 MovieClipUses:350Used by:442
Symbol 389 MovieClipUses:369Used by:442
Symbol 390 GraphicUsed by:391 482 1089
Symbol 391 MovieClipUses:390Used by:442
Symbol 392 MovieClipUses:375Used by:442
Symbol 393 GraphicUsed by:442
Symbol 394 GraphicUsed by:395 403 417 419 1061 1080 1107 1188
Symbol 395 MovieClipUses:394Used by:442
Symbol 396 GraphicUsed by:397 663 1133
Symbol 397 MovieClipUses:396Used by:442
Symbol 398 GraphicUsed by:399 1331 1506 1590 1649 1741 2033
Symbol 399 MovieClipUses:398Used by:442
Symbol 400 GraphicUsed by:442
Symbol 401 GraphicUsed by:402
Symbol 402 MovieClipUses:401Used by:442
Symbol 403 MovieClipUses:394Used by:442
Symbol 404 GraphicUsed by:405 421 856 1110 1118 1163
Symbol 405 MovieClipUses:404Used by:442
Symbol 406 GraphicUsed by:407 1111 1119
Symbol 407 MovieClipUses:406Used by:442
Symbol 408 GraphicUsed by:442
Symbol 409 GraphicUsed by:410 919 1161 1198 1257 1398 2169 2180
Symbol 410 MovieClipUses:409Used by:442
Symbol 411 GraphicUsed by:442
Symbol 412 GraphicUsed by:413 415 1078 1325 2089
Symbol 413 MovieClipUses:412Used by:442
Symbol 414 GraphicUsed by:442
Symbol 415 MovieClipUses:412Used by:442
Symbol 416 GraphicUsed by:442
Symbol 417 MovieClipUses:394Used by:442
Symbol 418 GraphicUsed by:442
Symbol 419 MovieClipUses:394Used by:442
Symbol 420 GraphicUsed by:442
Symbol 421 MovieClipUses:404Used by:442
Symbol 422 GraphicUsed by:423 426 1134 1136 1374 1521 1605 1613 1713 1724 1808 1812 1874 1905 1962 2074 2153
Symbol 423 MovieClipUses:422Used by:442
Symbol 424 GraphicUsed by:425 1135 1167 1169 1171
Symbol 425 MovieClipUses:424Used by:442
Symbol 426 MovieClipUses:422Used by:442
Symbol 427 GraphicUsed by:442
Symbol 428 GraphicUsed by:429 1141
Symbol 429 MovieClipUses:428Used by:442
Symbol 430 GraphicUsed by:442
Symbol 431 GraphicUsed by:432 1224 1233
Symbol 432 MovieClipUses:431Used by:442
Symbol 433 GraphicUsed by:442
Symbol 434 GraphicUsed by:435 688 826 1105 1158 1164 1226 1255 1275 1396 1413 1543 2167 2178
Symbol 435 MovieClipUses:434Used by:442
Symbol 436 GraphicUsed by:437 1159 1165
Symbol 437 MovieClipUses:436Used by:442
Symbol 438 GraphicUsed by:442
Symbol 439 GraphicUsed by:440 1117 1144
Symbol 440 MovieClipUses:439Used by:442
Symbol 441 GraphicUsed by:442
Symbol 442 MovieClipUses:326 328 330 332 334 335 336 337 339 340 342 344 346 348 349 351 352 353 354 356 358 359 361 362 363 364 365 366 367 368 370 372 374 376 378 380 382 383 384 385 386 387 388 389 391 392 393 395 397 399 400 402 403 405 407 408 410 411 413 414 415 416 417 418 419 420 421 423 425 426 427 429 430 432 433 435 437 438 440 441Used by:477
Symbol 443 GraphicUsed by:444
Symbol 444 MovieClip {Box_lvl9}Uses:443Used by:477
Symbol 445 GraphicUsed by:476
Symbol 446 GraphicUsed by:476
Symbol 447 GraphicUsed by:476
Symbol 448 GraphicUsed by:476
Symbol 449 GraphicUsed by:476
Symbol 450 GraphicUsed by:476
Symbol 451 GraphicUsed by:476
Symbol 452 GraphicUsed by:476
Symbol 453 GraphicUsed by:476
Symbol 454 GraphicUsed by:476
Symbol 455 GraphicUsed by:476 2005 2029 2058 2260
Symbol 456 GraphicUsed by:476
Symbol 457 GraphicUsed by:476
Symbol 458 GraphicUsed by:476
Symbol 459 GraphicUsed by:476
Symbol 460 GraphicUsed by:476
Symbol 461 GraphicUsed by:476
Symbol 462 GraphicUsed by:476
Symbol 463 GraphicUsed by:476
Symbol 464 GraphicUsed by:476
Symbol 465 GraphicUsed by:476
Symbol 466 GraphicUsed by:476
Symbol 467 GraphicUsed by:476
Symbol 468 GraphicUsed by:476
Symbol 469 GraphicUsed by:476
Symbol 470 GraphicUsed by:476
Symbol 471 GraphicUsed by:476
Symbol 472 GraphicUsed by:476
Symbol 473 GraphicUsed by:476
Symbol 474 GraphicUsed by:476
Symbol 475 GraphicUsed by:476
Symbol 476 MovieClip {Stage09_Most}Uses:445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475Used by:477
Symbol 477 MovieClip {Stages.stage_09}Uses:183 93 442 248 213 250 83 281 285 233 230 300 444 476Used by:Timeline
Symbol 478 GraphicUsed by:1033
Symbol 479 MovieClipUses:341Used by:1033
Symbol 480 MovieClipUses:338Used by:1033
Symbol 481 MovieClipUses:369Used by:1033
Symbol 482 MovieClipUses:390Used by:1033
Symbol 483 MovieClipUses:373Used by:1033
Symbol 484 GraphicUsed by:485
Symbol 485 MovieClipUses:484Used by:1033
Symbol 486 GraphicUsed by:487 1052 1093
Symbol 487 MovieClipUses:486Used by:1033
Symbol 488 MovieClipUses:379Used by:1033
Symbol 489 GraphicUsed by:490 692 1095
Symbol 490 MovieClipUses:489Used by:1033
Symbol 491 MovieClipUsed by:492
Symbol 492 MovieClipUses:491Used by:1033
Symbol 493 GraphicUsed by:494 566 697
Symbol 494 MovieClipUses:493Used by:1033
Symbol 495 GraphicUsed by:496
Symbol 496 MovieClipUses:495Used by:1033
Symbol 497 GraphicUsed by:498 499 500 503 504 505 508 511 514 515 518 519 520 553 569 570 571 572 573 574 575 599 600 603 618 634 635 636 637 638 639 654 655 656 657 658 670 671 672 673 674 675 696 698 700 701 704 705 706 707 708 709 710 711 712 714 715 748 749 763 764 766 767 768 770 795 796 797 798 799 812 829 831 832 833 834 847 848 849 851 863 865 866 867 868 942 943 945 946 947 970 971 972 973 974 975 986 987 988 989 994 995 997 998 999 1000
Symbol 498 MovieClipUses:497Used by:1033
Symbol 499 MovieClipUses:497Used by:1033
Symbol 500 MovieClipUses:497Used by:1033
Symbol 501 GraphicUsed by:502 693 699 713 762 765 769 830 850 862 864 944 996 1173
Symbol 502 MovieClipUses:501Used by:1033
Symbol 503 MovieClipUses:497Used by:1033
Symbol 504 MovieClipUses:497Used by:1033
Symbol 505 MovieClipUses:497Used by:1033
Symbol 506 GraphicUsed by:507
Symbol 507 MovieClipUses:506Used by:1033
Symbol 508 MovieClipUses:497Used by:1033
Symbol 509 GraphicUsed by:510
Symbol 510 MovieClipUses:509Used by:1033
Symbol 511 MovieClipUses:497Used by:1033
Symbol 512 GraphicUsed by:513
Symbol 513 MovieClipUses:512Used by:1033
Symbol 514 MovieClipUses:497Used by:1033
Symbol 515 MovieClipUses:497Used by:1033
Symbol 516 GraphicUsed by:517
Symbol 517 MovieClipUses:516Used by:1033
Symbol 518 MovieClipUses:497Used by:1033
Symbol 519 MovieClipUses:497Used by:1033
Symbol 520 MovieClipUses:497Used by:1033
Symbol 521 GraphicUsed by:522
Symbol 522 MovieClipUses:521Used by:1033
Symbol 523 GraphicUsed by:524
Symbol 524 MovieClipUses:523Used by:1033
Symbol 525 GraphicUsed by:526
Symbol 526 MovieClipUses:525Used by:1033
Symbol 527 GraphicUsed by:528
Symbol 528 MovieClipUses:527Used by:1033
Symbol 529 GraphicUsed by:530
Symbol 530 MovieClipUses:529Used by:1033
Symbol 531 GraphicUsed by:532
Symbol 532 MovieClipUses:531Used by:1033
Symbol 533 MovieClipUsed by:1033
Symbol 534 GraphicUsed by:535
Symbol 535 MovieClipUses:534Used by:1033
Symbol 536 GraphicUsed by:537
Symbol 537 MovieClipUses:536Used by:1033
Symbol 538 GraphicUsed by:539
Symbol 539 MovieClipUses:538Used by:1033
Symbol 540 GraphicUsed by:541
Symbol 541 MovieClipUses:540Used by:1033
Symbol 542 GraphicUsed by:543 593 787 879
Symbol 543 MovieClipUses:542Used by:1033
Symbol 544 GraphicUsed by:545
Symbol 545 MovieClipUses:544Used by:1033
Symbol 546 GraphicUsed by:547
Symbol 547 MovieClipUses:546Used by:1033
Symbol 548 MovieClipUsed by:1033
Symbol 549 GraphicUsed by:550
Symbol 550 MovieClipUses:549Used by:1033
Symbol 551 GraphicUsed by:552
Symbol 552 MovieClipUses:551Used by:1033
Symbol 553 MovieClipUses:497Used by:1033
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClipUses:554Used by:1033
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClipUses:556Used by:1033
Symbol 558 MovieClipUsed by:1033
Symbol 559 GraphicUsed by:560
Symbol 560 MovieClipUses:559Used by:1033
Symbol 561 GraphicUsed by:562
Symbol 562 MovieClipUses:561Used by:1033
Symbol 563 GraphicUsed by:564
Symbol 564 MovieClipUses:563Used by:1033
Symbol 565 MovieClipUses:338Used by:1033
Symbol 566 MovieClipUses:493Used by:1033
Symbol 567 GraphicUsed by:568
Symbol 568 MovieClipUses:567Used by:1033
Symbol 569 MovieClipUses:497Used by:1033
Symbol 570 MovieClipUses:497Used by:1033
Symbol 571 MovieClipUses:497Used by:1033
Symbol 572 MovieClipUses:497Used by:1033
Symbol 573 MovieClipUses:497Used by:1033
Symbol 574 MovieClipUses:497Used by:1033
Symbol 575 MovieClipUses:497Used by:1033
Symbol 576 GraphicUsed by:577
Symbol 577 MovieClipUses:576Used by:1033
Symbol 578 GraphicUsed by:579
Symbol 579 MovieClipUses:578Used by:1033
Symbol 580 GraphicUsed by:581
Symbol 581 MovieClipUses:580Used by:1033
Symbol 582 GraphicUsed by:583
Symbol 583 MovieClipUses:582Used by:1033
Symbol 584 MovieClipUsed by:1033
Symbol 585 GraphicUsed by:586
Symbol 586 MovieClipUses:585Used by:1033
Symbol 587 GraphicUsed by:588
Symbol 588 MovieClipUses:587Used by:1033
Symbol 589 GraphicUsed by:590
Symbol 590 MovieClipUses:589Used by:1033
Symbol 591 GraphicUsed by:592
Symbol 592 MovieClipUses:591Used by:1033
Symbol 593 MovieClipUses:542Used by:1033
Symbol 594 GraphicUsed by:595
Symbol 595 MovieClipUses:594Used by:1033
Symbol 596 MovieClipUses:379Used by:1033
Symbol 597 GraphicUsed by:598
Symbol 598 MovieClipUses:597Used by:1033
Symbol 599 MovieClipUses:497Used by:1033
Symbol 600 MovieClipUses:497Used by:1033
Symbol 601 GraphicUsed by:602
Symbol 602 MovieClipUses:601Used by:1033
Symbol 603 MovieClipUses:497Used by:1033
Symbol 604 GraphicUsed by:605
Symbol 605 MovieClipUses:604Used by:1033
Symbol 606 GraphicUsed by:607
Symbol 607 MovieClipUses:606Used by:1033
Symbol 608 GraphicUsed by:609
Symbol 609 MovieClipUses:608Used by:1033
Symbol 610 GraphicUsed by:611
Symbol 611 MovieClipUses:610Used by:1033
Symbol 612 GraphicUsed by:613
Symbol 613 MovieClipUses:612Used by:1033
Symbol 614 GraphicUsed by:615
Symbol 615 MovieClipUses:614Used by:1033
Symbol 616 GraphicUsed by:617
Symbol 617 MovieClipUses:616Used by:1033
Symbol 618 MovieClipUses:497Used by:1033
Symbol 619 GraphicUsed by:620
Symbol 620 MovieClipUses:619Used by:1033
Symbol 621 GraphicUsed by:622
Symbol 622 MovieClipUses:621Used by:1033
Symbol 623 GraphicUsed by:624
Symbol 624 MovieClipUses:623Used by:1033
Symbol 625 GraphicUsed by:626
Symbol 626 MovieClipUses:625Used by:1033
Symbol 627 GraphicUsed by:628
Symbol 628 MovieClipUses:627Used by:1033
Symbol 629 GraphicUsed by:630
Symbol 630 MovieClipUses:629Used by:1033
Symbol 631 MovieClipUses:350Used by:1033
Symbol 632 GraphicUsed by:633
Symbol 633 MovieClipUses:632Used by:1033
Symbol 634 MovieClipUses:497Used by:1033
Symbol 635 MovieClipUses:497Used by:1033
Symbol 636 MovieClipUses:497Used by:1033
Symbol 637 MovieClipUses:497Used by:1033
Symbol 638 MovieClipUses:497Used by:1033
Symbol 639 MovieClipUses:497Used by:1033
Symbol 640 GraphicUsed by:641
Symbol 641 MovieClipUses:640Used by:1033
Symbol 642 GraphicUsed by:643
Symbol 643 MovieClipUses:642Used by:1033
Symbol 644 GraphicUsed by:645
Symbol 645 MovieClipUses:644Used by:1033
Symbol 646 GraphicUsed by:647
Symbol 647 MovieClipUses:646Used by:1033
Symbol 648 GraphicUsed by:649
Symbol 649 MovieClipUses:648Used by:1033
Symbol 650 GraphicUsed by:651
Symbol 651 MovieClipUses:650Used by:1033
Symbol 652 GraphicUsed by:653
Symbol 653 MovieClipUses:652Used by:1033
Symbol 654 MovieClipUses:497Used by:1033
Symbol 655 MovieClipUses:497Used by:1033
Symbol 656 MovieClipUses:497Used by:1033
Symbol 657 MovieClipUses:497Used by:1033
Symbol 658 MovieClipUses:497Used by:1033
Symbol 659 GraphicUsed by:660
Symbol 660 MovieClipUses:659Used by:1033
Symbol 661 GraphicUsed by:662 1249 1390
Symbol 662 MovieClipUses:661Used by:1033
Symbol 663 MovieClipUses:396Used by:1033
Symbol 664 GraphicUsed by:665 1354 1785 1889 1901 1912 1958 2095 2199 2225 2236
Symbol 665 MovieClipUses:664Used by:1033
Symbol 666 GraphicUsed by:1033
Symbol 667 MovieClipUses:331Used by:1033
Symbol 668 GraphicUsed by:669 1492 1638 1870
Symbol 669 MovieClipUses:668Used by:1033
Symbol 670 MovieClipUses:497Used by:1033
Symbol 671 MovieClipUses:497Used by:1033
Symbol 672 MovieClipUses:497Used by:1033
Symbol 673 MovieClipUses:497Used by:1033
Symbol 674 MovieClipUses:497Used by:1033
Symbol 675 MovieClipUses:497Used by:1033
Symbol 676 GraphicUsed by:677
Symbol 677 MovieClipUses:676Used by:1033
Symbol 678 GraphicUsed by:679
Symbol 679 MovieClipUses:678Used by:1033
Symbol 680 GraphicUsed by:1033
Symbol 681 MovieClipUses:341Used by:1033
Symbol 682 GraphicUsed by:683
Symbol 683 MovieClipUses:682Used by:1033
Symbol 684 GraphicUsed by:685 1367 1515 1599
Symbol 685 MovieClipUses:684Used by:1033
Symbol 686 MovieClipUses:371Used by:1033
Symbol 687 MovieClipUses:373Used by:1033
Symbol 688 MovieClipUses:434Used by:1033
Symbol 689 GraphicUsed by:690
Symbol 690 MovieClipUses:689Used by:1033
Symbol 691 MovieClipUses:379Used by:1033
Symbol 692 MovieClipUses:489Used by:1033
Symbol 693 MovieClipUses:501Used by:1033
Symbol 694 GraphicUsed by:695
Symbol 695 MovieClipUses:694Used by:1033
Symbol 696 MovieClipUses:497Used by:1033
Symbol 697 MovieClipUses:493Used by:1033
Symbol 698 MovieClipUses:497Used by:1033
Symbol 699 MovieClipUses:501Used by:1033
Symbol 700 MovieClipUses:497Used by:1033
Symbol 701 MovieClipUses:497Used by:1033
Symbol 702 GraphicUsed by:703
Symbol 703 MovieClipUses:702Used by:1033
Symbol 704 MovieClipUses:497Used by:1033
Symbol 705 MovieClipUses:497Used by:1033
Symbol 706 MovieClipUses:497Used by:1033
Symbol 707 MovieClipUses:497Used by:1033
Symbol 708 MovieClipUses:497Used by:1033
Symbol 709 MovieClipUses:497Used by:1033
Symbol 710 MovieClipUses:497Used by:1033
Symbol 711 MovieClipUses:497Used by:1033
Symbol 712 MovieClipUses:497Used by:1033
Symbol 713 MovieClipUses:501Used by:1033
Symbol 714 MovieClipUses:497Used by:1033
Symbol 715 MovieClipUses:497Used by:1033
Symbol 716 GraphicUsed by:717
Symbol 717 MovieClipUses:716Used by:1033
Symbol 718 GraphicUsed by:719
Symbol 719 MovieClipUses:718Used by:1033
Symbol 720 GraphicUsed by:721
Symbol 721 MovieClipUses:720Used by:1033
Symbol 722 GraphicUsed by:723
Symbol 723 MovieClipUses:722Used by:1033
Symbol 724 GraphicUsed by:725
Symbol 725 MovieClipUses:724Used by:1033
Symbol 726 GraphicUsed by:727
Symbol 727 MovieClipUses:726Used by:1033
Symbol 728 GraphicUsed by:729
Symbol 729 MovieClipUses:728Used by:1033
Symbol 730 GraphicUsed by:731
Symbol 731 MovieClipUses:730Used by:1033
Symbol 732 GraphicUsed by:733
Symbol 733 MovieClipUses:732Used by:1033
Symbol 734 GraphicUsed by:735
Symbol 735 MovieClipUses:734Used by:1033
Symbol 736 GraphicUsed by:737
Symbol 737 MovieClipUses:736Used by:1033
Symbol 738 GraphicUsed by:739
Symbol 739 MovieClipUses:738Used by:1033
Symbol 740 GraphicUsed by:741
Symbol 741 MovieClipUses:740Used by:1033
Symbol 742 GraphicUsed by:743
Symbol 743 MovieClipUses:742Used by:1033
Symbol 744 GraphicUsed by:745
Symbol 745 MovieClipUses:744Used by:1033
Symbol 746 GraphicUsed by:747
Symbol 747 MovieClipUses:746Used by:1033
Symbol 748 MovieClipUses:497Used by:1033
Symbol 749 MovieClipUses:497Used by:1033
Symbol 750 GraphicUsed by:751
Symbol 751 MovieClipUses:750Used by:1033
Symbol 752 GraphicUsed by:753
Symbol 753 MovieClipUses:752Used by:1033
Symbol 754 GraphicUsed by:755
Symbol 755 MovieClipUses:754Used by:1033
Symbol 756 GraphicUsed by:757
Symbol 757 MovieClipUses:756Used by:1033
Symbol 758 GraphicUsed by:759
Symbol 759 MovieClipUses:758Used by:1033
Symbol 760 GraphicUsed by:761 825 1220 1369
Symbol 761 MovieClipUses:760Used by:1033
Symbol 762 MovieClipUses:501Used by:1033
Symbol 763 MovieClipUses:497Used by:1033
Symbol 764 MovieClipUses:497Used by:1033
Symbol 765 MovieClipUses:501Used by:1033
Symbol 766 MovieClipUses:497Used by:1033
Symbol 767 MovieClipUses:497Used by:1033
Symbol 768 MovieClipUses:497Used by:1033
Symbol 769 MovieClipUses:501Used by:1033
Symbol 770 MovieClipUses:497Used by:1033
Symbol 771 GraphicUsed by:772
Symbol 772 MovieClipUses:771Used by:1033
Symbol 773 GraphicUsed by:774
Symbol 774 MovieClipUses:773Used by:1033
Symbol 775 GraphicUsed by:776
Symbol 776 MovieClipUses:775Used by:1033
Symbol 777 GraphicUsed by:778
Symbol 778 MovieClipUses:777Used by:1033
Symbol 779 GraphicUsed by:780
Symbol 780 MovieClipUses:779Used by:1033
Symbol 781 GraphicUsed by:782
Symbol 782 MovieClipUses:781Used by:1033
Symbol 783 GraphicUsed by:784
Symbol 784 MovieClipUses:783Used by:1033
Symbol 785 GraphicUsed by:786
Symbol 786 MovieClipUses:785Used by:1033
Symbol 787 MovieClipUses:542Used by:1033
Symbol 788 GraphicUsed by:789
Symbol 789 MovieClipUses:788Used by:1033
Symbol 790 GraphicUsed by:791
Symbol 791 MovieClipUses:790Used by:1033
Symbol 792 MovieClipUses:379Used by:1033
Symbol 793 GraphicUsed by:794
Symbol 794 MovieClipUses:793Used by:1033
Symbol 795 MovieClipUses:497Used by:1033
Symbol 796 MovieClipUses:497Used by:1033
Symbol 797 MovieClipUses:497Used by:1033
Symbol 798 MovieClipUses:497Used by:1033
Symbol 799 MovieClipUses:497Used by:1033
Symbol 800 GraphicUsed by:801
Symbol 801 MovieClipUses:800Used by:1033
Symbol 802 GraphicUsed by:803
Symbol 803 MovieClipUses:802Used by:1033
Symbol 804 GraphicUsed by:805
Symbol 805 MovieClipUses:804Used by:1033
Symbol 806 GraphicUsed by:807
Symbol 807 MovieClipUses:806Used by:1033
Symbol 808 GraphicUsed by:809
Symbol 809 MovieClipUses:808Used by:1033
Symbol 810 GraphicUsed by:811
Symbol 811 MovieClipUses:810Used by:1033
Symbol 812 MovieClipUses:497Used by:1033
Symbol 813 GraphicUsed by:814
Symbol 814 MovieClipUses:813Used by:1033
Symbol 815 GraphicUsed by:816
Symbol 816 MovieClipUses:815Used by:1033
Symbol 817 GraphicUsed by:818
Symbol 818 MovieClipUses:817Used by:1033
Symbol 819 GraphicUsed by:820
Symbol 820 MovieClipUses:819Used by:1033
Symbol 821 GraphicUsed by:822
Symbol 822 MovieClipUses:821Used by:1033
Symbol 823 GraphicUsed by:824
Symbol 824 MovieClipUses:823Used by:1033
Symbol 825 MovieClipUses:760Used by:1033
Symbol 826 MovieClipUses:434Used by:1033
Symbol 827 GraphicUsed by:828
Symbol 828 MovieClipUses:827Used by:1033
Symbol 829 MovieClipUses:497Used by:1033
Symbol 830 MovieClipUses:501Used by:1033
Symbol 831 MovieClipUses:497Used by:1033
Symbol 832 MovieClipUses:497Used by:1033
Symbol 833 MovieClipUses:497Used by:1033
Symbol 834 MovieClipUses:497Used by:1033
Symbol 835 GraphicUsed by:836
Symbol 836 MovieClipUses:835Used by:1033
Symbol 837 GraphicUsed by:838
Symbol 838 MovieClipUses:837Used by:1033
Symbol 839 GraphicUsed by:840
Symbol 840 MovieClipUses:839Used by:1033
Symbol 841 GraphicUsed by:842
Symbol 842 MovieClipUses:841Used by:1033
Symbol 843 GraphicUsed by:844
Symbol 844 MovieClipUses:843Used by:1033
Symbol 845 GraphicUsed by:846
Symbol 846 MovieClipUses:845Used by:1033
Symbol 847 MovieClipUses:497Used by:1033
Symbol 848 MovieClipUses:497Used by:1033
Symbol 849 MovieClipUses:497Used by:1033
Symbol 850 MovieClipUses:501Used by:1033
Symbol 851 MovieClipUses:497Used by:1033
Symbol 852 GraphicUsed by:853
Symbol 853 MovieClipUses:852Used by:1033
Symbol 854 GraphicUsed by:855
Symbol 855 MovieClipUses:854Used by:1033
Symbol 856 MovieClipUses:404Used by:1033
Symbol 857 GraphicUsed by:858 861 1557
Symbol 858 MovieClipUses:857Used by:1033
Symbol 859 GraphicUsed by:1033
Symbol 860 MovieClipUses:331Used by:1033
Symbol 861 MovieClipUses:857Used by:1033
Symbol 862 MovieClipUses:501Used by:1033
Symbol 863 MovieClipUses:497Used by:1033
Symbol 864 MovieClipUses:501Used by:1033
Symbol 865 MovieClipUses:497Used by:1033
Symbol 866 MovieClipUses:497Used by:1033
Symbol 867 MovieClipUses:497Used by:1033
Symbol 868 MovieClipUses:497Used by:1033
Symbol 869 GraphicUsed by:870
Symbol 870 MovieClipUses:869Used by:1033
Symbol 871 GraphicUsed by:872
Symbol 872 MovieClipUses:871Used by:1033
Symbol 873 GraphicUsed by:874
Symbol 874 MovieClipUses:873Used by:1033
Symbol 875 GraphicUsed by:876
Symbol 876 MovieClipUses:875Used by:1033
Symbol 877 GraphicUsed by:878
Symbol 878 MovieClipUses:877Used by:1033
Symbol 879 MovieClipUses:542Used by:1033
Symbol 880 GraphicUsed by:881
Symbol 881 MovieClipUses:880Used by:1033
Symbol 882 GraphicUsed by:883
Symbol 883 MovieClipUses:882Used by:1033
Symbol 884 GraphicUsed by:885 888 896
Symbol 885 MovieClipUses:884Used by:1033
Symbol 886 GraphicUsed by:887
Symbol 887 MovieClipUses:886Used by:1033
Symbol 888 MovieClipUses:884Used by:1033
Symbol 889 GraphicUsed by:890 2029
Symbol 890 MovieClipUses:889Used by:1033
Symbol 891 GraphicUsed by:895
Symbol 892 BitmapUsed by:893
Symbol 893 GraphicUses:892Used by:894
Symbol 894 MovieClipUses:893Used by:895
Symbol 895 MovieClipUses:891 894Used by:1033
Symbol 896 MovieClipUses:884Used by:1033
Symbol 897 GraphicUsed by:1033
Symbol 898 GraphicUsed by:899
Symbol 899 MovieClipUses:898Used by:1033
Symbol 900 GraphicUsed by:901
Symbol 901 MovieClipUses:900Used by:1033
Symbol 902 GraphicUsed by:903 928
Symbol 903 MovieClipUses:902Used by:1033
Symbol 904 GraphicUsed by:905
Symbol 905 MovieClipUses:904Used by:1033
Symbol 906 GraphicUsed by:907
Symbol 907 MovieClipUses:906Used by:1033
Symbol 908 GraphicUsed by:909
Symbol 909 MovieClipUses:908Used by:1033
Symbol 910 GraphicUsed by:911
Symbol 911 MovieClipUses:910Used by:1033
Symbol 912 GraphicUsed by:913
Symbol 913 MovieClipUses:912Used by:1033
Symbol 914 MovieClipUsed by:915
Symbol 915 MovieClipUses:914Used by:1033
Symbol 916 GraphicUsed by:1033
Symbol 917 GraphicUsed by:918
Symbol 918 MovieClipUses:917Used by:1033
Symbol 919 MovieClipUses:409Used by:1033
Symbol 920 GraphicUsed by:921
Symbol 921 MovieClipUses:920Used by:1033
Symbol 922 GraphicUsed by:923 1783 2136
Symbol 923 MovieClipUses:922Used by:1033
Symbol 924 GraphicUsed by:1033
Symbol 925 GraphicUsed by:926
Symbol 926 MovieClipUses:925Used by:1033
Symbol 927 MovieClipUses:350Used by:1033
Symbol 928 MovieClipUses:902Used by:1033
Symbol 929 GraphicUsed by:930
Symbol 930 MovieClipUses:929Used by:1033
Symbol 931 GraphicUsed by:1033
Symbol 932 GraphicUsed by:933
Symbol 933 MovieClipUses:932Used by:1033
Symbol 934 GraphicUsed by:1033
Symbol 935 GraphicUsed by:936
Symbol 936 MovieClipUses:935Used by:1033
Symbol 937 GraphicUsed by:938
Symbol 938 MovieClipUses:937Used by:1033
Symbol 939 GraphicUsed by:1033
Symbol 940 GraphicUsed by:941
Symbol 941 MovieClipUses:940Used by:1033
Symbol 942 MovieClipUses:497Used by:1033
Symbol 943 MovieClipUses:497Used by:1033
Symbol 944 MovieClipUses:501Used by:1033
Symbol 945 MovieClipUses:497Used by:1033
Symbol 946 MovieClipUses:497Used by:1033
Symbol 947 MovieClipUses:497Used by:1033
Symbol 948 GraphicUsed by:949
Symbol 949 MovieClipUses:948Used by:1033
Symbol 950 GraphicUsed by:951
Symbol 951 MovieClipUses:950Used by:1033
Symbol 952 GraphicUsed by:953
Symbol 953 MovieClipUses:952Used by:1033
Symbol 954 GraphicUsed by:955
Symbol 955 MovieClipUses:954Used by:1033
Symbol 956 GraphicUsed by:957
Symbol 957 MovieClipUses:956Used by:1033
Symbol 958 GraphicUsed by:959
Symbol 959 MovieClipUses:958Used by:1033
Symbol 960 GraphicUsed by:961
Symbol 961 MovieClipUses:960Used by:1033
Symbol 962 GraphicUsed by:963
Symbol 963 MovieClipUses:962Used by:1033
Symbol 964 GraphicUsed by:965
Symbol 965 MovieClipUses:964Used by:1033
Symbol 966 GraphicUsed by:967
Symbol 967 MovieClipUses:966Used by:1033
Symbol 968 GraphicUsed by:969
Symbol 969 MovieClipUses:968Used by:1033
Symbol 970 MovieClipUses:497Used by:1033
Symbol 971 MovieClipUses:497Used by:1033
Symbol 972 MovieClipUses:497Used by:1033
Symbol 973 MovieClipUses:497Used by:1033
Symbol 974 MovieClipUses:497Used by:1033
Symbol 975 MovieClipUses:497Used by:1033
Symbol 976 GraphicUsed by:977
Symbol 977 MovieClipUses:976Used by:1033
Symbol 978 GraphicUsed by:979
Symbol 979 MovieClipUses:978Used by:1033
Symbol 980 GraphicUsed by:981
Symbol 981 MovieClipUses:980Used by:1033
Symbol 982 GraphicUsed by:983
Symbol 983 MovieClipUses:982Used by:1033
Symbol 984 GraphicUsed by:985
Symbol 985 MovieClipUses:984Used by:1033
Symbol 986 MovieClipUses:497Used by:1033
Symbol 987 MovieClipUses:497Used by:1033
Symbol 988 MovieClipUses:497Used by:1033
Symbol 989 MovieClipUses:497Used by:1033
Symbol 990 GraphicUsed by:991
Symbol 991 MovieClipUses:990Used by:1033
Symbol 992 GraphicUsed by:993
Symbol 993 MovieClipUses:992Used by:1033
Symbol 994 MovieClipUses:497Used by:1033
Symbol 995 MovieClipUses:497Used by:1033
Symbol 996 MovieClipUses:501Used by:1033
Symbol 997 MovieClipUses:497Used by:1033
Symbol 998 MovieClipUses:497Used by:1033
Symbol 999 MovieClipUses:497Used by:1033
Symbol 1000 MovieClipUses:497Used by:1033
Symbol 1001 GraphicUsed by:1002
Symbol 1002 MovieClipUses:1001Used by:1033
Symbol 1003 GraphicUsed by:1004
Symbol 1004 MovieClipUses:1003Used by:1033
Symbol 1005 GraphicUsed by:1006
Symbol 1006 MovieClipUses:1005Used by:1033
Symbol 1007 GraphicUsed by:1008
Symbol 1008 MovieClipUses:1007Used by:1033
Symbol 1009 GraphicUsed by:1010
Symbol 1010 MovieClipUses:1009Used by:1033
Symbol 1011 GraphicUsed by:1012
Symbol 1012 MovieClipUses:1011Used by:1033
Symbol 1013 GraphicUsed by:1014
Symbol 1014 MovieClipUses:1013Used by:1033
Symbol 1015 GraphicUsed by:1016 1021 1022 1023 1024 1025 1026 1027 1030 1031
Symbol 1016 MovieClipUses:1015Used by:1033
Symbol 1017 GraphicUsed by:1018
Symbol 1018 MovieClipUses:1017Used by:1033
Symbol 1019 GraphicUsed by:1020
Symbol 1020 MovieClipUses:1019Used by:1033
Symbol 1021 MovieClipUses:1015Used by:1033
Symbol 1022 MovieClipUses:1015Used by:1033
Symbol 1023 MovieClipUses:1015Used by:1033
Symbol 1024 MovieClipUses:1015Used by:1033
Symbol 1025 MovieClipUses:1015Used by:1033
Symbol 1026 MovieClipUses:1015Used by:1033
Symbol 1027 MovieClipUses:1015Used by:1033
Symbol 1028 GraphicUsed by:1029
Symbol 1029 MovieClipUses:1028Used by:1033
Symbol 1030 MovieClipUses:1015Used by:1033
Symbol 1031 MovieClipUses:1015Used by:1033
Symbol 1032 GraphicUsed by:1033
Symbol 1033 MovieClipUses:478 479 480 481 482 483 485 487 488 490 492 494 496 498 499 500 502 503 504 505 507 508 510 511 513 514 515 517 518 519 520 522 524 526 528 530 532 533 535 537 539 541 543 545 547 548 550 552 553 555 557 558 560 562 564 565 566 568 569 570 571 572 573 574 575 577 579 581 583 584 586 588 590 592 593 595 596 598 599 600 602 603 605 607 609 611 613 615 617 618 620 622 624 626 628 630 631 633 634 635 636 637 638 639 641 643 645 647 649 651 653 654 655 656 657 658 660 662 663 665 666 667 669 670 671 672 673 674 675 677 679 680 681 683 685 686 687 688 690 691 692 693 695 696 697 698 699 700 701 703 704 705 706 707 708 709 710 711 712 713 714 715 717 719 721 723 725 727 729 731 733 735 737 739 741 743 745 747 748 749 751 753 755 757 759 761 762 763 764 765 766 767 768 769 770 772 774 776 778 780 782 784 786 787 789 791 792 794 795 796 797 798 799 801 803 805 807 809 811 812 814 816 818 820 822 824 825 826 828 829 830 831 832 833 834 836 838 840 842 844 846 847 848 849 850 851 853 855 856 858 859 860 861 862 863 864 865 866 867 868 870 872 874 876 878 879 881 883 885 887 888 890 895 896 897 899 901 903 905 907 909 911 913 915 916 918 919 921 923 924 926 927 928 930 931 933 934 936 938 939 941 942 943 944 945 946 947 949 951 953 955 957 959 961 963 965 967 969 970 971 972 973 974 975 977 979 981 983 985 986 987 988 989 991 993 994 995 996 997 998 999 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1021 1022 1023 1024 1025 1026 1027 1029 1030 1031 1032Used by:1034
Symbol 1034 MovieClip {Stages.stage_20}Uses:265 93 1033 213 250 14 230 283 270 273Used by:Timeline
Symbol 1035 Sound {Fire_Start}Used by:Timeline
Symbol 1036 GraphicUsed by:1173
Symbol 1037 MovieClipUses:341Used by:1173
Symbol 1038 MovieClipUses:343Used by:1173
Symbol 1039 MovieClipUses:350Used by:1173
Symbol 1040 MovieClipUses:360Used by:1173
Symbol 1041 GraphicUsed by:1173
Symbol 1042 MovieClipUses:350Used by:1173
Symbol 1043 GraphicUsed by:1173
Symbol 1044 MovieClipUses:331Used by:1173
Symbol 1045 GraphicUsed by:1173
Symbol 1046 GraphicUsed by:1047 1072 1086 1288 1510 1631 1858 2078 2140
Symbol 1047 MovieClipUses:1046Used by:1173
Symbol 1048 GraphicUsed by:1049
Symbol 1049 MovieClipUses:1048Used by:1173
Symbol 1050 MovieClipUses:369Used by:1173
Symbol 1051 MovieClipUses:373Used by:1173
Symbol 1052 MovieClipUses:486Used by:1173
Symbol 1053 GraphicUsed by:1173
Symbol 1054 GraphicUsed by:1055
Symbol 1055 MovieClipUses:1054Used by:1173
Symbol 1056 GraphicUsed by:1173
Symbol 1057 GraphicUsed by:1058
Symbol 1058 MovieClipUses:1057Used by:1173
Symbol 1059 MovieClipUses:369Used by:1173
Symbol 1060 GraphicUsed by:1173
Symbol 1061 MovieClipUses:394Used by:1173
Symbol 1062 GraphicUsed by:1173
Symbol 1063 MovieClipUses:341Used by:1173
Symbol 1064 MovieClipUses:343Used by:1173
Symbol 1065 MovieClipUses:350Used by:1173
Symbol 1066 MovieClipUses:360Used by:1173
Symbol 1067 GraphicUsed by:1173
Symbol 1068 MovieClipUses:350Used by:1173
Symbol 1069 GraphicUsed by:1173
Symbol 1070 MovieClipUses:331Used by:1173
Symbol 1071 GraphicUsed by:1173
Symbol 1072 MovieClipUses:1046Used by:1173
Symbol 1073 MovieClipUses:338Used by:1173
Symbol 1074 MovieClipUses:369Used by:1173
Symbol 1075 MovieClipUses:373Used by:1173
Symbol 1076 GraphicUsed by:1173
Symbol 1077 MovieClipUses:338Used by:1173
Symbol 1078 MovieClipUses:412Used by:1173
Symbol 1079 GraphicUsed by:1173
Symbol 1080 MovieClipUses:394Used by:1173
Symbol 1081 GraphicUsed by:1173
Symbol 1082 MovieClipUses:377Used by:1173
Symbol 1083 GraphicUsed by:1173
Symbol 1084 MovieClipUses:338Used by:1173
Symbol 1085 GraphicUsed by:1173
Symbol 1086 MovieClipUses:1046Used by:1173
Symbol 1087 MovieClipUses:338Used by:1173
Symbol 1088 MovieClipUses:369Used by:1173
Symbol 1089 MovieClipUses:390Used by:1173
Symbol 1090 MovieClipUses:373Used by:1173
Symbol 1091 GraphicUsed by:1092
Symbol 1092 MovieClipUses:1091Used by:1173
Symbol 1093 MovieClipUses:486Used by:1173
Symbol 1094 MovieClipUses:379Used by:1173
Symbol 1095 MovieClipUses:489Used by:1173
Symbol 1096 GraphicUsed by:1173
Symbol 1097 MovieClipUses:338Used by:1173
Symbol 1098 GraphicUsed by:1173
Symbol 1099 MovieClipUses:379Used by:1173
Symbol 1100 GraphicUsed by:1173
Symbol 1101 GraphicUsed by:1102
Symbol 1102 MovieClipUses:1101Used by:1173
Symbol 1103 MovieClipUses:369Used by:1173
Symbol 1104 MovieClipUses:371Used by:1173
Symbol 1105 MovieClipUses:434Used by:1173
Symbol 1106 GraphicUsed by:1173
Symbol 1107 MovieClipUses:394Used by:1173
Symbol 1108 GraphicUsed by:1109
Symbol 1109 MovieClipUses:1108Used by:1173
Symbol 1110 MovieClipUses:404Used by:1173
Symbol 1111 MovieClipUses:406Used by:1173
Symbol 1112 GraphicUsed by:1173
Symbol 1113 GraphicUsed by:1114 1251
Symbol 1114 MovieClipUses:1113Used by:1173
Symbol 1115 GraphicUsed by:1116
Symbol 1116 MovieClipUses:1115Used by:1173
Symbol 1117 MovieClipUses:439Used by:1173
Symbol 1118 MovieClipUses:404Used by:1173
Symbol 1119 MovieClipUses:406Used by:1173
Symbol 1120 GraphicUsed by:1173
Symbol 1121 GraphicUsed by:1122 1131
Symbol 1122 MovieClipUses:1121Used by:1173
Symbol 1123 GraphicUsed by:1173
Symbol 1124 MovieClipUses:369Used by:1173
Symbol 1125 GraphicUsed by:1173
Symbol 1126 MovieClipUses:369Used by:1173
Symbol 1127 GraphicUsed by:1173
Symbol 1128 GraphicUsed by:1129
Symbol 1129 MovieClipUses:1128Used by:1173
Symbol 1130 GraphicUsed by:1173
Symbol 1131 MovieClipUses:1121Used by:1173
Symbol 1132 GraphicUsed by:1173
Symbol 1133 MovieClipUses:396Used by:1173
Symbol 1134 MovieClipUses:422Used by:1173
Symbol 1135 MovieClipUses:424Used by:1173
Symbol 1136 MovieClipUses:422Used by:1173
Symbol 1137 GraphicUsed by:1138
Symbol 1138 MovieClipUses:1137Used by:1173
Symbol 1139 GraphicUsed by:1140
Symbol 1140 MovieClipUses:1139Used by:1173
Symbol 1141 MovieClipUses:428Used by:1173
Symbol 1142 GraphicUsed by:1143
Symbol 1143 MovieClipUses:1142Used by:1173
Symbol 1144 MovieClipUses:439Used by:1173
Symbol 1145 GraphicUsed by:1146
Symbol 1146 MovieClipUses:1145Used by:1173
Symbol 1147 GraphicUsed by:1173
Symbol 1148 GraphicUsed by:1149 1190 1263 1295 1323 1496 1527 1569 1571 1806 1820 1829 1965 2063 2105 2191
Symbol 1149 MovieClipUses:1148Used by:1173
Symbol 1150 GraphicUsed by:1151
Symbol 1151 MovieClipUses:1150Used by:1173
Symbol 1152 GraphicUsed by:1173
Symbol 1153 GraphicUsed by:1154
Symbol 1154 MovieClipUses:1153Used by:1173
Symbol 1155 GraphicUsed by:1156
Symbol 1156 MovieClipUses:1155Used by:1173
Symbol 1157 GraphicUsed by:1173
Symbol 1158 MovieClipUses:434Used by:1173
Symbol 1159 MovieClipUses:436Used by:1173
Symbol 1160 GraphicUsed by:1173
Symbol 1161 MovieClipUses:409Used by:1173
Symbol 1162 GraphicUsed by:1173
Symbol 1163 MovieClipUses:404Used by:1173
Symbol 1164 MovieClipUses:434Used by:1173
Symbol 1165 MovieClipUses:436Used by:1173
Symbol 1166 GraphicUsed by:1173
Symbol 1167 MovieClipUses:424Used by:1173
Symbol 1168 GraphicUsed by:1173
Symbol 1169 MovieClipUses:424Used by:1173
Symbol 1170 GraphicUsed by:1173
Symbol 1171 MovieClipUses:424Used by:1173
Symbol 1172 GraphicUsed by:1173
Symbol 1173 MovieClipUses:1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1047 1049 1050 1051 1052 1053 1055 1056 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1092 1093 1094 1095 1096 1097 1098 1099 1100 1102 1103 1104 1105 1106 1107 1109 1110 1111 1112 1114 1116 1117 1118 1119 1120 1122 1123 1124 1125 1126 1127 1129 1130 1131 1132 1133 1134 1135 1136 1138 1140 1141 1143 1144 1146 1147 1149 1151 1152 1154 1156 1157 1158 1159 1160 1161 1162 1163 501 1164 1165 1166 1167 1168 1169 1170 1171 1172Used by:1174
Symbol 1174 MovieClip {Stages.stage_10}Uses:183 93 1173 250 213 230 283 270 285Used by:Timeline
Symbol 1175 GraphicUsed by:1176
Symbol 1176 MovieClipUses:1175Used by:1179
Symbol 1177 GraphicUsed by:1178
Symbol 1178 MovieClip {Objects.Box_lvl6}Uses:1177Used by:1179
Symbol 1179 MovieClip {Stages.stage_06}Uses:183 93 1176 213 250 14 251 230 283 1178Used by:Timeline
Symbol 1180 Sound {Fire_Start_Small}Used by:Timeline
Symbol 1181 GraphicUsed by:1235
Symbol 1182 MovieClipUses:355Used by:1235
Symbol 1183 MovieClipUses:350Used by:1235
Symbol 1184 GraphicUsed by:1235
Symbol 1185 GraphicUsed by:1186 1423
Symbol 1186 MovieClipUses:1185Used by:1235
Symbol 1187 GraphicUsed by:1235
Symbol 1188 MovieClipUses:394Used by:1235
Symbol 1189 GraphicUsed by:1235
Symbol 1190 MovieClipUses:1148Used by:1235
Symbol 1191 GraphicUsed by:1235
Symbol 1192 GraphicUsed by:1193 1212 1253 1394 1411 1418 1531 1541
Symbol 1193 MovieClipUses:1192Used by:1235
Symbol 1194 GraphicUsed by:1235
Symbol 1195 GraphicUsed by:1196
Symbol 1196 MovieClipUses:1195Used by:1235
Symbol 1197 GraphicUsed by:1235
Symbol 1198 MovieClipUses:409Used by:1235
Symbol 1199 GraphicUsed by:1235
Symbol 1200 GraphicUsed by:1201
Symbol 1201 MovieClipUses:1200Used by:1235
Symbol 1202 MovieClipUses:331Used by:1235
Symbol 1203 GraphicUsed by:1235
Symbol 1204 GraphicUsed by:1205 1392 1404 1498 1529 1629 1856 1866 2065 2128
Symbol 1205 MovieClipUses:1204Used by:1235
Symbol 1206 GraphicUsed by:1235
Symbol 1207 MovieClipUses:341Used by:1235
Symbol 1208 MovieClipUses:350Used by:1235
Symbol 1209 GraphicUsed by:1235
Symbol 1210 MovieClipUses:350Used by:1235
Symbol 1211 GraphicUsed by:1235
Symbol 1212 MovieClipUses:1192Used by:1235
Symbol 1213 GraphicUsed by:1235
Symbol 1214 MovieClipUses:341Used by:1235
Symbol 1215 MovieClipUses:350Used by:1235
Symbol 1216 GraphicUsed by:1235
Symbol 1217 MovieClipUses:350Used by:1235
Symbol 1218 GraphicUsed by:1235
Symbol 1219 MovieClipUses:341Used by:1235
Symbol 1220 MovieClipUses:760Used by:1235
Symbol 1221 GraphicUsed by:1235
Symbol 1222 MovieClipUses:338Used by:1235
Symbol 1223 GraphicUsed by:1235
Symbol 1224 MovieClipUses:431Used by:1235
Symbol 1225 GraphicUsed by:1235
Symbol 1226 MovieClipUses:434Used by:1235
Symbol 1227 GraphicUsed by:1228
Symbol 1228 MovieClipUses:1227Used by:1235
Symbol 1229 GraphicUsed by:1235
Symbol 1230 GraphicUsed by:1231 1259 1319 1568 1579 1852 1863 2104 2143 2208
Symbol 1231 MovieClipUses:1230Used by:1235
Symbol 1232 GraphicUsed by:1235
Symbol 1233 MovieClipUses:431Used by:1235
Symbol 1234 GraphicUsed by:1235
Symbol 1235 MovieClipUses:1181 1182 1183 1184 1186 1187 1188 1189 1190 1191 1193 1194 1196 1197 1198 1199 1201 1202 1203 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1228 1229 1231 1232 1233 1234Used by:1238
Symbol 1236 GraphicUsed by:1237
Symbol 1237 MovieClip {Box_lvl26}Uses:1236Used by:1238
Symbol 1238 MovieClip {Stages.stage_26}Uses:265 93 1235 213 250 14 289 230 83 291 273 1237Used by:Timeline
Symbol 1239 GraphicUsed by:1240
Symbol 1240 MovieClipUses:1239Used by:1241
Symbol 1241 MovieClip {Stages.stage_11}Uses:183 93 1240 213 250 230 291 83 260Used by:Timeline
Symbol 1242 Sound {Star_Arrive}Used by:Timeline
Symbol 1243 GraphicUsed by:1310
Symbol 1244 MovieClipUses:341Used by:1310
Symbol 1245 MovieClipUses:338Used by:1310
Symbol 1246 GraphicUsed by:1310
Symbol 1247 MovieClipUses:338Used by:1310
Symbol 1248 GraphicUsed by:1310
Symbol 1249 MovieClipUses:661Used by:1310
Symbol 1250 GraphicUsed by:1310
Symbol 1251 MovieClipUses:1113Used by:1310
Symbol 1252 GraphicUsed by:1310
Symbol 1253 MovieClipUses:1192Used by:1310
Symbol 1254 GraphicUsed by:1310
Symbol 1255 MovieClipUses:434Used by:1310
Symbol 1256 GraphicUsed by:1310
Symbol 1257 MovieClipUses:409Used by:1310
Symbol 1258 GraphicUsed by:1310
Symbol 1259 MovieClipUses:1230Used by:1310
Symbol 1260 GraphicUsed by:1261
Symbol 1261 MovieClipUses:1260Used by:1310
Symbol 1262 GraphicUsed by:1310
Symbol 1263 MovieClipUses:1148Used by:1310
Symbol 1264 GraphicUsed by:1310
Symbol 1265 MovieClipUses:355Used by:1310
Symbol 1266 GraphicUsed by:1267 1407
Symbol 1267 MovieClipUses:1266Used by:1310
Symbol 1268 GraphicUsed by:1310
Symbol 1269 GraphicUsed by:1270 1409 1517 1609 1618 1825
Symbol 1270 MovieClipUses:1269Used by:1310
Symbol 1271 GraphicUsed by:1310
Symbol 1272 GraphicUsed by:1273 1281
Symbol 1273 MovieClipUses:1272Used by:1310
Symbol 1274 GraphicUsed by:1310
Symbol 1275 MovieClipUses:434Used by:1310
Symbol 1276 GraphicUsed by:1277 1414
Symbol 1277 MovieClipUses:1276Used by:1310
Symbol 1278 GraphicUsed by:1310
Symbol 1279 MovieClipUses:327Used by:1310
Symbol 1280 GraphicUsed by:1310
Symbol 1281 MovieClipUses:1272Used by:1310
Symbol 1282 GraphicUsed by:1310
Symbol 1283 MovieClipUses:341Used by:1310
Symbol 1284 MovieClipUses:350Used by:1310
Symbol 1285 GraphicUsed by:1310
Symbol 1286 MovieClipUses:350Used by:1310
Symbol 1287 GraphicUsed by:1310
Symbol 1288 MovieClipUses:1046Used by:1310
Symbol 1289 MovieClipUses:350Used by:1310
Symbol 1290 GraphicUsed by:1310
Symbol 1291 MovieClipUses:327Used by:1310
Symbol 1292 GraphicUsed by:1293
Symbol 1293 MovieClipUses:1292Used by:1310
Symbol 1294 GraphicUsed by:1310
Symbol 1295 MovieClipUses:1148Used by:1310
Symbol 1296 GraphicUsed by:1310
Symbol 1297 MovieClipUses:327Used by:1310
Symbol 1298 MovieClipUses:331Used by:1310
Symbol 1299 GraphicUsed by:1310
Symbol 1300 GraphicUsed by:1310
Symbol 1301 GraphicUsed by:1310
Symbol 1302 GraphicUsed by:1310
Symbol 1303 GraphicUsed by:1310
Symbol 1304 GraphicUsed by:1310
Symbol 1305 GraphicUsed by:1310
Symbol 1306 GraphicUsed by:1310
Symbol 1307 GraphicUsed by:1310
Symbol 1308 GraphicUsed by:1310
Symbol 1309 GraphicUsed by:1310
Symbol 1310 MovieClipUses:1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1261 1262 1263 1264 1265 1267 1268 1270 1271 1273 1274 1275 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309Used by:1313
Symbol 1311 GraphicUsed by:1312
Symbol 1312 MovieClip {Box_lvl19}Uses:1311Used by:1313
Symbol 1313 MovieClip {Stages.stage_19}Uses:265 93 1310 213 230 83 260 283 270 300 273 298 1312 316Used by:Timeline
Symbol 1314 GraphicUsed by:1315
Symbol 1315 MovieClipUses:1314Used by:1316
Symbol 1316 MovieClip {Stages.stage_16}Uses:265 93 1315 250 213 248 289 230 233 273Used by:Timeline
Symbol 1317 Sound {Bum2_Sound}Used by:Timeline
Symbol 1318 GraphicUsed by:1378
Symbol 1319 MovieClipUses:1230Used by:1378
Symbol 1320 GraphicUsed by:1321
Symbol 1321 MovieClipUses:1320Used by:1378
Symbol 1322 GraphicUsed by:1378
Symbol 1323 MovieClipUses:1148Used by:1378
Symbol 1324 GraphicUsed by:1378
Symbol 1325 MovieClipUses:412Used by:1378
Symbol 1326 GraphicUsed by:1378
Symbol 1327 MovieClipUses:338Used by:1378
Symbol 1328 GraphicUsed by:1378
Symbol 1329 MovieClipUses:379Used by:1378
Symbol 1330 GraphicUsed by:1378
Symbol 1331 MovieClipUses:398Used by:1378
Symbol 1332 GraphicUsed by:1378
Symbol 1333 GraphicUsed by:1334 1376 1508 1592 1640 1700 1715 1726 1939 1946 2035 2076 2097 2109 2118 2138
Symbol 1334 MovieClipUses:1333Used by:1378
Symbol 1335 GraphicUsed by:1378
Symbol 1336 MovieClipUses:341Used by:1378
Symbol 1337 MovieClipUses:338Used by:1378
Symbol 1338 GraphicUsed by:1378
Symbol 1339 MovieClipUses:338Used by:1378
Symbol 1340 GraphicUsed by:1378
Symbol 1341 GraphicUsed by:1342
Symbol 1342 MovieClipUses:1341Used by:1378
Symbol 1343 GraphicUsed by:1378
Symbol 1344 GraphicUsed by:1345
Symbol 1345 MovieClipUses:1344Used by:1378
Symbol 1346 GraphicUsed by:1378
Symbol 1347 MovieClipUses:341Used by:1378
Symbol 1348 MovieClipUses:350Used by:1378
Symbol 1349 GraphicUsed by:1378
Symbol 1350 MovieClipUses:350Used by:1378
Symbol 1351 GraphicUsed by:1378
Symbol 1352 MovieClipUses:379Used by:1378
Symbol 1353 GraphicUsed by:1378
Symbol 1354 MovieClipUses:664Used by:1378
Symbol 1355 GraphicUsed by:1378
Symbol 1356 MovieClipUses:341Used by:1378
Symbol 1357 MovieClipUses:350Used by:1378
Symbol 1358 GraphicUsed by:1378
Symbol 1359 MovieClipUses:338Used by:1378
Symbol 1360 GraphicUsed by:1378
Symbol 1361 GraphicUsed by:1362 1734 1771
Symbol 1362 MovieClipUses:1361Used by:1378
Symbol 1363 MovieClipUses:350Used by:1378
Symbol 1364 GraphicUsed by:1378
Symbol 1365 MovieClipUses:338Used by:1378
Symbol 1366 GraphicUsed by:1378
Symbol 1367 MovieClipUses:684Used by:1378
Symbol 1368 GraphicUsed by:1378
Symbol 1369 MovieClipUses:760Used by:1378
Symbol 1370 GraphicUsed by:1378
Symbol 1371 GraphicUsed by:1372 1603 1711
Symbol 1372 MovieClipUses:1371Used by:1378
Symbol 1373 GraphicUsed by:1378
Symbol 1374 MovieClipUses:422Used by:1378
Symbol 1375 GraphicUsed by:1378
Symbol 1376 MovieClipUses:1333Used by:1378
Symbol 1377 GraphicUsed by:1378
Symbol 1378 MovieClipUses:1318 1319 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1334 1335 1336 1337 1338 1339 1340 1342 1343 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1362 1363 1364 1365 1366 1367 1368 1369 1370 1372 1373 1374 1375 1376 1377Used by:1379
Symbol 1379 MovieClip {Stages.stage_22}Uses:265 93 1378 250 213 14 230 260 283 273 298Used by:Timeline
Symbol 1380 GraphicUsed by:1381
Symbol 1381 MovieClipUses:1380Used by:1382
Symbol 1382 MovieClip {Stages.stage_23}Uses:265 93 1381 213 250 248 230 283 273 298 270Used by:Timeline
Symbol 1383 Sound {Bum3_Sound}Used by:Timeline
Symbol 1384 GraphicUsed by:1430
Symbol 1385 MovieClipUses:341Used by:1430
Symbol 1386 MovieClipUses:338Used by:1430
Symbol 1387 GraphicUsed by:1430
Symbol 1388 MovieClipUses:350Used by:1430
Symbol 1389 GraphicUsed by:1430
Symbol 1390 MovieClipUses:661Used by:1430
Symbol 1391 GraphicUsed by:1430
Symbol 1392 MovieClipUses:1204Used by:1430
Symbol 1393 GraphicUsed by:1430
Symbol 1394 MovieClipUses:1192Used by:1430
Symbol 1395 GraphicUsed by:1430
Symbol 1396 MovieClipUses:434Used by:1430
Symbol 1397 GraphicUsed by:1430
Symbol 1398 MovieClipUses:409Used by:1430
Symbol 1399 GraphicUsed by:1430
Symbol 1400 MovieClipUses:327Used by:1430
Symbol 1401 GraphicUsed by:1402
Symbol 1402 MovieClipUses:1401Used by:1430
Symbol 1403 GraphicUsed by:1430
Symbol 1404 MovieClipUses:1204Used by:1430
Symbol 1405 GraphicUsed by:1430
Symbol 1406 MovieClipUses:355Used by:1430
Symbol 1407 MovieClipUses:1266Used by:1430
Symbol 1408 GraphicUsed by:1430
Symbol 1409 MovieClipUses:1269Used by:1430
Symbol 1410 GraphicUsed by:1430
Symbol 1411 MovieClipUses:1192Used by:1430
Symbol 1412 GraphicUsed by:1430
Symbol 1413 MovieClipUses:434Used by:1430
Symbol 1414 MovieClipUses:1276Used by:1430
Symbol 1415 GraphicUsed by:1430
Symbol 1416 MovieClipUses:327Used by:1430
Symbol 1417 GraphicUsed by:1430
Symbol 1418 MovieClipUses:1192Used by:1430
Symbol 1419 GraphicUsed by:1430
Symbol 1420 MovieClipUses:355Used by:1430
Symbol 1421 MovieClipUses:350Used by:1430
Symbol 1422 GraphicUsed by:1430
Symbol 1423 MovieClipUses:1185Used by:1430
Symbol 1424 GraphicUsed by:1430
Symbol 1425 MovieClipUses:379Used by:1430
Symbol 1426 GraphicUsed by:1430
Symbol 1427 GraphicUsed by:1428 1698
Symbol 1428 MovieClipUses:1427Used by:1430
Symbol 1429 GraphicUsed by:1430
Symbol 1430 MovieClipUses:1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1428 1429Used by:1433
Symbol 1431 GraphicUsed by:1432
Symbol 1432 MovieClip {Box_lvl15}Uses:1431Used by:1433
Symbol 1433 MovieClip {Stages.stage_15}Uses:183 93 1430 248 213 230 283 291 293 65 1432Used by:Timeline
Symbol 1434 GraphicUsed by:1435
Symbol 1435 MovieClipUses:1434Used by:1438
Symbol 1436 GraphicUsed by:1437
Symbol 1437 MovieClip {Objects.Box_lvl5}Uses:1436Used by:1438
Symbol 1438 MovieClip {Stages.stage_05}Uses:183 93 1435 248 213 230 233 1437Used by:Timeline
Symbol 1439 Sound {Bum4_Sound}Used by:Timeline
Symbol 1440 MovieClip {Stages.stage_31}Uses:93 230 260Used by:Timeline
Symbol 1441 GraphicUsed by:1481
Symbol 1442 GraphicUsed by:1443 1452 1460
Symbol 1443 MovieClipUses:1442Used by:1481
Symbol 1444 GraphicUsed by:1445 1453 1461
Symbol 1445 MovieClipUses:1444Used by:1481
Symbol 1446 GraphicUsed by:1481
Symbol 1447 GraphicUsed by:1448
Symbol 1448 MovieClipUses:1447Used by:1481
Symbol 1449 GraphicUsed by:1481
Symbol 1450 MovieClipUses:379Used by:1481
Symbol 1451 GraphicUsed by:1481
Symbol 1452 MovieClipUses:1442Used by:1481
Symbol 1453 MovieClipUses:1444Used by:1481
Symbol 1454 GraphicUsed by:1481
Symbol 1455 GraphicUsed by:1456
Symbol 1456 MovieClipUses:1455Used by:1481
Symbol 1457 GraphicUsed by:1481
Symbol 1458 MovieClipUses:379Used by:1481
Symbol 1459 GraphicUsed by:1481
Symbol 1460 MovieClipUses:1442Used by:1481
Symbol 1461 MovieClipUses:1444Used by:1481
Symbol 1462 GraphicUsed by:1481
Symbol 1463 GraphicUsed by:1464
Symbol 1464 MovieClipUses:1463Used by:1481
Symbol 1465 GraphicUsed by:1481
Symbol 1466 MovieClipUses:379Used by:1481
Symbol 1467 GraphicUsed by:1481
Symbol 1468 GraphicUsed by:1469 1475
Symbol 1469 MovieClipUses:1468Used by:1481
Symbol 1470 GraphicUsed by:1471 1473
Symbol 1471 MovieClipUses:1470Used by:1481
Symbol 1472 GraphicUsed by:1481
Symbol 1473 MovieClipUses:1470Used by:1481
Symbol 1474 GraphicUsed by:1481
Symbol 1475 MovieClipUses:1468Used by:1481
Symbol 1476 GraphicUsed by:1477 1479
Symbol 1477 MovieClipUses:1476Used by:1481
Symbol 1478 GraphicUsed by:1481
Symbol 1479 MovieClipUses:1476Used by:1481
Symbol 1480 GraphicUsed by:1481
Symbol 1481 MovieClipUses:1441 1443 1445 1446 1448 1449 1450 1451 1452 1453 1454 1456 1457 1458 1459 1460 1461 1462 1464 1465 1466 1467 1469 1471 1472 1473 1474 1475 1477 1478 1479 1480Used by:1482
Symbol 1482 MovieClip {Stages.stage_07}Uses:183 93 1481 281 285 230 270Used by:Timeline
Symbol 1483 Sound {Bum5_Sound}Used by:Timeline
Symbol 1484 GraphicUsed by:1573
Symbol 1485 MovieClipUses:341Used by:1573
Symbol 1486 MovieClipUses:338Used by:1573
Symbol 1487 GraphicUsed by:1573
Symbol 1488 MovieClipUses:338Used by:1573
Symbol 1489 GraphicUsed by:1573
Symbol 1490 MovieClipUses:379Used by:1573
Symbol 1491 GraphicUsed by:1573
Symbol 1492 MovieClipUses:668Used by:1573
Symbol 1493 GraphicUsed by:1573
Symbol 1494 GraphicUsed by:1495 1526 1819 1884 1950 1964 2062
Symbol 1495 MovieClipUses:1494Used by:1573
Symbol 1496 MovieClipUses:1148Used by:1573
Symbol 1497 GraphicUsed by:1573
Symbol 1498 MovieClipUses:1204Used by:1573
Symbol 1499 GraphicUsed by:1573
Symbol 1500 MovieClipUses:369Used by:1573
Symbol 1501 GraphicUsed by:1573
Symbol 1502 MovieClipUses:338Used by:1573
Symbol 1503 GraphicUsed by:1573
Symbol 1504 MovieClipUses:379Used by:1573
Symbol 1505 GraphicUsed by:1573
Symbol 1506 MovieClipUses:398Used by:1573
Symbol 1507 GraphicUsed by:1573
Symbol 1508 MovieClipUses:1333Used by:1573
Symbol 1509 GraphicUsed by:1573
Symbol 1510 MovieClipUses:1046Used by:1573
Symbol 1511 MovieClipUses:350Used by:1573
Symbol 1512 GraphicUsed by:1573
Symbol 1513 MovieClipUses:338Used by:1573
Symbol 1514 GraphicUsed by:1573
Symbol 1515 MovieClipUses:684Used by:1573
Symbol 1516 GraphicUsed by:1573
Symbol 1517 MovieClipUses:1269Used by:1573
Symbol 1518 GraphicUsed by:1573
Symbol 1519 MovieClipUses:379Used by:1573
Symbol 1520 GraphicUsed by:1573
Symbol 1521 MovieClipUses:422Used by:1573
Symbol 1522 GraphicUsed by:1573
Symbol 1523 GraphicUsed by:1524
Symbol 1524 MovieClipUses:1523Used by:1573
Symbol 1525 GraphicUsed by:1573
Symbol 1526 MovieClipUses:1494Used by:1573
Symbol 1527 MovieClipUses:1148Used by:1573
Symbol 1528 GraphicUsed by:1573
Symbol 1529 MovieClipUses:1204Used by:1573
Symbol 1530 GraphicUsed by:1573
Symbol 1531 MovieClipUses:1192Used by:1573
Symbol 1532 GraphicUsed by:1573
Symbol 1533 GraphicUsed by:1534
Symbol 1534 MovieClipUses:1533Used by:1573
Symbol 1535 GraphicUsed by:1573
Symbol 1536 MovieClipUses:327Used by:1573
Symbol 1537 MovieClipUses:331Used by:1573
Symbol 1538 GraphicUsed by:1573
Symbol 1539 MovieClipUses:331Used by:1573
Symbol 1540 GraphicUsed by:1573
Symbol 1541 MovieClipUses:1192Used by:1573
Symbol 1542 GraphicUsed by:1573
Symbol 1543 MovieClipUses:434Used by:1573
Symbol 1544 GraphicUsed by:1573
Symbol 1545 MovieClipUses:341Used by:1573
Symbol 1546 MovieClipUses:350Used by:1573
Symbol 1547 GraphicUsed by:1573
Symbol 1548 MovieClipUses:338Used by:1573
Symbol 1549 GraphicUsed by:1573
Symbol 1550 MovieClipUses:379Used by:1573
Symbol 1551 GraphicUsed by:1573
Symbol 1552 MovieClipUses:338Used by:1573
Symbol 1553 GraphicUsed by:1573
Symbol 1554 GraphicUsed by:1555 1810 1872 1891 1903 1960
Symbol 1555 MovieClipUses:1554Used by:1573
Symbol 1556 GraphicUsed by:1573
Symbol 1557 MovieClipUses:857Used by:1573
Symbol 1558 GraphicUsed by:1573
Symbol 1559 GraphicUsed by:1560 1651 2193 2201
Symbol 1560 MovieClipUses:1559Used by:1573
Symbol 1561 GraphicUsed by:1573
Symbol 1562 MovieClipUses:338Used by:1573
Symbol 1563 MovieClipUses:341Used by:1573
Symbol 1564 MovieClipUses:350Used by:1573
Symbol 1565 GraphicUsed by:1573
Symbol 1566 MovieClipUses:338Used by:1573
Symbol 1567 GraphicUsed by:1573
Symbol 1568 MovieClipUses:1230Used by:1573
Symbol 1569 MovieClipUses:1148Used by:1573
Symbol 1570 GraphicUsed by:1573
Symbol 1571 MovieClipUses:1148Used by:1573
Symbol 1572 GraphicUsed by:1573
Symbol 1573 MovieClipUses:1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1524 1525 1526 1527 1528 1529 1530 1531 1532 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1555 1556 1557 1558 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572Used by:1574
Symbol 1574 MovieClip {Stages.stage_28}Uses:265 93 1573 213 250 83 260 291 300 298 273 230 316Used by:Timeline
Symbol 1575 Sound {Bum6_Sound}Used by:Timeline
Symbol 1576 GraphicUsed by:1683 1731
Symbol 1577 TextUses:8Used by:1683
Symbol 1578 GraphicUsed by:1653
Symbol 1579 MovieClipUses:1230Used by:1653
Symbol 1580 MovieClipUses:331Used by:1653
Symbol 1581 GraphicUsed by:1653
Symbol 1582 MovieClipUses:331Used by:1653
Symbol 1583 GraphicUsed by:1653
Symbol 1584 MovieClipUses:369Used by:1653
Symbol 1585 GraphicUsed by:1653
Symbol 1586 MovieClipUses:350Used by:1653
Symbol 1587 GraphicUsed by:1653
Symbol 1588 MovieClipUses:379Used by:1653
Symbol 1589 GraphicUsed by:1653
Symbol 1590 MovieClipUses:398Used by:1653
Symbol 1591 GraphicUsed by:1653
Symbol 1592 MovieClipUses:1333Used by:1653
Symbol 1593 GraphicUsed by:1653
Symbol 1594 MovieClipUses:341Used by:1653
Symbol 1595 MovieClipUses:350Used by:1653
Symbol 1596 GraphicUsed by:1653
Symbol 1597 MovieClipUses:350Used by:1653
Symbol 1598 GraphicUsed by:1653
Symbol 1599 MovieClipUses:684Used by:1653
Symbol 1600 GraphicUsed by:1653
Symbol 1601 MovieClipUses:350Used by:1653
Symbol 1602 GraphicUsed by:1653
Symbol 1603 MovieClipUses:1371Used by:1653
Symbol 1604 GraphicUsed by:1653
Symbol 1605 MovieClipUses:422Used by:1653
Symbol 1606 GraphicUsed by:1653
Symbol 1607 MovieClipUses:369Used by:1653
Symbol 1608 GraphicUsed by:1653
Symbol 1609 MovieClipUses:1269Used by:1653
Symbol 1610 GraphicUsed by:1653
Symbol 1611 MovieClipUses:379Used by:1653
Symbol 1612 GraphicUsed by:1653
Symbol 1613 MovieClipUses:422Used by:1653
Symbol 1614 GraphicUsed by:1653
Symbol 1615 GraphicUsed by:1616 1707
Symbol 1616 MovieClipUses:1615Used by:1653
Symbol 1617 GraphicUsed by:1653
Symbol 1618 MovieClipUses:1269Used by:1653
Symbol 1619 GraphicUsed by:1620
Symbol 1620 MovieClipUses:1619Used by:1653
Symbol 1621 GraphicUsed by:1622
Symbol 1622 MovieClipUses:1621Used by:1653
Symbol 1623 GraphicUsed by:1653
Symbol 1624 MovieClipUses:350Used by:1653
Symbol 1625 GraphicUsed by:1653
Symbol 1626 MovieClipUses:327Used by:1653
Symbol 1627 MovieClipUses:331Used by:1653
Symbol 1628 GraphicUsed by:1653
Symbol 1629 MovieClipUses:1204Used by:1653
Symbol 1630 GraphicUsed by:1653
Symbol 1631 MovieClipUses:1046Used by:1653
Symbol 1632 MovieClipUses:350Used by:1653
Symbol 1633 GraphicUsed by:1653
Symbol 1634 MovieClipUses:338Used by:1653
Symbol 1635 GraphicUsed by:1653
Symbol 1636 MovieClipUses:331Used by:1653
Symbol 1637 GraphicUsed by:1653
Symbol 1638 MovieClipUses:668Used by:1653
Symbol 1639 GraphicUsed by:1653
Symbol 1640 MovieClipUses:1333Used by:1653
Symbol 1641 GraphicUsed by:1653
Symbol 1642 MovieClipUses:338Used by:1653
Symbol 1643 GraphicUsed by:1653
Symbol 1644 MovieClipUses:350Used by:1653
Symbol 1645 GraphicUsed by:1653
Symbol 1646 GraphicUsed by:1647 1864
Symbol 1647 MovieClipUses:1646Used by:1653
Symbol 1648 GraphicUsed by:1653
Symbol 1649 MovieClipUses:398Used by:1653
Symbol 1650 GraphicUsed by:1653
Symbol 1651 MovieClipUses:1559Used by:1653
Symbol 1652 GraphicUsed by:1653
Symbol 1653 MovieClipUses:1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1616 1617 1618 1620 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1647 1648 1649 1650 1651 1652Used by:1683
Symbol 1654 GraphicUsed by:1678
Symbol 1655 GraphicUsed by:1678
Symbol 1656 GraphicUsed by:1678
Symbol 1657 GraphicUsed by:1678
Symbol 1658 GraphicUsed by:1678
Symbol 1659 GraphicUsed by:1678 2005 2029 2058 2260
Symbol 1660 GraphicUsed by:1678
Symbol 1661 GraphicUsed by:1678
Symbol 1662 GraphicUsed by:1678
Symbol 1663 GraphicUsed by:1678
Symbol 1664 GraphicUsed by:1678
Symbol 1665 GraphicUsed by:1678
Symbol 1666 GraphicUsed by:1678
Symbol 1667 GraphicUsed by:1678
Symbol 1668 GraphicUsed by:1678
Symbol 1669 GraphicUsed by:1678
Symbol 1670 GraphicUsed by:1678
Symbol 1671 GraphicUsed by:1678
Symbol 1672 GraphicUsed by:1678
Symbol 1673 GraphicUsed by:1678
Symbol 1674 GraphicUsed by:1678
Symbol 1675 GraphicUsed by:1678
Symbol 1676 GraphicUsed by:1678
Symbol 1677 GraphicUsed by:1678
Symbol 1678 MovieClip {Most24}Uses:1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677Used by:1683 1731 2184
Symbol 1679 MovieClipUses:140 79 77Used by:1680
Symbol 1680 MovieClip {Objects.Car4_Back}Uses:67 69 231 1679Used by:1683 1731 1917 2030  Timeline
Symbol 1681 GraphicUsed by:1682
Symbol 1682 MovieClip {Box_lvl25}Uses:1681Used by:1683
Symbol 1683 MovieClip {Stages.stage_25}Uses:265 1576 93 1577 1653 213 250 14 1678 281 230 1680 273 298 300 83 65 1682Used by:Timeline
Symbol 1684 Sound {CrackSound1}Used by:Timeline
Symbol 1685 TextUses:8Used by:1731
Symbol 1686 GraphicUsed by:1728
Symbol 1687 MovieClipUses:327Used by:1728
Symbol 1688 MovieClipUses:331Used by:1728
Symbol 1689 GraphicUsed by:1728
Symbol 1690 MovieClipUses:331Used by:1728
Symbol 1691 GraphicUsed by:1728
Symbol 1692 MovieClipUses:369Used by:1728
Symbol 1693 GraphicUsed by:1728
Symbol 1694 MovieClipUses:338Used by:1728
Symbol 1695 GraphicUsed by:1728
Symbol 1696 MovieClipUses:379Used by:1728
Symbol 1697 GraphicUsed by:1728
Symbol 1698 MovieClipUses:1427Used by:1728
Symbol 1699 GraphicUsed by:1728
Symbol 1700 MovieClipUses:1333Used by:1728
Symbol 1701 GraphicUsed by:1728
Symbol 1702 MovieClipUses:341Used by:1728
Symbol 1703 MovieClipUses:350Used by:1728
Symbol 1704 GraphicUsed by:1728
Symbol 1705 MovieClipUses:350Used by:1728
Symbol 1706 GraphicUsed by:1728
Symbol 1707 MovieClipUses:1615Used by:1728
Symbol 1708 GraphicUsed by:1728
Symbol 1709 MovieClipUses:350Used by:1728
Symbol 1710 GraphicUsed by:1728
Symbol 1711 MovieClipUses:1371Used by:1728
Symbol 1712 GraphicUsed by:1728
Symbol 1713 MovieClipUses:422Used by:1728
Symbol 1714 GraphicUsed by:1728
Symbol 1715 MovieClipUses:1333Used by:1728
Symbol 1716 GraphicUsed by:1728
Symbol 1717 MovieClipUses:341Used by:1728
Symbol 1718 MovieClipUses:350Used by:1728
Symbol 1719 GraphicUsed by:1728
Symbol 1720 MovieClipUses:350Used by:1728
Symbol 1721 GraphicUsed by:1728
Symbol 1722 MovieClipUses:331Used by:1728
Symbol 1723 GraphicUsed by:1728
Symbol 1724 MovieClipUses:422Used by:1728
Symbol 1725 GraphicUsed by:1728
Symbol 1726 MovieClipUses:1333Used by:1728
Symbol 1727 GraphicUsed by:1728
Symbol 1728 MovieClipUses:1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727Used by:1731
Symbol 1729 GraphicUsed by:1730
Symbol 1730 MovieClip {Box_lvl24}Uses:1729Used by:1731
Symbol 1731 MovieClip {Stages.stage_24}Uses:265 1576 93 1685 1728 250 213 14 230 1680 273 298 300 1730 1678Used by:Timeline
Symbol 1732 Sound {CrackSound2}Used by:Timeline
Symbol 1733 GraphicUsed by:1843
Symbol 1734 MovieClipUses:1361Used by:1843
Symbol 1735 MovieClipUses:350Used by:1843
Symbol 1736 GraphicUsed by:1843
Symbol 1737 MovieClipUses:338Used by:1843
Symbol 1738 GraphicUsed by:1843
Symbol 1739 MovieClipUses:379Used by:1843
Symbol 1740 GraphicUsed by:1843
Symbol 1741 MovieClipUses:398Used by:1843
Symbol 1742 GraphicUsed by:1843
Symbol 1743 GraphicUsed by:1744 1798
Symbol 1744 MovieClipUses:1743Used by:1843
Symbol 1745 GraphicUsed by:1746
Symbol 1746 MovieClipUses:1745Used by:1843
Symbol 1747 GraphicUsed by:1843
Symbol 1748 GraphicUsed by:1749
Symbol 1749 MovieClipUses:1748Used by:1843
Symbol 1750 GraphicUsed by:1843
Symbol 1751 GraphicUsed by:1752
Symbol 1752 MovieClipUses:1751Used by:1843
Symbol 1753 GraphicUsed by:1843
Symbol 1754 GraphicUsed by:1755
Symbol 1755 MovieClipUses:1754Used by:1843
Symbol 1756 GraphicUsed by:1843
Symbol 1757 GraphicUsed by:1758
Symbol 1758 MovieClipUses:1757Used by:1843
Symbol 1759 GraphicUsed by:1843
Symbol 1760 GraphicUsed by:1761
Symbol 1761 MovieClipUses:1760Used by:1843
Symbol 1762 GraphicUsed by:1843
Symbol 1763 GraphicUsed by:1764
Symbol 1764 MovieClipUses:1763Used by:1843
Symbol 1765 GraphicUsed by:1766
Symbol 1766 MovieClipUses:1765Used by:1843
Symbol 1767 GraphicUsed by:1843
Symbol 1768 GraphicUsed by:1769
Symbol 1769 MovieClipUses:1768Used by:1843
Symbol 1770 GraphicUsed by:1843
Symbol 1771 MovieClipUses:1361Used by:1843
Symbol 1772 MovieClipUses:350Used by:1843
Symbol 1773 GraphicUsed by:1843
Symbol 1774 MovieClipUses:338Used by:1843
Symbol 1775 GraphicUsed by:1843
Symbol 1776 MovieClipUses:341Used by:1843
Symbol 1777 MovieClipUses:338Used by:1843
Symbol 1778 GraphicUsed by:1843
Symbol 1779 MovieClipUses:338Used by:1843
Symbol 1780 GraphicUsed by:1843
Symbol 1781 MovieClipUses:379Used by:1843
Symbol 1782 GraphicUsed by:1843
Symbol 1783 MovieClipUses:922Used by:1843
Symbol 1784 GraphicUsed by:1843
Symbol 1785 MovieClipUses:664Used by:1843
Symbol 1786 GraphicUsed by:1843
Symbol 1787 MovieClipUses:341Used by:1843
Symbol 1788 MovieClipUses:350Used by:1843
Symbol 1789 GraphicUsed by:1843
Symbol 1790 GraphicUsed by:1791
Symbol 1791 MovieClipUses:1790Used by:1843
Symbol 1792 GraphicUsed by:1793 1799
Symbol 1793 MovieClipUses:1792Used by:1843
Symbol 1794 GraphicUsed by:1843
Symbol 1795 GraphicUsed by:1796
Symbol 1796 MovieClipUses:1795Used by:1843
Symbol 1797 GraphicUsed by:1843
Symbol 1798 MovieClipUses:1743Used by:1843
Symbol 1799 MovieClipUses:1792Used by:1843
Symbol 1800 GraphicUsed by:1843
Symbol 1801 GraphicUsed by:1802 1881 1893 1896 1953 2125
Symbol 1802 MovieClipUses:1801Used by:1843
Symbol 1803 GraphicUsed by:1804 1882
Symbol 1804 MovieClipUses:1803Used by:1843
Symbol 1805 GraphicUsed by:1843
Symbol 1806 MovieClipUses:1148Used by:1843
Symbol 1807 GraphicUsed by:1843
Symbol 1808 MovieClipUses:422Used by:1843
Symbol 1809 GraphicUsed by:1843
Symbol 1810 MovieClipUses:1554Used by:1843
Symbol 1811 GraphicUsed by:1843
Symbol 1812 MovieClipUses:422Used by:1843
Symbol 1813 GraphicUsed by:1843
Symbol 1814 MovieClipUses:341Used by:1843
Symbol 1815 MovieClipUses:350Used by:1843
Symbol 1816 GraphicUsed by:1843
Symbol 1817 MovieClipUses:338Used by:1843
Symbol 1818 GraphicUsed by:1843
Symbol 1819 MovieClipUses:1494Used by:1843
Symbol 1820 MovieClipUses:1148Used by:1843
Symbol 1821 GraphicUsed by:1843
Symbol 1822 MovieClipUses:341Used by:1843
Symbol 1823 MovieClipUses:338Used by:1843
Symbol 1824 GraphicUsed by:1843
Symbol 1825 MovieClipUses:1269Used by:1843
Symbol 1826 GraphicUsed by:1843
Symbol 1827 GraphicUsed by:1828 1831 1907
Symbol 1828 MovieClipUses:1827Used by:1843
Symbol 1829 MovieClipUses:1148Used by:1843
Symbol 1830 GraphicUsed by:1843
Symbol 1831 MovieClipUses:1827Used by:1843
Symbol 1832 GraphicUsed by:1833
Symbol 1833 MovieClipUses:1832Used by:1843
Symbol 1834 GraphicUsed by:1843
Symbol 1835 GraphicUsed by:1836 1885 1894
Symbol 1836 MovieClipUses:1835Used by:1843
Symbol 1837 GraphicUsed by:1843
Symbol 1838 MovieClipUses:341Used by:1843
Symbol 1839 MovieClipUses:350Used by:1843
Symbol 1840 GraphicUsed by:1843
Symbol 1841 MovieClipUses:350Used by:1843
Symbol 1842 GraphicUsed by:1843
Symbol 1843 MovieClipUses:1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1744 1746 1747 1749 1750 1752 1753 1755 1756 1758 1759 1761 1762 1764 1766 1767 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1791 1793 1794 1796 1797 1798 1799 1800 1802 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1828 1829 1830 1831 1833 1834 1836 1837 1838 1839 1840 1841 1842Used by:1844
Symbol 1844 MovieClip {Stages.stage_18}Uses:265 93 1843 250 230 233 65 83 298 273Used by:Timeline
Symbol 1845 Sound {CrackSound3}Used by:Timeline
Symbol 1846 GraphicUsed by:1914
Symbol 1847 MovieClipUses:341Used by:1914
Symbol 1848 MovieClipUses:350Used by:1914
Symbol 1849 GraphicUsed by:1914
Symbol 1850 MovieClipUses:350Used by:1914
Symbol 1851 GraphicUsed by:1914
Symbol 1852 MovieClipUses:1230Used by:1914
Symbol 1853 GraphicUsed by:1854 1908 1954
Symbol 1854 MovieClipUses:1853Used by:1914
Symbol 1855 GraphicUsed by:1914
Symbol 1856 MovieClipUses:1204Used by:1914
Symbol 1857 GraphicUsed by:1914
Symbol 1858 MovieClipUses:1046Used by:1914
Symbol 1859 MovieClipUses:350Used by:1914
Symbol 1860 GraphicUsed by:1914
Symbol 1861 MovieClipUses:350Used by:1914
Symbol 1862 GraphicUsed by:1914
Symbol 1863 MovieClipUses:1230Used by:1914
Symbol 1864 MovieClipUses:1646Used by:1914
Symbol 1865 GraphicUsed by:1914
Symbol 1866 MovieClipUses:1204Used by:1914
Symbol 1867 GraphicUsed by:1914
Symbol 1868 MovieClipUses:379Used by:1914
Symbol 1869 GraphicUsed by:1914
Symbol 1870 MovieClipUses:668Used by:1914
Symbol 1871 GraphicUsed by:1914
Symbol 1872 MovieClipUses:1554Used by:1914
Symbol 1873 GraphicUsed by:1914
Symbol 1874 MovieClipUses:422Used by:1914
Symbol 1875 GraphicUsed by:1914
Symbol 1876 MovieClipUses:355Used by:1914
Symbol 1877 MovieClipUses:338Used by:1914
Symbol 1878 GraphicUsed by:1914
Symbol 1879 MovieClipUses:338Used by:1914
Symbol 1880 GraphicUsed by:1914
Symbol 1881 MovieClipUses:1801Used by:1914
Symbol 1882 MovieClipUses:1803Used by:1914
Symbol 1883 GraphicUsed by:1914
Symbol 1884 MovieClipUses:1494Used by:1914
Symbol 1885 MovieClipUses:1835Used by:1914
Symbol 1886 GraphicUsed by:1914
Symbol 1887 MovieClipUses:379Used by:1914
Symbol 1888 GraphicUsed by:1914
Symbol 1889 MovieClipUses:664Used by:1914
Symbol 1890 GraphicUsed by:1914
Symbol 1891 MovieClipUses:1554Used by:1914
Symbol 1892 GraphicUsed by:1914
Symbol 1893 MovieClipUses:1801Used by:1914
Symbol 1894 MovieClipUses:1835Used by:1914
Symbol 1895 GraphicUsed by:1914
Symbol 1896 MovieClipUses:1801Used by:1914
Symbol 1897 MovieClipUses:331Used by:1914
Symbol 1898 GraphicUsed by:1914
Symbol 1899 MovieClipUses:379Used by:1914
Symbol 1900 GraphicUsed by:1914
Symbol 1901 MovieClipUses:664Used by:1914
Symbol 1902 GraphicUsed by:1914
Symbol 1903 MovieClipUses:1554Used by:1914
Symbol 1904 GraphicUsed by:1914
Symbol 1905 MovieClipUses:422Used by:1914
Symbol 1906 GraphicUsed by:1914
Symbol 1907 MovieClipUses:1827Used by:1914
Symbol 1908 MovieClipUses:1853Used by:1914
Symbol 1909 GraphicUsed by:1914
Symbol 1910 MovieClipUses:379Used by:1914
Symbol 1911 GraphicUsed by:1914
Symbol 1912 MovieClipUses:664Used by:1914
Symbol 1913 GraphicUsed by:1914
Symbol 1914 MovieClipUses:1846 1847 1848 1849 1850 1851 1852 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913Used by:1917
Symbol 1915 GraphicUsed by:1916
Symbol 1916 MovieClip {Box_lvl8}Uses:1915Used by:1917
Symbol 1917 MovieClip {Stages.stage_08}Uses:183 93 1914 213 250 230 233 1680 63 1916Used by:Timeline
Symbol 1918 Sound {BreakingSound}Used by:Timeline
Symbol 1919 GraphicUsed by:1969
Symbol 1920 MovieClipUses:341Used by:1969
Symbol 1921 MovieClipUses:338Used by:1969
Symbol 1922 GraphicUsed by:1969
Symbol 1923 MovieClipUses:350Used by:1969
Symbol 1924 GraphicUsed by:1969
Symbol 1925 MovieClipUses:341Used by:1969
Symbol 1926 GraphicUsed by:1927 2100
Symbol 1927 MovieClipUses:1926Used by:1969
Symbol 1928 GraphicUsed by:1969
Symbol 1929 MovieClipUses:338Used by:1969
Symbol 1930 GraphicUsed by:1969
Symbol 1931 MovieClipUses:341Used by:1969
Symbol 1932 MovieClipUses:350Used by:1969
Symbol 1933 GraphicUsed by:1969
Symbol 1934 MovieClipUses:341Used by:1969
Symbol 1935 MovieClipUses:350Used by:1969
Symbol 1936 GraphicUsed by:1969
Symbol 1937 MovieClipUses:338Used by:1969
Symbol 1938 GraphicUsed by:1969
Symbol 1939 MovieClipUses:1333Used by:1969
Symbol 1940 GraphicUsed by:1969
Symbol 1941 MovieClipUses:341Used by:1969
Symbol 1942 MovieClipUses:350Used by:1969
Symbol 1943 GraphicUsed by:1969
Symbol 1944 MovieClipUses:350Used by:1969
Symbol 1945 GraphicUsed by:1969
Symbol 1946 MovieClipUses:1333Used by:1969
Symbol 1947 GraphicUsed by:1969
Symbol 1948 MovieClipUses:341Used by:1969
Symbol 1949 GraphicUsed by:1969
Symbol 1950 MovieClipUses:1494Used by:1969
Symbol 1951 MovieClipUses:331Used by:1969
Symbol 1952 GraphicUsed by:1969
Symbol 1953 MovieClipUses:1801Used by:1969
Symbol 1954 MovieClipUses:1853Used by:1969
Symbol 1955 GraphicUsed by:1969
Symbol 1956 MovieClipUses:379Used by:1969
Symbol 1957 GraphicUsed by:1969
Symbol 1958 MovieClipUses:664Used by:1969
Symbol 1959 GraphicUsed by:1969
Symbol 1960 MovieClipUses:1554Used by:1969
Symbol 1961 GraphicUsed by:1969
Symbol 1962 MovieClipUses:422Used by:1969
Symbol 1963 GraphicUsed by:1969
Symbol 1964 MovieClipUses:1494Used by:1969
Symbol 1965 MovieClipUses:1148Used by:1969
Symbol 1966 GraphicUsed by:1969
Symbol 1967 MovieClipUses:379Used by:1969
Symbol 1968 GraphicUsed by:1969
Symbol 1969 MovieClipUses:1919 1920 1921 1922 1923 1924 1925 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968Used by:2030
Symbol 1970 GraphicUsed by:2005 2058 2260
Symbol 1971 GraphicUsed by:2005
Symbol 1972 GraphicUsed by:2005 2058 2260
Symbol 1973 GraphicUsed by:2005 2058 2260
Symbol 1974 GraphicUsed by:2005 2029 2058 2260
Symbol 1975 GraphicUsed by:2005 2058 2260
Symbol 1976 GraphicUsed by:2005 2058 2260
Symbol 1977 GraphicUsed by:2005 2058 2260
Symbol 1978 GraphicUsed by:2005 2029 2260
Symbol 1979 GraphicUsed by:2005 2058 2260
Symbol 1980 GraphicUsed by:2005 2058 2260
Symbol 1981 GraphicUsed by:2005 2029 2058 2260
Symbol 1982 GraphicUsed by:2005
Symbol 1983 GraphicUsed by:2005
Symbol 1984 GraphicUsed by:2005
Symbol 1985 GraphicUsed by:2005
Symbol 1986 GraphicUsed by:2005
Symbol 1987 GraphicUsed by:2005
Symbol 1988 GraphicUsed by:2005
Symbol 1989 GraphicUsed by:2005
Symbol 1990 GraphicUsed by:2005
Symbol 1991 GraphicUsed by:2005 2029 2260
Symbol 1992 GraphicUsed by:2005 2029 2260
Symbol 1993 GraphicUsed by:2005 2029 2058 2260
Symbol 1994 GraphicUsed by:2005 2029 2058 2260
Symbol 1995 GraphicUsed by:2005 2029 2058 2260
Symbol 1996 GraphicUsed by:2005 2260
Symbol 1997 GraphicUsed by:2005
Symbol 1998 GraphicUsed by:2005 2260
Symbol 1999 GraphicUsed by:2005
Symbol 2000 GraphicUsed by:2005 2260
Symbol 2001 GraphicUsed by:2005 2029 2260
Symbol 2002 GraphicUsed by:2005 2029 2260
Symbol 2003 GraphicUsed by:2005 2029 2260
Symbol 2004 GraphicUsed by:2005
Symbol 2005 MovieClip {Most27_2}Uses:1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1659 1996 1997 1998 455 1999 2000 2001 2002 2003 2004Used by:2030
Symbol 2006 GraphicUsed by:2029
Symbol 2007 GraphicUsed by:2029
Symbol 2008 GraphicUsed by:2029
Symbol 2009 GraphicUsed by:2029
Symbol 2010 GraphicUsed by:2029
Symbol 2011 GraphicUsed by:2029
Symbol 2012 GraphicUsed by:2029
Symbol 2013 GraphicUsed by:2029
Symbol 2014 GraphicUsed by:2029
Symbol 2015 GraphicUsed by:2029
Symbol 2016 GraphicUsed by:2029
Symbol 2017 GraphicUsed by:2029
Symbol 2018 GraphicUsed by:2029
Symbol 2019 GraphicUsed by:2029
Symbol 2020 GraphicUsed by:2029
Symbol 2021 GraphicUsed by:2029
Symbol 2022 GraphicUsed by:2029
Symbol 2023 GraphicUsed by:2029
Symbol 2024 GraphicUsed by:2029
Symbol 2025 GraphicUsed by:2029
Symbol 2026 GraphicUsed by:2029
Symbol 2027 GraphicUsed by:2029
Symbol 2028 GraphicUsed by:2029
Symbol 2029 MovieClip {Most27_1}Uses:2006 2007 2008 2009 1978 2010 2011 2012 1974 2013 2014 1981 2015 2016 2017 2018 2019 2020 2021 2022 2023 1992 1991 1994 1993 1995 1659 2024 2025 455 2026 2027 2001 2003 2002 2028 889Used by:2030
Symbol 2030 MovieClip {Stages.stage_27}Uses:265 93 1969 213 250 14 2005 285 281 1680 230 300 298 273 2029Used by:Timeline
Symbol 2031 Sound {GasBigSound}Used by:Timeline
Symbol 2032 GraphicUsed by:2039
Symbol 2033 MovieClipUses:398Used by:2039
Symbol 2034 GraphicUsed by:2039
Symbol 2035 MovieClipUses:1333Used by:2039
Symbol 2036 GraphicUsed by:2039
Symbol 2037 MovieClipUses:338Used by:2039
Symbol 2038 GraphicUsed by:2039
Symbol 2039 MovieClipUses:2032 2033 2034 2035 2036 2037 2038Used by:2059
Symbol 2040 GraphicUsed by:2041
Symbol 2041 MovieClip {Box_lvl30_1}Uses:2040Used by:2059
Symbol 2042 GraphicUsed by:2043
Symbol 2043 MovieClip {Box_lvl30_2}Uses:2042Used by:2059
Symbol 2044 GraphicUsed by:2058
Symbol 2045 GraphicUsed by:2058
Symbol 2046 GraphicUsed by:2058
Symbol 2047 GraphicUsed by:2058
Symbol 2048 GraphicUsed by:2058
Symbol 2049 GraphicUsed by:2058
Symbol 2050 GraphicUsed by:2058
Symbol 2051 GraphicUsed by:2058
Symbol 2052 GraphicUsed by:2058
Symbol 2053 GraphicUsed by:2058
Symbol 2054 GraphicUsed by:2058
Symbol 2055 GraphicUsed by:2058
Symbol 2056 GraphicUsed by:2058
Symbol 2057 GraphicUsed by:2058
Symbol 2058 MovieClip {Objects.Most30}Uses:2044 1993 1994 1995 1659 2045 2046 455 2047 2048 1972 1973 1979 1975 1976 1977 1980 1974 1981 2049 2050 2051 2052 2053 2054 2055 2056 2057 1970Used by:2059
Symbol 2059 MovieClip {Stages.stage_30}Uses:265 93 2039 289 270 230 300 65 273 2041 2043 2058 316Used by:Timeline
Symbol 2060 Sound {GasSmallSound}Used by:Timeline
Symbol 2061 GraphicUsed by:2183
Symbol 2062 MovieClipUses:1494Used by:2183
Symbol 2063 MovieClipUses:1148Used by:2183
Symbol 2064 GraphicUsed by:2183
Symbol 2065 MovieClipUses:1204Used by:2183
Symbol 2066 GraphicUsed by:2183
Symbol 2067 MovieClipUses:369Used by:2183
Symbol 2068 GraphicUsed by:2183
Symbol 2069 GraphicUsed by:2070
Symbol 2070 MovieClipUses:2069Used by:2183
Symbol 2071 GraphicUsed by:2183
Symbol 2072 MovieClipUses:379Used by:2183
Symbol 2073 GraphicUsed by:2183
Symbol 2074 MovieClipUses:422Used by:2183
Symbol 2075 GraphicUsed by:2183
Symbol 2076 MovieClipUses:1333Used by:2183
Symbol 2077 GraphicUsed by:2183
Symbol 2078 MovieClipUses:1046Used by:2183
Symbol 2079 MovieClipUses:350Used by:2183
Symbol 2080 GraphicUsed by:2183
Symbol 2081 MovieClipUses:338Used by:2183
Symbol 2082 GraphicUsed by:2183
Symbol 2083 MovieClipUses:327Used by:2183
Symbol 2084 MovieClipUses:331Used by:2183
Symbol 2085 GraphicUsed by:2183
Symbol 2086 GraphicUsed by:2087
Symbol 2087 MovieClipUses:2086Used by:2183
Symbol 2088 GraphicUsed by:2183
Symbol 2089 MovieClipUses:412Used by:2183
Symbol 2090 GraphicUsed by:2183
Symbol 2091 MovieClipUses:338Used by:2183
Symbol 2092 GraphicUsed by:2183
Symbol 2093 MovieClipUses:379Used by:2183
Symbol 2094 GraphicUsed by:2183
Symbol 2095 MovieClipUses:664Used by:2183
Symbol 2096 GraphicUsed by:2183
Symbol 2097 MovieClipUses:1333Used by:2183
Symbol 2098 GraphicUsed by:2183
Symbol 2099 MovieClipUses:341Used by:2183
Symbol 2100 MovieClipUses:1926Used by:2183
Symbol 2101 GraphicUsed by:2183
Symbol 2102 MovieClipUses:338Used by:2183
Symbol 2103 GraphicUsed by:2183
Symbol 2104 MovieClipUses:1230Used by:2183
Symbol 2105 MovieClipUses:1148Used by:2183
Symbol 2106 GraphicUsed by:2183
Symbol 2107 MovieClipUses:331Used by:2183
Symbol 2108 GraphicUsed by:2183
Symbol 2109 MovieClipUses:1333Used by:2183
Symbol 2110 GraphicUsed by:2183
Symbol 2111 MovieClipUses:350Used by:2183
Symbol 2112 GraphicUsed by:2183
Symbol 2113 MovieClipUses:379Used by:2183
Symbol 2114 GraphicUsed by:2183
Symbol 2115 GraphicUsed by:2116
Symbol 2116 MovieClipUses:2115Used by:2183
Symbol 2117 GraphicUsed by:2183
Symbol 2118 MovieClipUses:1333Used by:2183
Symbol 2119 GraphicUsed by:2183
Symbol 2120 MovieClipUses:341Used by:2183
Symbol 2121 MovieClipUses:350Used by:2183
Symbol 2122 GraphicUsed by:2183
Symbol 2123 MovieClipUses:350Used by:2183
Symbol 2124 GraphicUsed by:2183
Symbol 2125 MovieClipUses:1801Used by:2183
Symbol 2126 MovieClipUses:331Used by:2183
Symbol 2127 GraphicUsed by:2183
Symbol 2128 MovieClipUses:1204Used by:2183
Symbol 2129 GraphicUsed by:2183
Symbol 2130 MovieClipUses:369Used by:2183
Symbol 2131 GraphicUsed by:2183
Symbol 2132 MovieClipUses:350Used by:2183
Symbol 2133 GraphicUsed by:2183
Symbol 2134 MovieClipUses:379Used by:2183
Symbol 2135 GraphicUsed by:2183
Symbol 2136 MovieClipUses:922Used by:2183
Symbol 2137 GraphicUsed by:2183
Symbol 2138 MovieClipUses:1333Used by:2183
Symbol 2139 GraphicUsed by:2183
Symbol 2140 MovieClipUses:1046Used by:2183
Symbol 2141 MovieClipUses:350Used by:2183
Symbol 2142 GraphicUsed by:2183
Symbol 2143 MovieClipUses:1230Used by:2183
Symbol 2144 MovieClipUses:331Used by:2183
Symbol 2145 GraphicUsed by:2183
Symbol 2146 GraphicUsed by:2147
Symbol 2147 MovieClipUses:2146Used by:2183
Symbol 2148 GraphicUsed by:2183
Symbol 2149 MovieClipUses:369Used by:2183
Symbol 2150 GraphicUsed by:2183
Symbol 2151 MovieClipUses:379Used by:2183
Symbol 2152 GraphicUsed by:2183
Symbol 2153 MovieClipUses:422Used by:2183
Symbol 2154 GraphicUsed by:2183
Symbol 2155 MovieClipUses:341Used by:2183
Symbol 2156 MovieClipUses:350Used by:2183
Symbol 2157 GraphicUsed by:2183
Symbol 2158 MovieClipUses:350Used by:2183
Symbol 2159 GraphicUsed by:2183
Symbol 2160 MovieClipUses:327Used by:2183
Symbol 2161 MovieClipUses:331Used by:2183
Symbol 2162 GraphicUsed by:2183
Symbol 2163 MovieClipUses:331Used by:2183
Symbol 2164 GraphicUsed by:2183
Symbol 2165 MovieClipUses:350Used by:2183
Symbol 2166 GraphicUsed by:2183
Symbol 2167 MovieClipUses:434Used by:2183
Symbol 2168 GraphicUsed by:2183
Symbol 2169 MovieClipUses:409Used by:2183
Symbol 2170 GraphicUsed by:2183
Symbol 2171 MovieClipUses:327Used by:2183
Symbol 2172 MovieClipUses:331Used by:2183
Symbol 2173 GraphicUsed by:2183
Symbol 2174 MovieClipUses:331Used by:2183
Symbol 2175 GraphicUsed by:2183
Symbol 2176 MovieClipUses:350Used by:2183
Symbol 2177 GraphicUsed by:2183
Symbol 2178 MovieClipUses:434Used by:2183
Symbol 2179 GraphicUsed by:2183
Symbol 2180 MovieClipUses:409Used by:2183
Symbol 2181 GraphicUsed by:2183
Symbol 2182 GraphicUsed by:2183
Symbol 2183 MovieClipUses:2061 2062 2063 2064 2065 2066 2067 2068 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182Used by:2184
Symbol 2184 MovieClip {Stages.stage_29}Uses:265 281 285 93 2183 213 250 14 289 65 230 300 273 233 298 1678 316 83Used by:Timeline
Symbol 2185 Sound {ExplosionSound}Used by:Timeline
Symbol 2186 GraphicUsed by:2246
Symbol 2187 MovieClipUses:327Used by:2246
Symbol 2188 GraphicUsed by:2189
Symbol 2189 MovieClipUses:2188Used by:2246
Symbol 2190 GraphicUsed by:2246
Symbol 2191 MovieClipUses:1148Used by:2246
Symbol 2192 GraphicUsed by:2246
Symbol 2193 MovieClipUses:1559Used by:2246
Symbol 2194 GraphicUsed by:2246
Symbol 2195 MovieClipUses:338Used by:2246
Symbol 2196 GraphicUsed by:2246
Symbol 2197 MovieClipUses:379Used by:2246
Symbol 2198 GraphicUsed by:2246
Symbol 2199 MovieClipUses:664Used by:2246
Symbol 2200 GraphicUsed by:2246
Symbol 2201 MovieClipUses:1559Used by:2246
Symbol 2202 GraphicUsed by:2246
Symbol 2203 MovieClipUses:341Used by:2246
Symbol 2204 MovieClipUses:338Used by:2246
Symbol 2205 GraphicUsed by:2246
Symbol 2206 MovieClipUses:338Used by:2246
Symbol 2207 GraphicUsed by:2246
Symbol 2208 MovieClipUses:1230Used by:2246
Symbol 2209 MovieClipUses:331Used by:2246
Symbol 2210 GraphicUsed by:2246
Symbol 2211 MovieClipUses:341Used by:2246
Symbol 2212 MovieClipUses:350Used by:2246
Symbol 2213 GraphicUsed by:2246
Symbol 2214 MovieClipUses:350Used by:2246
Symbol 2215 GraphicUsed by:2246
Symbol 2216 MovieClipUses:341Used by:2246
Symbol 2217 GraphicUsed by:2246
Symbol 2218 MovieClipUses:341Used by:2246
Symbol 2219 MovieClipUses:350Used by:2246
Symbol 2220 GraphicUsed by:2246
Symbol 2221 MovieClipUses:350Used by:2246
Symbol 2222 GraphicUsed by:2246
Symbol 2223 MovieClipUses:331Used by:2246
Symbol 2224 GraphicUsed by:2246
Symbol 2225 MovieClipUses:664Used by:2246
Symbol 2226 GraphicUsed by:2246
Symbol 2227 MovieClipUses:369Used by:2246
Symbol 2228 GraphicUsed by:2246
Symbol 2229 MovieClipUses:341Used by:2246
Symbol 2230 MovieClipUses:350Used by:2246
Symbol 2231 GraphicUsed by:2246
Symbol 2232 MovieClipUses:350Used by:2246
Symbol 2233 GraphicUsed by:2246
Symbol 2234 MovieClipUses:331Used by:2246
Symbol 2235 GraphicUsed by:2246
Symbol 2236 MovieClipUses:664Used by:2246
Symbol 2237 GraphicUsed by:2246
Symbol 2238 MovieClipUses:369Used by:2246
Symbol 2239 GraphicUsed by:2246
Symbol 2240 GraphicUsed by:2246
Symbol 2241 GraphicUsed by:2246
Symbol 2242 GraphicUsed by:2246
Symbol 2243 GraphicUsed by:2246
Symbol 2244 GraphicUsed by:2246
Symbol 2245 GraphicUsed by:2246
Symbol 2246 MovieClipUses:2186 2187 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245Used by:2278
Symbol 2247 GraphicUsed by:2260
Symbol 2248 GraphicUsed by:2260
Symbol 2249 GraphicUsed by:2260
Symbol 2250 GraphicUsed by:2260
Symbol 2251 GraphicUsed by:2260
Symbol 2252 GraphicUsed by:2260
Symbol 2253 GraphicUsed by:2260
Symbol 2254 GraphicUsed by:2260
Symbol 2255 GraphicUsed by:2260
Symbol 2256 GraphicUsed by:2260
Symbol 2257 GraphicUsed by:2260
Symbol 2258 GraphicUsed by:2260
Symbol 2259 GraphicUsed by:2260
Symbol 2260 MovieClip {Most14}Uses:1970 2247 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 2248 2249 2250 2251 2252 2253 2254 2255 2256 1991 1992 1993 1994 1995 1659 2000 1996 1998 455 2257 2258 2001 2002 2003 2259Used by:2278
Symbol 2261 GraphicUsed by:2275
Symbol 2262 GraphicUsed by:2275
Symbol 2263 GraphicUsed by:2275
Symbol 2264 GraphicUsed by:2275
Symbol 2265 GraphicUsed by:2275
Symbol 2266 GraphicUsed by:2275
Symbol 2267 GraphicUsed by:2275
Symbol 2268 GraphicUsed by:2275
Symbol 2269 GraphicUsed by:2275
Symbol 2270 GraphicUsed by:2275
Symbol 2271 GraphicUsed by:2275
Symbol 2272 GraphicUsed by:2275
Symbol 2273 GraphicUsed by:2275
Symbol 2274 GraphicUsed by:2275
Symbol 2275 MovieClip {Most14_2}Uses:2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274Used by:2278
Symbol 2276 GraphicUsed by:2277
Symbol 2277 MovieClip {Box_lvl14}Uses:2276Used by:2278
Symbol 2278 MovieClip {Stages.stage_14}Uses:183 93 2246 248 213 250 2260 2275 230 233 270 83 300 2277Used by:Timeline
Symbol 2279 Sound {GoldSound}Used by:Timeline
Symbol 2280 Sound {RestartSound}Used by:Timeline
Symbol 2281 Sound {WinSound}Used by:Timeline
Symbol 2282 Sound {Music2}Used by:Timeline
Symbol 2283 Sound {Music1}Used by:Timeline
Symbol 2284 GraphicUsed by:2286
Symbol 2285 GraphicUsed by:2286
Symbol 2286 Button {gui.SplashButton}Uses:2284 2285 48Used by:Timeline
Symbol 2287 GraphicUsed by:2302
Symbol 2288 GraphicUsed by:2302
Symbol 2289 GraphicUsed by:2302
Symbol 2290 SoundUsed by:2302
Symbol 2291 SoundUsed by:2302
Symbol 2292 GraphicUsed by:2302
Symbol 2293 GraphicUsed by:2294
Symbol 2294 MovieClipUses:2293Used by:2302
Symbol 2295 SoundUsed by:2302
Symbol 2296 SoundUsed by:2302
Symbol 2297 SoundUsed by:2302
Symbol 2298 GraphicUsed by:2299
Symbol 2299 Button {gui.ArmorButton2}Uses:2298Used by:2302
Symbol 2300 SoundUsed by:2302
Symbol 2301 SoundUsed by:2302
Symbol 2302 MovieClip {PipolSmasher_Armor_fla.ag_intro_mc_1103}Uses:2287 2288 2289 2290 2291 2292 2294 2295 2296 2297 2299 2300 2301Used by:Timeline
Symbol 2303 BitmapUsed by:2304
Symbol 2304 GraphicUses:2303Used by:Timeline
Symbol 2305 TextUses:18Used by:2308
Symbol 2306 TextUses:18Used by:2308
Symbol 2307 GraphicUsed by:2308
Symbol 2308 Button {gui.VogdButton}Uses:2305 2306 2307Used by:Timeline
Symbol 2309 GraphicUsed by:2426
Symbol 2310 GraphicUsed by:2426
Symbol 2311 TextUses:8Used by:2426
Symbol 2312 TextUses:8Used by:2426
Symbol 2313 TextUses:8Used by:2426
Symbol 2314 TextUses:8Used by:2426
Symbol 2315 TextUses:8Used by:2426
Symbol 2316 TextUses:8Used by:2426
Symbol 2317 TextUses:8Used by:2426
Symbol 2318 GraphicUsed by:2320
Symbol 2319 GraphicUsed by:2320
Symbol 2320 ButtonUses:2318 2319 48Used by:2426
Symbol 2321 TextUses:8Used by:2426
Symbol 2322 TextUses:8Used by:2426
Symbol 2323 TextUses:8Used by:2426
Symbol 2324 TextUses:8Used by:2426
Symbol 2325 TextUses:8Used by:2426
Symbol 2326 TextUses:8Used by:2426
Symbol 2327 TextUses:8Used by:2426
Symbol 2328 TextUses:8Used by:2426
Symbol 2329 TextUses:8Used by:2426
Symbol 2330 TextUses:8Used by:2426
Symbol 2331 TextUses:8Used by:2426
Symbol 2332 TextUses:8Used by:2426
Symbol 2333 TextUses:8Used by:2426
Symbol 2334 TextUses:8Used by:2426
Symbol 2335 TextUses:8Used by:2426
Symbol 2336 TextUses:8Used by:2426
Symbol 2337 TextUses:8Used by:2426
Symbol 2338 TextUses:8Used by:2426
Symbol 2339 TextUses:8Used by:2426
Symbol 2340 TextUses:8Used by:2426
Symbol 2341 TextUses:8Used by:2426
Symbol 2342 TextUses:8Used by:2426
Symbol 2343 TextUses:8Used by:2426
Symbol 2344 TextUses:8Used by:2426
Symbol 2345 TextUses:8Used by:2426
Symbol 2346 TextUses:8Used by:2426
Symbol 2347 TextUses:8Used by:2426
Symbol 2348 TextUses:8Used by:2426
Symbol 2349 TextUses:8Used by:2426
Symbol 2350 TextUses:8Used by:2426
Symbol 2351 TextUses:8Used by:2426
Symbol 2352 TextUses:8Used by:2426
Symbol 2353 TextUses:8Used by:2426
Symbol 2354 TextUses:8Used by:2426
Symbol 2355 GraphicUsed by:2357
Symbol 2356 GraphicUsed by:2357
Symbol 2357 ButtonUses:2355 2356 48Used by:2426
Symbol 2358 GraphicUsed by:2360
Symbol 2359 GraphicUsed by:2360
Symbol 2360 ButtonUses:2358 2359 48Used by:2426
Symbol 2361 TextUses:8Used by:2426
Symbol 2362 GraphicUsed by:2364
Symbol 2363 GraphicUsed by:2364
Symbol 2364 ButtonUses:2362 228 2363 90 88 48Used by:2426
Symbol 2365 TextUses:8Used by:2426
Symbol 2366 GraphicUsed by:2367 2382 2417
Symbol 2367 MovieClipUses:2366Used by:2382 2417
Symbol 2368 GraphicUsed by:2381
Symbol 2369 GraphicUsed by:2380
Symbol 2370 GraphicUsed by:2371
Symbol 2371 MovieClipUses:2370Used by:2380
Symbol 2372 GraphicUsed by:2377
Symbol 2373 GraphicUsed by:2376
Symbol 2374 GraphicUsed by:2376
Symbol 2375 GraphicUsed by:2376
Symbol 2376 MovieClipUses:2373 2374 2375Used by:2377
Symbol 2377 MovieClipUses:2372 2376Used by:2378
Symbol 2378 MovieClipUses:62 2377Used by:2380
Symbol 2379 GraphicUsed by:2380
Symbol 2380 MovieClipUses:2369 2371 2378 2379Used by:2381
Symbol 2381 MovieClipUses:2368 2380Used by:2382
Symbol 2382 Button {gui.WereboxButton}Uses:2367 2381 2366 48Used by:2426
Symbol 2383 TextUses:8Used by:2426
Symbol 2384 GraphicUsed by:2416
Symbol 2385 GraphicUsed by:2386
Symbol 2386 MovieClipUses:2385Used by:2415
Symbol 2387 GraphicUsed by:2388
Symbol 2388 MovieClip {PipolSmasher_Armor_fla.Vehicles_Tween16_1126}Uses:2387Used by:2410
Symbol 2389 GraphicUsed by:2410
Symbol 2390 GraphicUsed by:2410
Symbol 2391 GraphicUsed by:2410
Symbol 2392 GraphicUsed by:2410
Symbol 2393 GraphicUsed by:2410
Symbol 2394 GraphicUsed by:2410
Symbol 2395 GraphicUsed by:2410
Symbol 2396 GraphicUsed by:2410
Symbol 2397 GraphicUsed by:2410
Symbol 2398 GraphicUsed by:2410
Symbol 2399 GraphicUsed by:2410
Symbol 2400 GraphicUsed by:2410
Symbol 2401 GraphicUsed by:2410
Symbol 2402 GraphicUsed by:2410
Symbol 2403 GraphicUsed by:2410
Symbol 2404 GraphicUsed by:2410
Symbol 2405 GraphicUsed by:2410
Symbol 2406 GraphicUsed by:2410
Symbol 2407 GraphicUsed by:2410
Symbol 2408 GraphicUsed by:2410
Symbol 2409 GraphicUsed by:2410
Symbol 2410 MovieClipUses:2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409Used by:2415
Symbol 2411 GraphicUsed by:2412
Symbol 2412 MovieClipUses:2411Used by:2415
Symbol 2413 GraphicUsed by:2414
Symbol 2414 MovieClipUses:2413Used by:2415
Symbol 2415 MovieClipUses:2386 2410 2412 2414Used by:2416
Symbol 2416 MovieClipUses:2384 2415Used by:2417
Symbol 2417 Button {gui.VehiclesButton}Uses:2367 2416 2366 48Used by:2426
Symbol 2418 TextUses:8Used by:2426
Symbol 2419 TextUses:8Used by:2426
Symbol 2420 GraphicUsed by:2423
Symbol 2421 TextUses:8Used by:2423
Symbol 2422 EditableTextUses:8Used by:2423
Symbol 2423 MovieClipUses:2420 2421 2422Used by:2426
Symbol 2424 TextUses:8Used by:2425
Symbol 2425 ButtonUses:2424 48Used by:2426
Symbol 2426 MovieClip {gui.LevelsButtonsClip}Uses:2309 2310 2311 2312 2313 2314 2315 2316 2317 159 160 2320 2321 2322 56 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2357 2360 2361 2364 2365 2382 2383 2417 2418 164 2419 2423 2425Used by:Timeline
Symbol 2427 GraphicUsed by:2428
Symbol 2428 Button {gui.NextButton}Uses:2427 48Used by:2430
Symbol 2429 TextUses:8Used by:2430
Symbol 2430 MovieClip {gui.WinMenu}Uses:2428 2429Used by:Timeline
Symbol 2431 FontUsed by:2432 2433 2445
Symbol 2432 TextUses:2431Used by:Timeline
Symbol 2433 EditableTextUses:2431Used by:Timeline
Symbol 2434 GraphicUsed by:2438
Symbol 2435 GraphicUsed by:2436
Symbol 2436 MovieClipUses:79 2435Used by:2438
Symbol 2437 GraphicUsed by:2438
Symbol 2438 MovieClip {gui.SoundButton}Uses:2434 2436 2437Used by:Timeline
Symbol 2439 GraphicUsed by:2441
Symbol 2440 GraphicUsed by:2441
Symbol 2441 Button {gui.GMButtonWalk}Uses:2439 2440 48Used by:2443
Symbol 2442 TextUses:8Used by:2443
Symbol 2443 MovieClip {gui.MenuWalkClip}Uses:2441 2442Used by:Timeline
Symbol 2444 TextUses:8Used by:Timeline
Symbol 2445 EditableTextUses:2431Used by:Timeline

Instance Names

"IBox"Frame 9Symbol 80 MovieClip
"WinMenu"Frame 65Symbol 2430 MovieClip {gui.WinMenu}
"GameMenu"Frame 65Symbol 54 MovieClip {gui.GameMenu}
"clicks_number_text"Frame 65Symbol 2433 EditableText
"SoundButton"Frame 65Symbol 2438 MovieClip {gui.SoundButton}
"WinMenu"Frame 95Symbol 2430 MovieClip {gui.WinMenu}
"GameMenu"Frame 95Symbol 54 MovieClip {gui.GameMenu}
"clicks_number_text"Frame 95Symbol 2445 EditableText
"SoundButton"Frame 95Symbol 2438 MovieClip {gui.SoundButton}
"bg"Symbol 23 MovieClip {gui.LevelNumber} Frame 1Symbol 15 MovieClip
"level_number_text"Symbol 23 MovieClip {gui.LevelNumber} Frame 1Symbol 19 EditableText
"scores_number_text"Symbol 23 MovieClip {gui.LevelNumber} Frame 1Symbol 21 EditableText
"scores2_number_text"Symbol 23 MovieClip {gui.LevelNumber} Frame 1Symbol 22 EditableText
"MainMenu"Symbol 54 MovieClip {gui.GameMenu} Frame 1Symbol 51 Button {gui.GMButtonMenu}
"Face"Symbol 62 MovieClip Frame 1Symbol 61 MovieClip {PipolSmasher_Armor_fla.Batters2_960}
"smoke"Symbol 80 MovieClip Frame 1Symbol 77 MovieClip
"selector"Symbol 80 MovieClip Frame 1Symbol 79 MovieClip
"Box"Symbol 83 MovieClip {Objects.Car1} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 83 MovieClip {Objects.Car1} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 83 MovieClip {Objects.Car1} Frame 1Symbol 69 MovieClip
"IBox"Symbol 83 MovieClip {Objects.Car1} Frame 1Symbol 80 MovieClip
"IWheel1"Symbol 83 MovieClip {Objects.Car1} Frame 1Symbol 82 MovieClip
"IWheel2"Symbol 83 MovieClip {Objects.Car1} Frame 1Symbol 82 MovieClip
"send_btn"Symbol 122 MovieClip {bubblebox_submit_score} Frame 1Symbol 100 MovieClip {bubblebox_submit_score_fla.bubblebox_send_btn_2}
"bubblebox_name"Symbol 122 MovieClip {bubblebox_submit_score} Frame 1Symbol 108 EditableText
"bubblebox_saving"Symbol 122 MovieClip {bubblebox_submit_score} Frame 2Symbol 113 MovieClip {bubblebox_submit_score_fla.bubblebox_saving_5}
"bubblebox_view_score"Symbol 122 MovieClip {bubblebox_submit_score} Frame 3Symbol 116 MovieClip {bubblebox_submit_score_fla.bubblebox_view_scores_8}
"postext"Symbol 122 MovieClip {bubblebox_submit_score} Frame 3Symbol 117 EditableText
"try_again"Symbol 122 MovieClip {bubblebox_submit_score} Frame 4Symbol 120 MovieClip {bubblebox_submit_score_fla.bubblebox_try_again_10}
"smoke"Symbol 134 MovieClip Frame 1Symbol 77 MovieClip
"smoke"Symbol 135 MovieClip Frame 1Symbol 77 MovieClip
"smoke"Symbol 138 MovieClip Frame 1Symbol 77 MovieClip
"smoke"Symbol 141 MovieClip Frame 1Symbol 77 MovieClip
"TText"Symbol 155 MovieClip Frame 1Symbol 154 EditableText
"Procents"Symbol 156 MovieClip Frame 1Symbol 155 MovieClip
"BPlay"Symbol 157 MovieClip {gui.Preloader} Frame 1Symbol 130 Button
"Paravoz"Symbol 157 MovieClip {gui.Preloader} Frame 1Symbol 142 MovieClip
"Man"Symbol 157 MovieClip {gui.Preloader} Frame 1Symbol 156 MovieClip
"Procents"Symbol 157 MovieClip {gui.Preloader} Frame 102Symbol 155 MovieClip
"Head"Symbol 229 MovieClip Frame 1Symbol 217 MovieClip {Man_01_Head}
"Body"Symbol 229 MovieClip Frame 1Symbol 219 MovieClip {Man_01_Body}
"Hand1"Symbol 229 MovieClip Frame 1Symbol 221 MovieClip {Man_01_Hand1}
"Hand2"Symbol 229 MovieClip Frame 1Symbol 223 MovieClip {Man_01_Hand2}
"Leg1"Symbol 229 MovieClip Frame 1Symbol 225 MovieClip {Man_01_Leg1}
"Leg2"Symbol 229 MovieClip Frame 1Symbol 227 MovieClip {Man_01_Leg2}
"IImage"Symbol 229 MovieClip Frame 1Symbol 228 MovieClip {PipolSmasher_Armor_fla.ManImage_41}
"BBox"Symbol 230 MovieClip {Objects.Man_01} Frame 1Symbol 215 MovieClip
"BBody"Symbol 230 MovieClip {Objects.Man_01} Frame 1Symbol 229 MovieClip
"selector"Symbol 232 MovieClip Frame 1Symbol 79 MovieClip
"smoke"Symbol 232 MovieClip Frame 1Symbol 77 MovieClip
"Box"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 67 MovieClip
"Wheel2"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 69 MovieClip
"Wheel3"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 69 MovieClip
"Wheel4"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 69 MovieClip
"Wheel1"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 69 MovieClip
"Wheel5"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 69 MovieClip
"IWheel2"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 231 MovieClip
"IWheel3"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 231 MovieClip
"IWheel4"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 231 MovieClip
"IBox"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 232 MovieClip
"IWheel1"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 231 MovieClip
"IWheel5"Symbol 233 MovieClip {Objects.Car4} Frame 1Symbol 231 MovieClip
"Man_01"Symbol 238 MovieClip {Stages.stage_12} Frame 1Symbol 230 MovieClip {Objects.Man_01}
"smoke"Symbol 259 MovieClip Frame 1Symbol 77 MovieClip
"selector"Symbol 259 MovieClip Frame 1Symbol 79 MovieClip
"Box"Symbol 260 MovieClip {Objects.Car1_Back} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 260 MovieClip {Objects.Car1_Back} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 260 MovieClip {Objects.Car1_Back} Frame 1Symbol 69 MovieClip
"IBox"Symbol 260 MovieClip {Objects.Car1_Back} Frame 1Symbol 259 MovieClip
"IWheel1"Symbol 260 MovieClip {Objects.Car1_Back} Frame 1Symbol 82 MovieClip
"IWheel2"Symbol 260 MovieClip {Objects.Car1_Back} Frame 1Symbol 82 MovieClip
"Man_01"Symbol 261 MovieClip {Stages.stage_01} Frame 1Symbol 230 MovieClip {Objects.Man_01}
"smoke"Symbol 269 MovieClip Frame 1Symbol 77 MovieClip
"selector"Symbol 269 MovieClip Frame 1Symbol 79 MovieClip
"Box"Symbol 270 MovieClip {Objects.Car2_Back} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 270 MovieClip {Objects.Car2_Back} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 270 MovieClip {Objects.Car2_Back} Frame 1Symbol 69 MovieClip
"IBox"Symbol 270 MovieClip {Objects.Car2_Back} Frame 1Symbol 269 MovieClip
"IWheel1"Symbol 270 MovieClip {Objects.Car2_Back} Frame 1Symbol 132 MovieClip
"IWheel2"Symbol 270 MovieClip {Objects.Car2_Back} Frame 1Symbol 132 MovieClip
"smoke"Symbol 282 MovieClip Frame 1Symbol 77 MovieClip
"selector"Symbol 282 MovieClip Frame 1Symbol 79 MovieClip
"Box"Symbol 283 MovieClip {Objects.Car2} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 283 MovieClip {Objects.Car2} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 283 MovieClip {Objects.Car2} Frame 1Symbol 69 MovieClip
"IBox"Symbol 283 MovieClip {Objects.Car2} Frame 1Symbol 282 MovieClip
"IWheel1"Symbol 283 MovieClip {Objects.Car2} Frame 1Symbol 132 MovieClip
"IWheel2"Symbol 283 MovieClip {Objects.Car2} Frame 1Symbol 132 MovieClip
"Man_01"Symbol 286 MovieClip {Stages.stage_13} Frame 1Symbol 230 MovieClip {Objects.Man_01}
"Car_01"Symbol 286 MovieClip {Stages.stage_13} Frame 1Symbol 283 MovieClip {Objects.Car2}
"smoke"Symbol 290 MovieClip Frame 1Symbol 77 MovieClip
"selector"Symbol 290 MovieClip Frame 1Symbol 79 MovieClip
"Box"Symbol 291 MovieClip {Objects.Car3} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 291 MovieClip {Objects.Car3} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 291 MovieClip {Objects.Car3} Frame 1Symbol 69 MovieClip
"IBox"Symbol 291 MovieClip {Objects.Car3} Frame 1Symbol 290 MovieClip
"IWheel1"Symbol 291 MovieClip {Objects.Car3} Frame 1Symbol 231 MovieClip
"IWheel2"Symbol 291 MovieClip {Objects.Car3} Frame 1Symbol 231 MovieClip
"smoke"Symbol 292 MovieClip Frame 1Symbol 77 MovieClip
"selector"Symbol 292 MovieClip Frame 1Symbol 79 MovieClip
"Box"Symbol 293 MovieClip {Objects.Car3_Back} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 293 MovieClip {Objects.Car3_Back} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 293 MovieClip {Objects.Car3_Back} Frame 1Symbol 69 MovieClip
"IBox"Symbol 293 MovieClip {Objects.Car3_Back} Frame 1Symbol 292 MovieClip
"IWheel1"Symbol 293 MovieClip {Objects.Car3_Back} Frame 1Symbol 231 MovieClip
"IWheel2"Symbol 293 MovieClip {Objects.Car3_Back} Frame 1Symbol 231 MovieClip
"SStatic_01"Symbol 317 MovieClip {Stages.stage_21} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"FFire_01"Symbol 317 MovieClip {Stages.stage_21} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Fire_01"Symbol 317 MovieClip {Stages.stage_21} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"Static_01"Symbol 317 MovieClip {Stages.stage_21} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"ISStatic_01"Symbol 317 MovieClip {Stages.stage_21} Frame 1Symbol 316 MovieClip {Objects.Most19}
"SStatic_01"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_02"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_03"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"Static_01"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_02"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_03"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"ISStatic_03"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 476 MovieClip {Stage09_Most}
"ISStatic_01"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 476 MovieClip {Stage09_Most}
"ISStatic_02"Symbol 477 MovieClip {Stages.stage_09} Frame 1Symbol 476 MovieClip {Stage09_Most}
"Car_01"Symbol 1174 MovieClip {Stages.stage_10} Frame 1Symbol 283 MovieClip {Objects.Car2}
"SStatic_01"Symbol 1313 MovieClip {Stages.stage_19} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"Static_01"Symbol 1313 MovieClip {Stages.stage_19} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"FFire_01"Symbol 1313 MovieClip {Stages.stage_19} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Fire_01"Symbol 1313 MovieClip {Stages.stage_19} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"ISStatic_01"Symbol 1313 MovieClip {Stages.stage_19} Frame 1Symbol 316 MovieClip {Objects.Most19}
"FFire_01"Symbol 1379 MovieClip {Stages.stage_22} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Fire_01"Symbol 1379 MovieClip {Stages.stage_22} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"FFire_01"Symbol 1382 MovieClip {Stages.stage_23} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Fire_01"Symbol 1382 MovieClip {Stages.stage_23} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"Man_01"Symbol 1438 MovieClip {Stages.stage_05} Frame 1Symbol 230 MovieClip {Objects.Man_01}
"SStatic_01"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_02"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"Static_02"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_01"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Fire_01"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"FFire_01"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 273 MovieClip {Objects.Fire}
"ISStatic_02"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 316 MovieClip {Objects.Most19}
"ISStatic_01"Symbol 1574 MovieClip {Stages.stage_28} Frame 1Symbol 316 MovieClip {Objects.Most19}
"selector"Symbol 1679 MovieClip Frame 1Symbol 79 MovieClip
"smoke"Symbol 1679 MovieClip Frame 1Symbol 77 MovieClip
"Box"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 67 MovieClip
"Wheel1"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 69 MovieClip
"Wheel2"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 69 MovieClip
"Wheel3"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 69 MovieClip
"Wheel4"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 69 MovieClip
"Wheel5"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 69 MovieClip
"IWheel2"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 231 MovieClip
"IWheel3"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 231 MovieClip
"IWheel4"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 231 MovieClip
"IBox"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 1679 MovieClip
"IWheel1"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 231 MovieClip
"IWheel5"Symbol 1680 MovieClip {Objects.Car4_Back} Frame 1Symbol 231 MovieClip
"SStatic_01"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"ISStatic_01"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 1678 MovieClip {Most24}
"FFire_01"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 273 MovieClip {Objects.Fire}
"FFire_02"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Fire_01"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"Fire_02"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"Static_01"Symbol 1683 MovieClip {Stages.stage_25} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"SStatic_01"Symbol 1731 MovieClip {Stages.stage_24} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"FFire_01"Symbol 1731 MovieClip {Stages.stage_24} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Fire_01"Symbol 1731 MovieClip {Stages.stage_24} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"Static_01"Symbol 1731 MovieClip {Stages.stage_24} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"ISStatic_01"Symbol 1731 MovieClip {Stages.stage_24} Frame 1Symbol 1678 MovieClip {Most24}
"Fire_01"Symbol 1844 MovieClip {Stages.stage_18} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"FFire_01"Symbol 1844 MovieClip {Stages.stage_18} Frame 1Symbol 273 MovieClip {Objects.Fire}
"SStatic_01"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_02"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_03"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_03"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_03"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"ISStatic_02"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 2005 MovieClip {Most27_2}
"Static_01"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_02"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Fire_01"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"FFire_01"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 273 MovieClip {Objects.Fire}
"ISStatic_01"Symbol 2030 MovieClip {Stages.stage_27} Frame 1Symbol 2029 MovieClip {Most27_1}
"S2Static_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"S2Static_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"S2Static_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"S1Static_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"S1Static_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"S1Static_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_04"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"Static_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_04"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"ISStatic_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 2058 MovieClip {Objects.Most30}
"ISStatic_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 2058 MovieClip {Objects.Most30}
"ISStatic_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 2058 MovieClip {Objects.Most30}
"I1SStatic_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 316 MovieClip {Objects.Most19}
"I1SStatic_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 316 MovieClip {Objects.Most19}
"I1SStatic_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 316 MovieClip {Objects.Most19}
"I2SStatic_03"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 316 MovieClip {Objects.Most19}
"I2SStatic_02"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 316 MovieClip {Objects.Most19}
"I2SStatic_01"Symbol 2059 MovieClip {Stages.stage_30} Frame 1Symbol 316 MovieClip {Objects.Most19}
"SStatic_01"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_02"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"Static_01"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"FFire_01"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 273 MovieClip {Objects.Fire}
"Static_02"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Fire_01"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 298 MovieClip {Objects.FireTrigger}
"ISStatic_02"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 1678 MovieClip {Most24}
"ISStatic_01"Symbol 2184 MovieClip {Stages.stage_29} Frame 1Symbol 316 MovieClip {Objects.Most19}
"SStatic_02"Symbol 2278 MovieClip {Stages.stage_14} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"SStatic_01"Symbol 2278 MovieClip {Stages.stage_14} Frame 1Symbol 93 MovieClip {Objects.BoxSleep}
"ISStatic_01"Symbol 2278 MovieClip {Stages.stage_14} Frame 1Symbol 2260 MovieClip {Most14}
"ISStatic_02"Symbol 2278 MovieClip {Stages.stage_14} Frame 1Symbol 2275 MovieClip {Most14_2}
"Static_01"Symbol 2278 MovieClip {Stages.stage_14} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Static_02"Symbol 2278 MovieClip {Stages.stage_14} Frame 1Symbol 300 MovieClip {Objects.StaticTrigger}
"Face"Symbol 2377 MovieClip Frame 1Symbol 2376 MovieClip
"TText"Symbol 2423 MovieClip Frame 1Symbol 2422 EditableText
"ResetLevelsButton"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2320 Button
"stage_01"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_02"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_03"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_04"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_05"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_06"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_07"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_08"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_09"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_10"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_11"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_12"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_13"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_14"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_15"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_16"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_17"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_18"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_19"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_20"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_21"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_22"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_23"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_24"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_25"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_26"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_27"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_28"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_29"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"stage_30"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 56 Button {gui.StageButton}
"BackButton"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2357 Button
"PlayButton"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2360 Button
"MoreGamesButton"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2364 Button
"Scores"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2423 MovieClip
"BackCreditsButton"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2357 Button
"CreditsButton"Symbol 2426 MovieClip {gui.LevelsButtonsClip} Frame 1Symbol 2425 Button
"MainMenu"Symbol 2430 MovieClip {gui.WinMenu} Frame 1Symbol 2428 Button {gui.NextButton}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$HG$b9Xppwa/2z8KXG.GsA9AB1."

Labels

"Loading"Frame 1
"Splash"Frame 47
"Menu"Frame 55
"Game"Frame 65
"Locked"Frame 75
"Reset"Frame 85
"Sad"Symbol 61 MovieClip {PipolSmasher_Armor_fla.Batters2_960} Frame 1
"Normal"Symbol 61 MovieClip {PipolSmasher_Armor_fla.Batters2_960} Frame 35
"Angry"Symbol 61 MovieClip {PipolSmasher_Armor_fla.Batters2_960} Frame 75
"saving"Symbol 122 MovieClip {bubblebox_submit_score} Frame 2
"success"Symbol 122 MovieClip {bubblebox_submit_score} Frame 3
"tryagain"Symbol 122 MovieClip {bubblebox_submit_score} Frame 4
"Normal"Symbol 2376 MovieClip Frame 1
"Angry"Symbol 2376 MovieClip Frame 35
"Sad"Symbol 2376 MovieClip Frame 67




https://swfchan.com/54/267534/info.shtml
Created: 3/6 -2026 05:26:58 Last modified: 3/6 -2026 05:26:58 Server time: 23/06 -2026 11:46:53